summaryrefslogtreecommitdiff
path: root/lib/vendor-document-list/dolce-upload-service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendor-document-list/dolce-upload-service.ts')
-rw-r--r--lib/vendor-document-list/dolce-upload-service.ts33
1 files changed, 28 insertions, 5 deletions
diff --git a/lib/vendor-document-list/dolce-upload-service.ts b/lib/vendor-document-list/dolce-upload-service.ts
index 8c66f234..41b9c2fa 100644
--- a/lib/vendor-document-list/dolce-upload-service.ts
+++ b/lib/vendor-document-list/dolce-upload-service.ts
@@ -318,6 +318,13 @@ class DOLCEUploadService {
} | null> {
const { users, vendors } = await import("@/db/schema")
+ // userId를 숫자로 변환하고 유효성 검증
+ const userIdNum = Number(userId)
+ if (isNaN(userIdNum) || userIdNum <= 0) {
+ console.error(`Invalid userId: ${userId} (converted to NaN or invalid number)`)
+ throw new Error(`Invalid user ID: ${userId}`)
+ }
+
const [result] = await db
.select({
userId: users.id,
@@ -327,7 +334,7 @@ class DOLCEUploadService {
})
.from(users)
.innerJoin(vendors, eq(users.companyId, vendors.id))
- .where(eq(users.id, Number(userId)))
+ .where(eq(users.id, userIdNum))
.limit(1)
if (!result) {
@@ -446,10 +453,14 @@ class DOLCEUploadService {
.from(documentAttachments)
.where(eq(documentAttachments.revisionId, revision.id))
- revisionsWithAttachments.push({
+ // serialNo를 숫자로 변환하여 RevisionWithAttachments 타입에 맞춤
+ const convertedRevision: RevisionWithAttachments = {
...revision,
+ serialNo: typeof revision.serialNo === 'string' ? Number(revision.serialNo) : revision.serialNo,
attachments
- })
+ }
+
+ revisionsWithAttachments.push(convertedRevision)
}
return revisionsWithAttachments
@@ -646,9 +657,15 @@ class DOLCEUploadService {
try {
const endpoint = `${this.BASE_URL}/Services/VDCSWebService.svc/DetailDwgReceiptMgmtEdit`
+ // UserID를 숫자로 변환하고 유효성 검증
+ const userIdNum = Number(userId)
+ if (isNaN(userIdNum) || userIdNum <= 0) {
+ throw new Error(`Invalid UserID for DOLCE API: ${userId} (must be a positive integer)`)
+ }
+
const requestBody = {
DwgList: dwgList,
- UserID: userId,
+ UserID: userIdNum, // 정수형으로 변환
UserNM: userName,
VENDORCODE: vendorCode,
EMAIL: email
@@ -691,9 +708,15 @@ class DOLCEUploadService {
try {
const endpoint = `${this.BASE_URL}/Services/VDCSWebService.svc/MatchBatchFileDwgEdit`
+ // UserID를 숫자로 변환하고 유효성 검증
+ const userIdNum = Number(userId)
+ if (isNaN(userIdNum) || userIdNum <= 0) {
+ throw new Error(`Invalid UserID for DOLCE API: ${userId} (must be a positive integer)`)
+ }
+
const requestBody = {
mappingSaveLists: mappingList,
- UserID: userId
+ UserID: userIdNum // 정수형으로 변환
}
console.log('Uploading file mapping to DOLCE:', JSON.stringify(requestBody, null, 2))