summaryrefslogtreecommitdiff
path: root/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-25 07:51:15 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-25 07:51:15 +0000
commit2650b7c0bb0ea12b68a58c0439f72d61df04b2f1 (patch)
tree17156183fd74b69d78178065388ac61a18ac07b4 /lib/basic-contract/template/add-basic-contract-template-dialog.tsx
parentd32acea05915bd6c1ed4b95e56c41ef9204347bc (diff)
(대표님) 정기평가 대상, 미들웨어 수정, nextauth 토큰 처리 개선, GTC 등
(최겸) 기술영업
Diffstat (limited to 'lib/basic-contract/template/add-basic-contract-template-dialog.tsx')
-rw-r--r--lib/basic-contract/template/add-basic-contract-template-dialog.tsx30
1 files changed, 23 insertions, 7 deletions
diff --git a/lib/basic-contract/template/add-basic-contract-template-dialog.tsx b/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
index fd1bd333..6b6ab105 100644
--- a/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
+++ b/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
@@ -219,16 +219,21 @@ export function AddTemplateDialog() {
setIsLoading(true);
try {
let uploadResult = null;
-
+
+ // 📝 파일 업로드가 필요한 경우에만 업로드 진행
if (formData.file) {
const fileId = uuidv4();
uploadResult = await uploadFileInChunks(formData.file, fileId);
-
+
if (!uploadResult?.success) {
throw new Error("파일 업로드에 실패했습니다.");
}
}
-
+
+ // 📝 General GTC이고 파일이 없는 경우와 다른 경우 구분 처리
+ const isGeneralGTC = formData.templateName === "General GTC";
+ const hasFile = uploadResult && uploadResult.success;
+
const saveResponse = await fetch('/api/upload/basicContract/complete', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
@@ -245,17 +250,28 @@ export function AddTemplateDialog() {
sysApplicable: formData.sysApplicable,
infraApplicable: formData.infraApplicable,
status: "ACTIVE",
- fileName: uploadResult?.fileName || `${formData.templateName}_v1.docx`,
- filePath: uploadResult?.filePath || "",
+
+ // 📝 파일이 있는 경우에만 fileName과 filePath 전송
+ ...(hasFile && {
+ fileName: uploadResult.fileName,
+ filePath: uploadResult.filePath,
+ }),
+
+ // 📝 파일이 없는 경우 null 전송 (스키마가 nullable이어야 함)
+ ...(!hasFile && {
+ fileName: null,
+ filePath: null,
+ })
}),
next: { tags: ["basic-contract-templates"] },
});
-
+
const saveResult = await saveResponse.json();
if (!saveResult.success) {
+ console.log(saveResult.error);
throw new Error(saveResult.error || "템플릿 정보 저장에 실패했습니다.");
}
-
+
toast.success('템플릿이 성공적으로 추가되었습니다.');
form.reset();
setSelectedFile(null);