diff options
Diffstat (limited to 'lib/general-contracts_old/validation.ts')
| -rw-r--r-- | lib/general-contracts_old/validation.ts | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/lib/general-contracts_old/validation.ts b/lib/general-contracts_old/validation.ts deleted file mode 100644 index 5aa516e7..00000000 --- a/lib/general-contracts_old/validation.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { generalContracts } from "@/db/schema/generalContract"
-import {
- createSearchParamsCache,
- parseAsArrayOf,
- parseAsInteger,
- parseAsString,
- parseAsStringEnum,
-} from "nuqs/server"
-import * as z from "zod"
-
-import { getFiltersStateParser, getSortingStateParser } from "@/lib/parsers"
-
-export const searchParamsCache = createSearchParamsCache({
- flags: parseAsArrayOf(z.enum(["advancedTable", "floatingBar"])).withDefault([]),
- page: parseAsInteger.withDefault(1),
- perPage: parseAsInteger.withDefault(10),
- sort: getSortingStateParser<typeof generalContracts.$inferSelect>().withDefault([
- { id: "registeredAt", desc: true },
- ]),
-
- // 기본 필터
- contractNumber: parseAsString.withDefault(""),
- name: parseAsString.withDefault(""),
- status: parseAsArrayOf(z.enum(generalContracts.status.enumValues)).withDefault([]),
- category: parseAsArrayOf(z.enum(generalContracts.category.enumValues)).withDefault([]),
- type: parseAsArrayOf(z.enum(generalContracts.type.enumValues)).withDefault([]),
- executionMethod: parseAsArrayOf(z.enum(generalContracts.executionMethod.enumValues)).withDefault([]),
- contractSourceType: parseAsArrayOf(z.enum(generalContracts.contractSourceType.enumValues)).withDefault([]),
- vendorId: parseAsInteger.withDefault(0),
- managerName: parseAsString.withDefault(""),
-
- // 날짜 필터
- registeredAtFrom: parseAsString.withDefault(""),
- registeredAtTo: parseAsString.withDefault(""),
- signedAtFrom: parseAsString.withDefault(""),
- signedAtTo: parseAsString.withDefault(""),
- startDateFrom: parseAsString.withDefault(""),
- startDateTo: parseAsString.withDefault(""),
- endDateFrom: parseAsString.withDefault(""),
- endDateTo: parseAsString.withDefault(""),
-
- // 금액 필터
- contractAmountMin: parseAsString.withDefault(""),
- contractAmountMax: parseAsString.withDefault(""),
-
- // 고급 필터
- filters: getFiltersStateParser().withDefault([]),
- joinOperator: parseAsStringEnum(["and", "or"]).withDefault("and"),
- search: parseAsString.withDefault(""),
-})
-
-export type GetGeneralContractsSchema = Awaited<ReturnType<typeof searchParamsCache.parse>>
-
-export const createGeneralContractSchema = z.object({
- contractNumber: z.string().optional(),
- name: z.string().min(1, "계약명을 입력해주세요"),
- category: z.string().min(1, "계약구분을 선택해주세요"),
- type: z.string().min(1, "계약종류를 선택해주세요"),
- executionMethod: z.string().min(1, "체결방식을 선택해주세요"),
- vendorId: z.number().min(1, "협력업체를 선택해주세요"),
- startDate: z.string().min(1, "계약시작일을 선택해주세요"),
- endDate: z.string().min(1, "계약종료일을 선택해주세요"),
- validityEndDate: z.string().optional(),
- contractScope: z.string().optional(),
- specificationType: z.string().optional(),
- specificationManualText: z.string().optional(),
- contractAmount: z.number().optional(),
- currency: z.string().default("KRW"),
- notes: z.string().optional(),
- linkedRfqOrItb: z.string().optional(),
- linkedPoNumber: z.string().optional(),
- linkedBidNumber: z.string().optional(),
- registeredById: z.number().min(1, "등록자 ID가 필요합니다"),
- lastUpdatedById: z.number().min(1, "수정자 ID가 필요합니다"),
-})
-
-export const updateGeneralContractSchema = createGeneralContractSchema.partial().extend({
- id: z.number().min(1, "계약 ID가 필요합니다"),
-})
-
-export type CreateGeneralContractInput = z.infer<typeof createGeneralContractSchema>
-export type UpdateGeneralContractInput = z.infer<typeof updateGeneralContractSchema>
|
