UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

87 lines 3.37 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; import { StatusCdSchema } from './common'; // Distributor schemas export const DistributorSchema = z.object({ distributors_uid: z.number(), distributor_name: z.string(), distributor_desc: z.string().optional(), customer_id: z.number(), contact_email: z.string().optional(), contact_phone: z.string().optional(), status_cd: z.number(), create_cd: z.string(), update_cd: z.string(), }); export const DistributorListParamsSchema = BaseGetParamsSchema.extend({ customerId: z.number().optional(), statusCd: z.number().optional().default(704), }); export const CreateDistributorRequestSchema = z.object({ distributor_name: z.string().min(1, 'Distributor name is required'), distributor_desc: z.string().optional(), customer_id: z.number(), contact_email: z.string().optional(), contact_phone: z.string().optional(), }); export const UpdateDistributorRequestSchema = z.object({ distributor_name: z.string().optional(), distributor_desc: z.string().optional(), contact_email: z.string().optional(), contact_phone: z.string().optional(), }); export const EnableDistributorRequestSchema = z.object({ status_cd: StatusCdSchema, }); export const DistributorListResponseSchema = BaseResponseSchema(z.array(DistributorSchema)); export const DistributorResponseSchema = BaseResponseSchema(DistributorSchema); // Product schemas export const ProductSchema = z.object({ products_uid: z.number(), product_id: z.string(), product_name: z.string(), product_desc: z.string().optional(), distributors_uid: z.number(), customer_id: z.number(), status_cd: z.number(), create_cd: z.string(), update_cd: z.string(), }); export const ProductFindItemSchema = z.object({ inv_mast_uid: z.number(), item_id: z.string(), description: z.string(), default_selling_unit: z.string(), type: z.union([z.literal('prophet21'), z.literal('products')]), }); export const ProductListParamsSchema = BaseGetParamsSchema.extend({ customerId: z.number().optional(), distributorsUid: z.number().optional(), limit: z.number().optional().default(10), offset: z.number().optional().default(0), prefix: z.string().optional(), q: z.string().optional(), statusCd: z.number().optional().default(704), }); export const ProductFindParamsSchema = BaseGetParamsSchema.extend({ customerId: z.number().optional(), prefix: z.string().optional(), }); export const CreateProductRequestSchema = z.object({ product_id: z.string().min(1, 'Product ID is required'), product_name: z.string().min(1, 'Product name is required'), product_desc: z.string().optional(), distributors_uid: z.number(), customer_id: z.number(), }); export const UpdateProductRequestSchema = z.object({ product_name: z.string().optional(), product_desc: z.string().optional(), }); export const EnableProductRequestSchema = z.object({ status_cd: StatusCdSchema, }); export const ProductListResponseSchema = BaseResponseSchema(z.array(ProductSchema)); export const ProductResponseSchema = BaseResponseSchema(ProductSchema); export const ProductFindResponseSchema = BaseResponseSchema(z.array(ProductFindItemSchema)); //# sourceMappingURL=products.js.map