diff options
Diffstat (limited to 'lib/rfqs/validations.ts')
| -rw-r--r-- | lib/rfqs/validations.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/rfqs/validations.ts b/lib/rfqs/validations.ts index 369e426c..9e9e96cc 100644 --- a/lib/rfqs/validations.ts +++ b/lib/rfqs/validations.ts @@ -11,6 +11,7 @@ import { Rfq, rfqs, RfqsView, VendorCbeView, VendorRfqViewBase, VendorTbeVi import { Vendor, vendors } from "@/db/schema/vendors"; export const RfqType = { + PURCHASE_BUDGETARY: "PURCHASE_BUDGETARY", PURCHASE: "PURCHASE", BUDGETARY: "BUDGETARY" } as const; @@ -41,7 +42,7 @@ export const searchParamsCache = createSearchParamsCache({ filters: getFiltersStateParser().withDefault([]), joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"), search: parseAsString.withDefault(""), - rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY"]).withDefault("PURCHASE"), + rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY", "PURCHASE_BUDGETARY"]).withDefault("PURCHASE"), }); @@ -106,7 +107,7 @@ export const searchParamsTBECache = createSearchParamsCache({ tbeResult: parseAsString.withDefault(""), tbeNote: parseAsString.withDefault(""), tbeUpdated: parseAsString.withDefault(""), - rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY"]).withDefault("PURCHASE"), + rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY", "PURCHASE_BUDGETARY"]).withDefault("PURCHASE"), // 5) 상태 (배열) - Rfq["status"]는 "DRAFT"|"PUBLISHED"|"EVALUATION"|"AWARDED" // rfqs.status.enumValues 로 가져온 문자열 배열을 z.enum([...])로 처리 @@ -131,7 +132,7 @@ export const createRfqSchema = z.object({ parentRfqId: z.number().nullable().optional(), // 부모 RFQ ID (선택적) dueDate: z.date(), status: z.enum(["DRAFT", "PUBLISHED", "EVALUATION", "AWARDED"]), - rfqType: z.enum([RfqType.PURCHASE, RfqType.BUDGETARY]).default(RfqType.PURCHASE), + rfqType: z.enum([RfqType.PURCHASE, RfqType.BUDGETARY, RfqType.PURCHASE_BUDGETARY]).default(RfqType.PURCHASE), createdBy: z.number(), }); @@ -170,6 +171,7 @@ export const updateRfqSchema = z.object({ (val) => (val === null || val === '') ? undefined : val, z.date().optional() ), + rfqType: z.enum(["PURCHASE", "BUDGETARY", "PURCHASE_BUDGETARY"]).optional(), status: z.union([ z.enum(["DRAFT", "PUBLISHED", "EVALUATION", "AWARDED"]), z.string().refine( @@ -251,7 +253,7 @@ export const searchParamsCBECache = createSearchParamsCache({ cbeResult: parseAsString.withDefault(""), cbeNote: parseAsString.withDefault(""), cbeUpdated: parseAsString.withDefault(""), - rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY"]).withDefault("PURCHASE"), + rfqType: parseAsStringEnum(["PURCHASE", "BUDGETARY", "PURCHASE_BUDGETARY"]).withDefault("PURCHASE"), totalCost: parseAsInteger.withDefault(0), |
