summaryrefslogtreecommitdiff
path: root/lib/approval-line/validations.ts
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-08-11 09:34:40 +0000
committerjoonhoekim <26rote@gmail.com>2025-08-11 09:34:40 +0000
commitbcd462d6e60871b86008e072f4b914138fc5c328 (patch)
treec22876fd6c6e7e48254587848b9dff50cdb8b032 /lib/approval-line/validations.ts
parentcbb4c7fe0b94459162ad5e998bc05cd293e0ff96 (diff)
(김준회) 리치텍스트에디터 (결재템플릿을 위한 공통컴포넌트), command-menu 에러 수정, 결재 템플릿 관리, 결재선 관리, ECC RFQ+PR Item 수신시 비즈니스테이블(ProcurementRFQ) 데이터 적재, WSDL 오류 수정
Diffstat (limited to 'lib/approval-line/validations.ts')
-rw-r--r--lib/approval-line/validations.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/approval-line/validations.ts b/lib/approval-line/validations.ts
new file mode 100644
index 00000000..4f55454a
--- /dev/null
+++ b/lib/approval-line/validations.ts
@@ -0,0 +1,24 @@
+import { z } from 'zod';
+import { SearchParamsApprovalTemplateCache } from '@/lib/approval-template/validations';
+
+// 결재선 검색 파라미터 스키마 (기존 템플릿 검증 스키마 재사용)
+export const SearchParamsApprovalLineCache = SearchParamsApprovalTemplateCache;
+
+// 결재선 생성/수정 스키마
+export const ApprovalLineSchema = z.object({
+ name: z.string().min(1, '결재선 이름은 필수입니다'),
+ description: z.string().optional(),
+ aplns: z.array(z.object({
+ id: z.string(),
+ epId: z.string().optional(),
+ userId: z.string().optional(),
+ emailAddress: z.string().email('유효한 이메일 주소를 입력해주세요').optional(),
+ name: z.string().optional(),
+ deptName: z.string().optional(),
+ role: z.enum(['0', '1', '2', '3', '4', '7', '9']),
+ seq: z.string(),
+ opinion: z.string().optional()
+ })).min(1, '최소 1개의 결재 경로가 필요합니다'),
+});
+
+export type ApprovalLineFormData = z.infer<typeof ApprovalLineSchema>; \ No newline at end of file