UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

93 lines 4.39 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; import { mysqlDatetimeSchema } from '../../../core/schema-utils'; // Item Variant Header Schema based on ItemVariantHdr.json export const ItemVariantHeaderSchema = z.object({ itemVariantHdrUid: z.coerce.number(), baseInvMastUid: z.coerce.number(), baseItemId: z.string().max(40), baseItemDesc: z.string().max(255).optional(), variantGroupName: z.string().max(100), variantGroupDescription: z.string().max(500).optional(), variantType: z.string().max(50).optional(), // e.g., 'color', 'size', 'style' isActive: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), dateCreated: mysqlDatetimeSchema().optional(), dateLastModified: mysqlDatetimeSchema().optional(), createdBy: z.string().max(255).optional(), lastMaintainedBy: z.string().max(255).optional(), }); // Item Variant Line Schema (individual variant items) export const ItemVariantLineSchema = z.object({ itemVariantLineUid: z.coerce.number(), itemVariantHdrUid: z.coerce.number(), invMastUid: z.coerce.number(), itemId: z.string().max(40), itemDesc: z.string().max(255).optional(), variantValue: z.string().max(100), // e.g., 'Red', 'Large', 'Premium' variantDisplay: z.string().max(100).optional(), colorCode: z.string().max(7).optional(), // hex color code imageUrl: z.string().max(500).optional(), priceDifference: z.number().optional(), stockLevel: z.coerce.number().optional(), isDefault: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), dateCreated: mysqlDatetimeSchema().optional(), dateLastModified: mysqlDatetimeSchema().optional(), }); // Complete Variant with Lines Schema export const ItemVariantDetailSchema = ItemVariantHeaderSchema.extend({ variants: z.array(ItemVariantLineSchema).optional(), }); // Create Variant Header Request Schema export const CreateItemVariantHeaderRequestSchema = z.object({ baseInvMastUid: z.coerce.number(), variantGroupName: z.string().max(100), variantGroupDescription: z.string().max(500).optional(), variantType: z.string().max(50).optional(), isActive: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), }); // Update Variant Header Request Schema export const UpdateItemVariantHeaderRequestSchema = z.object({ variantGroupName: z.string().max(100).optional(), variantGroupDescription: z.string().max(500).optional(), variantType: z.string().max(50).optional(), isActive: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), }); // Create Variant Line Request Schema export const CreateItemVariantLineRequestSchema = z.object({ invMastUid: z.coerce.number(), variantValue: z.string().max(100), variantDisplay: z.string().max(100).optional(), colorCode: z.string().max(7).optional(), imageUrl: z.string().max(500).optional(), priceDifference: z.number().optional(), isDefault: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), }); // Update Variant Line Request Schema export const UpdateItemVariantLineRequestSchema = z.object({ variantValue: z.string().max(100).optional(), variantDisplay: z.string().max(100).optional(), colorCode: z.string().max(7).optional(), imageUrl: z.string().max(500).optional(), priceDifference: z.number().optional(), isDefault: z.string().max(1).optional(), displayOrder: z.coerce.number().optional(), }); // Variant List Parameters Schema export const ItemVariantListParamsSchema = BaseGetParamsSchema.extend({ baseInvMastUid: z.coerce.number().optional(), variantType: z.string().optional(), isActive: z.string().optional(), orderBy: z.string().optional(), }); // Response Schemas export const ItemVariantHeaderResponseSchema = BaseResponseSchema(ItemVariantHeaderSchema); export const ItemVariantHeaderListResponseSchema = BaseResponseSchema(z.array(ItemVariantHeaderSchema)); export const ItemVariantLineResponseSchema = BaseResponseSchema(ItemVariantLineSchema); export const ItemVariantLineListResponseSchema = BaseResponseSchema(z.array(ItemVariantLineSchema)); export const ItemVariantDetailResponseSchema = BaseResponseSchema(ItemVariantDetailSchema); //# sourceMappingURL=variants.js.map