diff options
Diffstat (limited to 'app/api/revision-upload-ship/route.ts')
| -rw-r--r-- | app/api/revision-upload-ship/route.ts | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/app/api/revision-upload-ship/route.ts b/app/api/revision-upload-ship/route.ts index 3d1ebba9..671b8bac 100644 --- a/app/api/revision-upload-ship/route.ts +++ b/app/api/revision-upload-ship/route.ts @@ -54,7 +54,10 @@ export async function POST(request: NextRequest) { /* ------- 계약 ID 확보 ------- */ const [docInfo] = await db - .select({ contractId: documents.contractId }) + .select({ + contractId: documents.contractId, + projectId: documents.projectId + }) .from(documents) .where(eq(documents.id, docId)) .limit(1) @@ -63,6 +66,13 @@ export async function POST(request: NextRequest) { return NextResponse.json({ error: "Document not found" }, { status: 404 }) } + // projectId가 null인 경우 처리 + if (!docInfo.projectId) { + return NextResponse.json({ + error: "Document must have a valid project ID for synchronization" + }, { status: 400 }) + } + /* ------- Stage 찾기 로직 ------- */ // 1. usage 값과 일치하는 stage 찾기 let targetStage = await db @@ -148,7 +158,7 @@ export async function POST(request: NextRequest) { revisionData = updated await logRevisionChange( - docInfo.contractId, + docInfo.projectId!, // null 체크 후이므로 non-null assertion 사용 revisionId, "UPDATE", updated, @@ -178,7 +188,7 @@ export async function POST(request: NextRequest) { revisionData = newRev await logRevisionChange( - docInfo.contractId, + docInfo.projectId!, // null 체크 후이므로 non-null assertion 사용 revisionId, "CREATE", newRev, @@ -233,7 +243,7 @@ export async function POST(request: NextRequest) { // change_logs: attachment CREATE await logAttachmentChange( - docInfo.contractId, + docInfo.projectId!, att.id, "CREATE", att, |
