import z from "zod";
import { DateLike, PositiveInteger } from "./common";

const BaseGroupSchema = z.object({
  urlName: z.string(),
  name: z.string(),
  description: z.string().nullish(),
  imageUrl: z.string().nullish(),
  position: z.number().nonnegative().int().nullish(),
  hideFromGuildPage: z.boolean(),
});

export const GroupSchema = BaseGroupSchema.extend({
  id: PositiveInteger,
  createdAt: DateLike,
  updatedAt: DateLike,
  guildId: PositiveInteger,
});

export const GroupCreateSchema = BaseGroupSchema;

export const GroupUpateSchema = BaseGroupSchema.partial();
