diff --git a/travel-proxy/app/main.py b/travel-proxy/app/main.py index 75a634f..3a8fe1b 100644 --- a/travel-proxy/app/main.py +++ b/travel-proxy/app/main.py @@ -180,12 +180,36 @@ def sync_endpoint(): @app.get("/api/travel/albums") def albums_list(): rows = get_all_albums() + region_map = load_region_map() + + # album → region 역인덱스 + album_to_region = {} + for region_id, v in region_map.items(): + album_list = v if isinstance(v, list) else v.get("albums", []) + for a in album_list: + album_to_region[a] = region_id + + # region → name 매핑 (GeoJSON) + region_names = {} + try: + geojson = load_regions_geojson() + for feat in geojson.get("features", []): + props = feat.get("properties", {}) + rid = props.get("id") + if rid: + region_names[rid] = props.get("name", rid) + except Exception: + pass + result = [] for r in rows: cover = r["cover_filename"] + region_id = album_to_region.get(r["album"], "미분류") result.append({ "album": r["album"], "count": r["count"], + "region": region_id, + "regionName": region_names.get(region_id, region_id), "cover_url": f"{MEDIA_BASE}/{r['album']}/{cover}", "cover_thumb": f"{MEDIA_BASE}/.thumb/{r['album']}/{cover}", })