22 lines
798 B
TypeScript
22 lines
798 B
TypeScript
import { z } from 'zod';
|
|
import { POLICY_TYPES } from '@/lib/db/schema/policySettings';
|
|
|
|
export const policySettingSchema = z.object({
|
|
tenantId: z.string().min(1, 'Tenant ID is required'),
|
|
policyName: z.string().min(1, 'Policy name is required'),
|
|
policyType: z.enum(POLICY_TYPES),
|
|
settingName: z.string().min(1, 'Setting name is required'),
|
|
settingValue: z.string(),
|
|
graphPolicyId: z.string().min(1, 'Graph Policy ID is required'),
|
|
});
|
|
|
|
export const bulkPolicySettingsSchema = z.object({
|
|
settings: z
|
|
.array(policySettingSchema)
|
|
.min(1, 'At least one setting is required')
|
|
.max(1000, 'Maximum 1000 settings allowed'),
|
|
});
|
|
|
|
export type PolicySettingInput = z.infer<typeof policySettingSchema>;
|
|
export type BulkPolicySettingsInput = z.infer<typeof bulkPolicySettingsSchema>;
|