summaryrefslogtreecommitdiff
path: root/lib/basic-contract/template/add-basic-contract-template-dialog.tsx
diff options
context:
space:
mode:
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);