"""naver-fetch 워커 내부 계약: targets 조회 + listings ingest.""" import os import logging from fastapi import APIRouter, Depends from .auth import verify_internal_key from .db import get_listing_criteria from .lawd_codes import naver_cortar logger = logging.getLogger("realestate-lab") router = APIRouter() NAVER_PAGE_LIMIT = int(os.getenv("NAVER_PAGE_LIMIT", "2")) @router.get("/api/internal/realestate/targets", dependencies=[Depends(verify_internal_key)]) def listing_targets(): crit = get_listing_criteria() dongs = [] for d in crit.get("dongs", []): code = naver_cortar(d) if not code: logger.warning("naver cortarNo 매핑 없음 — 대상 제외: %s", d) continue dongs.append({"dong": d, "cortar_no": code}) return {"dongs": dongs, "deal_types": crit.get("deal_types", []), "page_limit": NAVER_PAGE_LIMIT}