import {z} from 'zod' export type GetApiCommissaryorderV1GetAllCommissaryOrdersArgs = {authenticationtoken: string, customerLocationCode?: string | undefined, expectedDeliveryDateStart?: string | undefined, expectedDeliveryDateEnd?: string | undefined, includeDetails?: boolean | undefined, locationCode?: string | undefined, orderDateStart?: string | undefined, orderDateEnd?: string | undefined, orderNumber?: string | undefined, orderStatus?: ('NEWORDER' | '1' | 'SUBMITTED' | '18' | 'PICKLISTED' | '19' | 'INVOICED' | '2' | 'CANCELED' | '4' | 'PHYSICALRECONCILED' | '7' | 'FINALRECONCILED' | '3') | undefined, password: string, postDate?: string | undefined, referenceNumber?: string | undefined, sitename: string, sortBy?: ('orderPk' | 'orderNumber' | 'orderDate' | 'invoiceDate') | undefined, sortOrder?: ('ASC' | 'DESC') | undefined, userid: string, 'X-B3-TraceId'?: string | undefined, includeNull?: boolean | undefined}; export type GetApiCommissaryorderV1GetAllCommissaryOrdersOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const commissaryOrderDetailsDto = z.object({completeTaxRate: z.number().optional(), conversionInventoryIssueUnit: z.number().optional(), conversionInventoryOrderUnit: z.number().optional(), conversionInventoryPicklistUnit: z.number().optional(), conversionInventoryInvoiceUnit: z.number().optional(), conversionInventoryPhysReconUnit: z.number().optional(), conversionInventoryFinReconUnit: z.number().optional(), customerStorageLocation: z.string().optional(), customerStorageLocationCode: z.string().optional(), finalReconcilePrice: z.number().optional(), finalReconcileQuantity: z.number().optional(), finalReconcileQuantityForInv: z.number().optional(), finalReconcileQuantityForOrder: z.number().optional(), unitPrice: z.number().optional(), invoicePrice: z.number().optional(), invoiceQuantity: z.number().optional(), invoiceQuantityForInv: z.number().optional(), invoiceQuantityForOrder: z.number().optional(), orderQuantity: z.number().optional(), orderQuantityForInv: z.number().optional(), orderQuantityForOrder: z.number().optional(), physicalReconcilePrice: z.number().optional(), physicalReconcileQuantity: z.number().optional(), physicalReconcileQuantityForInv: z.number().optional(), physicalReconcileQuantityForOrder: z.number().optional(), picklistQuantity: z.number().optional(), picklistQuantityForInv: z.number().optional(), picklistQuantityForOrder: z.number().optional(), productName: z.string().optional(), productNumber: z.string().optional(), qualitativeJudgment: z.string().optional(), storageLocation: z.string().optional(), storageLocationCode: z.string().optional(), suggestedQuantity: z.number().optional(), taxCode: z.string().optional(), taxDescription: z.string().optional(), taxValue: z.number().optional(), orderUnit: z.string().optional(), picklistUnit: z.string().optional(), invoiceUnit: z.string().optional(), physicalReconcileUnit: z.string().optional(), finalReconcileUnit: z.string().optional(), inventoryUnit: z.string().optional(), issueUnit: z.string().optional()}); export const commissaryOrderHeaderDto = z.object({arBatchNumber: z.number().int().optional(), consumptionDays: z.number().optional(), customerCode: z.string().optional(), customerName: z.string().optional(), entryDate: z.string().optional(), entryDateUTC: z.string().optional(), entryUser: z.string().optional(), expectedDeliveryDate: z.string().optional(), expectedDeliveryDateUTC: z.string().optional(), finalReconcileDate: z.string().optional(), finalReconcileDateUTC: z.string().optional(), finalReconcileUser: z.string().optional(), finalReconcileValue: z.number().optional(), invoiceDate: z.string().optional(), invoiceDateUTC: z.string().optional(), invoiceUser: z.string().optional(), invoiceValue: z.number().optional(), locationCode: z.string().optional(), locationName: z.string().optional(), orderNumber: z.string().optional(), orderStatus: z.string().optional(), physicalReconcileDate: z.string().optional(), physicalReconcileDateUTC: z.string().optional(), physicalReconcileUser: z.string().optional(), postDate: z.string().optional(), postDateUTC: z.string().optional(), referenceNumber: z.string().optional(), grandTotal: z.number().optional(), taxTotal: z.number().optional()}); export const commissaryOrderDetails = z.object({commissaryOrderDetailDetails: z.array(commissaryOrderDetailsDto).optional(), commissaryOrderHeaderDetails: commissaryOrderHeaderDto.optional()}); export const getApiCommissaryorderV1GetAllCommissaryOrdersResponse = z.array(commissaryOrderDetails); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * getAllCommissaryOrders * * GET /commissaryorder/v1/getAllCommissaryOrders */ export const getApiCommissaryorderV1GetAllCommissaryOrders = async (args: GetApiCommissaryorderV1GetAllCommissaryOrdersArgs, options: GetApiCommissaryorderV1GetAllCommissaryOrdersOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.authenticationtoken != null) headers.set("authenticationtoken", String(args.authenticationtoken)) if (args.customerLocationCode != null) query.append("customerLocationCode", String(args.customerLocationCode)) if (args.expectedDeliveryDateStart != null) query.append("expectedDeliveryDateStart", String(args.expectedDeliveryDateStart)) if (args.expectedDeliveryDateEnd != null) query.append("expectedDeliveryDateEnd", String(args.expectedDeliveryDateEnd)) if (args.includeDetails != null) query.append("includeDetails", String(args.includeDetails)) if (args.locationCode != null) query.append("locationCode", String(args.locationCode)) if (args.orderDateStart != null) query.append("orderDateStart", String(args.orderDateStart)) if (args.orderDateEnd != null) query.append("orderDateEnd", String(args.orderDateEnd)) if (args.orderNumber != null) query.append("orderNumber", String(args.orderNumber)) if (args.orderStatus != null) query.append("orderStatus", String(args.orderStatus)) if (args.password != null) headers.set("password", String(args.password)) if (args.postDate != null) query.append("postDate", String(args.postDate)) if (args.referenceNumber != null) query.append("referenceNumber", String(args.referenceNumber)) if (args.sitename != null) headers.set("sitename", String(args.sitename)) if (args.sortBy != null) query.append("sortBy", String(args.sortBy)) if (args.sortOrder != null) query.append("sortOrder", String(args.sortOrder)) if (args.userid != null) headers.set("userid", String(args.userid)) if (args['X-B3-TraceId'] != null) headers.set("X-B3-TraceId", String(args['X-B3-TraceId'])) if (args.includeNull != null) query.append("includeNull", String(args.includeNull)) const url = `${baseUrl.replace(/\/+$/, '')}/commissaryorder/v1/getAllCommissaryOrders${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiCommissaryorderV1GetAllCommissaryOrdersResponse, await res.json()) };