import { z } from 'zod';

export const RoleGroupSystemSchema = z.object({
  permissions: z
    .object({
      read: z
        .string()
        .regex(
          new RegExp(
            "^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
          ),
        )
        .describe("The reward ID that controls this permission action")
        .optional(),
      update: z
        .string()
        .regex(
          new RegExp(
            "^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
          ),
        )
        .describe("The reward ID that controls this permission action")
        .optional(),
      delete: z
        .string()
        .regex(
          new RegExp(
            "^[0-9a-f]{8}-[0-9a-f]{4}-[45][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
          ),
        )
        .describe("The reward ID that controls this permission action")
        .optional(),
    })
    .optional(),
});

