@veeroute/lss-packer-angular 4.7.1599
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -0
- package/api/api.d.ts +10 -0
- package/api/convertService.d.ts +44 -0
- package/api/convertServiceInterface.d.ts +28 -0
- package/api/packService.d.ts +162 -0
- package/api/packServiceInterface.d.ts +86 -0
- package/api/systemService.d.ts +63 -0
- package/api/systemServiceInterface.d.ts +30 -0
- package/api.module.d.ts +7 -0
- package/bundles/veeroute-lss-packer-angular.umd.js +1086 -0
- package/bundles/veeroute-lss-packer-angular.umd.js.map +1 -0
- package/cfg/method_groups.json +64 -0
- package/configuration.d.ts +80 -0
- package/encoder.d.ts +11 -0
- package/esm2015/api/api.js +11 -0
- package/esm2015/api/convertService.js +146 -0
- package/esm2015/api/convertServiceInterface.js +2 -0
- package/esm2015/api/packService.js +449 -0
- package/esm2015/api/packServiceInterface.js +2 -0
- package/esm2015/api/systemService.js +165 -0
- package/esm2015/api/systemServiceInterface.js +2 -0
- package/esm2015/api.module.js +33 -0
- package/esm2015/configuration.js +80 -0
- package/esm2015/encoder.js +19 -0
- package/esm2015/index.js +6 -0
- package/esm2015/model/calculationAsyncResult.js +2 -0
- package/esm2015/model/calculationInfo.js +2 -0
- package/esm2015/model/calculationSettings.js +13 -0
- package/esm2015/model/calculationState.js +2 -0
- package/esm2015/model/calculationStatus.js +26 -0
- package/esm2015/model/checkResult.js +13 -0
- package/esm2015/model/coordinates.js +13 -0
- package/esm2015/model/dimensions.js +13 -0
- package/esm2015/model/entityError.js +2 -0
- package/esm2015/model/entityErrorType.js +21 -0
- package/esm2015/model/entityPath.js +2 -0
- package/esm2015/model/entityType.js +23 -0
- package/esm2015/model/entityValidation.js +2 -0
- package/esm2015/model/entityValidationType.js +20 -0
- package/esm2015/model/inlineResponse400.js +2 -0
- package/esm2015/model/inlineResponse401.js +2 -0
- package/esm2015/model/inlineResponse402.js +2 -0
- package/esm2015/model/inlineResponse403.js +2 -0
- package/esm2015/model/inlineResponse404.js +2 -0
- package/esm2015/model/inlineResponse404Detail.js +2 -0
- package/esm2015/model/inlineResponse429.js +2 -0
- package/esm2015/model/inlineResponse500.js +2 -0
- package/esm2015/model/models.js +40 -0
- package/esm2015/model/packResult.js +2 -0
- package/esm2015/model/packSettings.js +2 -0
- package/esm2015/model/packStatistics.js +13 -0
- package/esm2015/model/packTask.js +2 -0
- package/esm2015/model/package.js +2 -0
- package/esm2015/model/packageLayout.js +2 -0
- package/esm2015/model/packageType.js +22 -0
- package/esm2015/model/product.js +2 -0
- package/esm2015/model/productGroupLayout.js +2 -0
- package/esm2015/model/productLayout.js +2 -0
- package/esm2015/model/renderTask.js +2 -0
- package/esm2015/model/schemaError.js +13 -0
- package/esm2015/model/serviceName.js +29 -0
- package/esm2015/model/tracedata.js +2 -0
- package/esm2015/model/unpackedItems.js +13 -0
- package/esm2015/model/validateResult.js +2 -0
- package/esm2015/model/versionResult.js +13 -0
- package/esm2015/variables.js +9 -0
- package/esm2015/veeroute-lss-packer-angular.js +5 -0
- package/fesm2015/veeroute-lss-packer-angular.js +1114 -0
- package/fesm2015/veeroute-lss-packer-angular.js.map +1 -0
- package/index.d.ts +5 -0
- package/model/calculationAsyncResult.d.ts +22 -0
- package/model/calculationInfo.d.ts +30 -0
- package/model/calculationSettings.d.ts +32 -0
- package/model/calculationState.d.ts +24 -0
- package/model/calculationStatus.d.ts +23 -0
- package/model/checkResult.d.ts +20 -0
- package/model/coordinates.d.ts +28 -0
- package/model/dimensions.d.ts +32 -0
- package/model/entityError.d.ts +27 -0
- package/model/entityErrorType.d.ts +18 -0
- package/model/entityPath.d.ts +23 -0
- package/model/entityType.d.ts +20 -0
- package/model/entityValidation.d.ts +27 -0
- package/model/entityValidationType.d.ts +17 -0
- package/model/inlineResponse400.d.ts +37 -0
- package/model/inlineResponse401.d.ts +22 -0
- package/model/inlineResponse402.d.ts +22 -0
- package/model/inlineResponse403.d.ts +22 -0
- package/model/inlineResponse404.d.ts +22 -0
- package/model/inlineResponse404Detail.d.ts +18 -0
- package/model/inlineResponse429.d.ts +22 -0
- package/model/inlineResponse500.d.ts +22 -0
- package/model/models.d.ts +39 -0
- package/model/packResult.d.ts +38 -0
- package/model/packSettings.d.ts +18 -0
- package/model/packStatistics.d.ts +40 -0
- package/model/packTask.d.ts +28 -0
- package/model/package.d.ts +31 -0
- package/model/packageLayout.d.ts +33 -0
- package/model/packageType.d.ts +19 -0
- package/model/product.d.ts +38 -0
- package/model/productGroupLayout.d.ts +29 -0
- package/model/productLayout.d.ts +24 -0
- package/model/renderTask.d.ts +31 -0
- package/model/schemaError.d.ts +24 -0
- package/model/serviceName.d.ts +26 -0
- package/model/tracedata.d.ts +38 -0
- package/model/unpackedItems.d.ts +24 -0
- package/model/validateResult.d.ts +23 -0
- package/model/versionResult.d.ts +28 -0
- package/package.json +27 -0
- package/variables.d.ts +8 -0
- package/veeroute-lss-packer-angular.d.ts +4 -0
- package/veeroute-lss-packer-angular.metadata.json +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"veeroute-lss-packer-angular.umd.js","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/convertService.ts","../../api/packService.ts","../../api/systemService.ts","../../api/api.ts","../../model/calculationStatus.ts","../../model/entityErrorType.ts","../../model/entityType.ts","../../model/entityValidationType.ts","../../model/packageType.ts","../../model/serviceName.ts","../../api.module.ts","../../veeroute-lss-packer-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n encoder?: HttpParameterCodec;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default ApiKeyAuth credential\n if (!this.credentials['ApiKeyAuth']) {\n this.credentials['ApiKeyAuth'] = () => {\n return typeof this.accessToken === 'function'\n ? this.accessToken()\n : this.accessToken;\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n}\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { InlineResponse400Packer } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Packer } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Packer } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse403Packer } from '../model/inlineResponse403';\n// @ts-ignore\nimport { InlineResponse429Packer } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Packer } from '../model/inlineResponse500';\n// @ts-ignore\nimport { RenderTaskPacker } from '../model/renderTask';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n ConvertServiceInterface,\n RunConvertToGltfRequestParams\n} from './convertServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConvertService implements ConvertServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Convert (glTF)\n * Used for render of input and output data to the [glTF](https://en.wikipedia.org/wiki/GlTF) format.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runConvertToGltf(requestParameters: RunConvertToGltfRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<string>;\n public runConvertToGltf(requestParameters: RunConvertToGltfRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpResponse<string>>;\n public runConvertToGltf(requestParameters: RunConvertToGltfRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<HttpEvent<string>>;\n public runConvertToGltf(requestParameters: RunConvertToGltfRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext}): Observable<any> {\n const renderTaskPacker = requestParameters.renderTaskPacker;\n if (renderTaskPacker === null || renderTaskPacker === undefined) {\n throw new Error('Required parameter renderTaskPacker was null or undefined when calling runConvertToGltf.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/octet-stream',\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<string>(`${this.configuration.basePath}/packer/convert/gltf`,\n renderTaskPacker,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CalculationAsyncResultPacker } from '../model/calculationAsyncResult';\n// @ts-ignore\nimport { CalculationStatePacker } from '../model/calculationState';\n// @ts-ignore\nimport { InlineResponse400Packer } from '../model/inlineResponse400';\n// @ts-ignore\nimport { InlineResponse401Packer } from '../model/inlineResponse401';\n// @ts-ignore\nimport { InlineResponse402Packer } from '../model/inlineResponse402';\n// @ts-ignore\nimport { InlineResponse404Packer } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Packer } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Packer } from '../model/inlineResponse500';\n// @ts-ignore\nimport { PackResultPacker } from '../model/packResult';\n// @ts-ignore\nimport { PackTaskPacker } from '../model/packTask';\n// @ts-ignore\nimport { ValidateResultPacker } from '../model/validateResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n PackServiceInterface,\n CancelPackCalculationRequestParams,\n DeletePackResultRequestParams,\n ReadPackCalculationStateRequestParams,\n ReadPackResultRequestParams,\n RunPackCalculationRequestParams,\n RunPackCalculationAsyncRequestParams,\n RunPackValidationRequestParams\n} from './packServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PackService implements PackServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Cancel calculation\n * Cancel calculation process by the calculation identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public cancelPackCalculation(requestParameters: CancelPackCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any>;\n public cancelPackCalculation(requestParameters: CancelPackCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<any>>;\n public cancelPackCalculation(requestParameters: CancelPackCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<any>>;\n public cancelPackCalculation(requestParameters: CancelPackCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const id = requestParameters.id;\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling cancelPackCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.delete<any>(`${this.configuration.basePath}/packer/pack/calculation_async/${encodeURIComponent(String(id))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Result removal\n * Removal of the planning result by the calculation identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public deletePackResult(requestParameters: DeletePackResultRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any>;\n public deletePackResult(requestParameters: DeletePackResultRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<any>>;\n public deletePackResult(requestParameters: DeletePackResultRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<any>>;\n public deletePackResult(requestParameters: DeletePackResultRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const id = requestParameters.id;\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling deletePackResult.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.delete<any>(`${this.configuration.basePath}/packer/pack/result/${encodeURIComponent(String(id))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Calculation state\n * Read calculation state by the calculation identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readPackCalculationState(requestParameters: ReadPackCalculationStateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CalculationStatePacker>;\n public readPackCalculationState(requestParameters: ReadPackCalculationStateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CalculationStatePacker>>;\n public readPackCalculationState(requestParameters: ReadPackCalculationStateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CalculationStatePacker>>;\n public readPackCalculationState(requestParameters: ReadPackCalculationStateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const id = requestParameters.id;\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling readPackCalculationState.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<CalculationStatePacker>(`${this.configuration.basePath}/packer/pack/calculation_async/${encodeURIComponent(String(id))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the result\n * Getting the planning result based on the calculation identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public readPackResult(requestParameters: ReadPackResultRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<PackResultPacker>;\n public readPackResult(requestParameters: ReadPackResultRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<PackResultPacker>>;\n public readPackResult(requestParameters: ReadPackResultRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<PackResultPacker>>;\n public readPackResult(requestParameters: ReadPackResultRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const id = requestParameters.id;\n if (id === null || id === undefined) {\n throw new Error('Required parameter id was null or undefined when calling readPackResult.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<PackResultPacker>(`${this.configuration.basePath}/packer/pack/result/${encodeURIComponent(String(id))}`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Packing (SYNC)\n * Planning the optimal package.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runPackCalculation(requestParameters: RunPackCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<PackResultPacker>;\n public runPackCalculation(requestParameters: RunPackCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<PackResultPacker>>;\n public runPackCalculation(requestParameters: RunPackCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<PackResultPacker>>;\n public runPackCalculation(requestParameters: RunPackCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const packTaskPacker = requestParameters.packTaskPacker;\n if (packTaskPacker === null || packTaskPacker === undefined) {\n throw new Error('Required parameter packTaskPacker was null or undefined when calling runPackCalculation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<PackResultPacker>(`${this.configuration.basePath}/packer/pack/calculation`,\n packTaskPacker,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Packing (ASYNC)\n * The result can be obtained using the [result](#operation/read_pack_result) method, removing - with [delete](#operation/delete_pack_result). \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runPackCalculationAsync(requestParameters: RunPackCalculationAsyncRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CalculationAsyncResultPacker>;\n public runPackCalculationAsync(requestParameters: RunPackCalculationAsyncRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CalculationAsyncResultPacker>>;\n public runPackCalculationAsync(requestParameters: RunPackCalculationAsyncRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CalculationAsyncResultPacker>>;\n public runPackCalculationAsync(requestParameters: RunPackCalculationAsyncRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const packTaskPacker = requestParameters.packTaskPacker;\n if (packTaskPacker === null || packTaskPacker === undefined) {\n throw new Error('Required parameter packTaskPacker was null or undefined when calling runPackCalculationAsync.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<CalculationAsyncResultPacker>(`${this.configuration.basePath}/packer/pack/calculation_async`,\n packTaskPacker,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Data validation\n * Checking data before planning.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public runPackValidation(requestParameters: RunPackValidationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<ValidateResultPacker>;\n public runPackValidation(requestParameters: RunPackValidationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<ValidateResultPacker>>;\n public runPackValidation(requestParameters: RunPackValidationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<ValidateResultPacker>>;\n public runPackValidation(requestParameters: RunPackValidationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n const packTaskPacker = requestParameters.packTaskPacker;\n if (packTaskPacker === null || packTaskPacker === undefined) {\n throw new Error('Required parameter packTaskPacker was null or undefined when calling runPackValidation.');\n }\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarCredential: string | undefined;\n // authentication (ApiKeyAuth) required\n localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.post<ValidateResultPacker>(`${this.configuration.basePath}/packer/pack/validation`,\n packTaskPacker,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultPacker } from '../model/checkResult';\n// @ts-ignore\nimport { InlineResponse404Packer } from '../model/inlineResponse404';\n// @ts-ignore\nimport { InlineResponse429Packer } from '../model/inlineResponse429';\n// @ts-ignore\nimport { InlineResponse500Packer } from '../model/inlineResponse500';\n// @ts-ignore\nimport { VersionResultPacker } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport {\n SystemServiceInterface\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n protected basePath = 'https://api.edge.veeroute.tech';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key,\n (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Checking the availability\n * Checking the service availability.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<CheckResultPacker>;\n public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<CheckResultPacker>>;\n public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<CheckResultPacker>>;\n public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<CheckResultPacker>(`${this.configuration.basePath}/packer/system/check`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Getting the service version\n * Getting the service version.\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<VersionResultPacker>;\n public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpResponse<VersionResultPacker>>;\n public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<HttpEvent<VersionResultPacker>>;\n public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable<any> {\n\n let localVarHeaders = this.defaultHeaders;\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n\n return this.httpClient.get<VersionResultPacker>(`${this.configuration.basePath}/packer/system/version`,\n \n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './convertService';\nimport { ConvertService } from './convertService';\nexport * from './convertServiceInterface';\nexport * from './packService';\nimport { PackService } from './packService';\nexport * from './packServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [ConvertService, PackService, SystemService];\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Calculation status: * `WAITING` - the calculation is waiting to start. * `IN_PROGRESS` - the calculation is in progress. * `FINISHED_IN_TIME` - the calculation was completed before the specified planning time. * `FINISHED_OUT_OF_TIME` - the calculation was completed because the specified planning time has expired. * `CANCELED` - the calculation was canceled because a cancel command was received. * `CANCELED_BY_TIMEOUT` - the calculation was canceled automatically because the waiting time in the queue was exceeded. * `FAILED` - the calculation failed with an error. \n */\nexport enum CalculationStatusPacker {\n WAITING = 'WAITING',\n IN_PROGRESS = 'IN_PROGRESS',\n FINISHED_IN_TIME = 'FINISHED_IN_TIME',\n FINISHED_OUT_OF_TIME = 'FINISHED_OUT_OF_TIME',\n CANCELED = 'CANCELED',\n CANCELED_BY_TIMEOUT = 'CANCELED_BY_TIMEOUT',\n FAILED = 'FAILED'\n};\n\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Error type: * `UNIQUE_IDS_VIOLATION` - all keys must be unique * `INCONSISTENT_REFERENCE` - bad reference key \n */\nexport enum EntityErrorTypePacker {\n UNIQUE_IDS_VIOLATION = 'UNIQUE_IDS_VIOLATION',\n INCONSISTENT_REFERENCE = 'INCONSISTENT_REFERENCE'\n};\n\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Entity type.\n */\nexport enum EntityTypePacker {\n TASK = 'TASK',\n SETTINGS = 'SETTINGS',\n PRODUCT = 'PRODUCT',\n PACKAGE = 'PACKAGE'\n};\n\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Validation type: * `NO_COMPATIBLE_PACKAGE` - product does not fit into any package \n */\nexport enum EntityValidationTypePacker {\n NO_COMPATIBLE_PACKAGE = 'NO_COMPATIBLE_PACKAGE'\n};\n\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Types of [packaging](#section/Description/Packaging-process): * `SLOT` - space in the transport box for a stack of pallets, the height limits the stack of pallets * `PALLET` - a pallet, the products are stacked on top of a pallet, with the help of a cardboard partition it can be divided into 2 - 6 parts, in each of which the same products are placed * `MIXBOX` - mix-box, the products are folded inside the box \n */\nexport enum PackageTypePacker {\n SLOT = 'SLOT',\n PALLET = 'PALLET',\n MIXBOX = 'MIXBOX'\n};\n\n","/**\n * VRt.Packer [PC]\n * Veeroute Packer API. # Description The service is designed to calculate the placement of goods inside specified packages. ## Package types ### Pallet  *Mono pallet* If a pallet is fully equipped with the same product, then such a pallet is called mono-pallet, mono-pallet loading rules: 1. The maximum permissible height of the pallet with the goods laid on it: 1800 mm 1. Maximum permissible weight of the loaded pallet: 650 kg 1. Packages of goods may only be stacked parallel to the pallet walls. 1. It is allowed to rotate packages around the vertical Z axis and only at right angles. 1. To level the height between positions (for placing another pallet on top), empty spaces can be added to the stacking in layers. *Zoned pallet* After the formation of mono-pallets, the remaining part of the goods of the same article is placed on the next pallet, which is divided into zones by means of a cardboard partition in such a way that only one article is placed in each zone, the zones have the following restrictions: 1. Zones are rectangular. 1. The ratio between the sides of the zones can be any. 1. One side of any zone is always in contact with the edge of the pallet. 1. Allowable number of zones on a pallet: from 2 to 6. 1. Each zone is filled according to the rules for filling a mono-pallet. 1. The stacking height of all goods does not exceed 50 mm, so that another pallet can be placed on top of such a pallet. 1. It is allowed to form pallets with different stacking heights for different positions (the difference in heights is more than 50 mm), if these are the top pallets in a stack. ### Mix box  If the steps above fail to place the item in this way, so that the pallet has the required height or weight, mix boxes are used: 1. Mix boxes can only be placed in one layer. 1. In one mix-box there can be different goods, in this case it is divided by partitions similarly to the pallet (the only difference is that the height of the packed goods is not aligned). 1. Mix boxes can be mixed with items on one pallet. 1. One product can be packed in different mix boxes. ### Slot  Loaded pallets are stacked on top of each other, the slot is where the stack of pallets is placed. The slot has no physical body - so the dimensions of the `body` of the slot are zero. ## Coordinate system  The local coordinate system is used to indicate the location of packages and goods, in which the coordinates of a particular object are indicated relative to the near-left lower corner of the parent object, while: * Horizontal plane - **X**, **Y** axes * Vertical - **Z** axis ## Entity relationship diagram \n *\n * The version of the OpenAPI document: 4.7.1599\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceNamePacker {\n UNIVERSAL = 'UNIVERSAL',\n ROUTING = 'ROUTING',\n ACCOUNT = 'ACCOUNT',\n ADMIN = 'ADMIN',\n STUDIO = 'STUDIO',\n STOCK = 'STOCK',\n PACKER = 'PACKER',\n LONGHAUL = 'LONGHAUL',\n CLUSTER = 'CLUSTER',\n CARGOTIMETABLE = 'CARGOTIMETABLE'\n};\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { ConvertService } from './api/convertService';\nimport { PackService } from './api/packService';\nimport { SystemService } from './api/systemService';\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class LssPackerApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssPackerApiModule> {\n return {\n ngModule: LssPackerApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: LssPackerApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('LssPackerApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","HttpHeaders","HttpContext","Injectable","HttpClient","Optional","Inject","CalculationStatusPacker","EntityErrorTypePacker","EntityTypePacker","EntityValidationTypePacker","PackageTypePacker","ServiceNamePacker","NgModule","SkipSelf"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mapping": [
|
|
3
|
+
{
|
|
4
|
+
"method": "POST",
|
|
5
|
+
"uri": "/packer/pack/calculation",
|
|
6
|
+
"operation_id": "run_pack_calculation",
|
|
7
|
+
"group": "TRACE"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"method": "POST",
|
|
11
|
+
"uri": "/packer/pack/calculation_async",
|
|
12
|
+
"operation_id": "run_pack_calculation_async",
|
|
13
|
+
"group": "TRACE"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"method": "GET",
|
|
17
|
+
"uri": "/packer/pack/calculation_async/{id}",
|
|
18
|
+
"operation_id": "read_pack_calculation_state",
|
|
19
|
+
"group": "TRACE"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"method": "DELETE",
|
|
23
|
+
"uri": "/packer/pack/calculation_async/{id}",
|
|
24
|
+
"operation_id": "cancel_pack_calculation",
|
|
25
|
+
"group": "TRACE"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"method": "GET",
|
|
29
|
+
"uri": "/packer/pack/result/{id}",
|
|
30
|
+
"operation_id": "read_pack_result",
|
|
31
|
+
"group": "TRACE"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"method": "DELETE",
|
|
35
|
+
"uri": "/packer/pack/result/{id}",
|
|
36
|
+
"operation_id": "delete_pack_result",
|
|
37
|
+
"group": "TRACE"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"method": "POST",
|
|
41
|
+
"uri": "/packer/pack/validation",
|
|
42
|
+
"operation_id": "run_pack_validation",
|
|
43
|
+
"group": "VALIDATE"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"method": "POST",
|
|
47
|
+
"uri": "/packer/convert/gltf",
|
|
48
|
+
"operation_id": "run_convert_to_gltf",
|
|
49
|
+
"group": "TRACE"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"method": "GET",
|
|
53
|
+
"uri": "/packer/system/check",
|
|
54
|
+
"operation_id": "check",
|
|
55
|
+
"group": "NOTRACE"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"method": "GET",
|
|
59
|
+
"uri": "/packer/system/version",
|
|
60
|
+
"operation_id": "version",
|
|
61
|
+
"group": "NOTRACE"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { HttpParameterCodec } from '@angular/common/http';
|
|
2
|
+
export interface ConfigurationParameters {
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Since 5.0. Use credentials instead
|
|
5
|
+
*/
|
|
6
|
+
apiKeys?: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
username?: string;
|
|
10
|
+
password?: string;
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Since 5.0. Use credentials instead
|
|
13
|
+
*/
|
|
14
|
+
accessToken?: string | (() => string);
|
|
15
|
+
basePath?: string;
|
|
16
|
+
withCredentials?: boolean;
|
|
17
|
+
encoder?: HttpParameterCodec;
|
|
18
|
+
/**
|
|
19
|
+
* The keys are the names in the securitySchemes section of the OpenAPI
|
|
20
|
+
* document. They should map to the value used for authentication
|
|
21
|
+
* minus any standard prefixes such as 'Basic' or 'Bearer'.
|
|
22
|
+
*/
|
|
23
|
+
credentials?: {
|
|
24
|
+
[key: string]: string | (() => string | undefined);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare class Configuration {
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Since 5.0. Use credentials instead
|
|
30
|
+
*/
|
|
31
|
+
apiKeys?: {
|
|
32
|
+
[key: string]: string;
|
|
33
|
+
};
|
|
34
|
+
username?: string;
|
|
35
|
+
password?: string;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Since 5.0. Use credentials instead
|
|
38
|
+
*/
|
|
39
|
+
accessToken?: string | (() => string);
|
|
40
|
+
basePath?: string;
|
|
41
|
+
withCredentials?: boolean;
|
|
42
|
+
encoder?: HttpParameterCodec;
|
|
43
|
+
/**
|
|
44
|
+
* The keys are the names in the securitySchemes section of the OpenAPI
|
|
45
|
+
* document. They should map to the value used for authentication
|
|
46
|
+
* minus any standard prefixes such as 'Basic' or 'Bearer'.
|
|
47
|
+
*/
|
|
48
|
+
credentials: {
|
|
49
|
+
[key: string]: string | (() => string | undefined);
|
|
50
|
+
};
|
|
51
|
+
constructor(configurationParameters?: ConfigurationParameters);
|
|
52
|
+
/**
|
|
53
|
+
* Select the correct content-type to use for a request.
|
|
54
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct content-type.
|
|
55
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
56
|
+
* @param contentTypes - the array of content types that are available for selection
|
|
57
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
58
|
+
*/
|
|
59
|
+
selectHeaderContentType(contentTypes: string[]): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Select the correct accept content-type to use for a request.
|
|
62
|
+
* Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
|
|
63
|
+
* If no content type is found return the first found type if the contentTypes is not empty
|
|
64
|
+
* @param accepts - the array of content types that are available for selection.
|
|
65
|
+
* @returns the selected content-type or <code>undefined</code> if no selection could be made.
|
|
66
|
+
*/
|
|
67
|
+
selectHeaderAccept(accepts: string[]): string | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* Check if the given MIME is a JSON MIME.
|
|
70
|
+
* JSON MIME examples:
|
|
71
|
+
* application/json
|
|
72
|
+
* application/json; charset=UTF8
|
|
73
|
+
* APPLICATION/JSON
|
|
74
|
+
* application/vnd.company+json
|
|
75
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
76
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
77
|
+
*/
|
|
78
|
+
isJsonMime(mime: string): boolean;
|
|
79
|
+
lookupCredential(key: string): string | undefined;
|
|
80
|
+
}
|
package/encoder.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HttpParameterCodec } from '@angular/common/http';
|
|
2
|
+
/**
|
|
3
|
+
* Custom HttpParameterCodec
|
|
4
|
+
* Workaround for https://github.com/angular/angular/issues/18261
|
|
5
|
+
*/
|
|
6
|
+
export declare class CustomHttpParameterCodec implements HttpParameterCodec {
|
|
7
|
+
encodeKey(k: string): string;
|
|
8
|
+
encodeValue(v: string): string;
|
|
9
|
+
decodeKey(k: string): string;
|
|
10
|
+
decodeValue(v: string): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './convertService';
|
|
2
|
+
import { ConvertService } from './convertService';
|
|
3
|
+
export * from './convertServiceInterface';
|
|
4
|
+
export * from './packService';
|
|
5
|
+
import { PackService } from './packService';
|
|
6
|
+
export * from './packServiceInterface';
|
|
7
|
+
export * from './systemService';
|
|
8
|
+
import { SystemService } from './systemService';
|
|
9
|
+
export * from './systemServiceInterface';
|
|
10
|
+
export const APIS = [ConvertService, PackService, SystemService];
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnZlcnRTZXJ2aWNlJztcbmltcG9ydCB7IENvbnZlcnRTZXJ2aWNlIH0gZnJvbSAnLi9jb252ZXJ0U2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRTZXJ2aWNlSW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja1NlcnZpY2UnO1xuaW1wb3J0IHsgUGFja1NlcnZpY2UgfSBmcm9tICcuL3BhY2tTZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFja1NlcnZpY2VJbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zeXN0ZW1TZXJ2aWNlJztcbmltcG9ydCB7IFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuL3N5c3RlbVNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zeXN0ZW1TZXJ2aWNlSW50ZXJmYWNlJztcbmV4cG9ydCBjb25zdCBBUElTID0gW0NvbnZlcnRTZXJ2aWNlLCBQYWNrU2VydmljZSwgU3lzdGVtU2VydmljZV07XG4iXX0=
|