import z from "zod";

export const UpdateUserAccessListSchema = z.object({
  promoCodeIds: z.array(z.string()).default([]),
  campaignIds: z.array(z.string()).default([]),
  canExportCampaigns: z.boolean().optional(),
  /**
   * Per-section export mode, superseding the booleans.
   *
   * Keys are section names (campaigns, promo_codes, member_referrals, reports,
   * bookings); values are download | request | none.
   */
  exportModes: z
    .record(z.string(), z.enum(["download", "request", "none"]))
    .optional(),
  canExportPromoCodes: z.boolean().optional(),
  canExportMemberReferrals: z.boolean().optional(),
  canExportReports: z.boolean().optional(),
});
