UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

100 lines 4.5 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; import { OnlineStatusSchema, StatusCdSchema } from './common'; // Items list schemas export const ItemsListParamsSchema = BaseGetParamsSchema.extend({ itemId: z.string().optional(), online: OnlineStatusSchema.optional(), statusCd: StatusCdSchema.optional(), }); // Item document structure for list endpoints (snake_case naming) export const ItemDocumentSchema = z.object({ inv_mast_uid: z.number(), item_id: z.string().nullable().optional(), online: OnlineStatusSchema, item_desc: z.string().nullable().optional(), extended_desc: z.string().nullable().optional(), display_desc: z.string().nullable().optional(), class_id1: z.string().nullable().optional(), class_id2: z.string().nullable().optional(), class_id3: z.string().nullable().optional(), class_id4: z.string().nullable().optional(), class_id5: z.string().nullable().optional(), 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(), keywords: z.string().nullable().optional(), brand_name: z.string().nullable().optional(), manufacturer_name: z.string().nullable().optional(), part_number: z.string().nullable().optional(), unspsc_code: z.string().nullable().optional(), upc_or_ean_id: z.string().nullable().optional(), supplier_name: z.string().nullable().optional(), qty_shipped_in_past_12_months: z.number().nullable().optional(), order_in_past_12_months: z.number().nullable().optional(), customer_part_numbers: z.union([z.array(z.string()), z.string()]).optional(), supplier_part_numbers: z.string().nullable().optional(), alternate_codes: z.string().nullable().optional(), stock_status: z.union([z.literal('in_stock'), z.literal('out_of_stock')]), item_categories: z.array(z.number()).optional(), item_category_tree: z.array(z.string()).optional(), category_score: z.number().optional(), attributes: z .array(z.object({ name_string: z.string(), value_string: z.string(), value_original: z.string().nullable().optional(), })) .optional(), user_defined_fields: z .array(z.object({ name_string: z.string(), value_string: z.string(), })) .optional(), tags: z.array(z.string()).optional(), names: z.array(z.string()).optional(), combo: z.string(), combo_hash: z.string(), }); export const ItemsListDataSchema = z.array(ItemDocumentSchema); export const ItemsListResponseSchema = BaseResponseSchema(ItemsListDataSchema); // Individual item schemas (camelCase naming) export const ItemDetailSchema = z.object({ invMastUid: z.number(), itemId: z.string().max(40).nullable().optional(), online: OnlineStatusSchema, updateCd: z.number(), doc: z.string().nullable().optional(), indexCd: z.number(), statusCd: z.number(), processCd: z.number(), indexStatusCd: z.number(), dateCreated: z.string(), // ISO 8601 format dateLastModified: z.string(), // ISO 8601 format classId5: z.string().max(8).nullable().optional(), dateLastChecked: z.string(), // ISO 8601 format embeddingCd: z.number(), docHash: z.string().max(64).nullable().optional(), indexHash: z.string().max(64).nullable().optional(), location: z.string().max(65).nullable().optional(), uuid: z.string().max(36).nullable().optional(), }); export const ItemDetailResponseSchema = BaseResponseSchema(ItemDetailSchema); // Item update request schema export const ItemUpdateRequestSchema = z.object({ statusCd: z.union([z.literal(700), z.literal(704), z.literal(705)]).optional(), processCd: z.union([z.literal(700), z.literal(704), z.literal(705), z.literal(1185)]).optional(), }); // Item update/refresh response schemas export const ItemOperationResponseSchema = BaseResponseSchema(ItemDetailSchema); // Refresh response schemas (same structure as item detail) export const ItemRefreshResponseSchema = BaseResponseSchema(ItemDetailSchema); //# sourceMappingURL=items.js.map