@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
87 lines • 3.37 kB
JavaScript
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