import { z } from "zod/v4";

export const MetadataSchema = z
  .object({
    entity: z.string(),
    version: z.string().optional(),
  })
  .catchall(z.any());

export type MetadataDTO = z.infer<typeof MetadataSchema>;

// Ejemplo de uso:
// const metadata: IMetadataDTO = {
//   entity: "customer_invoice",
//   version: "1.0",
//   custom_field: "value",
// };
//
// Futuros campos opcionales que podrían ser útiles:
// source?: 'api' | 'manual' | 'imported' | string;
// related_id?: string;
// related_entity?: string;
// created_by?: string;
// created_at?: string;
// updated_by?: string;
// updated_at?: string;
// permissions?: Array<'read' | 'edit' | 'delete' | string>;
// visibility?: 'public' | 'private' | 'restricted' | string;
