summaryrefslogtreecommitdiff
path: root/app/api/projects/code-to-id
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-03 18:46:35 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-03 18:46:35 +0900
commit1393acc4b6675fd5eac65c6f1a9e399edfb2d44f (patch)
tree6610385198545277ed51c4616d315aa0800c07bc /app/api/projects/code-to-id
parenta9c038e51f1cf508165e9d196ffe332f6ac54d74 (diff)
(김준회) SWP: 커버페이지 생성 API 오류 수정
Diffstat (limited to 'app/api/projects/code-to-id')
-rw-r--r--app/api/projects/code-to-id/route.ts47
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 }
+ )
+ }
+}
+