@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
62 lines • 2.59 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
// Also-bought schemas - per CartHdr.json alsoBoughtProduct definition
export const AlsoBoughtParamsSchema = BaseGetParamsSchema.extend({
limit: z.coerce.number().optional().default(10),
offset: z.coerce.number().optional().default(0),
});
// Item UOM schema
export const ItemUomSchema = z.object({
unitOfMeasure: z.string(),
unitSize: z.number(),
});
// Inventory master text schema
export const InvMastTextSchema = 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(),
});
// Rich also-bought product schema per CartHdr.json specification
export const AlsoBoughtItemSchema = z.object({
invMastUid: z.number(),
itemId: z.string(),
itemDesc: z.string().nullable().optional(),
displayDesc: z.string().nullable().optional(),
extendedDesc: z.string().nullable().optional(),
defaultSellingUnit: z.string().nullable().optional(),
defaultPurchasingUnit: z.string().nullable().optional(),
deleteFlag: z.string(),
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.unknown()),
itemUom: z.array(ItemUomSchema),
alternateCodes: z.array(z.string()),
legacyTags: z.array(z.string()),
attributes: z.array(z.unknown()),
images: z.array(z.string()),
categoryList: z.array(z.number()),
userDefined: z.union([z.record(z.unknown()), z.array(z.unknown())]),
invMastText: z.array(InvMastTextSchema),
});
// Updated to use BaseResponseSchema (8-field format) as required
export const AlsoBoughtResponseSchema = BaseResponseSchema(z.array(AlsoBoughtItemSchema));
//# sourceMappingURL=recommendations.js.map