diff options
Diffstat (limited to 'app/api/projects/code-to-id/route.ts')
| -rw-r--r-- | app/api/projects/code-to-id/route.ts | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/app/api/projects/code-to-id/route.ts b/app/api/projects/code-to-id/route.ts new file mode 100644 index 00000000..f2fdb3c5 --- /dev/null +++ b/app/api/projects/code-to-id/route.ts @@ -0,0 +1,47 @@ +// app/api/projects/code-to-id/route.ts +import { NextRequest, NextResponse } from "next/server" +import { getProjectIdByCode } from "@/lib/swp/project-utils" + +/** + * 프로젝트 코드로 프로젝트 ID 조회 + * + * GET /api/projects/code-to-id?code=PROJ_CODE + */ +export async function GET(request: NextRequest) { + try { + const { searchParams } = new URL(request.url) + const code = searchParams.get("code") + + if (!code) { + return NextResponse.json( + { success: false, message: "프로젝트 코드(code)가 필요합니다" }, + { status: 400 } + ) + } + + const projectId = await getProjectIdByCode(code) + + if (!projectId) { + return NextResponse.json( + { success: false, message: "프로젝트를 찾을 수 없습니다" }, + { status: 404 } + ) + } + + return NextResponse.json({ + success: true, + projectId, + }) + + } catch (error) { + console.error("❌ 프로젝트 ID 조회 오류:", error) + return NextResponse.json( + { + success: false, + message: error instanceof Error ? error.message : "조회 중 오류 발생" + }, + { status: 500 } + ) + } +} + |
