import { z } from "zod";

import { arrayOrEmpty, stringOrNull } from "../../nullable-defaults";
import { GiftCategorySchema } from "../gift_category";
import { GiftProductSchema } from "../gift_product";

export const GiftProductsResponseSchema = z
  .object({
    characterId: stringOrNull,
    categories: arrayOrEmpty(GiftCategorySchema),
    plans: arrayOrEmpty(GiftProductSchema),
  })
  .readonly();

export type GiftProductsResponseInput = z.input<
  typeof GiftProductsResponseSchema
>;
export type GiftProductsResponseData = z.output<
  typeof GiftProductsResponseSchema
>;
export type GiftProductsResponse = GiftProductsResponseData;
