Files
weeklyreport/backend/api/report/summary/[id]/review.put.ts
2026-01-04 17:24:47 +09:00

40 lines
1.1 KiB
TypeScript

import { execute, queryOne } from '../../../../utils/db'
interface ReviewBody {
reviewerComment?: string
}
/**
* PM 검토/코멘트 작성
* PUT /api/report/summary/[id]/review
*/
export default defineEventHandler(async (event) => {
const userId = getCookie(event, 'user_id')
if (!userId) {
throw createError({ statusCode: 401, message: '로그인이 필요합니다.' })
}
const summaryId = getRouterParam(event, 'id')
const body = await readBody<ReviewBody>(event)
const summary = await queryOne<any>(`
SELECT * FROM wr_aggregated_report_summary WHERE summary_id = $1
`, [summaryId])
if (!summary) {
throw createError({ statusCode: 404, message: '취합 보고서를 찾을 수 없습니다.' })
}
await execute(`
UPDATE wr_aggregated_report_summary SET
reviewer_id = $1,
reviewer_comment = $2,
reviewed_at = NOW(),
summary_status = 'REVIEWED',
updated_at = NOW()
WHERE summary_id = $3
`, [parseInt(userId), body.reviewerComment || null, summaryId])
return { success: true }
})