from fastapi import APIRouter, Depends, Query from router.v1.validator.dependencies import RemoveNoneResponse from services.showcase_service import ShowcaseService from .protocol import Res_Showcase # 발행 사이트 쇼케이스. ★ 인증이 없다 — 랜딩(비로그인)이 부른다. # ★ :9801(어드민 진입점)에는 마운트하지 않는다. 내부 화면이 쓸 목록이 아니다. router = APIRouter(prefix="/v1/showcase", tags=["Showcase"], responses={404: {"description": "Not found"}}) @router.get( path="", response_model=Res_Showcase, summary="발행 사이트 쇼케이스(공개)", description="실제로 발행된 사이트를 최신순으로 준다. 상호명·업종·지역(시·군·구까지)·발행 주소·썸네일뿐이다 — " "로그인 없이 나가므로 사업장 식별자·전화번호·상세 주소는 싣지 않는다. " "썸네일은 그 사이트의 대표 사진이고, 만들지 못한 사이트는 키가 없다.", ) async def list_showcase( service: ShowcaseService = Depends(), limit: int = Query(12, ge=1, le=48, description="가져올 개수"), ): return RemoveNoneResponse(await service.list(limit))