@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
164 lines • 6.69 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema } from '../../../core/schemas';
// Inventory Master Also Bought schemas (based on AlsoBought.json)
export const AlsoBoughtProductSchema = z.object({
invMastUid: z.number(),
itemId: z.string(),
itemDesc: z.string().nullable().optional(),
displayDesc: z.string().nullable().optional(),
extendedDesc: z.string().nullable().optional(),
deleteFlag: z.enum(['Y', 'N']),
defaultSellingUnit: z.string().nullable().optional(),
defaultPurchasingUnit: z.string().nullable().optional(),
baseUnit: z.string(),
vndrStock: z.number().nullable().optional(),
classId1: z.string().nullable().optional(),
classId2: z.string().nullable().optional(),
classId3: z.string().nullable().optional(),
classId4: z.string().nullable().optional(),
classId5: z.string().nullable().optional(),
serialized: z.string(),
trackLots: z.string(),
defaultProductGroup: z.string().nullable().optional(),
upcOrEan: z.string().nullable().optional(),
upcOrEanId: z.string().nullable().optional(),
weight: z.number().nullable().optional(),
length: z.number().nullable().optional(),
width: z.number().nullable().optional(),
height: z.number().nullable().optional(),
inventorySupplier: z.array(z.object({})),
itemUom: z.array(z.object({
unitOfMeasure: z.string(),
unitSize: z.number(),
})),
alternateCodes: z.array(z.string()),
legacyTags: z.array(z.string()),
attributes: z.array(z.object({})),
images: z.array(z.string()),
categoryList: z.array(z.number()),
userDefined: z.record(z.unknown()),
invMastText: z.array(z.object({
sequenceNo: z.number(),
displayOnWebFlag: z.string(),
textTypeCd: z.number(),
textTypeDesc: z.string().nullable().optional(),
webDisplayTypeUid: z.number(),
webDisplayTypeId: z.string(),
webDisplayTypeDesc: z.string(),
textValue: z.string(),
})),
// Pricing fields (included if includePricing is true)
price1: z.number().nullable().optional(),
price2: z.number().nullable().optional(),
price3: z.number().nullable().optional(),
price4: z.number().nullable().optional(),
price5: z.number().nullable().optional(),
price6: z.number().nullable().optional(),
price7: z.number().nullable().optional(),
price8: z.number().nullable().optional(),
price9: z.number().nullable().optional(),
price10: z.number().nullable().optional(),
// Site-specific fields (for trinitysurfaces)
brandFolder: z.object({}).optional(),
docCatTrees: z.array(z.array(z.unknown())).optional(),
productCollection: z.string().nullable().optional(),
tsItemCategoryUid: z.union([z.number(), z.boolean()]).optional(),
ttItemCategoryUid: z.union([z.number(), z.boolean()]).optional(),
trim: z.boolean().optional(),
fullSizedSamples: z
.union([
z.object({
itemId: z.string(),
invMastUid: z.number(),
classId5: z.string().nullable().optional(),
samplesApp: z.boolean(),
}),
z.boolean(),
])
.optional(),
swatchSample: z
.union([
z.object({
itemId: z.string(),
invMastUid: z.number(),
classId5: z.string().nullable().optional(),
samplesApp: z.boolean(),
}),
z.boolean(),
])
.optional(),
});
// Inventory Master Tags schemas (based on InvMastTags.json)
export const InvMastTagSchema = z.object({
invMastTagsUid: z.number(),
invMastUid: z.number(),
tag: z.string().nullable().optional(),
updateCd: z.number(),
statusCd: z.number(),
processCd: z.number(),
dateCreated: z.string(),
dateLastModified: z.string(),
});
export const CreateInvMastTagRequestSchema = z.object({
tag: z.string().nullable().optional(),
});
export const UpdateInvMastTagRequestSchema = z.object({
tag: z.string().nullable().optional(),
statusCd: z.number().optional(),
processCd: z.number().optional(),
updateCd: z.number().optional(),
});
// Inventory Master Web Descriptions schemas (based on InvMastWebDesc.json)
export const InvMastWebDescSchema = z.object({
invMastWebDescUid: z.number(),
invMastUid: z.number(),
webDesc1: z.string().nullable().optional(),
webDesc2: z.string().nullable().optional(),
webDesc3: z.string().nullable().optional(),
webDesc4: z.string().nullable().optional(),
webDescFull: z.string().nullable().optional(),
dateCreated: z.string(),
active: z.number().nullable().optional(),
dateLastModified: z.string(),
dateLastChecked: z.string(),
updateCd: z.number(),
statusCd: z.number(),
});
export const CreateInvMastWebDescRequestSchema = z.object({
webDesc1: z.string().nullable().optional(),
webDesc2: z.string().nullable().optional(),
webDesc3: z.string().nullable().optional(),
webDesc4: z.string().nullable().optional(),
webDescFull: z.string().nullable().optional(),
active: z.number().optional().default(1),
});
export const UpdateInvMastWebDescRequestSchema = z.object({
webDesc1: z.string().nullable().optional(),
webDesc2: z.string().nullable().optional(),
webDesc3: z.string().nullable().optional(),
webDesc4: z.string().nullable().optional(),
webDescFull: z.string().nullable().optional(),
active: z.number().nullable().optional(),
statusCd: z.number().optional(),
updateCd: z.number().optional(),
});
// Item Category schemas (based on ItemCategory.json)
export const ItemCategorySchema = z.object({
itemCategoryUid: z.number(),
article: z.string().nullable().optional(),
article2: z.string().nullable().optional(),
article3: z.string().nullable().optional(),
article4: z.string().nullable().optional(),
article5: z.string().nullable().optional(),
title: z.string().nullable().optional(),
metaDesc: z.string().nullable().optional(),
displayOnWebFlag: z.string().max(1),
});
// Response schemas using BaseResponseSchema (8-field format)
export const AlsoBoughtListResponseSchema = BaseResponseSchema(z.array(AlsoBoughtProductSchema));
export const InvMastTagListResponseSchema = BaseResponseSchema(z.array(InvMastTagSchema));
export const InvMastTagResponseSchema = BaseResponseSchema(InvMastTagSchema);
export const InvMastWebDescListResponseSchema = BaseResponseSchema(z.array(InvMastWebDescSchema));
export const InvMastWebDescResponseSchema = BaseResponseSchema(InvMastWebDescSchema);
export const ItemCategoryResponseSchema = BaseResponseSchema(ItemCategorySchema);
//# sourceMappingURL=inventory.js.map