doboxa-js 1.0.1 → 1.0.2

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.
Files changed (43) hide show
  1. package/dist/chunk-36DDSV5T.mjs +3077 -0
  2. package/dist/chunk-36DDSV5T.mjs.map +1 -0
  3. package/dist/chunk-CGJD4ZO5.mjs +107 -0
  4. package/dist/chunk-CGJD4ZO5.mjs.map +1 -0
  5. package/dist/client.js +2046 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/client.mjs +8 -0
  8. package/dist/client.mjs.map +1 -0
  9. package/dist/errors.js +91 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/errors.mjs +15 -0
  12. package/dist/errors.mjs.map +1 -0
  13. package/dist/index.js +3724 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/index.mjs +719 -0
  16. package/dist/index.mjs.map +1 -0
  17. package/dist/models.js +1 -0
  18. package/dist/models.js.map +1 -0
  19. package/dist/models.mjs +1 -0
  20. package/dist/models.mjs.map +1 -0
  21. package/package.json +8 -1
  22. package/api-doc.yaml +0 -2013
  23. package/openapi-generator-config.yaml +0 -15
  24. package/openapitools.json +0 -7
  25. package/src/client.ts +0 -99
  26. package/src/errors.ts +0 -90
  27. package/src/http/client.ts +0 -156
  28. package/src/index.ts +0 -31
  29. package/src/models.ts +0 -0
  30. package/src/resources/authentication.ts +0 -73
  31. package/src/resources/clients.ts +0 -32
  32. package/src/resources/discountCodes.ts +0 -32
  33. package/src/resources/invoices.ts +0 -46
  34. package/src/resources/orderComments.ts +0 -38
  35. package/src/resources/orderStatusChanges.ts +0 -38
  36. package/src/resources/orders.ts +0 -123
  37. package/src/resources/trackingNumbers.ts +0 -38
  38. package/src/resources/users.ts +0 -28
  39. package/src/types/index.ts +0 -59
  40. package/src/utils/config.ts +0 -10
  41. package/src/utils/tokenManager.ts +0 -68
  42. package/tsconfig.json +0 -12
  43. package/tsup.config.ts +0 -30
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/types/generated/src/runtime.ts","../src/errors.ts","../src/http/client.ts","../src/utils/tokenManager.ts","../src/utils/config.ts","../src/resources/authentication.ts","../src/types/generated/src/models/Bool.ts","../src/types/generated/src/models/ApiV2AuthenticationRefreshTokenPost200Response.ts","../src/types/generated/src/models/ApiV2AuthenticationRefreshTokenPostRequest.ts","../src/types/generated/src/models/ApiV2AuthenticationTokenPost200Response.ts","../src/types/generated/src/models/ApiV2AuthenticationTokenPost401Response.ts","../src/types/generated/src/models/ApiV2AuthenticationTokenPostRequest.ts","../src/types/generated/src/models/Attachment.ts","../src/types/generated/src/models/BillingAddress.ts","../src/types/generated/src/models/Client.ts","../src/types/generated/src/models/CreateOrderComment.ts","../src/types/generated/src/models/DeliveryAddress.ts","../src/types/generated/src/models/GetApiV2DiscountCodesExternal200ResponseItemsInner.ts","../src/types/generated/src/models/GetApiV2DiscountCodesExternal200Response.ts","../src/types/generated/src/models/InvalidParameter.ts","../src/types/generated/src/models/InvalidRequestDataResponse.ts","../src/types/generated/src/models/InvoiceItem.ts","../src/types/generated/src/models/InvoiceOrderItem.ts","../src/types/generated/src/models/InvoiceOrder.ts","../src/types/generated/src/models/Invoice.ts","../src/types/generated/src/models/Me.ts","../src/types/generated/src/models/OrderItemCropData.ts","../src/types/generated/src/models/OrderItemOriginalData.ts","../src/types/generated/src/models/OrderItem.ts","../src/types/generated/src/models/OrderOriginalData.ts","../src/types/generated/src/models/Waybill.ts","../src/types/generated/src/models/Order.ts","../src/types/generated/src/models/OrderCancellation.ts","../src/types/generated/src/models/OrderCancellationResponse.ts","../src/types/generated/src/models/OrderComment.ts","../src/types/generated/src/models/OrderItemStatus.ts","../src/types/generated/src/models/OrderStatus.ts","../src/types/generated/src/models/OrderStatusChange.ts","../src/types/generated/src/models/PageOfClients.ts","../src/types/generated/src/models/PageOfInvoices.ts","../src/types/generated/src/models/PageOfOrderComments.ts","../src/types/generated/src/models/PageOfOrderStatusChanges.ts","../src/types/generated/src/models/ReturnLabel.ts","../src/types/generated/src/models/TrackingNumberItem.ts","../src/types/generated/src/models/TrackingNumber.ts","../src/types/generated/src/models/PageOfTrackingNumbers.ts","../src/types/generated/src/models/PostOrderCommentResponse.ts","../src/types/generated/src/models/PostOrderResponse.ts","../src/types/generated/src/models/PostOrderStatusItem.ts","../src/types/generated/src/models/PostOrderStatus.ts","../src/types/generated/src/models/PostOrderStatusResponse.ts","../src/types/generated/src/models/ServerErrorResponse.ts","../src/types/generated/src/apis/OrderApi.ts","../src/types/generated/src/apis/OrderCancellationApi.ts","../src/resources/orders.ts","../src/types/generated/src/apis/InvoiceApi.ts","../src/resources/invoices.ts","../src/types/generated/src/apis/ClientApi.ts","../src/resources/clients.ts","../src/types/generated/src/apis/DiscountCodeApi.ts","../src/resources/discountCodes.ts","../src/types/generated/src/apis/TrackingNumberApi.ts","../src/resources/trackingNumbers.ts","../src/types/generated/src/apis/OrderCommentApi.ts","../src/resources/orderComments.ts","../src/types/generated/src/apis/OrderStatusChangeApi.ts","../src/resources/orderStatusChanges.ts","../src/types/generated/src/apis/UserApi.ts","../src/resources/users.ts","../src/client.ts"],"sourcesContent":["// Main client export\nimport { Doboxa } from './client';\nexport { Doboxa } from './client';\nexport type { DoboxaConfig } from './client';\n\n// Error exports\nexport {\n DoboxaError,\n DoboxaAPIError,\n DoboxaAuthenticationError,\n DoboxaValidationError,\n parseErrorResponse,\n} from './errors';\n\n// Type exports\nexport * from './types';\n\n// Resource exports (for advanced usage)\nexport { AuthenticationResource } from './resources/authentication';\nexport { OrdersResource } from './resources/orders';\nexport { InvoicesResource } from './resources/invoices';\nexport { ClientsResource } from './resources/clients';\nexport { DiscountCodesResource } from './resources/discountCodes';\nexport { TrackingNumbersResource } from './resources/trackingNumbers';\nexport { OrderCommentsResource } from './resources/orderComments';\nexport { OrderStatusChangesResource } from './resources/orderStatusChanges';\nexport { UsersResource } from './resources/users';\n\n// Default export\nexport default Doboxa;\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | Promise<string> | ((name: string) => string | Promise<string>); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise<string>) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\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 protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n let body: any;\n if (isFormData(overriddenInit.body)\n || (overriddenInit.body instanceof URLSearchParams)\n || isBlob(overriddenInit.body)) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n const result: { [key: string]: any } = {};\n for (const key of Object.keys(data)) {\n result[key] = fn(data[key]);\n }\n return result;\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","import type { InvalidRequestDataResponse, ServerErrorResponse } from './types/generated/src/models';\n\n/**\n * Base error class for all Doboxa errors\n */\nexport class DoboxaError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'DoboxaError';\n Object.setPrototypeOf(this, DoboxaError.prototype);\n }\n}\n\n/**\n * Error thrown when API returns an error response\n */\nexport class DoboxaAPIError extends DoboxaError {\n public readonly statusCode: number;\n public readonly code?: number;\n public readonly errorMessage?: string;\n public readonly invalidParameters?: Array<{ parameter: string; error_cause: string }>;\n\n constructor(\n statusCode: number,\n message: string,\n body?: InvalidRequestDataResponse | ServerErrorResponse\n ) {\n super(message);\n this.name = 'DoboxaAPIError';\n this.statusCode = statusCode;\n\n if (body) {\n if ('result_code' in body) {\n this.code = body.result_code;\n }\n if ('error_message' in body) {\n this.errorMessage = body.error_message || undefined;\n }\n if ('invalid_parameters' in body && body.invalid_parameters) {\n this.invalidParameters = body.invalid_parameters.map((param) => ({\n parameter: param.parameter,\n error_cause: param.error_cause,\n }));\n }\n }\n\n Object.setPrototypeOf(this, DoboxaAPIError.prototype);\n }\n}\n\n/**\n * Error thrown when authentication fails\n */\nexport class DoboxaAuthenticationError extends DoboxaError {\n constructor(message: string = 'Authentication failed') {\n super(message);\n this.name = 'DoboxaAuthenticationError';\n Object.setPrototypeOf(this, DoboxaAuthenticationError.prototype);\n }\n}\n\n/**\n * Error thrown when request validation fails\n */\nexport class DoboxaValidationError extends DoboxaAPIError {\n constructor(statusCode: number, message: string, body?: InvalidRequestDataResponse) {\n super(statusCode, message, body);\n this.name = 'DoboxaValidationError';\n Object.setPrototypeOf(this, DoboxaValidationError.prototype);\n }\n}\n\n/**\n * Parse error response from API\n */\nexport function parseErrorResponse(\n statusCode: number,\n body: unknown\n): InvalidRequestDataResponse | ServerErrorResponse | undefined {\n if (typeof body === 'object' && body !== null) {\n if ('invalid_parameters' in body || 'error_message' in body) {\n return body as InvalidRequestDataResponse;\n }\n if ('error_message' in body && 'result_code' in body) {\n return body as ServerErrorResponse;\n }\n }\n return undefined;\n}\n\n","import type { Configuration } from '../types/generated/src/runtime';\nimport { TokenManager } from '../utils/tokenManager';\nimport {\n DoboxaAPIError,\n DoboxaAuthenticationError,\n parseErrorResponse,\n} from '../errors';\n\nexport interface HTTPClientConfig {\n baseURL?: string;\n tokenManager: TokenManager;\n onTokenRefresh?: (token: string) => Promise<string>;\n}\n\n/**\n * HTTP client wrapper around fetch with Bearer token injection and error handling\n */\nexport class HTTPClient {\n private baseURL: string;\n private tokenManager: TokenManager;\n private onTokenRefresh?: (token: string) => Promise<string>;\n\n constructor(config: HTTPClientConfig) {\n this.baseURL = config.baseURL || 'http://localhost';\n this.tokenManager = config.tokenManager;\n this.onTokenRefresh = config.onTokenRefresh;\n }\n\n /**\n * Make an HTTP request\n */\n async request<T>(\n path: string,\n options: RequestInit = {}\n ): Promise<T> {\n // Ensure path starts with /\n const url = `${this.baseURL}${path.startsWith('/') ? path : `/${path}`}`;\n\n // Get or refresh token\n let accessToken = this.tokenManager.getAccessToken();\n \n if (!accessToken || this.tokenManager.isTokenExpired()) {\n if (this.onTokenRefresh) {\n const refreshToken = this.tokenManager.getRefreshToken();\n if (!refreshToken) {\n throw new DoboxaAuthenticationError('No refresh token available');\n }\n\n // Check if refresh is already in progress\n let refreshPromise = this.tokenManager.getRefreshPromise();\n if (!refreshPromise) {\n refreshPromise = this.onTokenRefresh(refreshToken);\n this.tokenManager.setRefreshPromise(refreshPromise);\n }\n\n try {\n accessToken = await refreshPromise;\n } finally {\n this.tokenManager.setRefreshPromise(null);\n }\n } else {\n throw new DoboxaAuthenticationError('No access token available');\n }\n }\n\n // Prepare headers\n const headers = new Headers(options.headers);\n headers.set('Content-Type', 'application/json');\n headers.set('Authorization', `Bearer ${accessToken}`);\n\n // Make request\n const response = await fetch(url, {\n ...options,\n headers,\n });\n\n // Parse response\n let responseBody: unknown;\n const contentType = response.headers.get('content-type');\n if (contentType && contentType.includes('application/json')) {\n try {\n responseBody = await response.json();\n } catch {\n // Ignore JSON parse errors\n }\n } else {\n responseBody = await response.text();\n }\n\n // Handle errors\n if (!response.ok) {\n const errorBody = parseErrorResponse(response.status, responseBody);\n const errorMessage =\n (errorBody && 'error_message' in errorBody\n ? errorBody.error_message\n : undefined) || response.statusText || `HTTP ${response.status}`;\n\n // Handle 401/403 as authentication errors\n if (response.status === 401 || response.status === 403) {\n throw new DoboxaAuthenticationError(errorMessage);\n }\n\n throw new DoboxaAPIError(response.status, errorMessage, errorBody);\n }\n\n return responseBody as T;\n }\n\n /**\n * GET request\n */\n async get<T>(path: string, options?: RequestInit): Promise<T> {\n return this.request<T>(path, { ...options, method: 'GET' });\n }\n\n /**\n * POST request\n */\n async post<T>(path: string, body?: unknown, options?: RequestInit): Promise<T> {\n return this.request<T>(path, {\n ...options,\n method: 'POST',\n body: body ? JSON.stringify(body) : undefined,\n });\n }\n\n /**\n * PUT request\n */\n async put<T>(path: string, body?: unknown, options?: RequestInit): Promise<T> {\n return this.request<T>(path, {\n ...options,\n method: 'PUT',\n body: body ? JSON.stringify(body) : undefined,\n });\n }\n\n /**\n * DELETE request\n */\n async delete<T>(path: string, options?: RequestInit): Promise<T> {\n return this.request<T>(path, { ...options, method: 'DELETE' });\n }\n\n /**\n * PATCH request\n */\n async patch<T>(path: string, body?: unknown, options?: RequestInit): Promise<T> {\n return this.request<T>(path, {\n ...options,\n method: 'PATCH',\n body: body ? JSON.stringify(body) : undefined,\n });\n }\n}\n\n","/**\n * Token manager for handling access tokens and refresh tokens\n */\nexport class TokenManager {\n private accessToken: string | null = null;\n private refreshToken: string | null = null;\n private tokenExpiry: number | null = null;\n private refreshPromise: Promise<string> | null = null;\n\n /**\n * Set tokens and calculate expiry\n */\n setTokens(accessToken: string, refreshToken: string, expiresIn: number = 3600): void {\n this.accessToken = accessToken;\n this.refreshToken = refreshToken;\n // Set expiry to 5 seconds before actual expiry for safety\n this.tokenExpiry = Date.now() + (expiresIn - 5) * 1000;\n }\n\n /**\n * Get current access token\n */\n getAccessToken(): string | null {\n return this.accessToken;\n }\n\n /**\n * Get refresh token\n */\n getRefreshToken(): string | null {\n return this.refreshToken;\n }\n\n /**\n * Check if token is expired or will expire soon\n */\n isTokenExpired(): boolean {\n if (!this.tokenExpiry || !this.accessToken) {\n return true;\n }\n return Date.now() >= this.tokenExpiry;\n }\n\n /**\n * Clear all tokens\n */\n clearTokens(): void {\n this.accessToken = null;\n this.refreshToken = null;\n this.tokenExpiry = null;\n this.refreshPromise = null;\n }\n\n /**\n * Set refresh promise to prevent concurrent refresh requests\n */\n setRefreshPromise(promise: Promise<string> | null): void {\n this.refreshPromise = promise;\n }\n\n /**\n * Get current refresh promise\n */\n getRefreshPromise(): Promise<string> | null {\n return this.refreshPromise;\n }\n}\n\n","/**\n * Configuration helper for reading environment variables\n */\nexport function getBaseURL(): string | undefined {\n if (typeof process !== 'undefined' && process.env) {\n return process.env.DOBOXA_API_URL;\n }\n return undefined;\n}\n\n","import { HTTPClient } from '../http/client';\nimport { TokenManager } from '../utils/tokenManager';\nimport type {\n ApiV2AuthenticationTokenPostRequest,\n ApiV2AuthenticationTokenPost200Response,\n ApiV2AuthenticationRefreshTokenPostRequest,\n ApiV2AuthenticationRefreshTokenPost200Response,\n} from '../types/generated/src/models';\n\nexport interface LoginParams {\n username: string;\n password: string;\n}\n\nexport interface RefreshTokenParams {\n refresh_token: string;\n}\n\n/**\n * Authentication resource\n */\nexport class AuthenticationResource {\n constructor(\n private httpClient: HTTPClient,\n private tokenManager: TokenManager\n ) {}\n\n /**\n * Login with username and password\n */\n async login(params: LoginParams): Promise<ApiV2AuthenticationTokenPost200Response> {\n const request: ApiV2AuthenticationTokenPostRequest = {\n username: params.username,\n password: params.password,\n };\n\n const response = await this.httpClient.post<ApiV2AuthenticationTokenPost200Response>(\n '/api/v2/authentication/token',\n request\n );\n\n // Store tokens\n if (response.token && response.refresh_token) {\n this.tokenManager.setTokens(response.token, response.refresh_token, 3600);\n }\n\n return response;\n }\n\n /**\n * Refresh access token using refresh token\n */\n async refreshToken(\n refreshToken: string\n ): Promise<ApiV2AuthenticationRefreshTokenPost200Response> {\n const request: ApiV2AuthenticationRefreshTokenPostRequest = {\n refresh_token: refreshToken,\n };\n\n const response = await this.httpClient.post<ApiV2AuthenticationRefreshTokenPost200Response>(\n '/api/v2/authentication/refresh_token',\n request\n );\n\n // Store new tokens\n if (response.token && response.refresh_token) {\n this.tokenManager.setTokens(response.token, response.refresh_token, 3600);\n }\n\n return response;\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Boolean type alias\n */\nexport type Bool = boolean;\n\nexport function BoolFromJSON(json: any): Bool {\n return json as boolean;\n}\n\nexport function BoolFromJSONTyped(json: any, ignoreDiscriminator: boolean): Bool {\n return json as boolean;\n}\n\nexport function BoolToJSON(value?: Bool | null): any {\n return value;\n}\n\nexport function BoolToJSONTyped(value?: Bool | null, ignoreDiscriminator: boolean = false): any {\n return value;\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiV2AuthenticationRefreshTokenPost200Response\n */\nexport interface ApiV2AuthenticationRefreshTokenPost200Response {\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationRefreshTokenPost200Response\n */\n token?: string;\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationRefreshTokenPost200Response\n */\n refresh_token?: string;\n}\n\n/**\n * Check if a given object implements the ApiV2AuthenticationRefreshTokenPost200Response interface.\n */\nexport function instanceOfApiV2AuthenticationRefreshTokenPost200Response(value: object): value is ApiV2AuthenticationRefreshTokenPost200Response {\n return true;\n}\n\nexport function ApiV2AuthenticationRefreshTokenPost200ResponseFromJSON(json: any): ApiV2AuthenticationRefreshTokenPost200Response {\n return ApiV2AuthenticationRefreshTokenPost200ResponseFromJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationRefreshTokenPost200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV2AuthenticationRefreshTokenPost200Response {\n if (json == null) {\n return json;\n }\n return {\n \n 'token': json['token'] == null ? undefined : json['token'],\n 'refresh_token': json['refresh_token'] == null ? undefined : json['refresh_token'],\n };\n}\n\nexport function ApiV2AuthenticationRefreshTokenPost200ResponseToJSON(json: any): ApiV2AuthenticationRefreshTokenPost200Response {\n return ApiV2AuthenticationRefreshTokenPost200ResponseToJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationRefreshTokenPost200ResponseToJSONTyped(value?: ApiV2AuthenticationRefreshTokenPost200Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'token': value['token'],\n 'refresh_token': value['refresh_token'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiV2AuthenticationRefreshTokenPostRequest\n */\nexport interface ApiV2AuthenticationRefreshTokenPostRequest {\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationRefreshTokenPostRequest\n */\n refresh_token?: string;\n}\n\n/**\n * Check if a given object implements the ApiV2AuthenticationRefreshTokenPostRequest interface.\n */\nexport function instanceOfApiV2AuthenticationRefreshTokenPostRequest(value: object): value is ApiV2AuthenticationRefreshTokenPostRequest {\n return true;\n}\n\nexport function ApiV2AuthenticationRefreshTokenPostRequestFromJSON(json: any): ApiV2AuthenticationRefreshTokenPostRequest {\n return ApiV2AuthenticationRefreshTokenPostRequestFromJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationRefreshTokenPostRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV2AuthenticationRefreshTokenPostRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'refresh_token': json['refresh_token'] == null ? undefined : json['refresh_token'],\n };\n}\n\nexport function ApiV2AuthenticationRefreshTokenPostRequestToJSON(json: any): ApiV2AuthenticationRefreshTokenPostRequest {\n return ApiV2AuthenticationRefreshTokenPostRequestToJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationRefreshTokenPostRequestToJSONTyped(value?: ApiV2AuthenticationRefreshTokenPostRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'refresh_token': value['refresh_token'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiV2AuthenticationTokenPost200Response\n */\nexport interface ApiV2AuthenticationTokenPost200Response {\n /**\n * JWT token, valid for 3600 seconds (1 hour)\n * @type {string}\n * @memberof ApiV2AuthenticationTokenPost200Response\n */\n token?: string;\n /**\n * Refresh token, valid for 2592000 seconds (30 days)\n * @type {string}\n * @memberof ApiV2AuthenticationTokenPost200Response\n */\n refresh_token?: string;\n}\n\n/**\n * Check if a given object implements the ApiV2AuthenticationTokenPost200Response interface.\n */\nexport function instanceOfApiV2AuthenticationTokenPost200Response(value: object): value is ApiV2AuthenticationTokenPost200Response {\n return true;\n}\n\nexport function ApiV2AuthenticationTokenPost200ResponseFromJSON(json: any): ApiV2AuthenticationTokenPost200Response {\n return ApiV2AuthenticationTokenPost200ResponseFromJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPost200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV2AuthenticationTokenPost200Response {\n if (json == null) {\n return json;\n }\n return {\n \n 'token': json['token'] == null ? undefined : json['token'],\n 'refresh_token': json['refresh_token'] == null ? undefined : json['refresh_token'],\n };\n}\n\nexport function ApiV2AuthenticationTokenPost200ResponseToJSON(json: any): ApiV2AuthenticationTokenPost200Response {\n return ApiV2AuthenticationTokenPost200ResponseToJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPost200ResponseToJSONTyped(value?: ApiV2AuthenticationTokenPost200Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'token': value['token'],\n 'refresh_token': value['refresh_token'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiV2AuthenticationTokenPost401Response\n */\nexport interface ApiV2AuthenticationTokenPost401Response {\n /**\n * \n * @type {number}\n * @memberof ApiV2AuthenticationTokenPost401Response\n */\n code?: number;\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationTokenPost401Response\n */\n message?: string;\n}\n\n/**\n * Check if a given object implements the ApiV2AuthenticationTokenPost401Response interface.\n */\nexport function instanceOfApiV2AuthenticationTokenPost401Response(value: object): value is ApiV2AuthenticationTokenPost401Response {\n return true;\n}\n\nexport function ApiV2AuthenticationTokenPost401ResponseFromJSON(json: any): ApiV2AuthenticationTokenPost401Response {\n return ApiV2AuthenticationTokenPost401ResponseFromJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPost401ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV2AuthenticationTokenPost401Response {\n if (json == null) {\n return json;\n }\n return {\n \n 'code': json['code'] == null ? undefined : json['code'],\n 'message': json['message'] == null ? undefined : json['message'],\n };\n}\n\nexport function ApiV2AuthenticationTokenPost401ResponseToJSON(json: any): ApiV2AuthenticationTokenPost401Response {\n return ApiV2AuthenticationTokenPost401ResponseToJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPost401ResponseToJSONTyped(value?: ApiV2AuthenticationTokenPost401Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'code': value['code'],\n 'message': value['message'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiV2AuthenticationTokenPostRequest\n */\nexport interface ApiV2AuthenticationTokenPostRequest {\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationTokenPostRequest\n */\n username?: string;\n /**\n * \n * @type {string}\n * @memberof ApiV2AuthenticationTokenPostRequest\n */\n password?: string;\n}\n\n/**\n * Check if a given object implements the ApiV2AuthenticationTokenPostRequest interface.\n */\nexport function instanceOfApiV2AuthenticationTokenPostRequest(value: object): value is ApiV2AuthenticationTokenPostRequest {\n return true;\n}\n\nexport function ApiV2AuthenticationTokenPostRequestFromJSON(json: any): ApiV2AuthenticationTokenPostRequest {\n return ApiV2AuthenticationTokenPostRequestFromJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPostRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiV2AuthenticationTokenPostRequest {\n if (json == null) {\n return json;\n }\n return {\n \n 'username': json['username'] == null ? undefined : json['username'],\n 'password': json['password'] == null ? undefined : json['password'],\n };\n}\n\nexport function ApiV2AuthenticationTokenPostRequestToJSON(json: any): ApiV2AuthenticationTokenPostRequest {\n return ApiV2AuthenticationTokenPostRequestToJSONTyped(json, false);\n}\n\nexport function ApiV2AuthenticationTokenPostRequestToJSONTyped(value?: ApiV2AuthenticationTokenPostRequest | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'username': value['username'],\n 'password': value['password'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface Attachment\n */\nexport interface Attachment {\n /**\n * Attachment type\n * @type {string}\n * @memberof Attachment\n */\n type: string;\n /**\n * Path to a printable file (or file name)\n * @type {string}\n * @memberof Attachment\n */\n file_path: string;\n /**\n * Order articles (foreign_id) related to this waybill\n * @type {Array<string>}\n * @memberof Attachment\n */\n articles?: Array<string> | null;\n}\n\n/**\n * Check if a given object implements the Attachment interface.\n */\nexport function instanceOfAttachment(value: object): value is Attachment {\n if (!('type' in value) || value['type'] === undefined) return false;\n if (!('file_path' in value) || value['file_path'] === undefined) return false;\n return true;\n}\n\nexport function AttachmentFromJSON(json: any): Attachment {\n return AttachmentFromJSONTyped(json, false);\n}\n\nexport function AttachmentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Attachment {\n if (json == null) {\n return json;\n }\n return {\n \n 'type': json['type'],\n 'file_path': json['file_path'],\n 'articles': json['articles'] == null ? undefined : json['articles'],\n };\n}\n\nexport function AttachmentToJSON(json: any): Attachment {\n return AttachmentToJSONTyped(json, false);\n}\n\nexport function AttachmentToJSONTyped(value?: Attachment | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'type': value['type'],\n 'file_path': value['file_path'],\n 'articles': value['articles'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface BillingAddress\n */\nexport interface BillingAddress {\n /**\n * Customer's first name\n * @type {string}\n * @memberof BillingAddress\n */\n first_name: string;\n /**\n * Customer's last name\n * @type {string}\n * @memberof BillingAddress\n */\n last_name: string;\n /**\n * Additional/company name (for delivery)\n * @type {string}\n * @memberof BillingAddress\n */\n company_name?: string | null;\n /**\n * Customer's phone number\n * @type {string}\n * @memberof BillingAddress\n */\n phone_number?: string;\n /**\n * Customer's e-mail address\n * @type {string}\n * @memberof BillingAddress\n */\n email?: string;\n /**\n * Delivery address\n * @type {string}\n * @memberof BillingAddress\n */\n address1: string;\n /**\n * Optional additional address line\n * @type {string}\n * @memberof BillingAddress\n */\n address2?: string | null;\n /**\n * City\n * @type {string}\n * @memberof BillingAddress\n */\n city: string;\n /**\n * Optional region name (required for delivery to some countries)\n * @type {string}\n * @memberof BillingAddress\n */\n region?: string | null;\n /**\n * Postal code\n * @type {string}\n * @memberof BillingAddress\n */\n post_code: string;\n /**\n * Country code - ISO 3166 alpha 2\n * @type {string}\n * @memberof BillingAddress\n */\n country_iso: string;\n /**\n * Tax identification number\n * @type {string}\n * @memberof BillingAddress\n */\n tax_id?: string | null;\n}\n\n/**\n * Check if a given object implements the BillingAddress interface.\n */\nexport function instanceOfBillingAddress(value: object): value is BillingAddress {\n if (!('first_name' in value) || value['first_name'] === undefined) return false;\n if (!('last_name' in value) || value['last_name'] === undefined) return false;\n if (!('address1' in value) || value['address1'] === undefined) return false;\n if (!('city' in value) || value['city'] === undefined) return false;\n if (!('post_code' in value) || value['post_code'] === undefined) return false;\n if (!('country_iso' in value) || value['country_iso'] === undefined) return false;\n return true;\n}\n\nexport function BillingAddressFromJSON(json: any): BillingAddress {\n return BillingAddressFromJSONTyped(json, false);\n}\n\nexport function BillingAddressFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingAddress {\n if (json == null) {\n return json;\n }\n return {\n \n 'first_name': json['first_name'],\n 'last_name': json['last_name'],\n 'company_name': json['company_name'] == null ? undefined : json['company_name'],\n 'phone_number': json['phone_number'] == null ? undefined : json['phone_number'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'address1': json['address1'],\n 'address2': json['address2'] == null ? undefined : json['address2'],\n 'city': json['city'],\n 'region': json['region'] == null ? undefined : json['region'],\n 'post_code': json['post_code'],\n 'country_iso': json['country_iso'],\n 'tax_id': json['tax_id'] == null ? undefined : json['tax_id'],\n };\n}\n\nexport function BillingAddressToJSON(json: any): BillingAddress {\n return BillingAddressToJSONTyped(json, false);\n}\n\nexport function BillingAddressToJSONTyped(value?: BillingAddress | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'first_name': value['first_name'],\n 'last_name': value['last_name'],\n 'company_name': value['company_name'],\n 'phone_number': value['phone_number'],\n 'email': value['email'],\n 'address1': value['address1'],\n 'address2': value['address2'],\n 'city': value['city'],\n 'region': value['region'],\n 'post_code': value['post_code'],\n 'country_iso': value['country_iso'],\n 'tax_id': value['tax_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface Client\n */\nexport interface Client {\n /**\n * Client email\n * @type {string}\n * @memberof Client\n */\n email?: string;\n /**\n * Client token\n * @type {string}\n * @memberof Client\n */\n token?: string;\n}\n\n/**\n * Check if a given object implements the Client interface.\n */\nexport function instanceOfClient(value: object): value is Client {\n return true;\n}\n\nexport function ClientFromJSON(json: any): Client {\n return ClientFromJSONTyped(json, false);\n}\n\nexport function ClientFromJSONTyped(json: any, ignoreDiscriminator: boolean): Client {\n if (json == null) {\n return json;\n }\n return {\n \n 'email': json['email'] == null ? undefined : json['email'],\n 'token': json['token'] == null ? undefined : json['token'],\n };\n}\n\nexport function ClientToJSON(json: any): Client {\n return ClientToJSONTyped(json, false);\n}\n\nexport function ClientToJSONTyped(value?: Client | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'email': value['email'],\n 'token': value['token'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface CreateOrderComment\n */\nexport interface CreateOrderComment {\n /**\n * Author type\n * @type {string}\n * @memberof CreateOrderComment\n */\n author_type: CreateOrderCommentAuthorTypeEnum;\n /**\n * Author type\n * @type {string}\n * @memberof CreateOrderComment\n */\n author_email: string;\n /**\n * Comment content\n * @type {string}\n * @memberof CreateOrderComment\n */\n content: string;\n /**\n * Comment creation time\n * @type {Date}\n * @memberof CreateOrderComment\n */\n created_at: Date;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum CreateOrderCommentAuthorTypeEnum {\n client = 'client',\n support = 'support'\n}\n\n\n/**\n * Check if a given object implements the CreateOrderComment interface.\n */\nexport function instanceOfCreateOrderComment(value: object): value is CreateOrderComment {\n if (!('author_type' in value) || value['author_type'] === undefined) return false;\n if (!('author_email' in value) || value['author_email'] === undefined) return false;\n if (!('content' in value) || value['content'] === undefined) return false;\n if (!('created_at' in value) || value['created_at'] === undefined) return false;\n return true;\n}\n\nexport function CreateOrderCommentFromJSON(json: any): CreateOrderComment {\n return CreateOrderCommentFromJSONTyped(json, false);\n}\n\nexport function CreateOrderCommentFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateOrderComment {\n if (json == null) {\n return json;\n }\n return {\n \n 'author_type': json['author_type'],\n 'author_email': json['author_email'],\n 'content': json['content'],\n 'created_at': (new Date(json['created_at'])),\n };\n}\n\nexport function CreateOrderCommentToJSON(json: any): CreateOrderComment {\n return CreateOrderCommentToJSONTyped(json, false);\n}\n\nexport function CreateOrderCommentToJSONTyped(value?: CreateOrderComment | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'author_type': value['author_type'],\n 'author_email': value['author_email'],\n 'content': value['content'],\n 'created_at': value['created_at'].toISOString(),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface DeliveryAddress\n */\nexport interface DeliveryAddress {\n /**\n * Customer's first name\n * @type {string}\n * @memberof DeliveryAddress\n */\n first_name: string;\n /**\n * Customer's last name\n * @type {string}\n * @memberof DeliveryAddress\n */\n last_name: string;\n /**\n * Additional/company name (for delivery)\n * @type {string}\n * @memberof DeliveryAddress\n */\n company_name?: string | null;\n /**\n * Customer's phone number\n * @type {string}\n * @memberof DeliveryAddress\n */\n phone_number: string;\n /**\n * Customer's e-mail address\n * @type {string}\n * @memberof DeliveryAddress\n */\n email: string;\n /**\n * Delivery address\n * @type {string}\n * @memberof DeliveryAddress\n */\n address1: string;\n /**\n * Optional additional address line\n * @type {string}\n * @memberof DeliveryAddress\n */\n address2?: string | null;\n /**\n * City\n * @type {string}\n * @memberof DeliveryAddress\n */\n city: string;\n /**\n * \n * @type {string}\n * @memberof DeliveryAddress\n */\n region?: string | null;\n /**\n * Postal code\n * @type {string}\n * @memberof DeliveryAddress\n */\n post_code: string;\n /**\n * Country code - ISO 3166 alpha 2\n * @type {string}\n * @memberof DeliveryAddress\n */\n country_iso: string;\n /**\n * Delivery point (e.g. paczkomat) id\n * @type {string}\n * @memberof DeliveryAddress\n */\n delivery_point_id?: string | null;\n /**\n * Allegro account id for processing smart orders\n * @type {string}\n * @memberof DeliveryAddress\n */\n allegro_smart_account_id?: string | null;\n}\n\n/**\n * Check if a given object implements the DeliveryAddress interface.\n */\nexport function instanceOfDeliveryAddress(value: object): value is DeliveryAddress {\n if (!('first_name' in value) || value['first_name'] === undefined) return false;\n if (!('last_name' in value) || value['last_name'] === undefined) return false;\n if (!('phone_number' in value) || value['phone_number'] === undefined) return false;\n if (!('email' in value) || value['email'] === undefined) return false;\n if (!('address1' in value) || value['address1'] === undefined) return false;\n if (!('city' in value) || value['city'] === undefined) return false;\n if (!('post_code' in value) || value['post_code'] === undefined) return false;\n if (!('country_iso' in value) || value['country_iso'] === undefined) return false;\n return true;\n}\n\nexport function DeliveryAddressFromJSON(json: any): DeliveryAddress {\n return DeliveryAddressFromJSONTyped(json, false);\n}\n\nexport function DeliveryAddressFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeliveryAddress {\n if (json == null) {\n return json;\n }\n return {\n \n 'first_name': json['first_name'],\n 'last_name': json['last_name'],\n 'company_name': json['company_name'] == null ? undefined : json['company_name'],\n 'phone_number': json['phone_number'],\n 'email': json['email'],\n 'address1': json['address1'],\n 'address2': json['address2'] == null ? undefined : json['address2'],\n 'city': json['city'],\n 'region': json['region'] == null ? undefined : json['region'],\n 'post_code': json['post_code'],\n 'country_iso': json['country_iso'],\n 'delivery_point_id': json['delivery_point_id'] == null ? undefined : json['delivery_point_id'],\n 'allegro_smart_account_id': json['allegro_smart_account_id'] == null ? undefined : json['allegro_smart_account_id'],\n };\n}\n\nexport function DeliveryAddressToJSON(json: any): DeliveryAddress {\n return DeliveryAddressToJSONTyped(json, false);\n}\n\nexport function DeliveryAddressToJSONTyped(value?: DeliveryAddress | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'first_name': value['first_name'],\n 'last_name': value['last_name'],\n 'company_name': value['company_name'],\n 'phone_number': value['phone_number'],\n 'email': value['email'],\n 'address1': value['address1'],\n 'address2': value['address2'],\n 'city': value['city'],\n 'region': value['region'],\n 'post_code': value['post_code'],\n 'country_iso': value['country_iso'],\n 'delivery_point_id': value['delivery_point_id'],\n 'allegro_smart_account_id': value['allegro_smart_account_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\nexport interface GetApiV2DiscountCodesExternal200ResponseItemsInner {\n /**\n * Discount code\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n code?: string;\n /**\n * Discount type\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n type?: string;\n /**\n * Client associated with the discount\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n client_email?: string;\n /**\n * Domain associated with the discount\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n domain?: string;\n /**\n * Discount currency\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n currency?: string | null;\n /**\n * Discount amount\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n action?: string;\n /**\n * Discount expiration time\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200ResponseItemsInner\n */\n valid_until?: string | null;\n}\n\n/**\n * Check if a given object implements the GetApiV2DiscountCodesExternal200ResponseItemsInner interface.\n */\nexport function instanceOfGetApiV2DiscountCodesExternal200ResponseItemsInner(value: object): value is GetApiV2DiscountCodesExternal200ResponseItemsInner {\n return true;\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSON(json: any): GetApiV2DiscountCodesExternal200ResponseItemsInner {\n return GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSONTyped(json, false);\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetApiV2DiscountCodesExternal200ResponseItemsInner {\n if (json == null) {\n return json;\n }\n return {\n \n 'code': json['code'] == null ? undefined : json['code'],\n 'type': json['type'] == null ? undefined : json['type'],\n 'client_email': json['client_email'] == null ? undefined : json['client_email'],\n 'domain': json['domain'] == null ? undefined : json['domain'],\n 'currency': json['currency'] == null ? undefined : json['currency'],\n 'action': json['action'] == null ? undefined : json['action'],\n 'valid_until': json['valid_until'] == null ? undefined : json['valid_until'],\n };\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSON(json: any): GetApiV2DiscountCodesExternal200ResponseItemsInner {\n return GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSONTyped(json, false);\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSONTyped(value?: GetApiV2DiscountCodesExternal200ResponseItemsInner | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'code': value['code'],\n 'type': value['type'],\n 'client_email': value['client_email'],\n 'domain': value['domain'],\n 'currency': value['currency'],\n 'action': value['action'],\n 'valid_until': value['valid_until'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { GetApiV2DiscountCodesExternal200ResponseItemsInner } from './GetApiV2DiscountCodesExternal200ResponseItemsInner';\nimport {\n GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSON,\n GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSONTyped,\n GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSON,\n GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSONTyped,\n} from './GetApiV2DiscountCodesExternal200ResponseItemsInner';\n\n/**\n * \n * @export\n * @interface GetApiV2DiscountCodesExternal200Response\n */\nexport interface GetApiV2DiscountCodesExternal200Response {\n /**\n * \n * @type {Array<GetApiV2DiscountCodesExternal200ResponseItemsInner>}\n * @memberof GetApiV2DiscountCodesExternal200Response\n */\n items?: Array<GetApiV2DiscountCodesExternal200ResponseItemsInner>;\n /**\n * Link to the next page of results\n * @type {string}\n * @memberof GetApiV2DiscountCodesExternal200Response\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the GetApiV2DiscountCodesExternal200Response interface.\n */\nexport function instanceOfGetApiV2DiscountCodesExternal200Response(value: object): value is GetApiV2DiscountCodesExternal200Response {\n return true;\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseFromJSON(json: any): GetApiV2DiscountCodesExternal200Response {\n return GetApiV2DiscountCodesExternal200ResponseFromJSONTyped(json, false);\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetApiV2DiscountCodesExternal200Response {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(GetApiV2DiscountCodesExternal200ResponseItemsInnerFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseToJSON(json: any): GetApiV2DiscountCodesExternal200Response {\n return GetApiV2DiscountCodesExternal200ResponseToJSONTyped(json, false);\n}\n\nexport function GetApiV2DiscountCodesExternal200ResponseToJSONTyped(value?: GetApiV2DiscountCodesExternal200Response | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(GetApiV2DiscountCodesExternal200ResponseItemsInnerToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface InvalidParameter\n */\nexport interface InvalidParameter {\n /**\n * Invalid parameter name\n * @type {string}\n * @memberof InvalidParameter\n */\n parameter?: string;\n /**\n * Error cause\n * @type {string}\n * @memberof InvalidParameter\n */\n error_cause?: string;\n}\n\n/**\n * Check if a given object implements the InvalidParameter interface.\n */\nexport function instanceOfInvalidParameter(value: object): value is InvalidParameter {\n return true;\n}\n\nexport function InvalidParameterFromJSON(json: any): InvalidParameter {\n return InvalidParameterFromJSONTyped(json, false);\n}\n\nexport function InvalidParameterFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvalidParameter {\n if (json == null) {\n return json;\n }\n return {\n \n 'parameter': json['parameter'] == null ? undefined : json['parameter'],\n 'error_cause': json['error_cause'] == null ? undefined : json['error_cause'],\n };\n}\n\nexport function InvalidParameterToJSON(json: any): InvalidParameter {\n return InvalidParameterToJSONTyped(json, false);\n}\n\nexport function InvalidParameterToJSONTyped(value?: InvalidParameter | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'parameter': value['parameter'],\n 'error_cause': value['error_cause'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { InvalidParameter } from './InvalidParameter';\nimport {\n InvalidParameterFromJSON,\n InvalidParameterFromJSONTyped,\n InvalidParameterToJSON,\n InvalidParameterToJSONTyped,\n} from './InvalidParameter';\n\n/**\n * \n * @export\n * @interface InvalidRequestDataResponse\n */\nexport interface InvalidRequestDataResponse {\n /**\n * \n * @type {Array<InvalidParameter>}\n * @memberof InvalidRequestDataResponse\n */\n invalid_parameters?: Array<InvalidParameter>;\n /**\n * HTTP status code\n * @type {number}\n * @memberof InvalidRequestDataResponse\n */\n result_code?: number;\n /**\n * Error summary, in case of errors. Sometimes invalid_parameters may be empty!\n * @type {string}\n * @memberof InvalidRequestDataResponse\n */\n error_message?: string;\n}\n\n/**\n * Check if a given object implements the InvalidRequestDataResponse interface.\n */\nexport function instanceOfInvalidRequestDataResponse(value: object): value is InvalidRequestDataResponse {\n return true;\n}\n\nexport function InvalidRequestDataResponseFromJSON(json: any): InvalidRequestDataResponse {\n return InvalidRequestDataResponseFromJSONTyped(json, false);\n}\n\nexport function InvalidRequestDataResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvalidRequestDataResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'invalid_parameters': json['invalid_parameters'] == null ? undefined : ((json['invalid_parameters'] as Array<any>).map(InvalidParameterFromJSON)),\n 'result_code': json['result_code'] == null ? undefined : json['result_code'],\n 'error_message': json['error_message'] == null ? undefined : json['error_message'],\n };\n}\n\nexport function InvalidRequestDataResponseToJSON(json: any): InvalidRequestDataResponse {\n return InvalidRequestDataResponseToJSONTyped(json, false);\n}\n\nexport function InvalidRequestDataResponseToJSONTyped(value?: InvalidRequestDataResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'invalid_parameters': value['invalid_parameters'] == null ? undefined : ((value['invalid_parameters'] as Array<any>).map(InvalidParameterToJSON)),\n 'result_code': value['result_code'],\n 'error_message': value['error_message'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface InvoiceItem\n */\nexport interface InvoiceItem {\n /**\n * Doboxa item id. Can be null if invoice item cannot be mapped to order item.\n * @type {string}\n * @memberof InvoiceItem\n */\n doboxa_item_id?: string | null;\n /**\n * Order.items.foreign_id provided while creating order. Can be null if invoice item cannot be mapped to order item.\n * @type {string}\n * @memberof InvoiceItem\n */\n foreign_item_id?: string | null;\n /**\n * Item name\n * @type {string}\n * @memberof InvoiceItem\n */\n name?: string;\n /**\n * Quantity\n * @type {string}\n * @memberof InvoiceItem\n */\n qty?: string;\n /**\n * Unit type\n * @type {string}\n * @memberof InvoiceItem\n */\n unit?: string;\n /**\n * Unit net price\n * @type {string}\n * @memberof InvoiceItem\n */\n net_unit_price?: string;\n /**\n * Net position value\n * @type {string}\n * @memberof InvoiceItem\n */\n net_value?: string;\n /**\n * Tax amount\n * @type {string}\n * @memberof InvoiceItem\n */\n vat_value?: string;\n /**\n * Tax rate\n * @type {string}\n * @memberof InvoiceItem\n */\n vat_rate?: string;\n /**\n * Currency\n * @type {string}\n * @memberof InvoiceItem\n */\n currency?: string;\n}\n\n/**\n * Check if a given object implements the InvoiceItem interface.\n */\nexport function instanceOfInvoiceItem(value: object): value is InvoiceItem {\n return true;\n}\n\nexport function InvoiceItemFromJSON(json: any): InvoiceItem {\n return InvoiceItemFromJSONTyped(json, false);\n}\n\nexport function InvoiceItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceItem {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_item_id': json['doboxa_item_id'] == null ? undefined : json['doboxa_item_id'],\n 'foreign_item_id': json['foreign_item_id'] == null ? undefined : json['foreign_item_id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'qty': json['qty'] == null ? undefined : json['qty'],\n 'unit': json['unit'] == null ? undefined : json['unit'],\n 'net_unit_price': json['net_unit_price'] == null ? undefined : json['net_unit_price'],\n 'net_value': json['net_value'] == null ? undefined : json['net_value'],\n 'vat_value': json['vat_value'] == null ? undefined : json['vat_value'],\n 'vat_rate': json['vat_rate'] == null ? undefined : json['vat_rate'],\n 'currency': json['currency'] == null ? undefined : json['currency'],\n };\n}\n\nexport function InvoiceItemToJSON(json: any): InvoiceItem {\n return InvoiceItemToJSONTyped(json, false);\n}\n\nexport function InvoiceItemToJSONTyped(value?: InvoiceItem | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_item_id': value['doboxa_item_id'],\n 'foreign_item_id': value['foreign_item_id'],\n 'name': value['name'],\n 'qty': value['qty'],\n 'unit': value['unit'],\n 'net_unit_price': value['net_unit_price'],\n 'net_value': value['net_value'],\n 'vat_value': value['vat_value'],\n 'vat_rate': value['vat_rate'],\n 'currency': value['currency'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface InvoiceOrderItem\n */\nexport interface InvoiceOrderItem {\n /**\n * Order item id\n * @type {string}\n * @memberof InvoiceOrderItem\n */\n doboxa_item_id?: string | null;\n /**\n * Order item external id\n * @type {string}\n * @memberof InvoiceOrderItem\n */\n foreign_item_id?: string | null;\n}\n\n/**\n * Check if a given object implements the InvoiceOrderItem interface.\n */\nexport function instanceOfInvoiceOrderItem(value: object): value is InvoiceOrderItem {\n return true;\n}\n\nexport function InvoiceOrderItemFromJSON(json: any): InvoiceOrderItem {\n return InvoiceOrderItemFromJSONTyped(json, false);\n}\n\nexport function InvoiceOrderItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceOrderItem {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_item_id': json['doboxa_item_id'] == null ? undefined : json['doboxa_item_id'],\n 'foreign_item_id': json['foreign_item_id'] == null ? undefined : json['foreign_item_id'],\n };\n}\n\nexport function InvoiceOrderItemToJSON(json: any): InvoiceOrderItem {\n return InvoiceOrderItemToJSONTyped(json, false);\n}\n\nexport function InvoiceOrderItemToJSONTyped(value?: InvoiceOrderItem | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_item_id': value['doboxa_item_id'],\n 'foreign_item_id': value['foreign_item_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { InvoiceOrderItem } from './InvoiceOrderItem';\nimport {\n InvoiceOrderItemFromJSON,\n InvoiceOrderItemFromJSONTyped,\n InvoiceOrderItemToJSON,\n InvoiceOrderItemToJSONTyped,\n} from './InvoiceOrderItem';\n\n/**\n * \n * @export\n * @interface InvoiceOrder\n */\nexport interface InvoiceOrder {\n /**\n * Order id\n * @type {string}\n * @memberof InvoiceOrder\n */\n doboxa_order_id?: string | null;\n /**\n * Order external id\n * @type {string}\n * @memberof InvoiceOrder\n */\n external_order_id?: string | null;\n /**\n * \n * @type {Array<InvoiceOrderItem>}\n * @memberof InvoiceOrder\n */\n items?: Array<InvoiceOrderItem>;\n}\n\n/**\n * Check if a given object implements the InvoiceOrder interface.\n */\nexport function instanceOfInvoiceOrder(value: object): value is InvoiceOrder {\n return true;\n}\n\nexport function InvoiceOrderFromJSON(json: any): InvoiceOrder {\n return InvoiceOrderFromJSONTyped(json, false);\n}\n\nexport function InvoiceOrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): InvoiceOrder {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_order_id': json['doboxa_order_id'] == null ? undefined : json['doboxa_order_id'],\n 'external_order_id': json['external_order_id'] == null ? undefined : json['external_order_id'],\n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(InvoiceOrderItemFromJSON)),\n };\n}\n\nexport function InvoiceOrderToJSON(json: any): InvoiceOrder {\n return InvoiceOrderToJSONTyped(json, false);\n}\n\nexport function InvoiceOrderToJSONTyped(value?: InvoiceOrder | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_order_id': value['doboxa_order_id'],\n 'external_order_id': value['external_order_id'],\n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(InvoiceOrderItemToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { InvoiceItem } from './InvoiceItem';\nimport {\n InvoiceItemFromJSON,\n InvoiceItemFromJSONTyped,\n InvoiceItemToJSON,\n InvoiceItemToJSONTyped,\n} from './InvoiceItem';\nimport type { InvoiceOrder } from './InvoiceOrder';\nimport {\n InvoiceOrderFromJSON,\n InvoiceOrderFromJSONTyped,\n InvoiceOrderToJSON,\n InvoiceOrderToJSONTyped,\n} from './InvoiceOrder';\n\n/**\n * \n * @export\n * @interface Invoice\n */\nexport interface Invoice {\n /**\n * Invoice id\n * @type {string}\n * @memberof Invoice\n */\n id?: string;\n /**\n * Client owning the Invoice\n * @type {string}\n * @memberof Invoice\n */\n client?: string;\n /**\n * Direct link to Invoice PDF file\n * @type {string}\n * @memberof Invoice\n */\n file?: string;\n /**\n * Invoice payment status\n * @type {string}\n * @memberof Invoice\n */\n state?: InvoiceStateEnum;\n /**\n * Invoice number\n * @type {string}\n * @memberof Invoice\n */\n document_number?: string;\n /**\n * Amount to pay\n * @type {number}\n * @memberof Invoice\n */\n document_amount?: number;\n /**\n * Net amount\n * @type {number}\n * @memberof Invoice\n */\n net_amount?: number;\n /**\n * Tax amount\n * @type {number}\n * @memberof Invoice\n */\n tax_amount?: number;\n /**\n * Tax rate\n * @type {string}\n * @memberof Invoice\n */\n tax_rate?: string | null;\n /**\n * Amount already paid\n * @type {number}\n * @memberof Invoice\n */\n paid_amount?: number;\n /**\n * Currency\n * @type {string}\n * @memberof Invoice\n */\n currency?: string;\n /**\n * Date of issue\n * @type {Date}\n * @memberof Invoice\n */\n date_of_issue?: Date;\n /**\n * Due date\n * @type {Date}\n * @memberof Invoice\n */\n due_date?: Date;\n /**\n * Document type\n * @type {string}\n * @memberof Invoice\n */\n document_type?: InvoiceDocumentTypeEnum;\n /**\n * \n * @type {Array<InvoiceOrder>}\n * @memberof Invoice\n */\n orders?: Array<InvoiceOrder>;\n /**\n * \n * @type {Array<InvoiceItem>}\n * @memberof Invoice\n */\n invoice_items?: Array<InvoiceItem>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum InvoiceStateEnum {\n PAID = 'PAID',\n UNPAID = 'UNPAID'\n}\n/**\n* @export\n* @enum {string}\n*/\nexport enum InvoiceDocumentTypeEnum {\n main = 'main'\n}\n\n\n/**\n * Check if a given object implements the Invoice interface.\n */\nexport function instanceOfInvoice(value: object): value is Invoice {\n return true;\n}\n\nexport function InvoiceFromJSON(json: any): Invoice {\n return InvoiceFromJSONTyped(json, false);\n}\n\nexport function InvoiceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Invoice {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'client': json['client'] == null ? undefined : json['client'],\n 'file': json['file'] == null ? undefined : json['file'],\n 'state': json['state'] == null ? undefined : json['state'],\n 'document_number': json['document_number'] == null ? undefined : json['document_number'],\n 'document_amount': json['document_amount'] == null ? undefined : json['document_amount'],\n 'net_amount': json['net_amount'] == null ? undefined : json['net_amount'],\n 'tax_amount': json['tax_amount'] == null ? undefined : json['tax_amount'],\n 'tax_rate': json['tax_rate'] == null ? undefined : json['tax_rate'],\n 'paid_amount': json['paid_amount'] == null ? undefined : json['paid_amount'],\n 'currency': json['currency'] == null ? undefined : json['currency'],\n 'date_of_issue': json['date_of_issue'] == null ? undefined : (new Date(json['date_of_issue'])),\n 'due_date': json['due_date'] == null ? undefined : (new Date(json['due_date'])),\n 'document_type': json['document_type'] == null ? undefined : json['document_type'],\n 'orders': json['orders'] == null ? undefined : ((json['orders'] as Array<any>).map(InvoiceOrderFromJSON)),\n 'invoice_items': json['invoice_items'] == null ? undefined : ((json['invoice_items'] as Array<any>).map(InvoiceItemFromJSON)),\n };\n}\n\nexport function InvoiceToJSON(json: any): Invoice {\n return InvoiceToJSONTyped(json, false);\n}\n\nexport function InvoiceToJSONTyped(value?: Invoice | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'id': value['id'],\n 'client': value['client'],\n 'file': value['file'],\n 'state': value['state'],\n 'document_number': value['document_number'],\n 'document_amount': value['document_amount'],\n 'net_amount': value['net_amount'],\n 'tax_amount': value['tax_amount'],\n 'tax_rate': value['tax_rate'],\n 'paid_amount': value['paid_amount'],\n 'currency': value['currency'],\n 'date_of_issue': value['date_of_issue'] == null ? value['date_of_issue'] : value['date_of_issue'].toISOString(),\n 'due_date': value['due_date'] == null ? value['due_date'] : value['due_date'].toISOString(),\n 'document_type': value['document_type'],\n 'orders': value['orders'] == null ? undefined : ((value['orders'] as Array<any>).map(InvoiceOrderToJSON)),\n 'invoice_items': value['invoice_items'] == null ? undefined : ((value['invoice_items'] as Array<any>).map(InvoiceItemToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface Me\n */\nexport interface Me {\n /**\n * \n * @type {string}\n * @memberof Me\n */\n username?: string;\n}\n\n/**\n * Check if a given object implements the Me interface.\n */\nexport function instanceOfMe(value: object): value is Me {\n return true;\n}\n\nexport function MeFromJSON(json: any): Me {\n return MeFromJSONTyped(json, false);\n}\n\nexport function MeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Me {\n if (json == null) {\n return json;\n }\n return {\n \n 'username': json['username'] == null ? undefined : json['username'],\n };\n}\n\nexport function MeToJSON(json: any): Me {\n return MeToJSONTyped(json, false);\n}\n\nexport function MeToJSONTyped(value?: Me | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'username': value['username'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderItemCropData\n */\nexport interface OrderItemCropData {\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n left?: string | null;\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n top?: string | null;\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n width?: string | null;\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n height?: string | null;\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n original_photo_width?: string | null;\n /**\n * \n * @type {string}\n * @memberof OrderItemCropData\n */\n original_photo_height?: string | null;\n /**\n * Filter - none, blackwhite, sepia\n * @type {string}\n * @memberof OrderItemCropData\n */\n filter?: OrderItemCropDataFilterEnum | null;\n /**\n * Reflection - none, vertical, horizontal, both\n * @type {string}\n * @memberof OrderItemCropData\n */\n reflection?: OrderItemCropDataReflectionEnum | null;\n /**\n * Number of degrees to rotate the image clockwise\n * @type {number}\n * @memberof OrderItemCropData\n */\n rotation?: number | null;\n /**\n * Resize the original image by\n * @type {string}\n * @memberof OrderItemCropData\n */\n scale?: string | null;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderItemCropDataFilterEnum {\n none = 'none',\n blackwhite = 'blackwhite',\n sepia = 'sepia'\n}\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderItemCropDataReflectionEnum {\n none = 'none',\n vertical = 'vertical',\n horizontal = 'horizontal',\n both = 'both'\n}\n\n\n/**\n * Check if a given object implements the OrderItemCropData interface.\n */\nexport function instanceOfOrderItemCropData(value: object): value is OrderItemCropData {\n return true;\n}\n\nexport function OrderItemCropDataFromJSON(json: any): OrderItemCropData {\n return OrderItemCropDataFromJSONTyped(json, false);\n}\n\nexport function OrderItemCropDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderItemCropData {\n if (json == null) {\n return json;\n }\n return {\n \n 'left': json['left'] == null ? undefined : json['left'],\n 'top': json['top'] == null ? undefined : json['top'],\n 'width': json['width'] == null ? undefined : json['width'],\n 'height': json['height'] == null ? undefined : json['height'],\n 'original_photo_width': json['original_photo_width'] == null ? undefined : json['original_photo_width'],\n 'original_photo_height': json['original_photo_height'] == null ? undefined : json['original_photo_height'],\n 'filter': json['filter'] == null ? undefined : json['filter'],\n 'reflection': json['reflection'] == null ? undefined : json['reflection'],\n 'rotation': json['rotation'] == null ? undefined : json['rotation'],\n 'scale': json['scale'] == null ? undefined : json['scale'],\n };\n}\n\nexport function OrderItemCropDataToJSON(json: any): OrderItemCropData {\n return OrderItemCropDataToJSONTyped(json, false);\n}\n\nexport function OrderItemCropDataToJSONTyped(value?: OrderItemCropData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'left': value['left'],\n 'top': value['top'],\n 'width': value['width'],\n 'height': value['height'],\n 'original_photo_width': value['original_photo_width'],\n 'original_photo_height': value['original_photo_height'],\n 'filter': value['filter'],\n 'reflection': value['reflection'],\n 'rotation': value['rotation'],\n 'scale': value['scale'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderItemOriginalData\n */\nexport interface OrderItemOriginalData {\n /**\n * Original item unit price (gross), 9999 = 99.99\n * @type {number}\n * @memberof OrderItemOriginalData\n */\n item_unit_price?: number;\n /**\n * Original item value (gross), 9999 = 99.99\n * @type {number}\n * @memberof OrderItemOriginalData\n */\n item_value?: number;\n}\n\n/**\n * Check if a given object implements the OrderItemOriginalData interface.\n */\nexport function instanceOfOrderItemOriginalData(value: object): value is OrderItemOriginalData {\n return true;\n}\n\nexport function OrderItemOriginalDataFromJSON(json: any): OrderItemOriginalData {\n return OrderItemOriginalDataFromJSONTyped(json, false);\n}\n\nexport function OrderItemOriginalDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderItemOriginalData {\n if (json == null) {\n return json;\n }\n return {\n \n 'item_unit_price': json['item_unit_price'] == null ? undefined : json['item_unit_price'],\n 'item_value': json['item_value'] == null ? undefined : json['item_value'],\n };\n}\n\nexport function OrderItemOriginalDataToJSON(json: any): OrderItemOriginalData {\n return OrderItemOriginalDataToJSONTyped(json, false);\n}\n\nexport function OrderItemOriginalDataToJSONTyped(value?: OrderItemOriginalData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'item_unit_price': value['item_unit_price'],\n 'item_value': value['item_value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { OrderItemCropData } from './OrderItemCropData';\nimport {\n OrderItemCropDataFromJSON,\n OrderItemCropDataFromJSONTyped,\n OrderItemCropDataToJSON,\n OrderItemCropDataToJSONTyped,\n} from './OrderItemCropData';\nimport type { OrderItemOriginalData } from './OrderItemOriginalData';\nimport {\n OrderItemOriginalDataFromJSON,\n OrderItemOriginalDataFromJSONTyped,\n OrderItemOriginalDataToJSON,\n OrderItemOriginalDataToJSONTyped,\n} from './OrderItemOriginalData';\n\n/**\n * \n * @export\n * @interface OrderItem\n */\nexport interface OrderItem {\n /**\n * Your order item id\n * @type {string}\n * @memberof OrderItem\n */\n foreign_id?: string | null;\n /**\n * SKU\n * @type {string}\n * @memberof OrderItem\n */\n id: string;\n /**\n * Your sku\n * @type {string}\n * @memberof OrderItem\n */\n additional_sku?: string | null;\n /**\n * Product EAN\n * @type {string}\n * @memberof OrderItem\n */\n ean?: string | null;\n /**\n * Product symbol code\n * @type {string}\n * @memberof OrderItem\n */\n symbol_code?: string | null;\n /**\n * Article display name\n * @type {string}\n * @memberof OrderItem\n */\n name?: string;\n /**\n * Quantity (pieces)\n * @type {number}\n * @memberof OrderItem\n */\n qty: number;\n /**\n * Sale item price, 9999 = 99.99\n * @type {number}\n * @memberof OrderItem\n */\n item_price?: number;\n /**\n * Custom print width (in cm)\n * @type {string}\n * @memberof OrderItem\n */\n width_in_cm?: string | null;\n /**\n * Custom print height (in cm)\n * @type {string}\n * @memberof OrderItem\n */\n height_in_cm?: string | null;\n /**\n * Custom file path or name (e. g. from FTP server)\n * @type {string}\n * @memberof OrderItem\n */\n custom_file?: string | null;\n /**\n * Additional custom file path or name (e. g. from FTP server)\n * @type {string}\n * @memberof OrderItem\n */\n additional_custom_file?: string | null;\n /**\n * Optional additional info about the item\n * @type {string}\n * @memberof OrderItem\n */\n additional_info?: string | null;\n /**\n * \n * @type {OrderItemCropData}\n * @memberof OrderItem\n */\n crop_data?: OrderItemCropData | null;\n /**\n * \n * @type {number}\n * @memberof OrderItem\n */\n readonly initial_price?: number | null;\n /**\n * \n * @type {number}\n * @memberof OrderItem\n */\n readonly item_delivery_cost?: number | null;\n /**\n * \n * @type {OrderItemOriginalData}\n * @memberof OrderItem\n */\n readonly item_original_data?: OrderItemOriginalData | null;\n /**\n * PHP's RFC3339_EXTENDED date-time (see https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.rfc3339-extended)\n * @type {Date}\n * @memberof OrderItem\n */\n fulfillment_date?: Date;\n /**\n * Custom file id (to reuse in other orders)\n * @type {string}\n * @memberof OrderItem\n */\n custom_file_id?: string | null;\n /**\n * \n * @type {number}\n * @memberof OrderItem\n */\n readonly item_tax?: number | null;\n}\n\n/**\n * Check if a given object implements the OrderItem interface.\n */\nexport function instanceOfOrderItem(value: object): value is OrderItem {\n if (!('id' in value) || value['id'] === undefined) return false;\n if (!('qty' in value) || value['qty'] === undefined) return false;\n return true;\n}\n\nexport function OrderItemFromJSON(json: any): OrderItem {\n return OrderItemFromJSONTyped(json, false);\n}\n\nexport function OrderItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderItem {\n if (json == null) {\n return json;\n }\n return {\n \n 'foreign_id': json['foreign_id'] == null ? undefined : json['foreign_id'],\n 'id': json['id'],\n 'additional_sku': json['additional_sku'] == null ? undefined : json['additional_sku'],\n 'ean': json['ean'] == null ? undefined : json['ean'],\n 'symbol_code': json['symbol_code'] == null ? undefined : json['symbol_code'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'qty': json['qty'],\n 'item_price': json['item_price'] == null ? undefined : json['item_price'],\n 'width_in_cm': json['width_in_cm'] == null ? undefined : json['width_in_cm'],\n 'height_in_cm': json['height_in_cm'] == null ? undefined : json['height_in_cm'],\n 'custom_file': json['custom_file'] == null ? undefined : json['custom_file'],\n 'additional_custom_file': json['additional_custom_file'] == null ? undefined : json['additional_custom_file'],\n 'additional_info': json['additional_info'] == null ? undefined : json['additional_info'],\n 'crop_data': json['crop_data'] == null ? undefined : OrderItemCropDataFromJSON(json['crop_data']),\n 'initial_price': json['initial_price'] == null ? undefined : json['initial_price'],\n 'item_delivery_cost': json['item_delivery_cost'] == null ? undefined : json['item_delivery_cost'],\n 'item_original_data': json['item_original_data'] == null ? undefined : OrderItemOriginalDataFromJSON(json['item_original_data']),\n 'fulfillment_date': json['fulfillment_date'] == null ? undefined : (new Date(json['fulfillment_date'])),\n 'custom_file_id': json['custom_file_id'] == null ? undefined : json['custom_file_id'],\n 'item_tax': json['item_tax'] == null ? undefined : json['item_tax'],\n };\n}\n\nexport function OrderItemToJSON(json: any): OrderItem {\n return OrderItemToJSONTyped(json, false);\n}\n\nexport function OrderItemToJSONTyped(value?: Omit<OrderItem, 'initial_price'|'item_delivery_cost'|'item_original_data'|'item_tax'> | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'foreign_id': value['foreign_id'],\n 'id': value['id'],\n 'additional_sku': value['additional_sku'],\n 'ean': value['ean'],\n 'symbol_code': value['symbol_code'],\n 'name': value['name'],\n 'qty': value['qty'],\n 'item_price': value['item_price'],\n 'width_in_cm': value['width_in_cm'],\n 'height_in_cm': value['height_in_cm'],\n 'custom_file': value['custom_file'],\n 'additional_custom_file': value['additional_custom_file'],\n 'additional_info': value['additional_info'],\n 'crop_data': OrderItemCropDataToJSON(value['crop_data']),\n 'fulfillment_date': value['fulfillment_date'] == null ? value['fulfillment_date'] : value['fulfillment_date'].toISOString(),\n 'custom_file_id': value['custom_file_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderOriginalData\n */\nexport interface OrderOriginalData {\n /**\n * Original/client currency\n * @type {string}\n * @memberof OrderOriginalData\n */\n currency?: string | null;\n /**\n * Original order sum (gross), 9999 = 99.99\n * @type {number}\n * @memberof OrderOriginalData\n */\n order_sum?: number;\n /**\n * Original order delivery cost, 999 = 9.99\n * @type {number}\n * @memberof OrderOriginalData\n */\n delivery_cost?: number | null;\n /**\n * Original order payment cost, 999 = 9.99\n * @type {number}\n * @memberof OrderOriginalData\n */\n payment_cost?: number | null;\n /**\n * Original order rebate, 999 = 9.99\n * @type {number}\n * @memberof OrderOriginalData\n */\n rebate?: number | null;\n}\n\n/**\n * Check if a given object implements the OrderOriginalData interface.\n */\nexport function instanceOfOrderOriginalData(value: object): value is OrderOriginalData {\n return true;\n}\n\nexport function OrderOriginalDataFromJSON(json: any): OrderOriginalData {\n return OrderOriginalDataFromJSONTyped(json, false);\n}\n\nexport function OrderOriginalDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderOriginalData {\n if (json == null) {\n return json;\n }\n return {\n \n 'currency': json['currency'] == null ? undefined : json['currency'],\n 'order_sum': json['order_sum'] == null ? undefined : json['order_sum'],\n 'delivery_cost': json['delivery_cost'] == null ? undefined : json['delivery_cost'],\n 'payment_cost': json['payment_cost'] == null ? undefined : json['payment_cost'],\n 'rebate': json['rebate'] == null ? undefined : json['rebate'],\n };\n}\n\nexport function OrderOriginalDataToJSON(json: any): OrderOriginalData {\n return OrderOriginalDataToJSONTyped(json, false);\n}\n\nexport function OrderOriginalDataToJSONTyped(value?: OrderOriginalData | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'currency': value['currency'],\n 'order_sum': value['order_sum'],\n 'delivery_cost': value['delivery_cost'],\n 'payment_cost': value['payment_cost'],\n 'rebate': value['rebate'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface Waybill\n */\nexport interface Waybill {\n /**\n * Bill number\n * @type {string}\n * @memberof Waybill\n */\n number?: string | null;\n /**\n * Company processing the delivery\n * @type {string}\n * @memberof Waybill\n */\n delivery_method?: WaybillDeliveryMethodEnum | null;\n /**\n * Path to a printable file (or file name)\n * @type {string}\n * @memberof Waybill\n */\n file_path: string;\n /**\n * Order articles (foreign_id) related to this waybill\n * @type {Array<string>}\n * @memberof Waybill\n */\n articles?: Array<string> | null;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum WaybillDeliveryMethodEnum {\n dpd = 'dpd',\n dpd_de = 'dpd_de',\n dpd_pl = 'dpd_pl',\n gls = 'gls',\n fedex = 'fedex',\n fedex_pl = 'fedex_pl',\n dhl = 'dhl',\n dhl_de = 'dhl_de',\n ups = 'ups',\n inpost = 'inpost',\n to_resolve_in_erp = 'to_resolve_in_erp'\n}\n\n\n/**\n * Check if a given object implements the Waybill interface.\n */\nexport function instanceOfWaybill(value: object): value is Waybill {\n if (!('file_path' in value) || value['file_path'] === undefined) return false;\n return true;\n}\n\nexport function WaybillFromJSON(json: any): Waybill {\n return WaybillFromJSONTyped(json, false);\n}\n\nexport function WaybillFromJSONTyped(json: any, ignoreDiscriminator: boolean): Waybill {\n if (json == null) {\n return json;\n }\n return {\n \n 'number': json['number'] == null ? undefined : json['number'],\n 'delivery_method': json['delivery_method'] == null ? undefined : json['delivery_method'],\n 'file_path': json['file_path'],\n 'articles': json['articles'] == null ? undefined : json['articles'],\n };\n}\n\nexport function WaybillToJSON(json: any): Waybill {\n return WaybillToJSONTyped(json, false);\n}\n\nexport function WaybillToJSONTyped(value?: Waybill | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'number': value['number'],\n 'delivery_method': value['delivery_method'],\n 'file_path': value['file_path'],\n 'articles': value['articles'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { BillingAddress } from './BillingAddress';\nimport {\n BillingAddressFromJSON,\n BillingAddressFromJSONTyped,\n BillingAddressToJSON,\n BillingAddressToJSONTyped,\n} from './BillingAddress';\nimport type { OrderItem } from './OrderItem';\nimport {\n OrderItemFromJSON,\n OrderItemFromJSONTyped,\n OrderItemToJSON,\n OrderItemToJSONTyped,\n} from './OrderItem';\nimport type { DeliveryAddress } from './DeliveryAddress';\nimport {\n DeliveryAddressFromJSON,\n DeliveryAddressFromJSONTyped,\n DeliveryAddressToJSON,\n DeliveryAddressToJSONTyped,\n} from './DeliveryAddress';\nimport type { Attachment } from './Attachment';\nimport {\n AttachmentFromJSON,\n AttachmentFromJSONTyped,\n AttachmentToJSON,\n AttachmentToJSONTyped,\n} from './Attachment';\nimport type { OrderOriginalData } from './OrderOriginalData';\nimport {\n OrderOriginalDataFromJSON,\n OrderOriginalDataFromJSONTyped,\n OrderOriginalDataToJSON,\n OrderOriginalDataToJSONTyped,\n} from './OrderOriginalData';\nimport type { Waybill } from './Waybill';\nimport {\n WaybillFromJSON,\n WaybillFromJSONTyped,\n WaybillToJSON,\n WaybillToJSONTyped,\n} from './Waybill';\n\n/**\n * \n * @export\n * @interface Order\n */\nexport interface Order {\n /**\n * Your order id\n * @type {string}\n * @memberof Order\n */\n external_id?: string;\n /**\n * \n * @type {BillingAddress}\n * @memberof Order\n */\n readonly billing_address?: BillingAddress | null;\n /**\n * \n * @type {DeliveryAddress}\n * @memberof Order\n */\n deliver_address: DeliveryAddress;\n /**\n * \n * @type {Array<OrderItem>}\n * @memberof Order\n */\n items: Array<OrderItem>;\n /**\n * PHP's RFC3339_EXTENDED date-time (see https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.rfc3339-extended)\n * @type {Date}\n * @memberof Order\n */\n order_time: Date;\n /**\n * PHP's RFC3339_EXTENDED date-time (see https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.rfc3339-extended)\n * @type {Date}\n * @memberof Order\n */\n payment_time?: Date | null;\n /**\n * Optional order description\n * @type {string}\n * @memberof Order\n */\n info?: string | null;\n /**\n * Order channel\n * @type {string}\n * @memberof Order\n */\n order_channel: string | null;\n /**\n * Order source\n * @type {string}\n * @memberof Order\n */\n readonly order_source?: string | null;\n /**\n * Currency code (ISO 4217)\n * @type {string}\n * @memberof Order\n */\n currency: string;\n /**\n * Billing company name/id\n * @type {string}\n * @memberof Order\n */\n company_name?: string | null;\n /**\n * If set to true, a shipping label is required for every order. Currently it is possible to upload shipping labels via FTP\n * @type {boolean}\n * @memberof Order\n */\n own_delivery?: boolean;\n /**\n * Discount code\n * @type {string}\n * @memberof Order\n */\n readonly discount_code?: string | null;\n /**\n * Partner code\n * @type {string}\n * @memberof Order\n */\n readonly partner_code?: string | null;\n /**\n * \n * @type {OrderOriginalData}\n * @memberof Order\n */\n readonly order_original_data?: OrderOriginalData | null;\n /**\n * Original order payment method\n * @type {string}\n * @memberof Order\n */\n readonly payment_method?: OrderPaymentMethodEnum | null;\n /**\n * Payment transaction id\n * @type {string}\n * @memberof Order\n */\n readonly payment_transaction_id?: string | null;\n /**\n * \n * @type {boolean}\n * @memberof Order\n */\n readonly ag_invoice_requested?: boolean | null;\n /**\n * \n * @type {Array<Waybill>}\n * @memberof Order\n */\n waybills?: Array<Waybill>;\n /**\n * \n * @type {Array<Attachment>}\n * @memberof Order\n */\n attachments?: Array<Attachment>;\n /**\n * Suggest delivery method (may be taken into consideration according to business agreements)\n * @type {string}\n * @memberof Order\n */\n readonly suggested_delivery_method?: string | null;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderPaymentMethodEnum {\n gotwka = 'gotówka',\n przelew = 'przelew',\n karta = 'karta',\n Przelewy_24 = 'Przelewy 24',\n PayU = 'PayU',\n PayU_DE = 'PayU DE',\n PayU_EN = 'PayU EN',\n PayU_PL = 'PayU PL',\n Kompensata = 'Kompensata',\n PayPal = 'PayPal',\n Raty_PayU = 'Raty PayU',\n pobranie = 'pobranie',\n amazon = 'amazon',\n allegro = 'allegro',\n Allegro_PayU = 'Allegro PayU',\n Allegro_P24 = 'Allegro P24',\n etsy = 'etsy',\n emag_ro = 'emag.ro',\n emag_hu = 'emag.hu',\n real = 'real',\n ebay = 'ebay',\n stripe = 'stripe',\n BRW = 'BRW',\n eMag_bg = 'eMag.bg',\n Empik = 'Empik',\n Homeyou = 'Home&you',\n Home24 = 'Home24',\n Kaufland = 'Kaufland',\n Erli = 'Erli',\n Leroy_Merlin = 'Leroy Merlin',\n Castorama = 'Castorama',\n Vivre = 'Vivre',\n Vilandy = 'Vilandy',\n Pigu = 'Pigu',\n Fruugo = 'Fruugo',\n Hood = 'Hood',\n XXXLutz = 'XXXLutz',\n BricoDepot = 'BricoDepot',\n Adyen = 'Adyen',\n Mirakl = 'Mirakl',\n Payoneer = 'Payoneer',\n Hitmeister = 'Hitmeister'\n}\n\n\n/**\n * Check if a given object implements the Order interface.\n */\nexport function instanceOfOrder(value: object): value is Order {\n if (!('deliver_address' in value) || value['deliver_address'] === undefined) return false;\n if (!('items' in value) || value['items'] === undefined) return false;\n if (!('order_time' in value) || value['order_time'] === undefined) return false;\n if (!('order_channel' in value) || value['order_channel'] === undefined) return false;\n if (!('currency' in value) || value['currency'] === undefined) return false;\n return true;\n}\n\nexport function OrderFromJSON(json: any): Order {\n return OrderFromJSONTyped(json, false);\n}\n\nexport function OrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): Order {\n if (json == null) {\n return json;\n }\n return {\n \n 'external_id': json['external_id'] == null ? undefined : json['external_id'],\n 'billing_address': json['billing_address'] == null ? undefined : BillingAddressFromJSON(json['billing_address']),\n 'deliver_address': DeliveryAddressFromJSON(json['deliver_address']),\n 'items': ((json['items'] as Array<any>).map(OrderItemFromJSON)),\n 'order_time': (new Date(json['order_time'])),\n 'payment_time': json['payment_time'] == null ? undefined : (new Date(json['payment_time'])),\n 'info': json['info'] == null ? undefined : json['info'],\n 'order_channel': json['order_channel'],\n 'order_source': json['order_source'] == null ? undefined : json['order_source'],\n 'currency': json['currency'],\n 'company_name': json['company_name'] == null ? undefined : json['company_name'],\n 'own_delivery': json['own_delivery'] == null ? undefined : json['own_delivery'],\n 'discount_code': json['discount_code'] == null ? undefined : json['discount_code'],\n 'partner_code': json['partner_code'] == null ? undefined : json['partner_code'],\n 'order_original_data': json['order_original_data'] == null ? undefined : OrderOriginalDataFromJSON(json['order_original_data']),\n 'payment_method': json['payment_method'] == null ? undefined : json['payment_method'],\n 'payment_transaction_id': json['payment_transaction_id'] == null ? undefined : json['payment_transaction_id'],\n 'ag_invoice_requested': json['ag_invoice_requested'] == null ? undefined : json['ag_invoice_requested'],\n 'waybills': json['waybills'] == null ? undefined : ((json['waybills'] as Array<any>).map(WaybillFromJSON)),\n 'attachments': json['attachments'] == null ? undefined : ((json['attachments'] as Array<any>).map(AttachmentFromJSON)),\n 'suggested_delivery_method': json['suggested_delivery_method'] == null ? undefined : json['suggested_delivery_method'],\n };\n}\n\nexport function OrderToJSON(json: any): Order {\n return OrderToJSONTyped(json, false);\n}\n\nexport function OrderToJSONTyped(value?: Omit<Order, 'billing_address'|'order_source'|'discount_code'|'partner_code'|'order_original_data'|'payment_method'|'payment_transaction_id'|'ag_invoice_requested'|'suggested_delivery_method'> | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'external_id': value['external_id'],\n 'deliver_address': DeliveryAddressToJSON(value['deliver_address']),\n 'items': ((value['items'] as Array<any>).map(OrderItemToJSON)),\n 'order_time': value['order_time'].toISOString(),\n 'payment_time': value['payment_time'] == null ? value['payment_time'] : value['payment_time'].toISOString(),\n 'info': value['info'],\n 'order_channel': value['order_channel'],\n 'currency': value['currency'],\n 'company_name': value['company_name'],\n 'own_delivery': value['own_delivery'],\n 'waybills': value['waybills'] == null ? undefined : ((value['waybills'] as Array<any>).map(WaybillToJSON)),\n 'attachments': value['attachments'] == null ? undefined : ((value['attachments'] as Array<any>).map(AttachmentToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderCancellation\n */\nexport interface OrderCancellation {\n /**\n * Doboxa order id\n * @type {string}\n * @memberof OrderCancellation\n */\n order_id: string;\n}\n\n/**\n * Check if a given object implements the OrderCancellation interface.\n */\nexport function instanceOfOrderCancellation(value: object): value is OrderCancellation {\n if (!('order_id' in value) || value['order_id'] === undefined) return false;\n return true;\n}\n\nexport function OrderCancellationFromJSON(json: any): OrderCancellation {\n return OrderCancellationFromJSONTyped(json, false);\n}\n\nexport function OrderCancellationFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderCancellation {\n if (json == null) {\n return json;\n }\n return {\n \n 'order_id': json['order_id'],\n };\n}\n\nexport function OrderCancellationToJSON(json: any): OrderCancellation {\n return OrderCancellationToJSONTyped(json, false);\n}\n\nexport function OrderCancellationToJSONTyped(value?: OrderCancellation | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'order_id': value['order_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { Bool } from './Bool';\nimport {\n BoolFromJSON,\n BoolFromJSONTyped,\n BoolToJSON,\n BoolToJSONTyped,\n} from './Bool';\n\n/**\n * \n * @export\n * @interface OrderCancellationResponse\n */\nexport interface OrderCancellationResponse {\n /**\n * Cancellation result\n * @type {Bool}\n * @memberof OrderCancellationResponse\n */\n cancelled?: Bool;\n /**\n * Additional details regarding the cancellation process\n * @type {string}\n * @memberof OrderCancellationResponse\n */\n details?: OrderCancellationResponseDetailsEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderCancellationResponseDetailsEnum {\n cancelled = 'cancelled',\n already_in_production = 'already_in_production'\n}\n\n\n/**\n * Check if a given object implements the OrderCancellationResponse interface.\n */\nexport function instanceOfOrderCancellationResponse(value: object): value is OrderCancellationResponse {\n return true;\n}\n\nexport function OrderCancellationResponseFromJSON(json: any): OrderCancellationResponse {\n return OrderCancellationResponseFromJSONTyped(json, false);\n}\n\nexport function OrderCancellationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderCancellationResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'cancelled': json['cancelled'] == null ? undefined : BoolFromJSON(json['cancelled']),\n 'details': json['details'] == null ? undefined : json['details'],\n };\n}\n\nexport function OrderCancellationResponseToJSON(json: any): OrderCancellationResponse {\n return OrderCancellationResponseToJSONTyped(json, false);\n}\n\nexport function OrderCancellationResponseToJSONTyped(value?: OrderCancellationResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'cancelled': BoolToJSON(value['cancelled']),\n 'details': value['details'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderComment\n */\nexport interface OrderComment {\n /**\n * Doboxa comment id\n * @type {string}\n * @memberof OrderComment\n */\n comment_id?: string;\n /**\n * Author type\n * @type {string}\n * @memberof OrderComment\n */\n author_type?: OrderCommentAuthorTypeEnum;\n /**\n * Comment author. Can be empty\n * @type {string}\n * @memberof OrderComment\n */\n author?: string | null;\n /**\n * Comment content\n * @type {string}\n * @memberof OrderComment\n */\n content?: string;\n /**\n * Comment creation time\n * @type {Date}\n * @memberof OrderComment\n */\n created_at?: Date;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderCommentAuthorTypeEnum {\n client = 'client',\n support = 'support'\n}\n\n\n/**\n * Check if a given object implements the OrderComment interface.\n */\nexport function instanceOfOrderComment(value: object): value is OrderComment {\n return true;\n}\n\nexport function OrderCommentFromJSON(json: any): OrderComment {\n return OrderCommentFromJSONTyped(json, false);\n}\n\nexport function OrderCommentFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderComment {\n if (json == null) {\n return json;\n }\n return {\n \n 'comment_id': json['comment_id'] == null ? undefined : json['comment_id'],\n 'author_type': json['author_type'] == null ? undefined : json['author_type'],\n 'author': json['author'] == null ? undefined : json['author'],\n 'content': json['content'] == null ? undefined : json['content'],\n 'created_at': json['created_at'] == null ? undefined : (new Date(json['created_at'])),\n };\n}\n\nexport function OrderCommentToJSON(json: any): OrderComment {\n return OrderCommentToJSONTyped(json, false);\n}\n\nexport function OrderCommentToJSONTyped(value?: OrderComment | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'comment_id': value['comment_id'],\n 'author_type': value['author_type'],\n 'author': value['author'],\n 'content': value['content'],\n 'created_at': value['created_at'] == null ? value['created_at'] : value['created_at'].toISOString(),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface OrderItemStatus\n */\nexport interface OrderItemStatus {\n /**\n * Id assigned to order by doboxa (returned after successful order creation)\n * @type {string}\n * @memberof OrderItemStatus\n */\n doboxa_order_id?: string;\n /**\n * Id provided in external_id during order creation\n * @type {string}\n * @memberof OrderItemStatus\n */\n external_order_id?: string | null;\n /**\n * Item id assigned to item by doboxa\n * @type {string}\n * @memberof OrderItemStatus\n */\n doboxa_item_id?: string | null;\n /**\n * Id provided in items.foreign_id during order creation\n * @type {string}\n * @memberof OrderItemStatus\n */\n foreign_item_id?: string | null;\n /**\n * SKU of the product related to this item\n * @type {string}\n * @memberof OrderItemStatus\n */\n product_sku?: string | null;\n /**\n * Product status\n * @type {string}\n * @memberof OrderItemStatus\n */\n status?: OrderItemStatusStatusEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderItemStatusStatusEnum {\n new = 'new',\n wait_for_payment = 'wait_for_payment',\n paid = 'paid',\n in_progress = 'in_progress',\n ready_to_be_sent = 'ready_to_be_sent',\n sent = 'sent',\n cancelled = 'cancelled',\n hold = 'hold',\n refund = 'refund'\n}\n\n\n/**\n * Check if a given object implements the OrderItemStatus interface.\n */\nexport function instanceOfOrderItemStatus(value: object): value is OrderItemStatus {\n return true;\n}\n\nexport function OrderItemStatusFromJSON(json: any): OrderItemStatus {\n return OrderItemStatusFromJSONTyped(json, false);\n}\n\nexport function OrderItemStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderItemStatus {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_order_id': json['doboxa_order_id'] == null ? undefined : json['doboxa_order_id'],\n 'external_order_id': json['external_order_id'] == null ? undefined : json['external_order_id'],\n 'doboxa_item_id': json['doboxa_item_id'] == null ? undefined : json['doboxa_item_id'],\n 'foreign_item_id': json['foreign_item_id'] == null ? undefined : json['foreign_item_id'],\n 'product_sku': json['product_sku'] == null ? undefined : json['product_sku'],\n 'status': json['status'] == null ? undefined : json['status'],\n };\n}\n\nexport function OrderItemStatusToJSON(json: any): OrderItemStatus {\n return OrderItemStatusToJSONTyped(json, false);\n}\n\nexport function OrderItemStatusToJSONTyped(value?: OrderItemStatus | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_order_id': value['doboxa_order_id'],\n 'external_order_id': value['external_order_id'],\n 'doboxa_item_id': value['doboxa_item_id'],\n 'foreign_item_id': value['foreign_item_id'],\n 'product_sku': value['product_sku'],\n 'status': value['status'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { OrderItemStatus } from './OrderItemStatus';\nimport {\n OrderItemStatusFromJSON,\n OrderItemStatusFromJSONTyped,\n OrderItemStatusToJSON,\n OrderItemStatusToJSONTyped,\n} from './OrderItemStatus';\n\n/**\n * \n * @export\n * @interface OrderStatus\n */\nexport interface OrderStatus {\n /**\n * Order status\n * @type {string}\n * @memberof OrderStatus\n */\n status?: OrderStatusStatusEnum;\n /**\n * Order items status\n * @type {Array<OrderItemStatus>}\n * @memberof OrderStatus\n */\n item_status?: Array<OrderItemStatus>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderStatusStatusEnum {\n new = 'new',\n wait_for_payment = 'wait_for_payment',\n paid = 'paid',\n in_progress = 'in_progress',\n ready_to_be_sent = 'ready_to_be_sent',\n sent = 'sent',\n cancelled = 'cancelled',\n hold = 'hold',\n refund = 'refund'\n}\n\n\n/**\n * Check if a given object implements the OrderStatus interface.\n */\nexport function instanceOfOrderStatus(value: object): value is OrderStatus {\n return true;\n}\n\nexport function OrderStatusFromJSON(json: any): OrderStatus {\n return OrderStatusFromJSONTyped(json, false);\n}\n\nexport function OrderStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderStatus {\n if (json == null) {\n return json;\n }\n return {\n \n 'status': json['status'] == null ? undefined : json['status'],\n 'item_status': json['item_status'] == null ? undefined : ((json['item_status'] as Array<any>).map(OrderItemStatusFromJSON)),\n };\n}\n\nexport function OrderStatusToJSON(json: any): OrderStatus {\n return OrderStatusToJSONTyped(json, false);\n}\n\nexport function OrderStatusToJSONTyped(value?: OrderStatus | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'status': value['status'],\n 'item_status': value['item_status'] == null ? undefined : ((value['item_status'] as Array<any>).map(OrderItemStatusToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { OrderItemStatus } from './OrderItemStatus';\nimport {\n OrderItemStatusFromJSON,\n OrderItemStatusFromJSONTyped,\n OrderItemStatusToJSON,\n OrderItemStatusToJSONTyped,\n} from './OrderItemStatus';\n\n/**\n * \n * @export\n * @interface OrderStatusChange\n */\nexport interface OrderStatusChange {\n /**\n * Doboxa order id\n * @type {string}\n * @memberof OrderStatusChange\n */\n order_id?: string;\n /**\n * Order status\n * @type {string}\n * @memberof OrderStatusChange\n */\n status?: OrderStatusChangeStatusEnum;\n /**\n * Order status change time\n * @type {Date}\n * @memberof OrderStatusChange\n */\n change_time?: Date;\n /**\n * Order items status\n * @type {Array<OrderItemStatus>}\n * @memberof OrderStatusChange\n */\n item_status?: Array<OrderItemStatus>;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum OrderStatusChangeStatusEnum {\n new = 'new',\n wait_for_payment = 'wait_for_payment',\n paid = 'paid',\n in_progress = 'in_progress',\n ready_to_be_sent = 'ready_to_be_sent',\n sent = 'sent',\n cancelled = 'cancelled',\n hold = 'hold',\n refund = 'refund'\n}\n\n\n/**\n * Check if a given object implements the OrderStatusChange interface.\n */\nexport function instanceOfOrderStatusChange(value: object): value is OrderStatusChange {\n return true;\n}\n\nexport function OrderStatusChangeFromJSON(json: any): OrderStatusChange {\n return OrderStatusChangeFromJSONTyped(json, false);\n}\n\nexport function OrderStatusChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): OrderStatusChange {\n if (json == null) {\n return json;\n }\n return {\n \n 'order_id': json['order_id'] == null ? undefined : json['order_id'],\n 'status': json['status'] == null ? undefined : json['status'],\n 'change_time': json['change_time'] == null ? undefined : (new Date(json['change_time'])),\n 'item_status': json['item_status'] == null ? undefined : ((json['item_status'] as Array<any>).map(OrderItemStatusFromJSON)),\n };\n}\n\nexport function OrderStatusChangeToJSON(json: any): OrderStatusChange {\n return OrderStatusChangeToJSONTyped(json, false);\n}\n\nexport function OrderStatusChangeToJSONTyped(value?: OrderStatusChange | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'order_id': value['order_id'],\n 'status': value['status'],\n 'change_time': value['change_time'] == null ? value['change_time'] : value['change_time'].toISOString(),\n 'item_status': value['item_status'] == null ? undefined : ((value['item_status'] as Array<any>).map(OrderItemStatusToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { Client } from './Client';\nimport {\n ClientFromJSON,\n ClientFromJSONTyped,\n ClientToJSON,\n ClientToJSONTyped,\n} from './Client';\n\n/**\n * \n * @export\n * @interface PageOfClients\n */\nexport interface PageOfClients {\n /**\n * \n * @type {Array<Client>}\n * @memberof PageOfClients\n */\n items?: Array<Client>;\n /**\n * \n * @type {string}\n * @memberof PageOfClients\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the PageOfClients interface.\n */\nexport function instanceOfPageOfClients(value: object): value is PageOfClients {\n return true;\n}\n\nexport function PageOfClientsFromJSON(json: any): PageOfClients {\n return PageOfClientsFromJSONTyped(json, false);\n}\n\nexport function PageOfClientsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PageOfClients {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(ClientFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function PageOfClientsToJSON(json: any): PageOfClients {\n return PageOfClientsToJSONTyped(json, false);\n}\n\nexport function PageOfClientsToJSONTyped(value?: PageOfClients | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(ClientToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { Invoice } from './Invoice';\nimport {\n InvoiceFromJSON,\n InvoiceFromJSONTyped,\n InvoiceToJSON,\n InvoiceToJSONTyped,\n} from './Invoice';\n\n/**\n * \n * @export\n * @interface PageOfInvoices\n */\nexport interface PageOfInvoices {\n /**\n * \n * @type {Array<Invoice>}\n * @memberof PageOfInvoices\n */\n items?: Array<Invoice>;\n /**\n * \n * @type {string}\n * @memberof PageOfInvoices\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the PageOfInvoices interface.\n */\nexport function instanceOfPageOfInvoices(value: object): value is PageOfInvoices {\n return true;\n}\n\nexport function PageOfInvoicesFromJSON(json: any): PageOfInvoices {\n return PageOfInvoicesFromJSONTyped(json, false);\n}\n\nexport function PageOfInvoicesFromJSONTyped(json: any, ignoreDiscriminator: boolean): PageOfInvoices {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(InvoiceFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function PageOfInvoicesToJSON(json: any): PageOfInvoices {\n return PageOfInvoicesToJSONTyped(json, false);\n}\n\nexport function PageOfInvoicesToJSONTyped(value?: PageOfInvoices | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(InvoiceToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { OrderComment } from './OrderComment';\nimport {\n OrderCommentFromJSON,\n OrderCommentFromJSONTyped,\n OrderCommentToJSON,\n OrderCommentToJSONTyped,\n} from './OrderComment';\n\n/**\n * \n * @export\n * @interface PageOfOrderComments\n */\nexport interface PageOfOrderComments {\n /**\n * \n * @type {Array<OrderComment>}\n * @memberof PageOfOrderComments\n */\n items?: Array<OrderComment>;\n /**\n * \n * @type {string}\n * @memberof PageOfOrderComments\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the PageOfOrderComments interface.\n */\nexport function instanceOfPageOfOrderComments(value: object): value is PageOfOrderComments {\n return true;\n}\n\nexport function PageOfOrderCommentsFromJSON(json: any): PageOfOrderComments {\n return PageOfOrderCommentsFromJSONTyped(json, false);\n}\n\nexport function PageOfOrderCommentsFromJSONTyped(json: any, ignoreDiscriminator: boolean): PageOfOrderComments {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(OrderCommentFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function PageOfOrderCommentsToJSON(json: any): PageOfOrderComments {\n return PageOfOrderCommentsToJSONTyped(json, false);\n}\n\nexport function PageOfOrderCommentsToJSONTyped(value?: PageOfOrderComments | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(OrderCommentToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { OrderStatusChange } from './OrderStatusChange';\nimport {\n OrderStatusChangeFromJSON,\n OrderStatusChangeFromJSONTyped,\n OrderStatusChangeToJSON,\n OrderStatusChangeToJSONTyped,\n} from './OrderStatusChange';\n\n/**\n * \n * @export\n * @interface PageOfOrderStatusChanges\n */\nexport interface PageOfOrderStatusChanges {\n /**\n * \n * @type {Array<OrderStatusChange>}\n * @memberof PageOfOrderStatusChanges\n */\n items?: Array<OrderStatusChange>;\n /**\n * \n * @type {string}\n * @memberof PageOfOrderStatusChanges\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the PageOfOrderStatusChanges interface.\n */\nexport function instanceOfPageOfOrderStatusChanges(value: object): value is PageOfOrderStatusChanges {\n return true;\n}\n\nexport function PageOfOrderStatusChangesFromJSON(json: any): PageOfOrderStatusChanges {\n return PageOfOrderStatusChangesFromJSONTyped(json, false);\n}\n\nexport function PageOfOrderStatusChangesFromJSONTyped(json: any, ignoreDiscriminator: boolean): PageOfOrderStatusChanges {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(OrderStatusChangeFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function PageOfOrderStatusChangesToJSON(json: any): PageOfOrderStatusChanges {\n return PageOfOrderStatusChangesToJSONTyped(json, false);\n}\n\nexport function PageOfOrderStatusChangesToJSONTyped(value?: PageOfOrderStatusChanges | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(OrderStatusChangeToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ReturnLabel\n */\nexport interface ReturnLabel {\n /**\n * Tracking number\n * @type {string}\n * @memberof ReturnLabel\n */\n number?: string;\n /**\n * Delivery method\n * @type {string}\n * @memberof ReturnLabel\n */\n delivery_method?: string;\n}\n\n/**\n * Check if a given object implements the ReturnLabel interface.\n */\nexport function instanceOfReturnLabel(value: object): value is ReturnLabel {\n return true;\n}\n\nexport function ReturnLabelFromJSON(json: any): ReturnLabel {\n return ReturnLabelFromJSONTyped(json, false);\n}\n\nexport function ReturnLabelFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReturnLabel {\n if (json == null) {\n return json;\n }\n return {\n \n 'number': json['number'] == null ? undefined : json['number'],\n 'delivery_method': json['delivery_method'] == null ? undefined : json['delivery_method'],\n };\n}\n\nexport function ReturnLabelToJSON(json: any): ReturnLabel {\n return ReturnLabelToJSONTyped(json, false);\n}\n\nexport function ReturnLabelToJSONTyped(value?: ReturnLabel | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'number': value['number'],\n 'delivery_method': value['delivery_method'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface TrackingNumberItem\n */\nexport interface TrackingNumberItem {\n /**\n * Doboxa item id\n * @type {string}\n * @memberof TrackingNumberItem\n */\n doboxa_item_id?: string;\n /**\n * External item id\n * @type {string}\n * @memberof TrackingNumberItem\n */\n foreign_item_id?: string | null;\n /**\n * Product SKU\n * @type {string}\n * @memberof TrackingNumberItem\n */\n product_sku?: string;\n}\n\n/**\n * Check if a given object implements the TrackingNumberItem interface.\n */\nexport function instanceOfTrackingNumberItem(value: object): value is TrackingNumberItem {\n return true;\n}\n\nexport function TrackingNumberItemFromJSON(json: any): TrackingNumberItem {\n return TrackingNumberItemFromJSONTyped(json, false);\n}\n\nexport function TrackingNumberItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): TrackingNumberItem {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_item_id': json['doboxa_item_id'] == null ? undefined : json['doboxa_item_id'],\n 'foreign_item_id': json['foreign_item_id'] == null ? undefined : json['foreign_item_id'],\n 'product_sku': json['product_sku'] == null ? undefined : json['product_sku'],\n };\n}\n\nexport function TrackingNumberItemToJSON(json: any): TrackingNumberItem {\n return TrackingNumberItemToJSONTyped(json, false);\n}\n\nexport function TrackingNumberItemToJSONTyped(value?: TrackingNumberItem | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_item_id': value['doboxa_item_id'],\n 'foreign_item_id': value['foreign_item_id'],\n 'product_sku': value['product_sku'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { ReturnLabel } from './ReturnLabel';\nimport {\n ReturnLabelFromJSON,\n ReturnLabelFromJSONTyped,\n ReturnLabelToJSON,\n ReturnLabelToJSONTyped,\n} from './ReturnLabel';\nimport type { TrackingNumberItem } from './TrackingNumberItem';\nimport {\n TrackingNumberItemFromJSON,\n TrackingNumberItemFromJSONTyped,\n TrackingNumberItemToJSON,\n TrackingNumberItemToJSONTyped,\n} from './TrackingNumberItem';\n\n/**\n * \n * @export\n * @interface TrackingNumber\n */\nexport interface TrackingNumber {\n /**\n * Related order id\n * @type {string}\n * @memberof TrackingNumber\n */\n order_id?: string;\n /**\n * Tracking number\n * @type {string}\n * @memberof TrackingNumber\n */\n number?: string;\n /**\n * Delivery method\n * @type {string}\n * @memberof TrackingNumber\n */\n delivery_method?: string;\n /**\n * Sent time. Can be empty (if not yet sent)\n * @type {Date}\n * @memberof TrackingNumber\n */\n sent_at?: Date | null;\n /**\n * Creation time\n * @type {Date}\n * @memberof TrackingNumber\n */\n created_at?: Date;\n /**\n * \n * @type {ReturnLabel}\n * @memberof TrackingNumber\n */\n return_label?: ReturnLabel;\n /**\n * Order items assigned to the tracking number\n * @type {Array<TrackingNumberItem>}\n * @memberof TrackingNumber\n */\n order_items?: Array<TrackingNumberItem> | null;\n}\n\n/**\n * Check if a given object implements the TrackingNumber interface.\n */\nexport function instanceOfTrackingNumber(value: object): value is TrackingNumber {\n return true;\n}\n\nexport function TrackingNumberFromJSON(json: any): TrackingNumber {\n return TrackingNumberFromJSONTyped(json, false);\n}\n\nexport function TrackingNumberFromJSONTyped(json: any, ignoreDiscriminator: boolean): TrackingNumber {\n if (json == null) {\n return json;\n }\n return {\n \n 'order_id': json['order_id'] == null ? undefined : json['order_id'],\n 'number': json['number'] == null ? undefined : json['number'],\n 'delivery_method': json['delivery_method'] == null ? undefined : json['delivery_method'],\n 'sent_at': json['sent_at'] == null ? undefined : (new Date(json['sent_at'])),\n 'created_at': json['created_at'] == null ? undefined : (new Date(json['created_at'])),\n 'return_label': json['return_label'] == null ? undefined : ReturnLabelFromJSON(json['return_label']),\n 'order_items': json['order_items'] == null ? undefined : ((json['order_items'] as Array<any>).map(TrackingNumberItemFromJSON)),\n };\n}\n\nexport function TrackingNumberToJSON(json: any): TrackingNumber {\n return TrackingNumberToJSONTyped(json, false);\n}\n\nexport function TrackingNumberToJSONTyped(value?: TrackingNumber | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'order_id': value['order_id'],\n 'number': value['number'],\n 'delivery_method': value['delivery_method'],\n 'sent_at': value['sent_at'] == null ? value['sent_at'] : value['sent_at'].toISOString(),\n 'created_at': value['created_at'] == null ? value['created_at'] : value['created_at'].toISOString(),\n 'return_label': ReturnLabelToJSON(value['return_label']),\n 'order_items': value['order_items'] == null ? undefined : ((value['order_items'] as Array<any>).map(TrackingNumberItemToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { TrackingNumber } from './TrackingNumber';\nimport {\n TrackingNumberFromJSON,\n TrackingNumberFromJSONTyped,\n TrackingNumberToJSON,\n TrackingNumberToJSONTyped,\n} from './TrackingNumber';\n\n/**\n * \n * @export\n * @interface PageOfTrackingNumbers\n */\nexport interface PageOfTrackingNumbers {\n /**\n * \n * @type {Array<TrackingNumber>}\n * @memberof PageOfTrackingNumbers\n */\n items?: Array<TrackingNumber>;\n /**\n * \n * @type {string}\n * @memberof PageOfTrackingNumbers\n */\n next_page?: string | null;\n}\n\n/**\n * Check if a given object implements the PageOfTrackingNumbers interface.\n */\nexport function instanceOfPageOfTrackingNumbers(value: object): value is PageOfTrackingNumbers {\n return true;\n}\n\nexport function PageOfTrackingNumbersFromJSON(json: any): PageOfTrackingNumbers {\n return PageOfTrackingNumbersFromJSONTyped(json, false);\n}\n\nexport function PageOfTrackingNumbersFromJSONTyped(json: any, ignoreDiscriminator: boolean): PageOfTrackingNumbers {\n if (json == null) {\n return json;\n }\n return {\n \n 'items': json['items'] == null ? undefined : ((json['items'] as Array<any>).map(TrackingNumberFromJSON)),\n 'next_page': json['next_page'] == null ? undefined : json['next_page'],\n };\n}\n\nexport function PageOfTrackingNumbersToJSON(json: any): PageOfTrackingNumbers {\n return PageOfTrackingNumbersToJSONTyped(json, false);\n}\n\nexport function PageOfTrackingNumbersToJSONTyped(value?: PageOfTrackingNumbers | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'items': value['items'] == null ? undefined : ((value['items'] as Array<any>).map(TrackingNumberToJSON)),\n 'next_page': value['next_page'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PostOrderCommentResponse\n */\nexport interface PostOrderCommentResponse {\n /**\n * HTTP status code\n * @type {number}\n * @memberof PostOrderCommentResponse\n */\n result_code?: number;\n /**\n * Comment id, if successfully created\n * @type {string}\n * @memberof PostOrderCommentResponse\n */\n comment_id?: string;\n}\n\n/**\n * Check if a given object implements the PostOrderCommentResponse interface.\n */\nexport function instanceOfPostOrderCommentResponse(value: object): value is PostOrderCommentResponse {\n return true;\n}\n\nexport function PostOrderCommentResponseFromJSON(json: any): PostOrderCommentResponse {\n return PostOrderCommentResponseFromJSONTyped(json, false);\n}\n\nexport function PostOrderCommentResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOrderCommentResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'result_code': json['result_code'] == null ? undefined : json['result_code'],\n 'comment_id': json['comment_id'] == null ? undefined : json['comment_id'],\n };\n}\n\nexport function PostOrderCommentResponseToJSON(json: any): PostOrderCommentResponse {\n return PostOrderCommentResponseToJSONTyped(json, false);\n}\n\nexport function PostOrderCommentResponseToJSONTyped(value?: PostOrderCommentResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'result_code': value['result_code'],\n 'comment_id': value['comment_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PostOrderResponse\n */\nexport interface PostOrderResponse {\n /**\n * HTTP status code\n * @type {number}\n * @memberof PostOrderResponse\n */\n result_code?: number;\n /**\n * Order id, if successfully created\n * @type {string}\n * @memberof PostOrderResponse\n */\n order_id?: string;\n}\n\n/**\n * Check if a given object implements the PostOrderResponse interface.\n */\nexport function instanceOfPostOrderResponse(value: object): value is PostOrderResponse {\n return true;\n}\n\nexport function PostOrderResponseFromJSON(json: any): PostOrderResponse {\n return PostOrderResponseFromJSONTyped(json, false);\n}\n\nexport function PostOrderResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOrderResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'result_code': json['result_code'] == null ? undefined : json['result_code'],\n 'order_id': json['order_id'] == null ? undefined : json['order_id'],\n };\n}\n\nexport function PostOrderResponseToJSON(json: any): PostOrderResponse {\n return PostOrderResponseToJSONTyped(json, false);\n}\n\nexport function PostOrderResponseToJSONTyped(value?: PostOrderResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'result_code': value['result_code'],\n 'order_id': value['order_id'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PostOrderStatusItem\n */\nexport interface PostOrderStatusItem {\n /**\n * Item id assigned to item by doboxa\n * @type {string}\n * @memberof PostOrderStatusItem\n */\n doboxa_item_id: string | null;\n /**\n * Order status\n * @type {string}\n * @memberof PostOrderStatusItem\n */\n status: PostOrderStatusItemStatusEnum;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum PostOrderStatusItemStatusEnum {\n new = 'new',\n wait_for_payment = 'wait_for_payment',\n paid = 'paid',\n in_progress = 'in_progress',\n ready_to_be_sent = 'ready_to_be_sent',\n sent = 'sent',\n cancelled = 'cancelled',\n hold = 'hold',\n refund = 'refund'\n}\n\n\n/**\n * Check if a given object implements the PostOrderStatusItem interface.\n */\nexport function instanceOfPostOrderStatusItem(value: object): value is PostOrderStatusItem {\n if (!('doboxa_item_id' in value) || value['doboxa_item_id'] === undefined) return false;\n if (!('status' in value) || value['status'] === undefined) return false;\n return true;\n}\n\nexport function PostOrderStatusItemFromJSON(json: any): PostOrderStatusItem {\n return PostOrderStatusItemFromJSONTyped(json, false);\n}\n\nexport function PostOrderStatusItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOrderStatusItem {\n if (json == null) {\n return json;\n }\n return {\n \n 'doboxa_item_id': json['doboxa_item_id'],\n 'status': json['status'],\n };\n}\n\nexport function PostOrderStatusItemToJSON(json: any): PostOrderStatusItem {\n return PostOrderStatusItemToJSONTyped(json, false);\n}\n\nexport function PostOrderStatusItemToJSONTyped(value?: PostOrderStatusItem | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'doboxa_item_id': value['doboxa_item_id'],\n 'status': value['status'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\nimport type { PostOrderStatusItem } from './PostOrderStatusItem';\nimport {\n PostOrderStatusItemFromJSON,\n PostOrderStatusItemFromJSONTyped,\n PostOrderStatusItemToJSON,\n PostOrderStatusItemToJSONTyped,\n} from './PostOrderStatusItem';\n\n/**\n * \n * @export\n * @interface PostOrderStatus\n */\nexport interface PostOrderStatus {\n /**\n * Order status\n * @type {string}\n * @memberof PostOrderStatus\n */\n status: PostOrderStatusStatusEnum;\n /**\n * Order items status. If any item is not specified, its status will be changed to order status\n * @type {Array<PostOrderStatusItem>}\n * @memberof PostOrderStatus\n */\n item_status?: Array<PostOrderStatusItem> | null;\n}\n\n/**\n* @export\n* @enum {string}\n*/\nexport enum PostOrderStatusStatusEnum {\n new = 'new',\n wait_for_payment = 'wait_for_payment',\n paid = 'paid',\n in_progress = 'in_progress',\n ready_to_be_sent = 'ready_to_be_sent',\n sent = 'sent',\n cancelled = 'cancelled',\n hold = 'hold',\n refund = 'refund'\n}\n\n\n/**\n * Check if a given object implements the PostOrderStatus interface.\n */\nexport function instanceOfPostOrderStatus(value: object): value is PostOrderStatus {\n if (!('status' in value) || value['status'] === undefined) return false;\n return true;\n}\n\nexport function PostOrderStatusFromJSON(json: any): PostOrderStatus {\n return PostOrderStatusFromJSONTyped(json, false);\n}\n\nexport function PostOrderStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOrderStatus {\n if (json == null) {\n return json;\n }\n return {\n \n 'status': json['status'],\n 'item_status': json['item_status'] == null ? undefined : ((json['item_status'] as Array<any>).map(PostOrderStatusItemFromJSON)),\n };\n}\n\nexport function PostOrderStatusToJSON(json: any): PostOrderStatus {\n return PostOrderStatusToJSONTyped(json, false);\n}\n\nexport function PostOrderStatusToJSONTyped(value?: PostOrderStatus | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'status': value['status'],\n 'item_status': value['item_status'] == null ? undefined : ((value['item_status'] as Array<any>).map(PostOrderStatusItemToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface PostOrderStatusResponse\n */\nexport interface PostOrderStatusResponse {\n /**\n * HTTP status code\n * @type {number}\n * @memberof PostOrderStatusResponse\n */\n result_code?: number;\n}\n\n/**\n * Check if a given object implements the PostOrderStatusResponse interface.\n */\nexport function instanceOfPostOrderStatusResponse(value: object): value is PostOrderStatusResponse {\n return true;\n}\n\nexport function PostOrderStatusResponseFromJSON(json: any): PostOrderStatusResponse {\n return PostOrderStatusResponseFromJSONTyped(json, false);\n}\n\nexport function PostOrderStatusResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostOrderStatusResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'result_code': json['result_code'] == null ? undefined : json['result_code'],\n };\n}\n\nexport function PostOrderStatusResponseToJSON(json: any): PostOrderStatusResponse {\n return PostOrderStatusResponseToJSONTyped(json, false);\n}\n\nexport function PostOrderStatusResponseToJSONTyped(value?: PostOrderStatusResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'result_code': value['result_code'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ServerErrorResponse\n */\nexport interface ServerErrorResponse {\n /**\n * HTTP status code\n * @type {number}\n * @memberof ServerErrorResponse\n */\n result_code?: number;\n /**\n * Error summary\n * @type {string}\n * @memberof ServerErrorResponse\n */\n error_message?: string | null;\n}\n\n/**\n * Check if a given object implements the ServerErrorResponse interface.\n */\nexport function instanceOfServerErrorResponse(value: object): value is ServerErrorResponse {\n return true;\n}\n\nexport function ServerErrorResponseFromJSON(json: any): ServerErrorResponse {\n return ServerErrorResponseFromJSONTyped(json, false);\n}\n\nexport function ServerErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerErrorResponse {\n if (json == null) {\n return json;\n }\n return {\n \n 'result_code': json['result_code'] == null ? undefined : json['result_code'],\n 'error_message': json['error_message'] == null ? undefined : json['error_message'],\n };\n}\n\nexport function ServerErrorResponseToJSON(json: any): ServerErrorResponse {\n return ServerErrorResponseToJSONTyped(json, false);\n}\n\nexport function ServerErrorResponseToJSONTyped(value?: ServerErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value;\n }\n\n return {\n \n 'result_code': value['result_code'],\n 'error_message': value['error_message'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n CreateOrderComment,\n InvalidRequestDataResponse,\n Order,\n OrderStatus,\n PageOfInvoices,\n PageOfOrderComments,\n PageOfTrackingNumbers,\n PostOrderCommentResponse,\n PostOrderResponse,\n PostOrderStatus,\n PostOrderStatusResponse,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n CreateOrderCommentFromJSON,\n CreateOrderCommentToJSON,\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n OrderFromJSON,\n OrderToJSON,\n OrderStatusFromJSON,\n OrderStatusToJSON,\n PageOfInvoicesFromJSON,\n PageOfInvoicesToJSON,\n PageOfOrderCommentsFromJSON,\n PageOfOrderCommentsToJSON,\n PageOfTrackingNumbersFromJSON,\n PageOfTrackingNumbersToJSON,\n PostOrderCommentResponseFromJSON,\n PostOrderCommentResponseToJSON,\n PostOrderResponseFromJSON,\n PostOrderResponseToJSON,\n PostOrderStatusFromJSON,\n PostOrderStatusToJSON,\n PostOrderStatusResponseFromJSON,\n PostOrderStatusResponseToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GetordercommentsInvokeRequest {\n orderId: string;\n}\n\nexport interface GetAppEcommerceApiV2GetorderinvoicesInvokeRequest {\n orderId: string;\n}\n\nexport interface GetAppEcommerceApiV2GetorderstatusInvokeRequest {\n orderId: string;\n}\n\nexport interface GetAppEcommerceApiV2GetordertrackingnumbersInvokeRequest {\n orderId: string;\n}\n\nexport interface PostAppEcommerceApiV2PostorderInvokeRequest {\n order: Omit<Order, 'billing_address'|'order_source'|'discount_code'|'partner_code'|'order_original_data'|'payment_method'|'payment_transaction_id'|'ag_invoice_requested'|'suggested_delivery_method'>;\n}\n\nexport interface PostAppEcommerceApiV2PostordercommentInvokeRequest {\n orderId: string;\n createOrderComment: CreateOrderComment;\n}\n\nexport interface PostAppEcommerceApiV2PostorderstatuschangeInvokeRequest {\n orderId: string;\n postOrderStatus: PostOrderStatus;\n}\n\n/**\n * OrderApi - interface\n * \n * @export\n * @interface OrderApiInterface\n */\nexport interface OrderApiInterface {\n /**\n * \n * @summary Get a specific order comments\n * @param {string} orderId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n getAppEcommerceApiV2GetordercommentsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetordercommentsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderComments>>;\n\n /**\n * Get a specific order comments\n */\n getAppEcommerceApiV2GetordercommentsInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderComments>;\n\n /**\n * \n * @summary Get Order invoices\n * @param {string} orderId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n getAppEcommerceApiV2GetorderinvoicesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderinvoicesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfInvoices>>;\n\n /**\n * Get Order invoices\n */\n getAppEcommerceApiV2GetorderinvoicesInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfInvoices>;\n\n /**\n * \n * @summary Get current order status\n * @param {string} orderId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n getAppEcommerceApiV2GetorderstatusInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderstatusInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrderStatus>>;\n\n /**\n * Get current order status\n */\n getAppEcommerceApiV2GetorderstatusInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrderStatus>;\n\n /**\n * \n * @summary Get Order tracking numbers\n * @param {string} orderId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n getAppEcommerceApiV2GetordertrackingnumbersInvokeRaw(requestParameters: GetAppEcommerceApiV2GetordertrackingnumbersInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfTrackingNumbers>>;\n\n /**\n * Get Order tracking numbers\n */\n getAppEcommerceApiV2GetordertrackingnumbersInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfTrackingNumbers>;\n\n /**\n * \n * @summary Create an Order\n * @param {Order} order \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n postAppEcommerceApiV2PostorderInvokeRaw(requestParameters: PostAppEcommerceApiV2PostorderInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderResponse>>;\n\n /**\n * Create an Order\n */\n postAppEcommerceApiV2PostorderInvoke(order: Order, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderResponse>;\n\n /**\n * \n * @summary Create an Order comment\n * @param {string} orderId \n * @param {CreateOrderComment} createOrderComment \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n postAppEcommerceApiV2PostordercommentInvokeRaw(requestParameters: PostAppEcommerceApiV2PostordercommentInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderCommentResponse>>;\n\n /**\n * Create an Order comment\n */\n postAppEcommerceApiV2PostordercommentInvoke(orderId: string, createOrderComment: CreateOrderComment, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderCommentResponse>;\n\n /**\n * \n * @summary Change Order status (only commision type or test orders)\n * @param {string} orderId \n * @param {PostOrderStatus} postOrderStatus \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderApiInterface\n */\n postAppEcommerceApiV2PostorderstatuschangeInvokeRaw(requestParameters: PostAppEcommerceApiV2PostorderstatuschangeInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderStatusResponse>>;\n\n /**\n * Change Order status (only commision type or test orders)\n */\n postAppEcommerceApiV2PostorderstatuschangeInvoke(orderId: string, postOrderStatus: PostOrderStatus, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderStatusResponse>;\n\n}\n\n/**\n * \n */\nexport class OrderApi extends runtime.BaseAPI implements OrderApiInterface {\n\n /**\n * Get a specific order comments\n */\n async getAppEcommerceApiV2GetordercommentsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetordercommentsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderComments>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling getAppEcommerceApiV2GetordercommentsInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/comment`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfOrderCommentsFromJSON(jsonValue));\n }\n\n /**\n * Get a specific order comments\n */\n async getAppEcommerceApiV2GetordercommentsInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderComments> {\n const response = await this.getAppEcommerceApiV2GetordercommentsInvokeRaw({ orderId: orderId }, initOverrides);\n return await response.value();\n }\n\n /**\n * Get Order invoices\n */\n async getAppEcommerceApiV2GetorderinvoicesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderinvoicesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfInvoices>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling getAppEcommerceApiV2GetorderinvoicesInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/invoice`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfInvoicesFromJSON(jsonValue));\n }\n\n /**\n * Get Order invoices\n */\n async getAppEcommerceApiV2GetorderinvoicesInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfInvoices> {\n const response = await this.getAppEcommerceApiV2GetorderinvoicesInvokeRaw({ orderId: orderId }, initOverrides);\n return await response.value();\n }\n\n /**\n * Get current order status\n */\n async getAppEcommerceApiV2GetorderstatusInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderstatusInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrderStatus>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling getAppEcommerceApiV2GetorderstatusInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/status`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => OrderStatusFromJSON(jsonValue));\n }\n\n /**\n * Get current order status\n */\n async getAppEcommerceApiV2GetorderstatusInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrderStatus> {\n const response = await this.getAppEcommerceApiV2GetorderstatusInvokeRaw({ orderId: orderId }, initOverrides);\n return await response.value();\n }\n\n /**\n * Get Order tracking numbers\n */\n async getAppEcommerceApiV2GetordertrackingnumbersInvokeRaw(requestParameters: GetAppEcommerceApiV2GetordertrackingnumbersInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfTrackingNumbers>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling getAppEcommerceApiV2GetordertrackingnumbersInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/tracking_number`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfTrackingNumbersFromJSON(jsonValue));\n }\n\n /**\n * Get Order tracking numbers\n */\n async getAppEcommerceApiV2GetordertrackingnumbersInvoke(orderId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfTrackingNumbers> {\n const response = await this.getAppEcommerceApiV2GetordertrackingnumbersInvokeRaw({ orderId: orderId }, initOverrides);\n return await response.value();\n }\n\n /**\n * Create an Order\n */\n async postAppEcommerceApiV2PostorderInvokeRaw(requestParameters: PostAppEcommerceApiV2PostorderInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderResponse>> {\n if (requestParameters['order'] == null) {\n throw new runtime.RequiredError(\n 'order',\n 'Required parameter \"order\" was null or undefined when calling postAppEcommerceApiV2PostorderInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: OrderToJSON(requestParameters['order']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PostOrderResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an Order\n */\n async postAppEcommerceApiV2PostorderInvoke(order: Order, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderResponse> {\n const response = await this.postAppEcommerceApiV2PostorderInvokeRaw({ order: order }, initOverrides);\n return await response.value();\n }\n\n /**\n * Create an Order comment\n */\n async postAppEcommerceApiV2PostordercommentInvokeRaw(requestParameters: PostAppEcommerceApiV2PostordercommentInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderCommentResponse>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling postAppEcommerceApiV2PostordercommentInvoke().'\n );\n }\n\n if (requestParameters['createOrderComment'] == null) {\n throw new runtime.RequiredError(\n 'createOrderComment',\n 'Required parameter \"createOrderComment\" was null or undefined when calling postAppEcommerceApiV2PostordercommentInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/comment`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: CreateOrderCommentToJSON(requestParameters['createOrderComment']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PostOrderCommentResponseFromJSON(jsonValue));\n }\n\n /**\n * Create an Order comment\n */\n async postAppEcommerceApiV2PostordercommentInvoke(orderId: string, createOrderComment: CreateOrderComment, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderCommentResponse> {\n const response = await this.postAppEcommerceApiV2PostordercommentInvokeRaw({ orderId: orderId, createOrderComment: createOrderComment }, initOverrides);\n return await response.value();\n }\n\n /**\n * Change Order status (only commision type or test orders)\n */\n async postAppEcommerceApiV2PostorderstatuschangeInvokeRaw(requestParameters: PostAppEcommerceApiV2PostorderstatuschangeInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PostOrderStatusResponse>> {\n if (requestParameters['orderId'] == null) {\n throw new runtime.RequiredError(\n 'orderId',\n 'Required parameter \"orderId\" was null or undefined when calling postAppEcommerceApiV2PostorderstatuschangeInvoke().'\n );\n }\n\n if (requestParameters['postOrderStatus'] == null) {\n throw new runtime.RequiredError(\n 'postOrderStatus',\n 'Required parameter \"postOrderStatus\" was null or undefined when calling postAppEcommerceApiV2PostorderstatuschangeInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order/{order_id}/status`;\n urlPath = urlPath.replace(`{${\"order_id\"}}`, encodeURIComponent(String(requestParameters['orderId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: PostOrderStatusToJSON(requestParameters['postOrderStatus']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PostOrderStatusResponseFromJSON(jsonValue));\n }\n\n /**\n * Change Order status (only commision type or test orders)\n */\n async postAppEcommerceApiV2PostorderstatuschangeInvoke(orderId: string, postOrderStatus: PostOrderStatus, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PostOrderStatusResponse> {\n const response = await this.postAppEcommerceApiV2PostorderstatuschangeInvokeRaw({ orderId: orderId, postOrderStatus: postOrderStatus }, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n OrderCancellation,\n OrderCancellationResponse,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n OrderCancellationFromJSON,\n OrderCancellationToJSON,\n OrderCancellationResponseFromJSON,\n OrderCancellationResponseToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface PostAppEcommerceApiV2PostordercancellationInvokeRequest {\n orderCancellation: OrderCancellation;\n}\n\n/**\n * OrderCancellationApi - interface\n * \n * @export\n * @interface OrderCancellationApiInterface\n */\nexport interface OrderCancellationApiInterface {\n /**\n * \n * @summary Cancel an order if possible (orders already in production cannot be cancelled)\n * @param {OrderCancellation} orderCancellation \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderCancellationApiInterface\n */\n postAppEcommerceApiV2PostordercancellationInvokeRaw(requestParameters: PostAppEcommerceApiV2PostordercancellationInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrderCancellationResponse>>;\n\n /**\n * Cancel an order if possible (orders already in production cannot be cancelled)\n */\n postAppEcommerceApiV2PostordercancellationInvoke(orderCancellation: OrderCancellation, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrderCancellationResponse>;\n\n}\n\n/**\n * \n */\nexport class OrderCancellationApi extends runtime.BaseAPI implements OrderCancellationApiInterface {\n\n /**\n * Cancel an order if possible (orders already in production cannot be cancelled)\n */\n async postAppEcommerceApiV2PostordercancellationInvokeRaw(requestParameters: PostAppEcommerceApiV2PostordercancellationInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<OrderCancellationResponse>> {\n if (requestParameters['orderCancellation'] == null) {\n throw new runtime.RequiredError(\n 'orderCancellation',\n 'Required parameter \"orderCancellation\" was null or undefined when calling postAppEcommerceApiV2PostordercancellationInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order_cancellation`;\n\n const response = await this.request({\n path: urlPath,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: OrderCancellationToJSON(requestParameters['orderCancellation']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => OrderCancellationResponseFromJSON(jsonValue));\n }\n\n /**\n * Cancel an order if possible (orders already in production cannot be cancelled)\n */\n async postAppEcommerceApiV2PostordercancellationInvoke(orderCancellation: OrderCancellation, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<OrderCancellationResponse> {\n const response = await this.postAppEcommerceApiV2PostordercancellationInvokeRaw({ orderCancellation: orderCancellation }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { OrderApi } from '../types/generated/src/apis/OrderApi';\nimport { OrderCancellationApi } from '../types/generated/src/apis/OrderCancellationApi';\nimport type {\n Order,\n OrderStatus,\n PostOrderStatus,\n CreateOrderComment,\n PostOrderCommentResponse,\n PostOrderResponse,\n PostOrderStatusResponse,\n PageOfInvoices,\n PageOfOrderComments,\n PageOfTrackingNumbers,\n OrderCancellation,\n OrderCancellationResponse,\n} from '../types/generated/src/models';\n\nexport interface OrderCreateParams extends Omit<\n Order,\n 'billing_address' | 'order_source' | 'discount_code' | 'partner_code' | \n 'order_original_data' | 'payment_method' | 'payment_transaction_id' | \n 'ag_invoice_requested' | 'suggested_delivery_method'\n> {}\n\nexport interface OrderStatusUpdateParams extends PostOrderStatus {}\n\nexport interface OrderCommentCreateParams extends CreateOrderComment {}\n\nexport interface OrderCancelParams {\n order_id: string;\n}\n\n/**\n * Orders resource\n */\nexport class OrdersResource {\n private orderApi: OrderApi;\n private cancellationApi: OrderCancellationApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.orderApi = new OrderApi(config);\n this.cancellationApi = new OrderCancellationApi(config);\n }\n\n /**\n * Create an order\n */\n async create(params: OrderCreateParams): Promise<PostOrderResponse> {\n return this.orderApi.postAppEcommerceApiV2PostorderInvoke(params);\n }\n\n /**\n * Get current order status\n */\n async getStatus(orderId: string): Promise<OrderStatus> {\n return this.orderApi.getAppEcommerceApiV2GetorderstatusInvoke(orderId);\n }\n\n /**\n * Update order status\n */\n async updateStatus(\n orderId: string,\n params: OrderStatusUpdateParams\n ): Promise<PostOrderStatusResponse> {\n return this.orderApi.postAppEcommerceApiV2PostorderstatuschangeInvoke(\n orderId,\n params\n );\n }\n\n /**\n * Get order comments\n */\n async getComments(orderId: string): Promise<PageOfOrderComments> {\n return this.orderApi.getAppEcommerceApiV2GetordercommentsInvoke(orderId);\n }\n\n /**\n * Create an order comment\n */\n async createComment(\n orderId: string,\n params: OrderCommentCreateParams\n ): Promise<PostOrderCommentResponse> {\n return this.orderApi.postAppEcommerceApiV2PostordercommentInvoke(\n orderId,\n params\n );\n }\n\n /**\n * Get order invoices\n */\n async getInvoices(orderId: string): Promise<PageOfInvoices> {\n return this.orderApi.getAppEcommerceApiV2GetorderinvoicesInvoke(orderId);\n }\n\n /**\n * Get order tracking numbers\n */\n async getTrackingNumbers(orderId: string): Promise<PageOfTrackingNumbers> {\n return this.orderApi.getAppEcommerceApiV2GetordertrackingnumbersInvoke(orderId);\n }\n\n /**\n * Cancel an order\n */\n async cancel(params: OrderCancelParams): Promise<OrderCancellationResponse> {\n const cancellation: OrderCancellation = {\n order_id: params.order_id,\n };\n return this.cancellationApi.postAppEcommerceApiV2PostordercancellationInvoke(\n cancellation\n );\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n Invoice,\n PageOfInvoices,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n InvoiceFromJSON,\n InvoiceToJSON,\n PageOfInvoicesFromJSON,\n PageOfInvoicesToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GetinvoiceInvokeRequest {\n invoiceId: string;\n}\n\nexport interface GetAppEcommerceApiV2GetinvoicesInvokeRequest {\n page?: number;\n from?: Date;\n to?: Date;\n}\n\n/**\n * InvoiceApi - interface\n * \n * @export\n * @interface InvoiceApiInterface\n */\nexport interface InvoiceApiInterface {\n /**\n * \n * @summary Get a specific invoice\n * @param {string} invoiceId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvoiceApiInterface\n */\n getAppEcommerceApiV2GetinvoiceInvokeRaw(requestParameters: GetAppEcommerceApiV2GetinvoiceInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Invoice>>;\n\n /**\n * Get a specific invoice\n */\n getAppEcommerceApiV2GetinvoiceInvoke(invoiceId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Invoice>;\n\n /**\n * \n * @summary Get latest invoices\n * @param {number} [page] Page number\n * @param {Date} [from] Invoices added after given time. Default: now - 1 day\n * @param {Date} [to] Invoices added before given time. Default: now\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof InvoiceApiInterface\n */\n getAppEcommerceApiV2GetinvoicesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetinvoicesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfInvoices>>;\n\n /**\n * Get latest invoices\n */\n getAppEcommerceApiV2GetinvoicesInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfInvoices>;\n\n}\n\n/**\n * \n */\nexport class InvoiceApi extends runtime.BaseAPI implements InvoiceApiInterface {\n\n /**\n * Get a specific invoice\n */\n async getAppEcommerceApiV2GetinvoiceInvokeRaw(requestParameters: GetAppEcommerceApiV2GetinvoiceInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Invoice>> {\n if (requestParameters['invoiceId'] == null) {\n throw new runtime.RequiredError(\n 'invoiceId',\n 'Required parameter \"invoiceId\" was null or undefined when calling getAppEcommerceApiV2GetinvoiceInvoke().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/invoice/{invoice_id}`;\n urlPath = urlPath.replace(`{${\"invoice_id\"}}`, encodeURIComponent(String(requestParameters['invoiceId'])));\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => InvoiceFromJSON(jsonValue));\n }\n\n /**\n * Get a specific invoice\n */\n async getAppEcommerceApiV2GetinvoiceInvoke(invoiceId: string, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Invoice> {\n const response = await this.getAppEcommerceApiV2GetinvoiceInvokeRaw({ invoiceId: invoiceId }, initOverrides);\n return await response.value();\n }\n\n /**\n * Get latest invoices\n */\n async getAppEcommerceApiV2GetinvoicesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetinvoicesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfInvoices>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['from'] != null) {\n queryParameters['from'] = requestParameters['from'];\n }\n\n if (requestParameters['to'] != null) {\n queryParameters['to'] = requestParameters['to'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/invoice`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfInvoicesFromJSON(jsonValue));\n }\n\n /**\n * Get latest invoices\n */\n async getAppEcommerceApiV2GetinvoicesInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfInvoices> {\n const response = await this.getAppEcommerceApiV2GetinvoicesInvokeRaw({ page: page, from: from, to: to }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { InvoiceApi } from '../types/generated/src/apis/InvoiceApi';\nimport type {\n Invoice,\n PageOfInvoices,\n} from '../types/generated/src/models';\n\nexport interface InvoiceListParams {\n page?: number;\n from?: string; // ISO date-time\n to?: string; // ISO date-time\n}\n\n/**\n * Invoices resource\n */\nexport class InvoicesResource {\n private invoiceApi: InvoiceApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.invoiceApi = new InvoiceApi(config);\n }\n\n /**\n * List invoices\n */\n async list(params?: InvoiceListParams): Promise<PageOfInvoices> {\n return this.invoiceApi.getAppEcommerceApiV2GetinvoicesInvoke(\n params?.page,\n params?.from ? new Date(params.from) : undefined,\n params?.to ? new Date(params.to) : undefined\n );\n }\n\n /**\n * Retrieve a specific invoice\n */\n async retrieve(invoiceId: string): Promise<Invoice> {\n return this.invoiceApi.getAppEcommerceApiV2GetinvoiceInvoke(invoiceId);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n PageOfClients,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n PageOfClientsFromJSON,\n PageOfClientsToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GetclientsInvokeRequest {\n page?: number;\n}\n\n/**\n * ClientApi - interface\n * \n * @export\n * @interface ClientApiInterface\n */\nexport interface ClientApiInterface {\n /**\n * \n * @summary Get clients (only commission type)\n * @param {number} [page] Page number\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof ClientApiInterface\n */\n getAppEcommerceApiV2GetclientsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetclientsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfClients>>;\n\n /**\n * Get clients (only commission type)\n */\n getAppEcommerceApiV2GetclientsInvoke(page?: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfClients>;\n\n}\n\n/**\n * \n */\nexport class ClientApi extends runtime.BaseAPI implements ClientApiInterface {\n\n /**\n * Get clients (only commission type)\n */\n async getAppEcommerceApiV2GetclientsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetclientsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfClients>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/client`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfClientsFromJSON(jsonValue));\n }\n\n /**\n * Get clients (only commission type)\n */\n async getAppEcommerceApiV2GetclientsInvoke(page?: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfClients> {\n const response = await this.getAppEcommerceApiV2GetclientsInvokeRaw({ page: page }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { ClientApi } from '../types/generated/src/apis/ClientApi';\nimport type {\n PageOfClients,\n} from '../types/generated/src/models';\n\nexport interface ClientListParams {\n page?: number;\n}\n\n/**\n * Clients resource\n */\nexport class ClientsResource {\n private clientApi: ClientApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.clientApi = new ClientApi(config);\n }\n\n /**\n * List clients (only commission type)\n */\n async list(params?: ClientListParams): Promise<PageOfClients> {\n return this.clientApi.getAppEcommerceApiV2GetclientsInvoke(params?.page);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n GetApiV2DiscountCodesExternal200Response,\n InvalidRequestDataResponse,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n GetApiV2DiscountCodesExternal200ResponseFromJSON,\n GetApiV2DiscountCodesExternal200ResponseToJSON,\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetApiV2DiscountCodesExternalRequest {\n page?: number;\n}\n\n/**\n * DiscountCodeApi - interface\n * \n * @export\n * @interface DiscountCodeApiInterface\n */\nexport interface DiscountCodeApiInterface {\n /**\n * \n * @summary Get discount codes (only commission type)\n * @param {number} [page] Page number\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DiscountCodeApiInterface\n */\n getApiV2DiscountCodesExternalRaw(requestParameters: GetApiV2DiscountCodesExternalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetApiV2DiscountCodesExternal200Response>>;\n\n /**\n * Get discount codes (only commission type)\n */\n getApiV2DiscountCodesExternal(page?: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetApiV2DiscountCodesExternal200Response>;\n\n}\n\n/**\n * \n */\nexport class DiscountCodeApi extends runtime.BaseAPI implements DiscountCodeApiInterface {\n\n /**\n * Get discount codes (only commission type)\n */\n async getApiV2DiscountCodesExternalRaw(requestParameters: GetApiV2DiscountCodesExternalRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetApiV2DiscountCodesExternal200Response>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/discount_code`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GetApiV2DiscountCodesExternal200ResponseFromJSON(jsonValue));\n }\n\n /**\n * Get discount codes (only commission type)\n */\n async getApiV2DiscountCodesExternal(page?: number, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetApiV2DiscountCodesExternal200Response> {\n const response = await this.getApiV2DiscountCodesExternalRaw({ page: page }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { DiscountCodeApi } from '../types/generated/src/apis/DiscountCodeApi';\nimport type {\n GetApiV2DiscountCodesExternal200Response,\n} from '../types/generated/src/models';\n\nexport interface DiscountCodeListParams {\n page?: number;\n}\n\n/**\n * Discount Codes resource\n */\nexport class DiscountCodesResource {\n private discountCodeApi: DiscountCodeApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.discountCodeApi = new DiscountCodeApi(config);\n }\n\n /**\n * List discount codes (only commission type)\n */\n async list(params?: DiscountCodeListParams): Promise<GetApiV2DiscountCodesExternal200Response> {\n return this.discountCodeApi.getApiV2DiscountCodesExternal(params?.page);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n PageOfTrackingNumbers,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n PageOfTrackingNumbersFromJSON,\n PageOfTrackingNumbersToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GettrackingnumbersInvokeRequest {\n page?: number;\n from?: Date;\n to?: Date;\n}\n\n/**\n * TrackingNumberApi - interface\n * \n * @export\n * @interface TrackingNumberApiInterface\n */\nexport interface TrackingNumberApiInterface {\n /**\n * \n * @summary Get latest tracking numbers\n * @param {number} [page] Page number\n * @param {Date} [from] Tracking numbers added after given time. Default: now - 1 day\n * @param {Date} [to] Tracking numbers added before given time. Default: now\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof TrackingNumberApiInterface\n */\n getAppEcommerceApiV2GettrackingnumbersInvokeRaw(requestParameters: GetAppEcommerceApiV2GettrackingnumbersInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfTrackingNumbers>>;\n\n /**\n * Get latest tracking numbers\n */\n getAppEcommerceApiV2GettrackingnumbersInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfTrackingNumbers>;\n\n}\n\n/**\n * \n */\nexport class TrackingNumberApi extends runtime.BaseAPI implements TrackingNumberApiInterface {\n\n /**\n * Get latest tracking numbers\n */\n async getAppEcommerceApiV2GettrackingnumbersInvokeRaw(requestParameters: GetAppEcommerceApiV2GettrackingnumbersInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfTrackingNumbers>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['from'] != null) {\n queryParameters['from'] = requestParameters['from'];\n }\n\n if (requestParameters['to'] != null) {\n queryParameters['to'] = requestParameters['to'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/tracking_number`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfTrackingNumbersFromJSON(jsonValue));\n }\n\n /**\n * Get latest tracking numbers\n */\n async getAppEcommerceApiV2GettrackingnumbersInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfTrackingNumbers> {\n const response = await this.getAppEcommerceApiV2GettrackingnumbersInvokeRaw({ page: page, from: from, to: to }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { TrackingNumberApi } from '../types/generated/src/apis/TrackingNumberApi';\nimport type {\n PageOfTrackingNumbers,\n} from '../types/generated/src/models';\n\nexport interface TrackingNumberListParams {\n page?: number;\n from?: string; // ISO date-time\n to?: string; // ISO date-time\n}\n\n/**\n * Tracking Numbers resource\n */\nexport class TrackingNumbersResource {\n private trackingNumberApi: TrackingNumberApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.trackingNumberApi = new TrackingNumberApi(config);\n }\n\n /**\n * List tracking numbers\n */\n async list(params?: TrackingNumberListParams): Promise<PageOfTrackingNumbers> {\n return this.trackingNumberApi.getAppEcommerceApiV2GettrackingnumbersInvoke(\n params?.page,\n params?.from ? new Date(params.from) : undefined,\n params?.to ? new Date(params.to) : undefined\n );\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n PageOfOrderComments,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n PageOfOrderCommentsFromJSON,\n PageOfOrderCommentsToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GetorderscommentsInvokeRequest {\n page?: number;\n from?: Date;\n to?: Date;\n}\n\n/**\n * OrderCommentApi - interface\n * \n * @export\n * @interface OrderCommentApiInterface\n */\nexport interface OrderCommentApiInterface {\n /**\n * \n * @summary Get latest order comments.\n * @param {number} [page] Page number\n * @param {Date} [from] Comments added after given time. Default: now - 4 hours\n * @param {Date} [to] Comments added before given time. Default: now\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderCommentApiInterface\n */\n getAppEcommerceApiV2GetorderscommentsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderscommentsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderComments>>;\n\n /**\n * Get latest order comments.\n */\n getAppEcommerceApiV2GetorderscommentsInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderComments>;\n\n}\n\n/**\n * \n */\nexport class OrderCommentApi extends runtime.BaseAPI implements OrderCommentApiInterface {\n\n /**\n * Get latest order comments.\n */\n async getAppEcommerceApiV2GetorderscommentsInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderscommentsInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderComments>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['from'] != null) {\n queryParameters['from'] = requestParameters['from'];\n }\n\n if (requestParameters['to'] != null) {\n queryParameters['to'] = requestParameters['to'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order_comment`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfOrderCommentsFromJSON(jsonValue));\n }\n\n /**\n * Get latest order comments.\n */\n async getAppEcommerceApiV2GetorderscommentsInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderComments> {\n const response = await this.getAppEcommerceApiV2GetorderscommentsInvokeRaw({ page: page, from: from, to: to }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { OrderCommentApi } from '../types/generated/src/apis/OrderCommentApi';\nimport type {\n PageOfOrderComments,\n} from '../types/generated/src/models';\n\nexport interface OrderCommentListParams {\n page?: number;\n from?: string; // ISO date-time\n to?: string; // ISO date-time\n}\n\n/**\n * Order Comments resource\n */\nexport class OrderCommentsResource {\n private orderCommentApi: OrderCommentApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.orderCommentApi = new OrderCommentApi(config);\n }\n\n /**\n * List order comments\n */\n async list(params?: OrderCommentListParams): Promise<PageOfOrderComments> {\n return this.orderCommentApi.getAppEcommerceApiV2GetorderscommentsInvoke(\n params?.page,\n params?.from ? new Date(params.from) : undefined,\n params?.to ? new Date(params.to) : undefined\n );\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n PageOfOrderStatusChanges,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n PageOfOrderStatusChangesFromJSON,\n PageOfOrderStatusChangesToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\nexport interface GetAppEcommerceApiV2GetorderstatuschangesInvokeRequest {\n page?: number;\n from?: Date;\n to?: Date;\n}\n\n/**\n * OrderStatusChangeApi - interface\n * \n * @export\n * @interface OrderStatusChangeApiInterface\n */\nexport interface OrderStatusChangeApiInterface {\n /**\n * \n * @summary Get latest status changes. Note that only the latest order status change is provided.\n * @param {number} [page] Page number\n * @param {Date} [from] Order status changes newer than given time. Default: now - 4 hours\n * @param {Date} [to] Order status changes older than given time. Default: now\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof OrderStatusChangeApiInterface\n */\n getAppEcommerceApiV2GetorderstatuschangesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderstatuschangesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderStatusChanges>>;\n\n /**\n * Get latest status changes. Note that only the latest order status change is provided.\n */\n getAppEcommerceApiV2GetorderstatuschangesInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderStatusChanges>;\n\n}\n\n/**\n * \n */\nexport class OrderStatusChangeApi extends runtime.BaseAPI implements OrderStatusChangeApiInterface {\n\n /**\n * Get latest status changes. Note that only the latest order status change is provided.\n */\n async getAppEcommerceApiV2GetorderstatuschangesInvokeRaw(requestParameters: GetAppEcommerceApiV2GetorderstatuschangesInvokeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PageOfOrderStatusChanges>> {\n const queryParameters: any = {};\n\n if (requestParameters['page'] != null) {\n queryParameters['page'] = requestParameters['page'];\n }\n\n if (requestParameters['from'] != null) {\n queryParameters['from'] = requestParameters['from'];\n }\n\n if (requestParameters['to'] != null) {\n queryParameters['to'] = requestParameters['to'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/order_status_change`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => PageOfOrderStatusChangesFromJSON(jsonValue));\n }\n\n /**\n * Get latest status changes. Note that only the latest order status change is provided.\n */\n async getAppEcommerceApiV2GetorderstatuschangesInvoke(page?: number, from?: Date, to?: Date, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PageOfOrderStatusChanges> {\n const response = await this.getAppEcommerceApiV2GetorderstatuschangesInvokeRaw({ page: page, from: from, to: to }, initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { OrderStatusChangeApi } from '../types/generated/src/apis/OrderStatusChangeApi';\nimport type {\n PageOfOrderStatusChanges,\n} from '../types/generated/src/models';\n\nexport interface OrderStatusChangeListParams {\n page?: number;\n from?: string; // ISO date-time\n to?: string; // ISO date-time\n}\n\n/**\n * Order Status Changes resource\n */\nexport class OrderStatusChangesResource {\n private orderStatusChangeApi: OrderStatusChangeApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.orderStatusChangeApi = new OrderStatusChangeApi(config);\n }\n\n /**\n * List order status changes\n */\n async list(params?: OrderStatusChangeListParams): Promise<PageOfOrderStatusChanges> {\n return this.orderStatusChangeApi.getAppEcommerceApiV2GetorderstatuschangesInvoke(\n params?.page,\n params?.from ? new Date(params.from) : undefined,\n params?.to ? new Date(params.to) : undefined\n );\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * API V2\n * API V2\n *\n * The version of the OpenAPI document: 1.0-alpha\n * \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\nimport * as runtime from '../runtime';\nimport type {\n InvalidRequestDataResponse,\n Me,\n ServerErrorResponse,\n} from '../models/index';\nimport {\n InvalidRequestDataResponseFromJSON,\n InvalidRequestDataResponseToJSON,\n MeFromJSON,\n MeToJSON,\n ServerErrorResponseFromJSON,\n ServerErrorResponseToJSON,\n} from '../models/index';\n\n/**\n * UserApi - interface\n * \n * @export\n * @interface UserApiInterface\n */\nexport interface UserApiInterface {\n /**\n * \n * @summary Validate your access token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApiInterface\n */\n getAppEcommerceApiV2GetmeInvokeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Me>>;\n\n /**\n * Validate your access token\n */\n getAppEcommerceApiV2GetmeInvoke(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Me>;\n\n}\n\n/**\n * \n */\nexport class UserApi extends runtime.BaseAPI implements UserApiInterface {\n\n /**\n * Validate your access token\n */\n async getAppEcommerceApiV2GetmeInvokeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Me>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n\n let urlPath = `/api/v2/user/me`;\n\n const response = await this.request({\n path: urlPath,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => MeFromJSON(jsonValue));\n }\n\n /**\n * Validate your access token\n */\n async getAppEcommerceApiV2GetmeInvoke(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Me> {\n const response = await this.getAppEcommerceApiV2GetmeInvokeRaw(initOverrides);\n return await response.value();\n }\n\n}\n","import { HTTPClient } from '../http/client';\nimport { Configuration } from '../types/generated/src/runtime';\nimport { UserApi } from '../types/generated/src/apis/UserApi';\nimport type {\n Me,\n} from '../types/generated/src/models';\n\n/**\n * Users resource\n */\nexport class UsersResource {\n private userApi: UserApi;\n\n constructor(\n private httpClient: HTTPClient,\n config: Configuration\n ) {\n this.userApi = new UserApi(config);\n }\n\n /**\n * Get current user (validate access token)\n */\n async me(): Promise<Me> {\n return this.userApi.getAppEcommerceApiV2GetmeInvoke();\n }\n}\n\n","import { Configuration } from './types/generated/src/runtime';\nimport { HTTPClient } from './http/client';\nimport { TokenManager } from './utils/tokenManager';\nimport { getBaseURL } from './utils/config';\nimport { AuthenticationResource } from './resources/authentication';\nimport { OrdersResource } from './resources/orders';\nimport { InvoicesResource } from './resources/invoices';\nimport { ClientsResource } from './resources/clients';\nimport { DiscountCodesResource } from './resources/discountCodes';\nimport { TrackingNumbersResource } from './resources/trackingNumbers';\nimport { OrderCommentsResource } from './resources/orderComments';\nimport { OrderStatusChangesResource } from './resources/orderStatusChanges';\nimport { UsersResource } from './resources/users';\n\nexport interface DoboxaConfig {\n /**\n * API key (access token). If not provided, you must call authentication.login() first.\n */\n apiKey?: string;\n /**\n * Base URL for the API. Defaults to DOBOXA_API_URL environment variable or http://localhost\n */\n baseURL?: string;\n}\n\n/**\n * Main Doboxa client class\n */\nexport class Doboxa {\n public readonly authentication: AuthenticationResource;\n public readonly orders: OrdersResource;\n public readonly invoices: InvoicesResource;\n public readonly clients: ClientsResource;\n public readonly discountCodes: DiscountCodesResource;\n public readonly trackingNumbers: TrackingNumbersResource;\n public readonly orderComments: OrderCommentsResource;\n public readonly orderStatusChanges: OrderStatusChangesResource;\n public readonly users: UsersResource;\n\n private tokenManager: TokenManager;\n private httpClient: HTTPClient;\n private config: Configuration;\n\n constructor(config: DoboxaConfig = {}) {\n const baseURL = config.baseURL || getBaseURL() || 'http://localhost';\n \n this.tokenManager = new TokenManager();\n if (config.apiKey) {\n this.tokenManager.setTokens(config.apiKey, '', 3600);\n }\n\n // Create configuration for generated APIs\n // Note: Generated APIs use apiKey for Bearer authentication\n this.config = new Configuration({\n basePath: baseURL,\n apiKey: async (name: string) => {\n if (name === 'Authorization') {\n const token = this.tokenManager.getAccessToken();\n if (!token) {\n throw new Error('No access token available');\n }\n return `Bearer ${token}`;\n }\n throw new Error(`Unknown API key name: ${name}`);\n },\n });\n\n // Create HTTP client with token refresh callback\n // Note: We create a temporary HTTP client for token refresh to avoid circular dependency\n const tempHttpClient = new HTTPClient({\n baseURL,\n tokenManager: this.tokenManager,\n });\n\n this.httpClient = new HTTPClient({\n baseURL,\n tokenManager: this.tokenManager,\n onTokenRefresh: async (refreshToken: string) => {\n // Use temporary HTTP client to refresh token (avoids circular dependency)\n const tempAuth = new AuthenticationResource(tempHttpClient, this.tokenManager);\n const response = await tempAuth.refreshToken(refreshToken);\n this.tokenManager.setTokens(response.token!, response.refresh_token!, 3600);\n return response.token!;\n },\n });\n\n // Initialize resources\n this.authentication = new AuthenticationResource(this.httpClient, this.tokenManager);\n this.orders = new OrdersResource(this.httpClient, this.config);\n this.invoices = new InvoicesResource(this.httpClient, this.config);\n this.clients = new ClientsResource(this.httpClient, this.config);\n this.discountCodes = new DiscountCodesResource(this.httpClient, this.config);\n this.trackingNumbers = new TrackingNumbersResource(this.httpClient, this.config);\n this.orderComments = new OrderCommentsResource(this.httpClient, this.config);\n this.orderStatusChanges = new OrderStatusChangesResource(this.httpClient, this.config);\n this.users = new UsersResource(this.httpClient, this.config);\n }\n}\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA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","names":["CreateOrderCommentAuthorTypeEnum","InvoiceStateEnum","InvoiceDocumentTypeEnum","OrderItemCropDataFilterEnum","OrderItemCropDataReflectionEnum","WaybillDeliveryMethodEnum","OrderPaymentMethodEnum","OrderCancellationResponseDetailsEnum","OrderCommentAuthorTypeEnum","OrderItemStatusStatusEnum","OrderStatusStatusEnum","OrderStatusChangeStatusEnum","PostOrderStatusItemStatusEnum","PostOrderStatusStatusEnum"]}