summaryrefslogtreecommitdiff
path: root/lib/vendor-document/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendor-document/service.ts')
-rw-r--r--lib/vendor-document/service.ts21
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/vendor-document/service.ts b/lib/vendor-document/service.ts
index a0ae6f76..bf2b0b7a 100644
--- a/lib/vendor-document/service.ts
+++ b/lib/vendor-document/service.ts
@@ -9,10 +9,9 @@ import { filterColumns } from "@/lib/filter-columns";
import { getErrorMessage } from "@/lib/handle-error";
import { asc, desc, ilike, inArray, and, gte, lte, not, or , isNotNull, isNull} from "drizzle-orm";
import { countVendorDocuments, selectVendorDocuments } from "./repository"
-import path from "path";
-import fs from "fs/promises";
-import { v4 as uuidv4 } from "uuid"
import { contractItems } from "@/db/schema"
+import { saveFile } from "../file-stroage"
+import path from "path"
/**
* 특정 vendorId에 속한 문서 목록 조회
@@ -340,23 +339,17 @@ export async function createRevisionAction(formData: FormData) {
let attachmentRecord: typeof documentAttachments.$inferSelect | null = null;
if (file && file.size > 0) {
- const originalName = customFileName
- const ext = path.extname(originalName)
- const uniqueName = uuidv4() + ext
- const baseDir = path.join(process.cwd(), "public", "documents")
- const savePath = path.join(baseDir, uniqueName)
-
- const arrayBuffer = await file.arrayBuffer()
- const buffer = Buffer.from(arrayBuffer)
- await fs.writeFile(savePath, buffer)
+
+ const ext = path.extname(customFileName)
+ const saveResult = await saveFile({file,directory:`documents`, originalName:customFileName})
// 파일 정보를 documentAttachments 테이블에 저장
const result = await tx
.insert(documentAttachments)
.values({
revisionId,
- fileName: originalName,
- filePath: "/documents/" + uniqueName,
+ fileName: customFileName,
+ filePath: saveResult.publicPath!,
fileSize: file.size,
fileType: ext.replace('.', '').toLowerCase(),
updatedAt: new Date(),