diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/api/revision-upload-ship/route.ts | 18 | ||||
| -rw-r--r-- | app/api/revision-upload/route.ts | 11 |
2 files changed, 23 insertions, 6 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, diff --git a/app/api/revision-upload/route.ts b/app/api/revision-upload/route.ts index bd75e0b5..0f67def6 100644 --- a/app/api/revision-upload/route.ts +++ b/app/api/revision-upload/route.ts @@ -65,6 +65,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 }) + } + /* ------- 트랜잭션 ------- */ const result = await db.transaction(async (tx) => { /* 1) Stage 생성/조회 */ @@ -124,7 +131,7 @@ export async function POST(request: NextRequest) { // change_logs: CREATE await logRevisionChange( - docInfo.projectId, + docInfo.projectId!, // null 체크 후이므로 non-null assertion 사용 revisionId, "CREATE", newRev, @@ -157,7 +164,7 @@ export async function POST(request: NextRequest) { revisionId = revRow.id await logRevisionChange( - docInfo.projectId, + docInfo.projectId!, // null 체크 후이므로 non-null assertion 사용 revisionId, "UPDATE", updated, |
