diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-03 18:46:35 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-03 18:46:35 +0900 |
| commit | 1393acc4b6675fd5eac65c6f1a9e399edfb2d44f (patch) | |
| tree | 6610385198545277ed51c4616d315aa0800c07bc /lib/swp/project-utils.ts | |
| parent | a9c038e51f1cf508165e9d196ffe332f6ac54d74 (diff) | |
(김준회) SWP: 커버페이지 생성 API 오류 수정
Diffstat (limited to 'lib/swp/project-utils.ts')
| -rw-r--r-- | lib/swp/project-utils.ts | 47 |
1 files changed, 47 insertions, 0 deletions
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<number | null> { + 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 + } +} + |
