From 1393acc4b6675fd5eac65c6f1a9e399edfb2d44f Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 3 Nov 2025 18:46:35 +0900 Subject: (김준회) SWP: 커버페이지 생성 API 오류 수정 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/swp/project-utils.ts | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lib/swp/project-utils.ts (limited to 'lib/swp/project-utils.ts') diff --git a/lib/swp/project-utils.ts b/lib/swp/project-utils.ts new file mode 100644 index 00000000..682c8da0 --- /dev/null +++ b/lib/swp/project-utils.ts @@ -0,0 +1,47 @@ +// lib/swp/project-utils.ts +import db from "@/db/db" +import { projects } from "@/db/schema" +import { eq } from "drizzle-orm" + +/** + * 프로젝트 코드(PROJ_NO)로 프로젝트 ID 조회 + * + * @param projectCode - 프로젝트 코드 (PROJ_NO) + * @returns 프로젝트 ID 또는 null + */ +export async function getProjectIdByCode(projectCode: string): Promise { + try { + const [project] = await db + .select({ id: projects.id }) + .from(projects) + .where(eq(projects.code, projectCode)) + .limit(1) + + return project?.id || null + } catch (error) { + console.error(`❌ 프로젝트 ID 조회 실패 (코드: ${projectCode}):`, error) + return null + } +} + +/** + * 프로젝트 코드로 프로젝트 전체 정보 조회 + * + * @param projectCode - 프로젝트 코드 (PROJ_NO) + * @returns 프로젝트 정보 또는 null + */ +export async function getProjectByCode(projectCode: string) { + try { + const [project] = await db + .select() + .from(projects) + .where(eq(projects.code, projectCode)) + .limit(1) + + return project || null + } catch (error) { + console.error(`❌ 프로젝트 정보 조회 실패 (코드: ${projectCode}):`, error) + return null + } +} + -- cgit v1.2.3