summaryrefslogtreecommitdiff
path: root/src-migrate/validations/tempo.ts
blob: 86bcf6d1c7d37659b7ba5b7dd09c6f9e25cb9a43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import { z } from 'zod';

export const TempoSchema = z.object({
  name: z.string().min(1, { message: 'Nama harus diisi' }),
  street: z.string().min(1, { message: 'Alamat harus diisi' }),
  industry_id: z.string().min(1, { message: 'Jenis usaha harus dipilih' }),
  zip: z.string().min(1, { message: 'Kode pos harus diisi' }),
  state: z.string().min(1, { message: 'Provinsi harus dipilih' }),
  city: z.string().min(1, { message: 'Kota harus dipilih' }),
  mobile: z
    .string()
    .min(1, { message: 'Nomor telepon harus diisi' })
    .refine((val) => /^\d{10,12}$/.test(val), {
      message: 'Format nomor telepon tidak valid, contoh: 081234567890',
    }),
  bankName: z.string().min(1, { message: 'Nama bank harus diisi' }),
  accountName: z.string().min(1, { message: 'Nama rekening harus diisi' }),
  accountNumber: z.string().min(1, { message: 'Nomor rekening harus diisi' }),
  estimasi: z
    .string()
    .min(1, { message: 'Estimasi pemmbelian pertahun harus diisi' }),
  tempoDuration: z.string().min(1, { message: 'Durasi tempo harus dipilih' }),
  tempoLimit: z.string().min(1, { message: 'Limit tempo harus dipilih' }),
  bersedia: z.string().min(1, { message: 'Harus dipilih' }),
  categoryProduk: z
    .string()
    .min(1, { message: 'Category produk harus dipilih' }),
});

export const TempoSchemaKontakPerson = z.object({
  direkturName: z.string().min(1, { message: 'Nama harus diisi' }),
  financeName: z.string().min(1, { message: 'Nama harus diisi' }),
  direkturMobile: z
    .string()
    .min(1, { message: 'Nomor telepon harus diisi' })
    .refine((val) => /^\d{10,12}$/.test(val), {
      message: 'Format nomor telepon tidak valid, contoh: 081234567890',
    }),
  financeMobile: z
    .string()
    .min(1, { message: 'Nomor telepon harus diisi' })
    .refine((val) => /^\d{10,12}$/.test(val), {
      message: 'Format nomor telepon tidak valid, contoh: 081234567890',
    }),
  purchasingMobile: z
    .string()
    .min(1, { message: 'Nomor telepon harus diisi' })
    .refine((val) => /^\d{10,12}$/.test(val), {
      message: 'Format nomor telepon tidak valid, contoh: 081234567890',
    }),
  direkturEmail: z
    .string()
    .min(1, { message: 'Email harus diisi' })
    .email({ message: 'Email harus menggunakan format example@mail.com' }),
  purchasingEmail: z
    .string()
    .min(1, { message: 'Email harus diisi' })
    .email({ message: 'Email harus menggunakan format example@mail.com' }),
  financeEmail: z
    .string()
    .min(1, { message: 'Email harus diisi' })
    .email({ message: 'Email harus menggunakan format example@mail.com' }),
  purchasingName: z.string().min(1, { message: 'Nama harus diisi' }),
});
export const TempoSchemaPengiriman = z.object({
  PICName: z.string().min(1, { message: 'Nama harus diisi' }),
  streetPengiriman: z.string().min(1, { message: 'Alamat harus diisi' }),
  statePengiriman: z.string().min(1, { message: 'Provinsi harus dipilih' }),
  cityPengiriman: z.string().min(1, { message: 'Kota harus dipilih' }),
  zip: z.string().min(1, { message: 'Kode pos harus diisi' }),
  invoicePic: z.string().min(1, { message: 'Nama pic invoice harus diisi' }),
  streetInvoice: z.string().min(1, { message: 'Alamat invoice harus diisi' }),
  stateInvoice: z
    .string()
    .min(1, { message: 'Provinsi invoice harus dipilih' }),
  cityInvoice: z.string().min(1, { message: 'Kota invoice harus dipilih' }),
  everyWeekday: z.boolean().optional(),
  everyWeekdayInput: z.string().optional(),
  everyWeek: z.boolean().optional(),
  everyWeekInput: z.string().optional(),
  tukarInvoice: z.boolean().optional(),
  tukarInvoiceInput: z.string().optional(),
  everyWeekdayPembayaran: z.boolean().optional(),
  everyWeekdayInputPembayaran: z.string().optional(),
  everyWeekPembayaran: z.boolean().optional(),
  everyWeekInputPembayaran: z.string().optional(),
  tukarInvoicePembayaran: z.boolean().optional(),
  tukarInvoiceInputPembayaran: z.string().optional(),
  dokumenPengiriman: z.string().min(1, {
    message: 'dokumen lampiran saat pengiriman barang harus dipilih',
  }),
  dokumenPengirimanInput: z.string().optional(),
  dokumenPengirimanInvoice: z.string().min(1, {
    message: 'dokumen lampiran saat pengiriman barang harus dipilih',
  }),
  dokumenPengirimanInvoiceInput: z.string().optional(),
});
export const TempoSchemaSupplier = z.object({
  supplier: z.string().min(1, { message: 'Nama supplier harus diisi' }),
  pic: z.string().min(1, { message: 'Nama PIC harus diisi' }),
  telepon: z
    .string()
    .min(1, { message: 'Nomor telepon harus diisi' })
    .refine((val) => /^\d{10,12}$/.test(val), {
      message: 'Format nomor telepon tidak valid, contoh: 081234567890',
    }),
  durasiTempo: z.string().min(1, { message: 'Durasi tempo harus diisi' }),
  creditLimit: z.string().min(1, { message: 'Limit Kredit harus diisi' }),
});