Files
web-antrean/server/utils/schemas/permissionSchema.ts
T

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>;