import { z } from "zod/v4";
import { AmountBaseSchema } from "./base.schemas";

/**
  Esquema del DTO para valores monetarios con/sin código de moneda.
  No aplica defaults ni correciones: solo valida.

    - Con moneda -> "Money"
    - Sin moneda -> "Amount"

*/

// 🔹 Con moneda
export const MoneySchema = AmountBaseSchema.extend({
  currency_code: z.string(),
});

// 🔹 Sin moneda
export const AmountSchema = AmountBaseSchema;

// 🔹 Tipos DTO
export type MoneyDTO = z.infer<typeof MoneySchema>;
export type AmountDTO = z.infer<typeof AmountSchema>;
