Files
weeklyreport/backend/api/project/create.post.ts
2026-01-04 17:24:47 +09:00

48 lines
1.1 KiB
TypeScript

import { insertReturning } from '../../utils/db'
interface CreateProjectBody {
projectCode?: string
projectName: string
clientName?: string
projectDescription?: string
startDate?: string
endDate?: string
contractAmount?: number
}
/**
* 프로젝트 등록
* POST /api/project/create
*/
export default defineEventHandler(async (event) => {
const body = await readBody<CreateProjectBody>(event)
if (!body.projectName) {
throw createError({ statusCode: 400, message: '프로젝트명을 입력해주세요.' })
}
const project = await insertReturning(`
INSERT INTO wr_project_info (
project_code, project_name, client_name, project_description,
start_date, end_date, contract_amount
) VALUES ($1, $2, $3, $4, $5, $6, $7)
RETURNING *
`, [
body.projectCode || null,
body.projectName,
body.clientName || null,
body.projectDescription || null,
body.startDate || null,
body.endDate || null,
body.contractAmount || null
])
return {
success: true,
project: {
projectId: project.project_id,
projectName: project.project_name
}
}
})