UNPKG

@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
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());