tenantpilot/lib/validators/policySettings.ts
2025-12-05 22:06:22 +01:00

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