import { z } from "zod";

export const createUserSchema = z.object({
  body: z.object({
    fullName: z.string().min(2, "الاسم مطلوب"),
    email: z.string().email("بريد إلكتروني غير صالح"),
    password: z.string().min(8, "كلمة المرور 8 أحرف على الأقل"),
    phone: z.string().optional().nullable(),
    isActive: z.boolean().optional().default(true),
    roleIds: z.array(z.number().int()).optional().default([]),
  }),
});

export const updateUserSchema = z.object({
  body: z.object({
    fullName: z.string().min(2).optional(),
    email: z.string().email().optional(),
    phone: z.string().optional().nullable(),
    isActive: z.boolean().optional(),
    password: z.string().min(8).optional(),
    roleIds: z.array(z.number().int()).optional(),
  }),
});

export const createRoleSchema = z.object({
  body: z.object({
    name: z.string().min(2, "اسم الدور مطلوب"),
    description: z.string().optional().nullable(),
  }),
});

export const updateRoleSchema = z.object({
  body: z.object({
    name: z.string().min(2).optional(),
    description: z.string().optional().nullable(),
  }),
});

export const rolePermissionsSchema = z.object({
  body: z.object({
    permissionIds: z.array(z.number().int()),
  }),
});
