UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

62 lines 2.59 kB
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