@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
44 lines • 1.97 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
import { mysqlDatetimeSchema } from '../../../core/schema-utils';
// Product Link Schema based on ProductLink.json
export const ProductLinkSchema = z.object({
productLinkUid: z.coerce.number(),
parentInvMastUid: z.coerce.number(),
childInvMastUid: z.coerce.number(),
parentItemId: z.string().max(40),
childItemId: z.string().max(40),
linkType: z.string().max(50), // e.g., 'accessory', 'related', 'replacement', 'upgrade'
linkDescription: z.string().max(255).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
dateCreated: mysqlDatetimeSchema().optional(),
dateLastModified: mysqlDatetimeSchema().optional(),
createdBy: z.string().max(255).optional(),
lastMaintainedBy: z.string().max(255).optional(),
});
// Create Product Link Request Schema
export const CreateProductLinkRequestSchema = z.object({
childInvMastUid: z.coerce.number(),
linkType: z.string().max(50),
linkDescription: z.string().max(255).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
});
// Update Product Link Request Schema
export const UpdateProductLinkRequestSchema = z.object({
linkType: z.string().max(50).optional(),
linkDescription: z.string().max(255).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
});
// Product Link List Parameters Schema
export const ProductLinkListParamsSchema = BaseGetParamsSchema.extend({
linkType: z.string().optional(),
isActive: z.string().optional(),
orderBy: z.string().optional(),
});
// Response Schemas
export const ProductLinkResponseSchema = BaseResponseSchema(ProductLinkSchema);
export const ProductLinkListResponseSchema = BaseResponseSchema(z.array(ProductLinkSchema));
//# sourceMappingURL=productLinks.js.map