metis-desk/modules/assets/src/common/brands.ts

20 lines
766 B
TypeScript

import { z } from "zod/v4";
import { BrandInputSchema } from "../api/domain/brand.aggregate";
import { BrandLogoSchema } from "../api/domain/value-objects/brand-logo.vo";
export type { BrandInput } from "../api/domain/brand.aggregate";
export { BRAND_LOGO_MAX_BYTES, BrandLogoSchema } from "../api/domain/value-objects/brand-logo.vo";
export { BrandInputSchema };
export const BrandSchema = z.strictObject({
id: z.uuid(),
name: z.string().min(1).max(100),
active: z.boolean(),
builtin: z.boolean(),
logoSvg: BrandLogoSchema.nullable(),
});
export const BrandsResponseSchema = z.strictObject({ brands: z.array(BrandSchema) });
export const BrandResponseSchema = z.strictObject({ brand: BrandSchema });
export type BrandDTO = z.infer<typeof BrandSchema>;