@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
51 lines • 2.19 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
import { mysqlDatetimeSchema } from '../../../core/schema-utils';
// Sub-Part Schema based on Subpart.json
export const SubPartSchema = z.object({
subPartUid: z.coerce.number(),
parentInvMastUid: z.coerce.number(),
childInvMastUid: z.coerce.number(),
parentItemId: z.string().max(40),
childItemId: z.string().max(40),
childItemDesc: z.string().max(255).optional(),
qtyRequired: z.coerce.number(),
unitOfMeasure: z.string().max(10).optional(),
isOptional: z.string().max(1).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
description: z.string().max(500).optional(),
dateCreated: mysqlDatetimeSchema().optional(),
dateLastModified: mysqlDatetimeSchema().optional(),
createdBy: z.string().max(255).optional(),
lastMaintainedBy: z.string().max(255).optional(),
});
// Create Sub-Part Request Schema
export const CreateSubPartRequestSchema = z.object({
childInvMastUid: z.coerce.number(),
qtyRequired: z.coerce.number(),
unitOfMeasure: z.string().max(10).optional(),
isOptional: z.string().max(1).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
description: z.string().max(500).optional(),
});
// Update Sub-Part Request Schema
export const UpdateSubPartRequestSchema = z.object({
qtyRequired: z.coerce.number().optional(),
unitOfMeasure: z.string().max(10).optional(),
isOptional: z.string().max(1).optional(),
isActive: z.string().max(1).optional(),
displayOrder: z.coerce.number().optional(),
description: z.string().max(500).optional(),
});
// Sub-Part List Parameters Schema
export const SubPartListParamsSchema = BaseGetParamsSchema.extend({
isOptional: z.string().optional(),
isActive: z.string().optional(),
orderBy: z.string().optional(),
});
// Response Schemas
export const SubPartResponseSchema = BaseResponseSchema(SubPartSchema);
export const SubPartListResponseSchema = BaseResponseSchema(z.array(SubPartSchema));
//# sourceMappingURL=subparts.js.map