@climatepartner/climatepartner-api-sdk
Version:
The ClimatePartner API provides one uniform public API to customers of ClimatePartner.
4 lines • 115 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../src/gen/function/get-query-params.ts", "../src/gen/function/open-api.ts", "../src/gen/function/fetch-node.ts", "../src/gen/function/http.ts", "../../../../lib/http-utils/HttpHeaders.ts", "../src/gen/service/calculation-base-service.ts", "../src/calculation/index.ts", "../src/index.ts", "../src/gen/service/healthcheck-base-service.ts", "../src/healthcheck/index.ts", "../../../../lib/exponantial-backoff/delay/delayBase.ts", "../../../../lib/exponantial-backoff/delay/alwaysDelay/alwaysDelay.ts", "../../../../lib/exponantial-backoff/delay/skipFirst/skipFirstDelay.ts", "../../../../lib/exponantial-backoff/delay/delayFactory.ts", "../../../../lib/exponantial-backoff/exponantialBackoff.ts", "../../../../lib/exponantial-backoff/interface/types.ts", "../../../../lib/exponantial-backoff/index.ts", "../src/gen/service/order-base-service.ts", "../src/types.ts", "../src/order/index.ts", "../src/gen/service/sts-base-service.ts", "../src/sts/index.ts"],
"sourcesContent": ["const EMPTY_STRING = '';\n\n/**\n * Build the query\n * @param parameters\n */\nexport const getQueryParameters = (parameters: Array<IQueryParam> = []): string => {\n const keyValue: Array<string> = [];\n for (const parameter of parameters) {\n if (!!parameter.value) {\n if (Array.isArray(parameter.value)) {\n parameter.value.forEach(v => keyValue.push(getQueryParameter(parameter.name, v)));\n } else {\n keyValue.push(getQueryParameter(parameter.name, parameter.value));\n }\n }\n }\n if(keyValue.length === 0){\n return EMPTY_STRING;\n }\n return `?${keyValue.join('&')}`\n};\n\nconst getQueryParameter = (paramName: string, paramValue: string) => {\n return `${encodeURIComponent(paramName)}=${encodeURIComponent(paramValue)}`;\n};\n\nexport interface IQueryParam {\n name: string,\n value: any\n}\n", "import {ErrorHandler, HttpRequestFn, I$openApi, RequestInterceptor, ResponseInterceptor} from \"../interface/i-$-open-api\";\nimport { IQueryParam } from \"./get-query-params\";\n// @ts-ignore; works well once copied over to actual generated code\nimport {IError, IRequest} from \"./http\";\n\nexport const DEFAULT_REQUEST_INTERCEPTOR: RequestInterceptor = async (request: IRequest) => {\n return request;\n};\n\nexport const DEFAULT_RESPONSE_INTERCEPTOR: ResponseInterceptor<any> = async(request: IRequest, response: any, retry: HttpRequestFn, error?: IError) => {\n return response;\n};\n\nexport const DEFAULT_ERROR_HANDLER: ErrorHandler = (error: IError) => {\n return error;\n};\n\nexport const openApi: I$openApi = {\n requestInterceptor: DEFAULT_REQUEST_INTERCEPTOR,\n responseInterceptor: DEFAULT_RESPONSE_INTERCEPTOR,\n errorHandler: DEFAULT_ERROR_HANDLER,\n endpointUrl: ''\n};\n\n\nexport type HTTP_METHOD = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'\n\nexport const HEADER_CONTENT_TYPE = \"Content-Type\"\nexport const HEADER_ACCEPT = \"Accept\"\nexport const HEADER_CONTENT_DISPOSITION = \"Content-Disposition\"\n\nexport const buildUrl = (url: string, urlParameter: IParameter = {}): string => {\n let resultUrl = url;\n for (const key of Object.keys(urlParameter)) {\n resultUrl = resultUrl.replace(`{${key}}`, encodeURIComponent(urlParameter[key]));\n }\n return resultUrl;\n};\n\nexport interface IRequest {\n method: HTTP_METHOD;\n url: string;\n urlParameter?: IParameter;\n queryParameter?: Array<IQueryParam>;\n header?: IParameter;\n body?: string;\n}\n\nexport interface IError {\n status: number;\n message: string;\n}\n\nexport interface IParameter {\n [name: string]: string | number | boolean\n}", "import type { request as httpRequestType } from \"http\";\nimport type { request as httpsRequestType } from \"https\";\nimport { RequestOptions, Request, Response } from './http'\n\n// Dynamic Browser support\nlet httpRequest: typeof httpRequestType\nlet httpsRequest: typeof httpsRequestType\nif (typeof window === 'undefined') {\n httpRequest = require('http').request\n httpsRequest = require('https').request\n}\n\nexport const fetch = async (\n url: string | URL | Request,\n { method, headers, body, ...options }: RequestOptions = {}\n): Promise<Response> => {\n const _request: Request =\n typeof url === \"string\" || url instanceof URL\n ? new Request(url, { method, headers, body })\n : url;\n\n if (!(_request instanceof Request)) {\n throw new TypeError(\"url must be string, URL or Request\");\n }\n\n return new Promise((resolve, reject) => {\n const request =\n _request.url.protocol === \"https:\" ? httpsRequest : httpRequest;\n\n const req = request(\n _request.url,\n {\n method: _request.method,\n headers: _request.headers,\n ...options,\n },\n (res) => resolve(new Response(res))\n );\n\n req.on(\"error\", reject);\n req.end(_request.body.length ? _request.body : undefined);\n });\n};", "import type {\n IncomingHttpHeaders,\n IncomingMessage,\n} from \"http\";\nimport {\n RequestInterceptor,\n ErrorHandler,\n ResponseInterceptor,\n HttpRequestFn,\n} from \"../interface/i-$-open-api\";\nimport { getQueryParameters } from \"./get-query-params\";\nimport { buildUrl, HTTP_METHOD, IRequest } from \"./open-api\";\nimport type { fetch as nodeFetchType } from './fetch-node'\n\nexport const http = async (\n request: IRequest,\n requestInterceptor: RequestInterceptor,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n errorHandler: ErrorHandler,\n responseInterceptor: ResponseInterceptor<Response | globalThis.Response>\n): Promise<string> => {\n const fetch = typeof window !== 'undefined' && window.fetch ? window.fetch : (require('./fetch-node').fetch as typeof nodeFetchType) // Dynamic browser support\n const context = {};\n\n if (requestInterceptor) {\n request = await requestInterceptor(request, context);\n }\n\n const run: HttpRequestFn = async (request) => {\n const queryParams = getQueryParameters(request.queryParameter);\n const url = `${buildUrl(\n request.url,\n request.urlParameter\n )}${queryParams}`;\n\n try {\n const response = await fetch(url, {\n method: request.method,\n headers: request.header as Record<string, string>,\n body: request.body,\n });\n if (responseInterceptor) {\n return responseInterceptor(request, response, run, context);\n } else {\n return response.text();\n }\n } catch (e) {\n return responseInterceptor(request, undefined, run, context, e);\n }\n };\n\n return run(request);\n};\n\nexport interface RequestOptions {\n body?: string | Buffer;\n method?: HTTP_METHOD;\n headers?: IncomingHttpHeaders;\n}\n\nclass HeadersBase {\n [name: string]: string;\n constructor(headers?: IncomingHttpHeaders) {}\n}\n\nconst handler: ProxyHandler<HeadersBase> = {\n get(target, key: string) {\n return target[key.toLowerCase()];\n },\n\n set(target, key: string, value) {\n if (value === undefined) {\n delete target[key.toLowerCase()];\n } else {\n target[key.toLowerCase()] = value;\n }\n return true;\n },\n\n deleteProperty(target, key: string) {\n return delete target[key.toLowerCase()];\n },\n\n has(target, key: string) {\n return key.toLowerCase() in target;\n },\n};\n\nexport const Headers = new Proxy(HeadersBase, {\n construct(target, [headers = {}]: [{ [key: string]: string }]) {\n const res = new Proxy(new target(), handler);\n\n Object.entries(headers).forEach(([key, value]) => {\n res[key] = value;\n });\n\n return res;\n },\n});\n\nexport class Request {\n public method: HTTP_METHOD;\n public headers: HeadersBase;\n public body: Buffer;\n public url: URL;\n\n constructor(\n url: string | URL,\n { method = \"GET\", headers = {}, body }: RequestOptions = {}\n ) {\n this.url = url instanceof URL ? url : new URL(url);\n this.method = method;\n this.headers = new Headers(headers);\n this.body = Buffer.from(body || \"\");\n }\n}\n\nexport class Response {\n public status: number;\n public statusText: string;\n public headers: HeadersBase;\n public body: Promise<Buffer>;\n\n constructor(public incomingMessage: IncomingMessage) {\n this.status = incomingMessage.statusCode || 0;\n this.statusText = incomingMessage.statusMessage || \"\";\n this.headers = new Headers(incomingMessage.headers);\n\n this.body = new Promise((resolve, reject) => {\n const chunks: Array<Buffer> = [];\n incomingMessage.on(\"data\", (chunk) => chunks.push(chunk));\n incomingMessage.on(\"aborted\", () => reject(new Error(\"aborted\")));\n incomingMessage.on(\"end\", () => resolve(Buffer.concat(chunks)));\n });\n }\n\n async blob(): Promise<Buffer> {\n return this.body;\n }\n\n async text(): Promise<string> {\n return (await this.blob()).toString(\"utf8\");\n }\n}\n", "export enum HttpHeaders {\n AUTHORIZATION = 'Authorization',\n CONTENT_TYPE = 'Content-Type',\n X_API_KEY = 'X-Api-Key',\n}\n\nexport const basicAuthHeader = (username: string, password: string) =>\n `Basic ` + Buffer.from(`${username}:${password}`).toString('base64')\n\nexport const bearerAuthHeader = (token: string) => `Bearer ${token}`\n", "/**\n * This file was generated by st-open-api\n */\nimport {ErrorHandler} from '../interface/i-$-open-api';\nimport {IAirTravelRequest} from '../interface/components/i-air-travel-request';\nimport {ICalculationRequest} from '../interface/components/i-calculation-request';\nimport {ICalculationResponse} from '../interface/components/i-calculation-response';\nimport {ICarRentalRequest} from '../interface/components/i-car-rental-request';\nimport {IChoiceValuesResponse} from '../interface/components/i-choice-values-response';\nimport {IDistanceCalculationRequest} from '../interface/components/i-distance-calculation-request';\nimport {IDistanceCalculationResponse} from '../interface/components/i-distance-calculation-response';\nimport {IEcotransitBatchPostResponse} from '../interface/components/i-ecotransit-batch-post-response';\nimport {IEcotransitBatchRequest} from '../interface/components/i-ecotransit-batch-request';\nimport {IEcotransitBatchStatusPathParameter} from '../interface/parameter/i-ecotransit-batch-status-path-parameter';\nimport {IEcotransitBatchStatusQueryParameter} from '../interface/parameter/i-ecotransit-batch-status-query-parameter';\nimport {IEcotransitBatchStatusResponse} from '../interface/components/i-ecotransit-batch-status-response';\nimport {IEcotransitCalculationRequest} from '../interface/components/i-ecotransit-calculation-request';\nimport {IEcotransitCalculationResponse} from '../interface/components/i-ecotransit-calculation-response';\nimport {IFormulaCalculationResponse} from '../interface/components/i-formula-calculation-response';\nimport {IGetChoiceValuesPathParameter} from '../interface/parameter/i-get-choice-values-path-parameter';\nimport {IGetChoiceValuesQueryParameter} from '../interface/parameter/i-get-choice-values-query-parameter';\nimport {IGreenGrpAddressableTelevisionRequest} from '../interface/components/i-green-grp-addressable-television-request';\nimport {IGreenGrpCinemaRequest} from '../interface/components/i-green-grp-cinema-request';\nimport {IGreenGrpDoohGrossContactsRequest} from '../interface/components/i-green-grp-dooh-gross-contacts-request';\nimport {IGreenGrpDoohScreensRequest} from '../interface/components/i-green-grp-dooh-screens-request';\nimport {IGreenGrpLinearTelevisionRequest} from '../interface/components/i-green-grp-linear-television-request';\nimport {IGreenGrpNewspaperRequest} from '../interface/components/i-green-grp-newspaper-request';\nimport {IGreenGrpOOHRequest} from '../interface/components/i-green-grp-o-o-h-request';\nimport {IGreenGrpOnlineAudioRequest} from '../interface/components/i-green-grp-online-audio-request';\nimport {IGreenGrpOnlineImageRequest} from '../interface/components/i-green-grp-online-image-request';\nimport {IGreenGrpOnlineSearchRequest} from '../interface/components/i-green-grp-online-search-request';\nimport {IGreenGrpOnlineVideoRequest} from '../interface/components/i-green-grp-online-video-request';\nimport {IGreenGrpPrintTotalWeightRequest} from '../interface/components/i-green-grp-print-total-weight-request';\nimport {IGreenGrpRadioRequest} from '../interface/components/i-green-grp-radio-request';\nimport {IGreenGrpSocialMediaOnlineImageRequest} from '../interface/components/i-green-grp-social-media-online-image-request';\nimport {IGreenGrpSocialMediaOnlineVideoRequest} from '../interface/components/i-green-grp-social-media-online-video-request';\nimport {IGreenGrpSupplementRequest} from '../interface/components/i-green-grp-supplement-request';\nimport {IHotelStayRequest} from '../interface/components/i-hotel-stay-request';\nimport {IPPPMaterialWeightBatchRequest} from '../interface/components/i-p-p-p-material-weight-batch-request';\nimport {IPPPMaterialWeightBatchResponse} from '../interface/components/i-p-p-p-material-weight-batch-response';\nimport {IPPPMaterialWeightRequest} from '../interface/components/i-p-p-p-material-weight-request';\nimport {IPPPPaperDimensionRequest} from '../interface/components/i-p-p-p-paper-dimension-request';\nimport {IRailTravelRequest} from '../interface/components/i-rail-travel-request';\nimport {IRoadTravelRequest} from '../interface/components/i-road-travel-request';\nimport {IRothoCalculationRequest} from '../interface/components/i-rotho-calculation-request';\nimport {IRothoCalculationResponse} from '../interface/components/i-rotho-calculation-response';\nimport {IVehicleFleetConsumptionRequest} from '../interface/components/i-vehicle-fleet-consumption-request';\nimport {IVehicleFleetDistanceRequest} from '../interface/components/i-vehicle-fleet-distance-request';\nimport {IWasteManagementRequest} from '../interface/components/i-waste-management-request';\nimport {RequestInterceptor} from '../interface/i-$-open-api';\nimport {ResponseInterceptor} from '../interface/i-$-open-api';\nimport {http} from '../function/http';\nimport {openApi} from '../function/open-api';\n\nexport class CalculationBaseService {\n\n airTravel = async (body: IAirTravelRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/travel/air`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n calculateDistance = async (body: IDistanceCalculationRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IDistanceCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/distance`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n carRentalTravel = async (body: ICarRentalRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/travel/car-rental`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n ecotransitBatchCalculation = async (body: IEcotransitBatchRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IEcotransitBatchPostResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/logistics/ecotransit/batch`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n ecotransitBatchStatus = async (pathParameter: IEcotransitBatchStatusPathParameter, queryParameter: IEcotransitBatchStatusQueryParameter, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IEcotransitBatchStatusResponse> => {\n \n const queryParam = [\n {name: 'cursor', value: queryParameter.cursor},\n {name: 'limit', value: queryParameter.limit},\n ];\n \n const pathParam = {\n 'batchId': pathParameter.batchId,\n };\n \n const response = await http({\n method: 'GET',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/logistics/ecotransit/batch/{batchId}`,\n queryParameter: queryParam,\n urlParameter: pathParam,\n header: {\n Accept: 'application/json',\n },\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n ecotransitCalculation = async (body: IEcotransitCalculationRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IEcotransitCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/logistics/ecotransit`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n getChoiceValues = async (pathParameter: IGetChoiceValuesPathParameter, queryParameter: IGetChoiceValuesQueryParameter, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IChoiceValuesResponse> => {\n \n const queryParam = [\n {name: 'cursor', value: queryParameter.cursor},\n {name: 'limit', value: queryParameter.limit},\n ];\n \n const pathParam = {\n 'choiceSlug': pathParameter.choiceSlug,\n };\n \n const response = await http({\n method: 'GET',\n url: `${openApi.endpointUrl}/calculation/v1/choices/{choiceSlug}`,\n queryParameter: queryParam,\n urlParameter: pathParam,\n header: {\n Accept: 'application/json',\n },\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpAddressableTelevision = async (body: IGreenGrpAddressableTelevisionRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/addressable-television`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpCinema = async (body: IGreenGrpCinemaRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/cinema`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpDoohGrossContacts = async (body: IGreenGrpDoohGrossContactsRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/dooh-gross-contacts`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpDoohScreens = async (body: IGreenGrpDoohScreensRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/dooh-screens`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpLinearTelevision = async (body: IGreenGrpLinearTelevisionRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/linear-television`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpNewspaper = async (body: IGreenGrpNewspaperRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/newspaper`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpOnlineAudio = async (body: IGreenGrpOnlineAudioRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/online-audio`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpOnlineImage = async (body: IGreenGrpOnlineImageRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/online-image`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpOnlineSearch = async (body: IGreenGrpOnlineSearchRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/online-search`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpOnlineVideo = async (body: IGreenGrpOnlineVideoRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/online-video`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpOOH = async (body: IGreenGrpOOHRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/ooh`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpRadio = async (body: IGreenGrpRadioRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/radio`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpSocialMediaOnlineImage = async (body: IGreenGrpSocialMediaOnlineImageRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/social-media-online-image`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpSocialMediaOnlineVideo = async (body: IGreenGrpSocialMediaOnlineVideoRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/social-media-online-video`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpSupplement = async (body: IGreenGrpSupplementRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/supplement`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n greenGrpTotalWeight = async (body: IGreenGrpPrintTotalWeightRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/green-grp/print-total-weight`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n hotelStayTravel = async (body: IHotelStayRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/travel/hotel-stay`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n pppMaterialWeight = async (body: IPPPMaterialWeightRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/ppp/weight`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n pppMaterialWeightBatch = async (body: IPPPMaterialWeightBatchRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IPPPMaterialWeightBatchResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/ppp/weight/batch`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n pppPaperDimension = async (body: IPPPPaperDimensionRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/ppp/dimension`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n railTravel = async (body: IRailTravelRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/travel/rail`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n roadTravel = async (body: IRoadTravelRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/travel/road`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n rothoCalculation = async (body: IRothoCalculationRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IRothoCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/pcf-rotho`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n transportTotalEmissions = async (body: ICalculationRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<ICalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/transportTotalEmissions`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n vehicleFleetConsumption = async (body: IVehicleFleetConsumptionRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/vehicle-fleet/consumption`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n vehicleFleetDistance = async (body: IVehicleFleetDistanceRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/vehicle-fleet/distance`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n wasteManagement = async (body: IWasteManagementRequest, interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IFormulaCalculationResponse> => {\n \n const response = await http({\n method: 'POST',\n url: `${openApi.endpointUrl}/calculation/v1/calculate/waste-management`,\n header: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n}\n", "import { CalculationBaseService } from '../gen/service/calculation-base-service'\n\nexport class CalculationService extends CalculationBaseService {}\n", "import {\n HttpHeaders,\n HttpStatusCodes,\n MimeTypes,\n bearerAuthHeader,\n} from '@climatepartner/unified-api-lib-http-utils'\n\nimport { CalculationService } from './calculation'\nimport { Response } from './gen/function/http'\nimport { IError, IRequest, openApi } from './gen/function/open-api'\nimport { ICodeErrorCommonErrorUnauthorized } from './gen/interface/components/interface/enumeration/i-code-error-common-error-unauthorized'\nimport { HttpRequestFn, InterceptorContext } from './gen/interface/i-$-open-api'\nimport { HealthcheckService } from './healthcheck'\nimport { OrderService } from './order'\nimport { StsService } from './sts'\nimport {\n RawError,\n UnifiedApiBadRequestError,\n UnifiedApiConfiguration,\n UnifiedApiInternalServerError,\n} from './types'\n\nexport class UnifiedApi {\n #longtermToken: string\n\n #authorizationStoragePath?: string\n\n #stsService?: StsService\n\n #healthCheckService?: HealthcheckService\n\n #orderService?: OrderService\n\n #calculationService?: CalculationService\n\n constructor(options: UnifiedApiConfiguration) {\n const { longtermToken, endpointUrl, authorizationStoragePath } = options\n this.#longtermToken = longtermToken\n this.#authorizationStoragePath = authorizationStoragePath\n\n openApi.requestInterceptor = this.#requestInterceptor\n openApi.responseInterceptor = this.#responseInterceptor\n openApi.errorHandler = this.#errorHandler\n openApi.endpointUrl =\n endpointUrl || 'https://unified-api.climatepartner.com'\n }\n\n getStsService = () => {\n if (!this.#stsService) {\n this.#stsService = new StsService(\n this.#longtermToken,\n this.#authorizationStoragePath,\n )\n }\n\n return this.#stsService\n }\n\n getHealthcheckService = () => {\n if (!this.#healthCheckService) {\n this.#healthCheckService = new HealthcheckService()\n }\n\n return this.#healthCheckService\n }\n\n getOrderService = () => {\n if (!this.#orderService) {\n this.#orderService = new OrderService()\n }\n\n return this.#orderService\n }\n\n getCalculationService = () => {\n if (!this.#calculationService) {\n this.#calculationService = new CalculationService()\n }\n\n return this.#calculationService\n }\n #requestInterceptor = async (request: IRequest) => {\n request.header = {\n ...request.header,\n [HttpHeaders.AUTHORIZATION]: bearerAuthHeader(\n await this.getStsService().getToken(),\n ),\n }\n\n return request\n }\n\n #responseInterceptor = async (\n request: IRequest,\n response: Response | undefined,\n retry: HttpRequestFn,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n context: InterceptorContext,\n error?: IError | unknown,\n ) => {\n // the retry() function is a reference to the function that has been called\n // internally to run the request. The request object contains all parameters\n // so we can mutate them if necessary, and rety.\n if (error) {\n throw error\n }\n\n if (response) {\n if (response.status === HttpStatusCodes.UNAUTHORIZED) {\n if (\n response.headers[HttpHeaders.CONTENT_TYPE].startsWith(\n MimeTypes.APPLICATION_JSON,\n )\n ) {\n const body = JSON.parse(await response.text())\n if (\n body?.error?.code === ICodeErrorCommonErrorUnauthorized.JWT_EXPIRED\n ) {\n request.header = {\n ...request.header,\n [HttpHeaders.AUTHORIZATION]: bearerAuthHeader(\n await this.getStsService().getToken(true),\n ),\n }\n return retry(request)\n }\n }\n }\n\n if (response.status >= 400 && response.status < 500) {\n const rawError: RawError = JSON.parse(await response.text())\n throw new UnifiedApiBadRequestError(\n response.status,\n rawError.error.code,\n rawError.error.message,\n )\n }\n if (response.status >= 500) {\n const rawError: RawError = JSON.parse(await response.text())\n throw new UnifiedApiInternalServerError(\n response.status,\n rawError.error.code,\n rawError.error.message,\n )\n }\n return response.text()\n } else {\n return ''\n }\n }\n\n #errorHandler = (error: IError) => {\n return error\n }\n}\n\nexport const ClimatePartnerApi = UnifiedApi\n", "/**\n * This file was generated by st-open-api\n */\nimport {ErrorHandler} from '../interface/i-$-open-api';\nimport {IHealthcheckResponse} from '../interface/components/i-healthcheck-response';\nimport {RequestInterceptor} from '../interface/i-$-open-api';\nimport {ResponseInterceptor} from '../interface/i-$-open-api';\nimport {http} from '../function/http';\nimport {openApi} from '../function/open-api';\n\nexport class HealthcheckBaseService {\n\n healthcheck = async (interceptor: RequestInterceptor = openApi.requestInterceptor, errorHandler: ErrorHandler = openApi.errorHandler, responseInterceptor: ResponseInterceptor<any> = openApi.responseInterceptor): Promise<IHealthcheckResponse> => {\n \n const response = await http({\n method: 'GET',\n url: `${openApi.endpointUrl}/healthcheck/v1/healthcheck`,\n header: {\n Accept: 'application/json',\n },\n },\n interceptor,\n errorHandler,\n responseInterceptor\n );\n return JSON.parse(response);\n };\n \n\n}\n", "import { HealthcheckBaseService } from '../gen/service/healthcheck-base-service'\n\nexport class HealthcheckService extends HealthcheckBaseService {}\n", "import { IExonantialBackOffOptions } from '../interface/types'\nimport { IDelay } from './types'\n\nexport abstract cla