summaryrefslogtreecommitdiff
path: root/app/api/upload/basicContract/complete/route.ts
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-24 11:06:32 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-24 11:06:32 +0000
commit1dc24d48e52f2e490f5603ceb02842586ecae533 (patch)
tree8fca2c5b5b52cc10557b5ba6e55b937ae3c57cf6 /app/api/upload/basicContract/complete/route.ts
parented0d6fcc98f671280c2ccde797b50693da88152e (diff)
(대표님) 정기평가 피드백 반영, 설계 피드백 반영, (최겸) 기술영업 피드백 반영
Diffstat (limited to 'app/api/upload/basicContract/complete/route.ts')
-rw-r--r--app/api/upload/basicContract/complete/route.ts25
1 files changed, 11 insertions, 14 deletions
diff --git a/app/api/upload/basicContract/complete/route.ts b/app/api/upload/basicContract/complete/route.ts
index 6398c5eb..b22e99f1 100644
--- a/app/api/upload/basicContract/complete/route.ts
+++ b/app/api/upload/basicContract/complete/route.ts
@@ -1,27 +1,24 @@
import { NextRequest, NextResponse } from 'next/server';
import { createBasicContractTemplate } from '@/lib/basic-contract/service';
import { revalidatePath ,revalidateTag} from 'next/cache';
+import { createBasicContractTemplateSchema } from '@/lib/basic-contract/validations';
export async function POST(request: NextRequest) {
try {
- const { templateName,validityPeriod, status, fileName, filePath } = await request.json();
+ const json = await request.json();
+ const parsed = createBasicContractTemplateSchema.safeParse(json);
- if (!templateName || !fileName || !filePath) {
- return NextResponse.json({ success: false, error: '필수 정보가 누락되었습니다' }, { status: 400 });
+ if (!parsed.success) {
+ return NextResponse.json(
+ { success: false, error: parsed.error.flatten() },
+ { status: 400 }
+ );
}
-
- // DB에 저장
- const { data, error } = await createBasicContractTemplate({
- templateName,
- validityPeriod,
- status,
- fileName,
- filePath
- });
-
+
+ const { data, error } = await createBasicContractTemplate(parsed.data);
+
revalidatePath('/evcp/basic-contract-templates');
- revalidatePath('/'); // 루트 경로 무효화도 시도
revalidateTag("basic-contract-templates");
if (error) {