@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
96 lines • 5.51 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ItemVariantDetailResponseSchema = exports.ItemVariantLineListResponseSchema = exports.ItemVariantLineResponseSchema = exports.ItemVariantHeaderListResponseSchema = exports.ItemVariantHeaderResponseSchema = exports.ItemVariantListParamsSchema = exports.UpdateItemVariantLineRequestSchema = exports.CreateItemVariantLineRequestSchema = exports.UpdateItemVariantHeaderRequestSchema = exports.CreateItemVariantHeaderRequestSchema = exports.ItemVariantDetailSchema = exports.ItemVariantLineSchema = exports.ItemVariantHeaderSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
const schema_utils_1 = require("../../../core/schema-utils");
// Item Variant Header Schema based on ItemVariantHdr.json
exports.ItemVariantHeaderSchema = zod_1.z.object({
itemVariantHdrUid: zod_1.z.coerce.number(),
baseInvMastUid: zod_1.z.coerce.number(),
baseItemId: zod_1.z.string().max(40),
baseItemDesc: zod_1.z.string().max(255).optional(),
variantGroupName: zod_1.z.string().max(100),
variantGroupDescription: zod_1.z.string().max(500).optional(),
variantType: zod_1.z.string().max(50).optional(), // e.g., 'color', 'size', 'style'
isActive: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
createdBy: zod_1.z.string().max(255).optional(),
lastMaintainedBy: zod_1.z.string().max(255).optional(),
});
// Item Variant Line Schema (individual variant items)
exports.ItemVariantLineSchema = zod_1.z.object({
itemVariantLineUid: zod_1.z.coerce.number(),
itemVariantHdrUid: zod_1.z.coerce.number(),
invMastUid: zod_1.z.coerce.number(),
itemId: zod_1.z.string().max(40),
itemDesc: zod_1.z.string().max(255).optional(),
variantValue: zod_1.z.string().max(100), // e.g., 'Red', 'Large', 'Premium'
variantDisplay: zod_1.z.string().max(100).optional(),
colorCode: zod_1.z.string().max(7).optional(), // hex color code
imageUrl: zod_1.z.string().max(500).optional(),
priceDifference: zod_1.z.number().optional(),
stockLevel: zod_1.z.coerce.number().optional(),
isDefault: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
dateCreated: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
dateLastModified: (0, schema_utils_1.mysqlDatetimeSchema)().optional(),
});
// Complete Variant with Lines Schema
exports.ItemVariantDetailSchema = exports.ItemVariantHeaderSchema.extend({
variants: zod_1.z.array(exports.ItemVariantLineSchema).optional(),
});
// Create Variant Header Request Schema
exports.CreateItemVariantHeaderRequestSchema = zod_1.z.object({
baseInvMastUid: zod_1.z.coerce.number(),
variantGroupName: zod_1.z.string().max(100),
variantGroupDescription: zod_1.z.string().max(500).optional(),
variantType: zod_1.z.string().max(50).optional(),
isActive: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
});
// Update Variant Header Request Schema
exports.UpdateItemVariantHeaderRequestSchema = zod_1.z.object({
variantGroupName: zod_1.z.string().max(100).optional(),
variantGroupDescription: zod_1.z.string().max(500).optional(),
variantType: zod_1.z.string().max(50).optional(),
isActive: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
});
// Create Variant Line Request Schema
exports.CreateItemVariantLineRequestSchema = zod_1.z.object({
invMastUid: zod_1.z.coerce.number(),
variantValue: zod_1.z.string().max(100),
variantDisplay: zod_1.z.string().max(100).optional(),
colorCode: zod_1.z.string().max(7).optional(),
imageUrl: zod_1.z.string().max(500).optional(),
priceDifference: zod_1.z.number().optional(),
isDefault: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
});
// Update Variant Line Request Schema
exports.UpdateItemVariantLineRequestSchema = zod_1.z.object({
variantValue: zod_1.z.string().max(100).optional(),
variantDisplay: zod_1.z.string().max(100).optional(),
colorCode: zod_1.z.string().max(7).optional(),
imageUrl: zod_1.z.string().max(500).optional(),
priceDifference: zod_1.z.number().optional(),
isDefault: zod_1.z.string().max(1).optional(),
displayOrder: zod_1.z.coerce.number().optional(),
});
// Variant List Parameters Schema
exports.ItemVariantListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
baseInvMastUid: zod_1.z.coerce.number().optional(),
variantType: zod_1.z.string().optional(),
isActive: zod_1.z.string().optional(),
orderBy: zod_1.z.string().optional(),
});
// Response Schemas
exports.ItemVariantHeaderResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.ItemVariantHeaderSchema);
exports.ItemVariantHeaderListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.ItemVariantHeaderSchema));
exports.ItemVariantLineResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.ItemVariantLineSchema);
exports.ItemVariantLineListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.ItemVariantLineSchema));
exports.ItemVariantDetailResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.ItemVariantDetailSchema);
//# sourceMappingURL=variants.js.map