UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

76 lines 3.04 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; // Cart Header schemas - per CartHdr.json schema specification export const CartHdrSchema = z.object({ cartHdrUid: z.number(), customerId: z.number(), contactId: z.number(), userId: z.number(), sessionId: z.string().optional(), emailAddress: z.string().optional(), dateCreated: z.string().optional(), dateLastModified: z.string().optional(), cartToken: z.string().nullable().optional(), userCartNo: z.number(), version: z.number().optional(), statusCd: z.number().optional(), processCd: z.number().optional(), }); export const CartHdrListParamsSchema = BaseGetParamsSchema.extend({ userId: z.coerce.number(), }); export const CartHdrLookupParamsSchema = BaseGetParamsSchema.extend({ userId: z.coerce.number(), customerId: z.coerce.number(), contactId: z.coerce.number(), cartToken: z.string().optional(), }); export const CartHdrListResponseSchema = BaseResponseSchema(z.array(CartHdrSchema)); export const CartHdrLookupResponseSchema = BaseResponseSchema(CartHdrSchema); // Cart Line schemas - per CartLine.json schema specification export const CartLineSchema = z.object({ cartHdrUid: z.number().optional(), lineNo: z.number().min(0), dateCreated: z.string().optional(), dateLastModified: z.string().optional(), invMastUid: z.number().min(1), quantity: z.number().min(0).nullable().optional(), unitOfMeasure: z.string().max(8).nullable().optional(), lineNote: z.string().max(255).nullable().optional(), key: z.string().max(255).nullable().optional(), unitPrice: z.number().min(0).nullable().optional(), itemId: z.string().max(40), isAssembly: z.enum(['Y', 'N']), invMastUidCount: z.number(), }); export const CartLineAddRequestSchema = z .array(z.object({ invMastUid: z.number().min(1), quantity: z.number().min(0), unitOfMeasure: z.string().min(1).max(8), lineNote: z.string().max(255).optional(), unitPrice: z.number().min(0).optional(), lineNo: z.number().min(0).optional(), key: z.string().max(255).optional(), })) .min(1); export const CartLineUpdateRequestSchema = z .array(z.object({ lineNo: z.number().min(0).optional(), invMastUid: z.number().min(1).optional(), quantity: z.number().min(0).optional(), unitOfMeasure: z.string().min(1).max(8).optional(), lineNote: z.string().max(255).optional(), unitPrice: z.number().min(0).optional(), key: z.string().max(255).optional(), })) .min(1); export const CartLineListResponseSchema = BaseResponseSchema(z.array(CartLineSchema)); // Response schemas for different cart line operations export const CartLineModifyResponseSchema = BaseResponseSchema(z.boolean()); // Specific response schema for delete line operation export const CartLineDeleteResponseSchema = BaseResponseSchema(z.object({ success: z.boolean(), message: z.string(), })); //# sourceMappingURL=cart.js.map