@ritas-inc/sapb1commandapi-client
Version:
A stateless TypeScript client for SAP B1 Service Layer Command API with comprehensive error handling, type safety, and batch operations
40 lines (39 loc) • 2.02 kB
JavaScript
import { z } from 'zod';
import { APIResponseSchema } from './common.schema.js';
export const WorkOrderOriginTypeSchema = z.enum(['manual', 'workorder']);
export const WorkOrderSchema = z.object({
itemCode: z.string(),
quantity: z.number().positive(),
injections: z.number().int().nonnegative().optional(),
});
export const WorkOrderOriginSchema = z.object({
origin: WorkOrderOriginTypeSchema.default('manual'),
originAbsoluteEntry: z.number().int().positive().optional(),
originDocumentNumber: z.number().int().positive().optional(),
});
export const CreateWorkOrderItemRequestSchema = z.object({
itemCode: z.string(),
quantity: z.number().positive(),
planId: z.number().int().positive(),
origin: WorkOrderOriginTypeSchema.default('manual'),
originAbsoluteEntry: z.number().int().positive().optional(),
originDocumentNumber: z.number().int().positive().optional(),
injections: z.number().int().nonnegative().optional()
});
export const CreateWorkOrderDataResponseSchema = z.object({
absoluteEntry: z.number().int().positive(),
documentEntry: z.number().int().positive(),
createDate: z.string()
});
export const CreateWorkOrderResponseSchema = APIResponseSchema(CreateWorkOrderDataResponseSchema, z.any());
export const CreateWorkOrderBatchResponseSchema = APIResponseSchema(z.array(CreateWorkOrderDataResponseSchema), z.any());
export const ReleaseWorkOrderItemRequestSchema = z.object({
absoluteEntry: z.number().int().positive()
});
export const ReleaseWorkOrderBatchResponseSchema = APIResponseSchema(z.array(ReleaseWorkOrderItemRequestSchema), z.any());
export const ReleaseWorkOrderResponseSchema = APIResponseSchema(z.any(), z.any());
export const CancelWorkOrderItemRequestSchema = z.object({
absoluteEntry: z.number().int().positive()
});
export const CancelWorkOrderResponseSchema = APIResponseSchema(z.any(), z.any());
export const CancelWorkOrderBatchResponseSchema = APIResponseSchema(z.array(CancelWorkOrderItemRequestSchema), z.any());