diff --git a/app/(dashboard)/master/pelanggan/actions.ts b/app/(dashboard)/master/pelanggan/actions.ts index 82dcf5b..fce59c7 100644 --- a/app/(dashboard)/master/pelanggan/actions.ts +++ b/app/(dashboard)/master/pelanggan/actions.ts @@ -23,17 +23,29 @@ export type SimpanPelangganState = FormState & { export type HapusPelangganState = DeleteState; const pelangganSchema = z.object({ - nama: z.string().trim().min(1, "Nama wajib diisi").max(100), - alias: z.string().trim().max(11), - ktp: z.string().trim().max(16), - alamat: z.string().trim().min(1, "Alamat wajib diisi").max(100), - wilayah: z.string().trim().max(200), - telp: z.string().trim().max(15), - ponsel: z.string().trim().max(15), - email: z.string().trim().max(30), - jenisCustomer: z.string().trim().max(1), - upline: z.string().trim().max(11), - btsBon: z.coerce.number().int().min(0).max(2_000_000_000), + nama: z + .string() + .trim() + .min(1, "Nama wajib diisi") + .max(100, "Nama maksimal 100 karakter"), + alias: z.string().trim().max(11, "Alias maksimal 11 karakter"), + ktp: z.string().trim().max(16, "No. KTP maksimal 16 karakter"), + alamat: z + .string() + .trim() + .min(1, "Alamat wajib diisi") + .max(100, "Alamat maksimal 100 karakter"), + wilayah: z.string().trim().max(200, "Wilayah maksimal 200 karakter"), + telp: z.string().trim().max(15, "Telepon maksimal 15 karakter"), + ponsel: z.string().trim().max(15, "Ponsel maksimal 15 karakter"), + email: z.string().trim().max(30, "Email maksimal 30 karakter"), + jenisCustomer: z.string().trim().max(1, "Jenis customer maksimal 1 karakter"), + upline: z.string().trim().max(11, "Upline maksimal 11 karakter"), + btsBon: z.coerce + .number({ error: "Harus berupa angka" }) + .int("Harus bilangan bulat") + .min(0, "Tidak boleh negatif") + .max(2_000_000_000, "Maksimal 2.000.000.000"), }); function emptyStringToNull(value: string): string | null { diff --git a/data/rak.ts b/data/rak.ts index e39f6d6..4a855c2 100644 --- a/data/rak.ts +++ b/data/rak.ts @@ -1,9 +1,10 @@ import "server-only"; + import { asc, eq, like } from "drizzle-orm"; import { amigoDb } from "@/db/amigo"; +import { rak } from "@/db/amigo/schema"; import { PER_PAGE } from "@/lib/pagination"; import { escapeLike } from "@/lib/utils"; -import { rak } from "@/db/amigo/schema"; export type Rak = { idRak: number;