26 lines
916 B
TypeScript
26 lines
916 B
TypeScript
import { z } from 'zod';
|
|
|
|
export const hakAksesMenuSchema = z.object({
|
|
menuKey: z.string().min(1, "menuKey is required"),
|
|
name: z.string().min(1, "name is required"),
|
|
canAccess: z.boolean().default(false),
|
|
canView: z.boolean().default(false),
|
|
canAdd: z.boolean().default(false),
|
|
canEdit: z.boolean().default(false),
|
|
canDelete: z.boolean().default(false),
|
|
});
|
|
|
|
export const hakAksesPayloadSchema = z.object({
|
|
id: z.string().optional(),
|
|
role: z.string().optional(),
|
|
group: z.string().optional(),
|
|
namaTipeUser: z.string().optional(),
|
|
isGroupBased: z.boolean().default(true),
|
|
status: z.string().optional(), // Tambahan dari mock lama
|
|
namaHakAkses: z.string().optional(), // Tambahan dari mock lama
|
|
hakAksesMenu: z.array(hakAksesMenuSchema).default([]),
|
|
});
|
|
|
|
export type HakAksesMenu = z.infer<typeof hakAksesMenuSchema>;
|
|
export type HakAksesPayload = z.infer<typeof hakAksesPayloadSchema>;
|