{"version":3,"file":"js/app-legacy.55f265dd.js","mappings":"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","sources":["webpack://frontend/./src/api/api.ts","webpack://frontend/./src/api/baseUrl.ts","webpack://frontend/./src/api/clients.ts","webpack://frontend/./src/common/helpers/LoadingMixin.ts","webpack://frontend/./src/common/helpers/PresentationModeStore.ts","webpack://frontend/./src/common/helpers/StoreBase.ts","webpack://frontend/./src/common/helpers/downloadStore.ts","webpack://frontend/./src/common/helpers/loading.ts","webpack://frontend/./src/common/helpers/pushNotifications.ts","webpack://frontend/./src/customers/stores/CustomerStore.ts","webpack://frontend/./src/i18n.ts","webpack://frontend/./src/auth/auth0.ts","webpack://frontend/./src/auth/getAuth0Connection.ts","webpack://frontend/./src/common/components/IconWrapper.vue?2010","webpack://frontend/./src/common/components/IconWrapper.vue?900d","webpack://frontend/./src/common/components/IconWrapper.vue?1c2a","webpack://frontend/./src/common/components/IconWrapper.vue","webpack://frontend/./src/common/components/PageHeader.vue?fce5","webpack://frontend/./src/common/components/PageHeader.vue?034d","webpack://frontend/./src/common/components/PageHeader.vue?ba3e","webpack://frontend/./src/common/components/PageHeader.vue","webpack://frontend/./src/common/helpers/BackgroundSyncStore.ts","webpack://frontend/./src/registerServiceWorker.ts","webpack://frontend/./src/customers/helpers/nonStaffSingleCustomerGuard.ts","webpack://frontend/./src/router/authGuard.ts","webpack://frontend/./src/layout/BaseLayout.vue?e342","webpack://frontend/./src/layout/Breadcrumbs.vue?2019","webpack://frontend/./src/layout/Breadcrumbs.vue?008b","webpack://frontend/./src/layout/Breadcrumbs.vue?ff21","webpack://frontend/./src/layout/Breadcrumbs.vue","webpack://frontend/./src/layout/FooterLayout.vue?8992","webpack://frontend/./src/layout/FooterLayout.vue?95f5","webpack://frontend/./src/layout/FooterLayout.vue?23e5","webpack://frontend/./src/layout/FooterLayout.vue","webpack://frontend/./src/layout/Navigation.vue?df4e","webpack://frontend/./src/layout/NavigationItem.vue?43f8","webpack://frontend/./src/layout/NavigationItem.vue?2273","webpack://frontend/./src/layout/NavigationItem.vue?e663","webpack://frontend/./src/layout/NavigationItem.vue","webpack://frontend/./src/layout/Navigation.vue?5a43","webpack://frontend/./src/layout/Navigation.vue?e29a","webpack://frontend/./src/layout/Navigation.vue","webpack://frontend/./src/layout/BaseLayout.vue?824c","webpack://frontend/./src/layout/BaseLayout.vue?5c95","webpack://frontend/./src/layout/BaseLayout.vue","webpack://frontend/./src/layout/RouteParent.vue?ac63","webpack://frontend/./src/layout/RouteParent.vue?e7cf","webpack://frontend/./src/layout/RouteParent.vue?1b56","webpack://frontend/./src/layout/RouteParent.vue","webpack://frontend/./src/router/routes.ts","webpack://frontend/./src/router/router.ts","webpack://frontend/./src/App.vue?356d","webpack://frontend/./src/App.vue?38a5","webpack://frontend/./src/App.vue?a37c","webpack://frontend/./src/App.vue","webpack://frontend/./src/styles/fontAwesomeIcons.ts","webpack://frontend/./src/main.ts","webpack://frontend/./src/assets/ sync ^\\.\\/.*\\.svg$","webpack://frontend/webpack/bootstrap","webpack://frontend/webpack/runtime/amd options","webpack://frontend/webpack/runtime/chunk loaded","webpack://frontend/webpack/runtime/compat get default export","webpack://frontend/webpack/runtime/create fake namespace object","webpack://frontend/webpack/runtime/define property getters","webpack://frontend/webpack/runtime/ensure chunk","webpack://frontend/webpack/runtime/get javascript chunk filename","webpack://frontend/webpack/runtime/get mini-css chunk filename","webpack://frontend/webpack/runtime/global","webpack://frontend/webpack/runtime/hasOwnProperty shorthand","webpack://frontend/webpack/runtime/load script","webpack://frontend/webpack/runtime/make namespace object","webpack://frontend/webpack/runtime/publicPath","webpack://frontend/webpack/runtime/css loading","webpack://frontend/webpack/runtime/jsonp chunk loading","webpack://frontend/webpack/startup"],"sourcesContent":["import { baseUrl } from '@/api/baseUrl';\nimport {\n AnonymousClient,\n CustomersClient, DepartmentsClient,\n LubricantFillingClient,\n LubricantsClient,\n MachinesClient,\n MachineToursClient,\n MachineTypesClient,\n MeasurementsClient,\n NotificationsClient,\n ProductGroupsClient,\n ProductsClient,\n TenantClient,\n UsersClient,\n} from '@/api/clients';\nimport { ToastProgrammatic } from 'buefy';\nimport Vue from 'vue';\n\nfunction createTimeoutSignal(): AbortSignal {\n const controller = new AbortController();\n setTimeout(() => controller.abort(), 5000);\n return controller.signal;\n}\n\nconst fetchWrapper: { fetch: typeof window.fetch } = {\n async fetch(request, options): Promise {\n const accessToken = await Vue.prototype.$auth.getTokenSilently();\n\n try {\n return await window.fetch(request, {\n ...options,\n signal: options?.method === 'POST' ? createTimeoutSignal() : null,\n headers: {\n ...options?.headers,\n Authorization: 'Bearer ' + accessToken,\n },\n });\n } catch (e) {\n if ((e instanceof TypeError || e instanceof DOMException) && options?.method?.toUpperCase() === 'POST') {\n ToastProgrammatic.open({\n message: 'Anfrage wird bis zu 24h lang zwischengespeichert und wiederholt, wenn eine Netzwerkverbindung möglich ist.',\n type: 'is-warning',\n });\n\n return new Response(null, { status: 200 });\n } else {\n throw e;\n }\n }\n },\n};\n\nexport const customersClient = new CustomersClient(baseUrl, fetchWrapper);\nexport const usersClient = new UsersClient(baseUrl, fetchWrapper);\nexport const machinesClient = new MachinesClient(baseUrl, fetchWrapper);\nexport const machineTypesClient = new MachineTypesClient(baseUrl, fetchWrapper);\nexport const measurementsClient = new MeasurementsClient(baseUrl, fetchWrapper);\nexport const lubricantsClient = new LubricantsClient(baseUrl, fetchWrapper);\nexport const productsClient = new ProductsClient(baseUrl, fetchWrapper);\nexport const productGroupsClient = new ProductGroupsClient(baseUrl, fetchWrapper);\nexport const lubricantFillingClient = new LubricantFillingClient(baseUrl, fetchWrapper);\nexport const notificationsClient = new NotificationsClient(baseUrl, fetchWrapper);\nexport const toursClient = new MachineToursClient(baseUrl, fetchWrapper);\nexport const tenantClient = new TenantClient(baseUrl, fetchWrapper);\nexport const anonymousClient = new AnonymousClient(baseUrl);\nexport const departmentsClient = new DepartmentsClient(baseUrl, fetchWrapper);\n","export const baseUrl = process.env.NODE_ENV === 'production' ? window.location.origin : 'http://localhost:5000';\n","//----------------------\n// \n// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nexport class AnonymousClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getMachines(customerId: string | undefined, departmentId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/anonymous/machines?\";\n if (customerId === null)\n throw new Error(\"The parameter 'customerId' cannot be null.\");\n else if (customerId !== undefined)\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetMachines(_response);\n });\n }\n\n protected processGetMachines(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportMachine(machineId: string | undefined, from: string | undefined, to: string | undefined): Promise {\n let url_ = this.baseUrl + \"/anonymous/exportMachine?\";\n if (machineId === null)\n throw new Error(\"The parameter 'machineId' cannot be null.\");\n else if (machineId !== undefined)\n url_ += \"machineId=\" + encodeURIComponent(\"\" + machineId) + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExportMachine(_response);\n });\n }\n\n protected processExportMachine(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportAll(customerId: string | undefined, departmentId: string | null | undefined, from: string | undefined, to: string | undefined): Promise {\n let url_ = this.baseUrl + \"/anonymous/export-all?\";\n if (customerId === null)\n throw new Error(\"The parameter 'customerId' cannot be null.\");\n else if (customerId !== undefined)\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExportAll(_response);\n });\n }\n\n protected processExportAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class CustomersClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getEnrichedById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/enriched\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetEnrichedById(_response);\n });\n }\n\n protected processGetEnrichedById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as EnrichedCustomerModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createCustomer(model: CreateCustomerModel): Promise {\n let url_ = this.baseUrl + \"/api/Customers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateCustomer(_response);\n });\n }\n\n protected processCreateCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Customers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CustomerModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateMeasurementInterval(id: string, model: OptionalIntValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/measurementInterval\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateMeasurementInterval(_response);\n });\n }\n\n protected processUpdateMeasurementInterval(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assignUser(id: string, model: AssignUserModel): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/assignUser\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAssignUser(_response);\n });\n }\n\n protected processAssignUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getCustomersByAssignedUser(userId: string): Promise {\n let url_ = this.baseUrl + \"/api/Customers/byUser/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetCustomersByAssignedUser(_response);\n });\n }\n\n protected processGetCustomersByAssignedUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CustomersAndDepartmentsModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n parseMachinesForLabImport(id: string, departmentId: string | null | undefined, files: FileParameter[] | undefined): Promise<{ [key: string]: string; }> {\n let url_ = this.baseUrl + \"/api/Customers/{id}/labImport/parseMachines?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files === null || files === undefined)\n throw new Error(\"The parameter 'files' cannot be null.\");\n else\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processParseMachinesForLabImport(_response);\n });\n }\n\n protected processParseMachinesForLabImport(response: Response): Promise<{ [key: string]: string; }> {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as { [key: string]: string; };\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve<{ [key: string]: string; }>(null as any);\n }\n\n importLabResults(id: string, departmentId: string | null | undefined, files: FileParameter[] | undefined, machineIdsByName: string | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/labImport?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files === null || files === undefined)\n throw new Error(\"The parameter 'files' cannot be null.\");\n else\n files.forEach(item_ => content_.append(\"Files\", item_.data, item_.fileName ? item_.fileName : \"Files\") );\n if (machineIdsByName === null || machineIdsByName === undefined)\n throw new Error(\"The parameter 'machineIdsByName' cannot be null.\");\n else\n content_.append(\"MachineIdsByName\", machineIdsByName.toString());\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processImportLabResults(_response);\n });\n }\n\n protected processImportLabResults(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createTour(id: string, departmentId: string | null | undefined, type: MeasurementType | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/tours?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateTour(_response);\n });\n }\n\n protected processCreateTour(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ValueModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getNotifications(id: string, limit: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/notifications?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (limit === null)\n throw new Error(\"The parameter 'limit' cannot be null.\");\n else if (limit !== undefined)\n url_ += \"limit=\" + encodeURIComponent(\"\" + limit) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetNotifications(_response);\n });\n }\n\n protected processGetNotifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as NotificationModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMachineAggregation(id: string, departmentId: string | undefined, from: string | undefined, to: string | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/aggregations/machines?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (departmentId === null)\n throw new Error(\"The parameter 'departmentId' cannot be null.\");\n else if (departmentId !== undefined)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetMachineAggregation(_response);\n });\n }\n\n protected processGetMachineAggregation(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineAggregationModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllProducts(id: string, departmentId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/allProducts?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAllProducts(_response);\n });\n }\n\n protected processGetAllProducts(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as AllProductsModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n createDepartment(id: string, body: CreateCustomerModel): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/departments\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateDepartment(_response);\n });\n }\n\n protected processCreateDepartment(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getDepartments(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/departments\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetDepartments(_response);\n });\n }\n\n protected processGetDepartments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DepartmentModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CustomerModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Customers/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DepartmentsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n addMachines(id: string, body: MultipleIdsModel): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/machines\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddMachines(_response);\n });\n }\n\n protected processAddMachines(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByCustomerId(customerId: string): Promise {\n let url_ = this.baseUrl + \"/api/Departments/byCustomer/{customerId}\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByCustomerId(_response);\n });\n }\n\n protected processGetByCustomerId(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DepartmentModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getEnrichedById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/enriched\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetEnrichedById(_response);\n });\n }\n\n protected processGetEnrichedById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as EnrichedDepartmentModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateMeasurementInterval(id: string, model: OptionalIntValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/measurementInterval\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateMeasurementInterval(_response);\n });\n }\n\n protected processUpdateMeasurementInterval(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n assignUser(id: string, model: AssignUserModel): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/assignUser\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAssignUser(_response);\n });\n }\n\n protected processAssignUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getNotifications(id: string, limit: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/notifications?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (limit === null)\n throw new Error(\"The parameter 'limit' cannot be null.\");\n else if (limit !== undefined)\n url_ += \"limit=\" + encodeURIComponent(\"\" + limit) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetNotifications(_response);\n });\n }\n\n protected processGetNotifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as NotificationModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Departments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DepartmentModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DepartmentModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Departments/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class LubricantFillingClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/LubricantFilling/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/LubricantFilling/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantFillingModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateLubricant(id: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/LubricantFilling/{id}/lubricant\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateLubricant(_response);\n });\n }\n\n protected processUpdateLubricant(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateDate(id: string, model: DateValueModel): Promise {\n let url_ = this.baseUrl + \"/api/LubricantFilling/{id}/date\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateDate(_response);\n });\n }\n\n protected processUpdateDate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/LubricantFilling\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantFillingModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class LubricantsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n createLubricant(model: CreateLubricantModel): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateLubricant(_response);\n });\n }\n\n protected processCreateLubricant(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeThreshold(lubricantId: string, body: OptionalChangeFieldOptionalValueModelOfLubricantThresholdField): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{lubricantId}/threshold\";\n if (lubricantId === undefined || lubricantId === null)\n throw new Error(\"The parameter 'lubricantId' must be defined.\");\n url_ = url_.replace(\"{lubricantId}\", encodeURIComponent(\"\" + lubricantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeThreshold(_response);\n });\n }\n\n protected processChangeThreshold(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByMachine(machineId: string): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/by/machine/{machineId}\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByMachine(_response);\n });\n }\n\n protected processGetByMachine(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByCustomer(customerId: string, departmentId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/by/customer/{customerId}?\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByCustomer(_response);\n });\n }\n\n protected processGetByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n uploadDocuments(id: string, files: FileParameter[] | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}/documents\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files === null || files === undefined)\n throw new Error(\"The parameter 'files' cannot be null.\");\n else\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUploadDocuments(_response);\n });\n }\n\n protected processUploadDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n removeDocument(id: string, documentId: string): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}/documents/{documentId}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRemoveDocument(_response);\n });\n }\n\n protected processRemoveDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadDocument(documentId: string): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/documents/{documentId}\";\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDownloadDocument(_response);\n });\n }\n\n protected processDownloadDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n renameDocument(id: string, documentId: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}/documents/{documentId}/name\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRenameDocument(_response);\n });\n }\n\n protected processRenameDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as LubricantModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Lubricants/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MachinesClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n createMachines(body: CreateMachinesModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateMachines(_response);\n });\n }\n\n protected processCreateMachines(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Machines\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByCustomer(customerId: string, departmentId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Machines/byCustomer/{customerId}?\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByCustomer(_response);\n });\n }\n\n protected processGetByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAllByCustomer(customerId: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/byCustomer/{customerId}/all\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAllByCustomer(_response);\n });\n }\n\n protected processGetAllByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as DepartmentMachineModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getOverview(machineId: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/overview\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetOverview(_response);\n });\n }\n\n protected processGetOverview(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineOverviewModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addFilling(machineId: string, model: AddFillingModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/filling\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddFilling(_response);\n });\n }\n\n protected processAddFilling(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addMeasurement(machineId: string, model: CreateMeasurementModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/measurement\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddMeasurement(_response);\n });\n }\n\n protected processAddMeasurement(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n importMeasurements(machineId: string, files: FileParameter[] | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/measurements/import\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files === null || files === undefined)\n throw new Error(\"The parameter 'files' cannot be null.\");\n else\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processImportMeasurements(_response);\n });\n }\n\n protected processImportMeasurements(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ImportResultModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addProduct(machineId: string, model: AddMachineProductModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/products\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddProduct(_response);\n });\n }\n\n protected processAddProduct(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMachineProduct(machineId: string, productId: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/products/{productId}\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (productId === undefined || productId === null)\n throw new Error(\"The parameter 'productId' must be defined.\");\n url_ = url_.replace(\"{productId}\", encodeURIComponent(\"\" + productId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetMachineProduct(_response);\n });\n }\n\n protected processGetMachineProduct(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineProductModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n removeProduct(machineId: string, productId: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/products/{productId}\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (productId === undefined || productId === null)\n throw new Error(\"The parameter 'productId' must be defined.\");\n url_ = url_.replace(\"{productId}\", encodeURIComponent(\"\" + productId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRemoveProduct(_response);\n });\n }\n\n protected processRemoveProduct(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateMachineProductFillingAmount(machineId: string, productId: string, model: OptionalDecimalModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/products/{productId}/fillingAmount\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (productId === undefined || productId === null)\n throw new Error(\"The parameter 'productId' must be defined.\");\n url_ = url_.replace(\"{productId}\", encodeURIComponent(\"\" + productId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateMachineProductFillingAmount(_response);\n });\n }\n\n protected processUpdateMachineProductFillingAmount(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateFillingQuantity(machineId: string, model: DecimalValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/quantity\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateFillingQuantity(_response);\n });\n }\n\n protected processUpdateFillingQuantity(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateMeasurementInterval(machineId: string, model: OptionalIntValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/measurementInterval\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateMeasurementInterval(_response);\n });\n }\n\n protected processUpdateMeasurementInterval(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateType(machineId: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/type\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateType(_response);\n });\n }\n\n protected processUpdateType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n reorder(customerId: string, departmentId: string | null | undefined, model: ReorderMachinesModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/byCustomer/{customerId}/reorder?\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processReorder(_response);\n });\n }\n\n protected processReorder(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n export(machineId: string, from: string | undefined, to: string | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{machineId}/export?\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExport(_response);\n });\n }\n\n protected processExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportAll(customerId: string | undefined, departmentId: string | null | undefined, from: string | undefined, to: string | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Machines/export-all?\";\n if (customerId === null)\n throw new Error(\"The parameter 'customerId' cannot be null.\");\n else if (customerId !== undefined)\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExportAll(_response);\n });\n }\n\n protected processExportAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n exportMachinesList(customerId: string | undefined, departmentId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Machines/exportMachinesList?\";\n if (customerId === null)\n throw new Error(\"The parameter 'customerId' cannot be null.\");\n else if (customerId !== undefined)\n url_ += \"customerId=\" + encodeURIComponent(\"\" + customerId) + \"&\";\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExportMachinesList(_response);\n });\n }\n\n protected processExportMachinesList(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Machines/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MachineToursClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n finishTour(tourId: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours/{tourId}/finish\";\n if (tourId === undefined || tourId === null)\n throw new Error(\"The parameter 'tourId' must be defined.\");\n url_ = url_.replace(\"{tourId}\", encodeURIComponent(\"\" + tourId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processFinishTour(_response);\n });\n }\n\n protected processFinishTour(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByCustomer(customerId: string, departmentId: string | null | undefined, types: MeasurementType[] | undefined, page: number | undefined, pageSize: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours/by/customer/{customerId}?\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (types === null)\n throw new Error(\"The parameter 'types' cannot be null.\");\n else if (types !== undefined)\n types && types.forEach(item => { url_ += \"types=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByCustomer(_response);\n });\n }\n\n protected processGetByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PagingResultOfMachineTourPagingModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n export(tourId: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours/{tourId}/export\";\n if (tourId === undefined || tourId === null)\n throw new Error(\"The parameter 'tourId' must be defined.\");\n url_ = url_.replace(\"{tourId}\", encodeURIComponent(\"\" + tourId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processExport(_response);\n });\n }\n\n protected processExport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineTourModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineTourModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTours/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MachineTypesClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n createMachineType(model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/MachineTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateMachineType(_response);\n });\n }\n\n protected processCreateMachineType(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/MachineTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineTypeModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/MachineTypes/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTypes/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MachineTypeModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/MachineTypes/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MeasurementsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getByMachinePaged(machineId: string, page: number | undefined, pageSize: number | undefined, lubricantId: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/by/machine/{machineId}/paged?\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n if (lubricantId !== undefined && lubricantId !== null)\n url_ += \"lubricantId=\" + encodeURIComponent(\"\" + lubricantId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByMachinePaged(_response);\n });\n }\n\n protected processGetByMachinePaged(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PagingResultOfMeasurementModelWithUser;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByMachineByDateRange(machineId: string, from: string | null | undefined, to: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/by/machine/{machineId}/by/date?\";\n if (machineId === undefined || machineId === null)\n throw new Error(\"The parameter 'machineId' must be defined.\");\n url_ = url_.replace(\"{machineId}\", encodeURIComponent(\"\" + machineId));\n if (from !== undefined && from !== null)\n url_ += \"from=\" + encodeURIComponent(\"\" + from) + \"&\";\n if (to !== undefined && to !== null)\n url_ += \"to=\" + encodeURIComponent(\"\" + to) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByMachineByDateRange(_response);\n });\n }\n\n protected processGetByMachineByDateRange(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MeasurementModelWithUser[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByCustomer(customerId: string, departmentId: string | null | undefined, type: MeasurementType | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/by/customer/{customerId}?\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n if (departmentId !== undefined && departmentId !== null)\n url_ += \"departmentId=\" + encodeURIComponent(\"\" + departmentId) + \"&\";\n if (type === null)\n throw new Error(\"The parameter 'type' cannot be null.\");\n else if (type !== undefined)\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByCustomer(_response);\n });\n }\n\n protected processGetByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MeasurementModelWithUser[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeValue(measurementId: string, model: ChangeFieldValueModelOfMeasurementFieldAndNullableDecimal): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/value\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeValue(_response);\n });\n }\n\n protected processChangeValue(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeMeasurementDate(measurementId: string, model: DateValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/measurementDate\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeMeasurementDate(_response);\n });\n }\n\n protected processChangeMeasurementDate(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeVisualState(measurementId: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/visualState\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeVisualState(_response);\n });\n }\n\n protected processChangeVisualState(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeIsOk(measurementId: string, model: BoolValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/isOk\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeIsOk(_response);\n });\n }\n\n protected processChangeIsOk(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changeActions(measurementId: string, actions: MeasurementActionModel[]): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/actions\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(actions);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangeActions(_response);\n });\n }\n\n protected processChangeActions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadReport(measurementId: string): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{measurementId}/labReport\";\n if (measurementId === undefined || measurementId === null)\n throw new Error(\"The parameter 'measurementId' must be defined.\");\n url_ = url_.replace(\"{measurementId}\", encodeURIComponent(\"\" + measurementId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDownloadReport(_response);\n });\n }\n\n protected processDownloadReport(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Measurements/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MeasurementModelWithUser;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Measurements\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MeasurementModelWithUser[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class NotificationsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getMyNotifications(limit: number | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Notifications/my/notifications?\";\n if (limit === null)\n throw new Error(\"The parameter 'limit' cannot be null.\");\n else if (limit !== undefined)\n url_ += \"limit=\" + encodeURIComponent(\"\" + limit) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetMyNotifications(_response);\n });\n }\n\n protected processGetMyNotifications(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as NotificationModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addPushSubscription(body: PushSubscription): Promise {\n let url_ = this.baseUrl + \"/api/Notifications/my/pushSubscriptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddPushSubscription(_response);\n });\n }\n\n protected processAddPushSubscription(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n removePushSubscription(body: PushSubscription): Promise {\n let url_ = this.baseUrl + \"/api/Notifications/my/pushSubscriptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRemovePushSubscription(_response);\n });\n }\n\n protected processRemovePushSubscription(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getMyPushSubscriptions(): Promise {\n let url_ = this.baseUrl + \"/api/Notifications/my/pushSubscriptions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetMyPushSubscriptions(_response);\n });\n }\n\n protected processGetMyPushSubscriptions(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PushSubscription[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ProductGroupsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n createProductGroup(model: CreateProductGroupModel): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateProductGroup(_response);\n });\n }\n\n protected processCreateProductGroup(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ProductGroupModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n setIsSpecial(id: string, isSpecial: boolean | undefined): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups/{id}/special?\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (isSpecial === null)\n throw new Error(\"The parameter 'isSpecial' cannot be null.\");\n else if (isSpecial !== undefined)\n url_ += \"isSpecial=\" + encodeURIComponent(\"\" + isSpecial) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"POST\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSetIsSpecial(_response);\n });\n }\n\n protected processSetIsSpecial(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ProductGroupModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/ProductGroups/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ProductsClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n createProduct(model: CreateProductModel): Promise {\n let url_ = this.baseUrl + \"/api/Products\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processCreateProduct(_response);\n });\n }\n\n protected processCreateProduct(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getAll(): Promise {\n let url_ = this.baseUrl + \"/api/Products\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetAll(_response);\n });\n }\n\n protected processGetAll(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ProductModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateGroup(id: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/group\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateGroup(_response);\n });\n }\n\n protected processUpdateGroup(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n updateUsageConcentration(id: string, model: OptionalDecimalModel): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/usageConcentration\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUpdateUsageConcentration(_response);\n });\n }\n\n protected processUpdateUsageConcentration(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getByGroup(groupId: string | null | undefined, query: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Products/by/group?\";\n if (groupId !== undefined && groupId !== null)\n url_ += \"groupId=\" + encodeURIComponent(\"\" + groupId) + \"&\";\n if (query !== undefined && query !== null)\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetByGroup(_response);\n });\n }\n\n protected processGetByGroup(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ProductModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n uploadDocuments(id: string, files: FileParameter[] | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/documents\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (files === null || files === undefined)\n throw new Error(\"The parameter 'files' cannot be null.\");\n else\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\") );\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processUploadDocuments(_response);\n });\n }\n\n protected processUploadDocuments(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n removeDocument(id: string, documentId: string): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/documents/{documentId}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRemoveDocument(_response);\n });\n }\n\n protected processRemoveDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n downloadDocument(documentId: string): Promise {\n let url_ = this.baseUrl + \"/api/Products/documents/{documentId}\";\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDownloadDocument(_response);\n });\n }\n\n protected processDownloadDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n renameDocument(id: string, documentId: string, model: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/documents/{documentId}/name\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n if (documentId === undefined || documentId === null)\n throw new Error(\"The parameter 'documentId' must be defined.\");\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: RequestInit = {\n body: content_,\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRenameDocument(_response);\n });\n }\n\n protected processRenameDocument(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n rename(id: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}/rename\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRename(_response);\n });\n }\n\n protected processRename(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getById(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetById(_response);\n });\n }\n\n protected processGetById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ProductModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n delete(id: string): Promise {\n let url_ = this.baseUrl + \"/api/Products/{id}\";\n if (id === undefined || id === null)\n throw new Error(\"The parameter 'id' must be defined.\");\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDelete(_response);\n });\n }\n\n protected processDelete(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class TenantClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getTenantInfo(): Promise {\n let url_ = this.baseUrl + \"/tenant\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetTenantInfo(_response);\n });\n }\n\n protected processGetTenantInfo(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as TenantInfoModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n manifest(): Promise {\n let url_ = this.baseUrl + \"/manifest.json\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processManifest(_response);\n });\n }\n\n protected processManifest(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getIcon(file: string): Promise {\n let url_ = this.baseUrl + \"/img/icons/{file}\";\n if (file === undefined || file === null)\n throw new Error(\"The parameter 'file' must be defined.\");\n url_ = url_.replace(\"{file}\", encodeURIComponent(\"\" + file));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/octet-stream\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetIcon(_response);\n });\n }\n\n protected processGetIcon(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class UsersClient {\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\n this.http = http ? http : window as any;\n this.baseUrl = baseUrl ?? \"\";\n }\n\n getUsers(page: number | undefined, pageSize: number | undefined, query: string | null | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Users?\";\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageSize === null)\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\n else if (pageSize !== undefined)\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\n if (query !== undefined && query !== null)\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetUsers(_response);\n });\n }\n\n protected processGetUsers(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as PagingResultOfUserModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n addUser(body: AddUserModel): Promise {\n let url_ = this.baseUrl + \"/api/Users\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processAddUser(_response);\n });\n }\n\n protected processAddUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CreatedModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getUsersByCustomer(customerId: string): Promise {\n let url_ = this.baseUrl + \"/api/Users/byCustomer/{customerId}\";\n if (customerId === undefined || customerId === null)\n throw new Error(\"The parameter 'customerId' must be defined.\");\n url_ = url_.replace(\"{customerId}\", encodeURIComponent(\"\" + customerId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetUsersByCustomer(_response);\n });\n }\n\n protected processGetUsersByCustomer(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as UserWithRolesModel[];\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n getUserById(userId: string): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"GET\",\n headers: {\n \"Accept\": \"application/json\"\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processGetUserById(_response);\n });\n }\n\n protected processGetUserById(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n let result200: any = null;\n result200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver) as UserWithRolesModel;\n return result200;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n deleteUser(userId: string): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: RequestInit = {\n method: \"DELETE\",\n headers: {\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processDeleteUser(_response);\n });\n }\n\n protected processDeleteUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n sendPasswordResetLink(userId: string, body: CreateResetPasswordLinkModel): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}/passwordReset\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSendPasswordResetLink(_response);\n });\n }\n\n protected processSendPasswordResetLink(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n renameUser(userId: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}/rename\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processRenameUser(_response);\n });\n }\n\n protected processRenameUser(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n changePhone(userId: string, body: ValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}/phone\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processChangePhone(_response);\n });\n }\n\n protected processChangePhone(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n setUserStaff(userId: string, body: BoolValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}/staff\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSetUserStaff(_response);\n });\n }\n\n protected processSetUserStaff(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n\n setUserSelfService(userId: string, body: BoolValueModel): Promise {\n let url_ = this.baseUrl + \"/api/Users/{userId}/selfService\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(body);\n\n let options_: RequestInit = {\n body: content_,\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n }\n };\n\n return this.http.fetch(url_, options_).then((_response: Response) => {\n return this.processSetUserSelfService(_response);\n });\n }\n\n protected processSetUserSelfService(response: Response): Promise {\n const status = response.status;\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\n if (status === 200) {\n return response.text().then((_responseText) => {\n return;\n });\n } else if (status !== 200 && status !== 204) {\n return response.text().then((_responseText) => {\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n });\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport interface EntityModelBase {\n id: string;\n created: string;\n updated: string;\n}\n\nexport interface NamedEntityModelBase extends EntityModelBase {\n name: string;\n}\n\nexport interface MachineModel extends NamedEntityModelBase {\n customerId: string;\n departmentId: string | null;\n fillingQuantityInLiter: number;\n measurementInterval: number | null;\n type: MachineTypeModel | null;\n}\n\nexport interface MachineTypeModel extends NamedEntityModelBase {\n}\n\nexport interface CustomerModel extends NamedEntityModelBase {\n measurementInterval: number | null;\n}\n\nexport interface EnrichedCustomerModel extends CustomerModel {\n assignedUsers: UserWithRolesModel[];\n machines: EnrichedMachineModel[];\n departments: DepartmentModel[];\n currentWeek: number;\n hasDepartments: boolean;\n canBeAccessed: boolean;\n}\n\nexport interface UserModel {\n id: string;\n name: string;\n email: string;\n phone: string | null;\n picture: string;\n}\n\nexport interface UserWithRolesModel extends UserModel {\n roles: string[];\n}\n\nexport interface EnrichedMachineModel extends MachineModel {\n lastMeasurement: MeasurementModel | null;\n weeksUntilNextMeasurement: number | null;\n calendarWeekOfNextMeasurement: number | null;\n}\n\nexport interface MeasurementModel extends EntityModelBase {\n type: MeasurementType;\n customerId: string;\n machineId: string;\n lubricantId: string | null;\n measurementDate: string;\n phValue: number | null;\n nitriteConcentration: number | null;\n conductivity: number | null;\n lubricantConcentration: number | null;\n visualState: string | null;\n actions: MeasurementActionModel[];\n extraValues: { [key: string]: string; };\n thresholdStates: MeasurementThresholdStates;\n isOk: boolean;\n}\n\nexport enum MeasurementType {\n Staff = 0,\n LabAnalysis = 1,\n Customer = 2,\n}\n\nexport interface MeasurementActionModel {\n type: MeasurementActionType;\n properties: { [key: string]: string; };\n isRecommendation: boolean;\n}\n\nexport enum MeasurementActionType {\n ProductAddition = 0,\n LubricantConcentrationAdjustment = 1,\n LubricantRefilling = 2,\n ProcessRecommendation = 3,\n Custom = 4,\n}\n\nexport interface MeasurementThresholdStates {\n phValueState: ThresholdState;\n lubricantConcentrationState: ThresholdState;\n}\n\nexport enum ThresholdState {\n Ok = 0,\n TooHigh = 1,\n TooLow = 2,\n}\n\nexport interface DepartmentModel extends NamedEntityModelBase {\n customerId: string;\n isDefault: boolean;\n measurementInterval: number | null;\n}\n\nexport interface CreatedModel {\n id: string;\n}\n\nexport interface CreateCustomerModel {\n name: string;\n measurementInterval: number | null;\n}\n\nexport interface OptionalIntValueModel {\n value: number | null;\n}\n\nexport interface AssignUserModel {\n userId: string;\n isAssigned: boolean;\n}\n\nexport interface CustomersAndDepartmentsModel {\n customers: CustomerModel[];\n departments: DepartmentWithCustomerModel[];\n}\n\nexport interface DepartmentWithCustomerModel extends DepartmentModel {\n customer: CustomerModel;\n}\n\nexport interface ValueModel {\n value: string;\n}\n\nexport interface NotificationModel extends EntityModelBase {\n causer: UserModel | null;\n type: NotificationType;\n customer: CustomerModel | null;\n department: DepartmentModel | null;\n machine: MachineModel | null;\n values: { [key: string]: string; };\n}\n\nexport enum NotificationType {\n MeasurementAdded = 0,\n TourAdded = 1,\n LabReportAdded = 2,\n ActionsAdded = 3,\n}\n\nexport interface MachineAggregationModel {\n machine: MachineModel;\n phValue: number | null;\n nitriteConcentration: number | null;\n conductivity: number | null;\n lubricantConcentration: number | null;\n actions: { [key: string]: number; };\n fillings: number;\n lubricant: LubricantModel | null;\n}\n\nexport interface LubricantModel extends NamedEntityModelBase {\n minConcentration: number | null;\n maxConcentration: number | null;\n minPhValue: number | null;\n maxPhValue: number | null;\n refractometer: number | null;\n documents: DownloadDocument[];\n}\n\nexport interface DomainEntityBase {\n id: string;\n created: string;\n updated: string;\n}\n\nexport interface NamedDomainEntityBase extends DomainEntityBase {\n name: string;\n}\n\nexport interface DownloadDocument extends NamedDomainEntityBase {\n}\n\nexport interface AllProductsModel {\n lubricants: LubricantModel[];\n products: ProductModel[];\n}\n\nexport interface ProductModel extends NamedEntityModelBase {\n group: ProductGroupModel | null;\n usageConcentration: number | null;\n documents: DownloadDocument[];\n}\n\nexport interface ProductGroupModel extends NamedEntityModelBase {\n isSpecial: boolean;\n}\n\nexport interface MultipleIdsModel {\n ids: string[];\n}\n\nexport interface EnrichedDepartmentModel extends DepartmentModel {\n assignedUsers: UserWithRolesModel[];\n machines: EnrichedMachineModel[];\n currentWeek: number;\n}\n\nexport interface DateValueModel {\n value: string;\n}\n\nexport interface LubricantFillingModel extends EntityModelBase {\n customerId: string;\n machineId: string;\n lubricant: LubricantModel | null;\n fillingDate: string;\n}\n\nexport interface CreateLubricantModel {\n name: string;\n minConcentration: number | null;\n maxConcentration: number | null;\n minPhValue: number | null;\n maxPhValue: number | null;\n refractometer: number | null;\n}\n\nexport interface OptionalDecimalModel {\n value: number | null;\n}\n\nexport interface OptionalChangeFieldOptionalValueModelOfLubricantThresholdField extends OptionalDecimalModel {\n field: LubricantThresholdField;\n}\n\nexport enum LubricantThresholdField {\n MinConcentration = 0,\n MaxConcentration = 1,\n MinPhValue = 2,\n MaxPhValue = 3,\n Refractometer = 4,\n}\n\nexport interface CreateMachinesModel {\n customerId: string;\n departmentId: string | null;\n machines: CreateMachineModel[];\n}\n\nexport interface CreateMachineModel {\n name: string;\n fillingQuantityInLiter: number;\n typeId: string | null;\n measurementInterval: number | null;\n}\n\nexport interface DepartmentMachineModel extends MachineModel {\n departmentName: string | null;\n}\n\nexport interface MachineOverviewModel {\n id: string;\n machine: MachineModel;\n lubricant: LubricantModel | null;\n products: MachineProductModel[];\n fillings: LubricantFillingModel[];\n}\n\nexport interface MachineProductModel {\n product: ProductModel;\n fillingAmount: number | null;\n}\n\nexport interface AddFillingModel {\n lubricantId: string;\n fillingDate: string;\n}\n\nexport interface CreateMeasurementModel {\n measurementDate: string;\n phValue: number | null;\n nitriteConcentration: number | null;\n conductivity: number | null;\n lubricantConcentration: number | null;\n visualState: string | null;\n actions: MeasurementActionModel[];\n tourId: string | null;\n isFinalMeasurement: boolean;\n isOk: boolean;\n}\n\nexport interface ImportResultModel {\n file: string;\n success: boolean;\n errorMessage: string | null;\n}\n\nexport interface AddMachineProductModel {\n productId: string;\n fillingAmount: number | null;\n}\n\nexport interface DecimalValueModel {\n value: number;\n}\n\nexport interface ReorderMachinesModel {\n orders: { [key: string]: number; };\n}\n\nexport interface PagingResultOfMachineTourPagingModel {\n items: MachineTourPagingModel[];\n total: number;\n}\n\nexport interface MachineTourPagingModel extends EntityModelBase {\n customerId: string;\n user: UserModel | null;\n type: MeasurementType;\n}\n\nexport interface MachineTourModel extends EntityModelBase {\n customerId: string;\n departmentId: string | null;\n machines: TourMachineModel[];\n user: UserModel | null;\n type: MeasurementType;\n}\n\nexport interface TourMachineModel {\n machine: MachineModel;\n measurement: MeasurementModel | null;\n}\n\nexport interface PagingResultOfMeasurementModelWithUser {\n items: MeasurementModelWithUser[];\n total: number;\n}\n\nexport interface MeasurementModelWithUser extends MeasurementModel {\n user: UserWithRolesModel | null;\n}\n\nexport interface ChangeFieldValueModelOfMeasurementFieldAndNullableDecimal {\n field: MeasurementField;\n value: number | null;\n}\n\nexport enum MeasurementField {\n PhValue = 0,\n NitriteConcentration = 1,\n Conductivity = 2,\n LubricantConcentration = 3,\n VisualState = 4,\n}\n\nexport interface BoolValueModel {\n value: boolean;\n}\n\nexport interface PushSubscription {\n key: string;\n endpoint: string;\n authSecret: string;\n device: string | null;\n}\n\nexport interface CreateProductGroupModel {\n name: string;\n isSpecial: boolean;\n}\n\nexport interface CreateProductModel {\n name: string;\n groupId: string;\n usageConcentration: number | null;\n}\n\nexport interface TenantInfoModel {\n name: string;\n connection: string;\n logo: string;\n logoBig: string | null;\n favicon: string;\n culture: string;\n title: string;\n shortTitle: string;\n impressum: string;\n privacy: string;\n}\n\nexport interface PagingResultOfUserModel {\n items: UserModel[];\n total: number;\n}\n\nexport interface AddUserModel {\n name: string;\n email: string;\n isStaff: boolean;\n isSelfService: boolean;\n}\n\nexport interface CreateResetPasswordLinkModel {\n resultUrl: string;\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}","import { doWithDelayedLoading } from '@/common/helpers/loading';\nimport i18n from '@/i18n';\nimport { ToastProgrammatic } from 'buefy';\nimport { LocaleMessages } from 'vue-i18n';\nimport { Component, Vue } from 'vue-property-decorator';\n\ninterface LoadingOptions {\n noLoading?: boolean;\n delayLoading?: boolean;\n}\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n isLoading: boolean\n\n withProgress(f: () => Promise, description?: string | LocaleMessages, options?: LoadingOptions): Promise\n }\n}\n\nexport function showErrorToast(e: any, description?: string) {\n let message = description?.length ? i18n.t('failed', { description }) : (e instanceof Error ? e.message : e.toString());\n\n if (e.status === 400 && e.response) {\n message += `: ${e.response}`;\n }\n\n ToastProgrammatic.open({\n message,\n type: 'is-danger',\n });\n}\n\n@Component\nexport class LoadingMixin extends Vue {\n isLoading = false;\n\n async withProgress(f: () => Promise, description?: string | LocaleMessages, options?: LoadingOptions) {\n try {\n if (!options?.delayLoading) {\n this.isLoading = true;\n try {\n await f();\n } finally {\n this.isLoading = false;\n }\n } else {\n await doWithDelayedLoading(f, loading => {\n if (!options?.noLoading) {\n this.isLoading = loading;\n }\n });\n }\n } catch (e) {\n console.error(e);\n showErrorToast(e, description?.toString());\n }\n }\n}\n","import { Vue } from 'vue-property-decorator';\n\nclass PresentationModeStore {\n isEnabled = false;\n\n toggle() {\n this.isEnabled = !this.isEnabled;\n }\n}\n\nexport const presentationModeStore = Vue.observable(new PresentationModeStore());\n","import { doWithDelayedLoading } from '@/common/helpers/loading';\nimport { showErrorToast } from '@/common/helpers/LoadingMixin';\nimport i18n from '@/i18n';\n\nexport abstract class StoreBase {\n private _loading = false;\n private promise = Promise.resolve();\n\n protected _value: T | null = null;\n\n protected constructor(private descriptionKey: string) {\n }\n\n get loading() {\n return this._loading;\n }\n\n get value() {\n return this._value;\n }\n\n unload() {\n this._value = null;\n }\n\n async load(id: string) {\n // ensure a loading in progress is awaited\n await this.promise;\n\n if (this.value?.id === id) {\n return;\n }\n\n this._value = null;\n\n this.promise = this.loadNow(id);\n await this.promise;\n }\n\n private async loadNow(id: string) {\n try {\n await doWithDelayedLoading(\n async () => this._value = await this.loadInternal(id),\n loading => this._loading = loading);\n } catch (e) {\n showErrorToast(e, i18n.t(this.descriptionKey).toString());\n }\n }\n\n async reload() {\n if (!this._value) {\n throw new Error('No value is loaded');\n }\n\n await this.loadNow(this._value.id);\n }\n\n protected abstract loadInternal(id: string): Promise\n}\n","import { Vue } from 'vue-property-decorator';\n\nclass DownloadStore {\n exportFileName = '';\n exportDataUrl = '';\n\n trigger(blob: Blob, name: string) {\n this.exportFileName = name;\n this.exportDataUrl = window.URL.createObjectURL(blob);\n\n requestAnimationFrame(() => {\n document.getElementById('downloadHelper')!.click();\n window.URL.revokeObjectURL(downloadStore.exportDataUrl);\n });\n }\n}\n\nexport const downloadStore = Vue.observable(new DownloadStore());\n","export async function doWithDelayedLoading(f: () => Promise, setLoading: (loading: boolean) => void) {\n try {\n const workPromise = f();\n\n const resolvedFirst = await Promise.race([\n workPromise.then(() => 'work'),\n new Promise(resolve => setTimeout(resolve, 750, 'timeout')),\n ]);\n\n if (resolvedFirst === 'timeout') {\n setLoading(true);\n await workPromise;\n }\n } finally {\n setLoading(false);\n }\n}\n","import { notificationsClient } from '@/api/api';\nimport i18n from '@/i18n';\nimport { SnackbarProgrammatic } from 'buefy';\nimport { parseInt } from 'lodash-es';\n\nconst publicKey = 'BHhN4715M3r5DwiM0N3ks_4BLBCk088UgIZY363jl2JEVAAA52QgRLkpmtxj7M0Yx47GKgEn2aYkQUtjycJmAFg';\n\nexport type MappedSubscription = { endpoint: string; authSecret: string; key: string, device: string | null };\n\nexport function mapPushSubscription(subscription: PushSubscription): MappedSubscription {\n const rawKey = subscription.getKey ? subscription.getKey('p256dh') : '';\n const key = rawKey ? btoa(String.fromCharCode(...new Uint8Array(rawKey))) : '';\n const rawAuthSecret = subscription.getKey ? subscription.getKey('auth') : '';\n const authSecret = rawAuthSecret ? btoa(String.fromCharCode(...new Uint8Array(rawAuthSecret))) : '';\n const endpoint = subscription.endpoint;\n\n return { endpoint, key, authSecret, device: navigator.userAgent };\n}\n\nexport async function postPushTokenIfNecessary(subscription: PushSubscription) {\n if (localStorage.getItem('pushTokenPosted')) {\n return;\n }\n\n await notificationsClient.addPushSubscription(mapPushSubscription(subscription));\n\n localStorage.setItem('pushTokenPosted', 'true');\n}\n\nexport async function registerPush(registration: ServiceWorkerRegistration, forceToast = false) {\n const options: PushSubscriptionOptionsInit = {\n userVisibleOnly: true,\n applicationServerKey: urlBase64ToUint8Array(publicKey),\n };\n\n const state = await registration.pushManager.permissionState(options);\n\n if (state === 'granted') {\n await createSubscription();\n } else if (state === 'prompt') {\n if (!forceToast) {\n const toastCount = parseInt(localStorage.getItem('pushToastCount') ?? '0', 10);\n\n if (toastCount >= 10) {\n return;\n }\n\n localStorage.setItem('pushToastCount', (toastCount + 1).toString());\n }\n\n await new Promise(resolve => {\n SnackbarProgrammatic.open({\n message: i18n.t('enable-push').toString(),\n actionText: i18n.t('activate-now').toString(),\n type: 'is-success',\n duration: 8_000,\n onAction: () => {\n resolve(createSubscription());\n },\n });\n });\n } else {\n console.log('Notifications denied');\n }\n\n async function createSubscription() {\n console.log('Creating subscription');\n\n const subscription = await registration.pushManager.subscribe(options);\n await postPushTokenIfNecessary(subscription);\n }\n}\n\nfunction urlBase64ToUint8Array(base64String: string): Uint8Array {\n const padding = '='.repeat((4 - base64String.length % 4) % 4);\n const base64 = (base64String + padding)\n .replace(/-/g, '+')\n .replace(/_/g, '/');\n\n const rawData = window.atob(base64);\n const outputArray = new Uint8Array(rawData.length);\n\n for (let i = 0; i < rawData.length; ++i) {\n outputArray[i] = rawData.charCodeAt(i);\n }\n return outputArray;\n}\n","import { customersClient } from '@/api/api';\nimport { EnrichedCustomerModel } from '@/api/clients';\nimport { StoreBase } from '@/common/helpers/StoreBase';\nimport { Vue } from 'vue-property-decorator';\n\nclass CustomerStore extends StoreBase {\n constructor() {\n super('load-customer');\n }\n\n protected loadInternal(id: string): Promise {\n return customersClient.getEnrichedById(id);\n }\n}\n\nexport const customerStore = Vue.observable(new CustomerStore());\n","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport de from './locales/de.json';\nimport en from './locales/en.json';\n\nVue.use(VueI18n);\n\nexport default new VueI18n({\n locale: localStorage.getItem('locale') || navigator.language,\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\n messages: { de, en },\n});\n","import {\n Auth0Client,\n Auth0ClientOptions,\n createAuth0Client,\n GetTokenSilentlyOptions,\n LogoutOptions,\n RedirectLoginOptions,\n} from '@auth0/auth0-spa-js';\nimport Vue, { PluginObject } from 'vue';\nimport Component from 'vue-class-component';\n\nexport interface Auth0Options extends Auth0ClientOptions {\n onRedirectCallback(state: any): void,\n}\n\nlet options!: Auth0Options;\n\nexport interface Auth0User {\n sub?: string;\n picture?: string;\n name?: string;\n\n [key: string]: any;\n}\n\n@Component\nexport class AuthComponent extends Vue {\n loading = true;\n isAuthenticated = false;\n user: Auth0User = {};\n auth0Client!: Auth0Client;\n error = null;\n\n get roles() {\n return this.user?.['http://ruedinger-oel.de/roles'] ?? [];\n }\n\n get isStaff() {\n return this.roles.includes('Staff');\n }\n\n get isSelfService() {\n return this.roles.includes('SelfService');\n }\n\n get isStaffOrSelfService() {\n return this.isStaff || this.isSelfService;\n }\n\n loginWithRedirect(o?: RedirectLoginOptions) {\n return this.auth0Client.loginWithRedirect(\n {\n ...o,\n authorizationParams: {\n title: window.tenant.title,\n logo: `${location.origin}/img/logos/${window.tenant.logo}`,\n },\n },\n );\n }\n\n async getTokenSilently(o?: GetTokenSilentlyOptions) {\n if (!this.auth0Client) {\n return localStorage.getItem('auth_token');\n }\n\n const token = await this.auth0Client.getTokenSilently(o);\n\n localStorage.setItem('auth_token', token);\n\n return token;\n }\n\n logout(o?: LogoutOptions['logoutParams']) {\n return this.auth0Client.logout({\n logoutParams: o,\n });\n }\n\n async created() {\n if (!navigator.onLine) {\n const fromStorage = localStorage.getItem('auth');\n\n if (fromStorage) {\n this.user = JSON.parse(fromStorage);\n this.isAuthenticated = true;\n this.loading = false;\n\n console.log('Authorized from local storage', this.user.name);\n\n return;\n }\n }\n\n // Create a new instance of the SDK client using members of the given options object\n this.auth0Client = await createAuth0Client(options);\n\n try {\n // If the user is returning to the app after authentication..\n if (\n window.location.search.includes('code=') &&\n window.location.search.includes('state=')\n ) {\n // handle the redirect and retrieve tokens\n const { appState } = await this.auth0Client.handleRedirectCallback();\n\n // Notify subscribers that the redirect callback has happened, passing the appState\n // (useful for retrieving any pre-authentication state)\n options.onRedirectCallback(appState);\n }\n } catch (e: any) {\n this.error = e;\n } finally {\n // Initialize our internal authentication state\n this.isAuthenticated = await this.auth0Client.isAuthenticated();\n this.user = (await this.auth0Client.getUser())!;\n this.loading = false;\n }\n\n if (this.isAuthenticated) {\n localStorage.setItem('auth', JSON.stringify(this.user));\n }\n }\n}\n\n// Create a simple Vue plugin to expose the wrapper object throughout the application\nexport const Auth0Plugin: PluginObject = {\n install(Vue, o) {\n options = o!;\n Vue.prototype.$auth = new AuthComponent();\n },\n};\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $auth: AuthComponent;\n }\n}\n","import { baseUrl } from '@/api/baseUrl';\nimport { TenantInfoModel } from '@/api/clients';\nimport i18n from '@/i18n';\n\ndeclare global {\n interface Window {\n tenant: TenantInfoModel\n }\n}\n\nexport async function getAuth0Connection(): Promise {\n const response = await fetch(baseUrl + '/tenant');\n window.tenant = await response.json();\n\n if (!localStorage.getItem('locale')) {\n const locale = window.tenant.culture.substring(0, 2);\n i18n.locale = locale;\n localStorage.setItem('locale', locale);\n }\n\n return window.tenant.connection;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"icon\",class:[_vm.type, _vm.size]},[(_vm.layer)?_c('FontAwesomeLayers',_vm._l((_vm.layer),function(l,index){return _c('FontAwesomeIcon',{key:index,attrs:{\"icon\":l.icon,\"transform\":l.transform}})}),1):_c('FontAwesomeIcon',{attrs:{\"icon\":_vm.icon}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\ninterface LayerDef {\n icon: string,\n transform: string\n}\n\nconst layers: Record = {\n 'cog-plus': [\n { icon: 'cog', transform: 'shrink-2 up-3 left-5' },\n { icon: 'plus', transform: 'shrink-5 down-4 right-5' },\n ],\n 'cog-edit': [\n { icon: 'cog', transform: 'shrink-2 up-2 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-5' },\n ],\n 'vial-plus': [\n { icon: 'vial', transform: 'up-2 left-4' },\n { icon: 'plus', transform: 'shrink-5 down-4 right-5' },\n ],\n 'vial-plus-plus': [\n { icon: 'vial', transform: 'up-2 left-4' },\n { icon: 'plus', transform: 'shrink-7 down-4 right-1' },\n { icon: 'plus', transform: 'shrink-7 down-4 right-9' },\n ],\n 'vial-edit': [\n { icon: 'vial', transform: 'up-2 left-4' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-5' },\n ],\n 'vial-arrow-up': [\n { icon: 'vial', transform: 'up-2 left-4' },\n { icon: 'arrow-up', transform: 'shrink-5 down-4 right-5' },\n ],\n 'tint-plus': [\n { icon: 'tint', transform: 'shrink-2 down-2 left-4' },\n { icon: 'plus', transform: 'shrink-5 up-4 right-5' },\n ],\n 'tint-edit': [\n { icon: 'tint', transform: 'shrink-2 up-2 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-3' },\n ],\n 'cube-plus': [\n { icon: 'cube', transform: 'shrink-4 down-2 left-4' },\n { icon: 'plus', transform: 'shrink-5 up-4 right-6' },\n ],\n 'cube-edit': [\n { icon: 'cube', transform: 'shrink-4 up-2 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-3' },\n ],\n 'cubes-plus': [\n { icon: 'cubes', transform: 'shrink-4 down-2 left-4' },\n { icon: 'plus', transform: 'shrink-5 up-4 right-6' },\n ],\n 'cubes-edit': [\n { icon: 'cubes', transform: 'shrink-4 up-2 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-3' },\n ],\n 'fill-drip-edit': [\n { icon: 'fill-drip', transform: 'shrink-4 up-2 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-6' },\n ],\n 'flask-plus': [\n { icon: 'flask', transform: 'shrink-2 down-2 left-4' },\n { icon: 'plus', transform: 'shrink-5 up-4 right-6' },\n ],\n 'briefcase-edit': [\n { icon: 'briefcase', transform: 'shrink-3 up-2 left-4' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-5' },\n ],\n 'threshold-too-high': [\n { icon: 'arrow-up', transform: 'shrink-3 up-2' },\n { icon: 'ellipsis-h', transform: 'shrink-7 down-6 left-5' },\n { icon: 'ellipsis-h', transform: 'shrink-7 down-6 right-4' },\n ],\n 'threshold-too-low': [\n { icon: 'arrow-down', transform: 'shrink-3 down-4' },\n { icon: 'ellipsis-h', transform: 'shrink-7 up-4 left-5' },\n { icon: 'ellipsis-h', transform: 'shrink-7 up-4 right-4' },\n ],\n 'users-cog-plus': [\n { icon: 'users-cog', transform: 'shrink-2 down-3 left-5' },\n { icon: 'plus', transform: 'shrink-5 up-4 right-6' },\n ],\n 'users-cog-edit': [\n { icon: 'users-cog', transform: 'shrink-2 up-3 left-5' },\n { icon: 'pen', transform: 'shrink-5 down-4 right-5' },\n ],\n};\n\n@Component\nexport default class IconWrapper extends Vue {\n @Prop(String) readonly type?: string;\n @Prop(String) readonly size?: string;\n @Prop(Array) readonly icon?: string[];\n\n get layer(): null | LayerDef[] {\n if (!this.icon) {\n return null;\n }\n\n return layers[this.icon[1]] ?? null;\n }\n}\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconWrapper.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IconWrapper.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IconWrapper.vue?vue&type=template&id=11b0442a&\"\nimport script from \"./IconWrapper.vue?vue&type=script&lang=ts&\"\nexport * from \"./IconWrapper.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\"},[_c(_vm.titleTag,{tag:\"component\",staticClass:\"title\",class:_vm.titleClasses},[_vm._t(\"default\")],2),_c('div',{staticClass:\"buttons\"},[_vm._t(\"actions\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class PageHeader extends Vue {\n @Prop({ type: [Number, String] }) readonly size?: string | number;\n\n get titleTag() {\n if (!this.size) {\n return 'h2';\n }\n\n return 'h' + this.size;\n }\n\n get titleClasses() {\n if (!this.size) {\n return '';\n }\n\n return 'is-' + (parseInt(this.size.toString(), 10) + 1);\n }\n}\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PageHeader.vue?vue&type=template&id=4dbc85c4&scoped=true&\"\nimport script from \"./PageHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./PageHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PageHeader.vue?vue&type=style&index=0&id=4dbc85c4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4dbc85c4\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\n\nclass BackgroundSyncStore {\n private db?: IDBDatabase;\n count = 0;\n\n constructor() {\n const openDBRequest = window.indexedDB.open('workbox-background-sync');\n openDBRequest.onerror = e => console.error('could not open db', e);\n openDBRequest.onsuccess = async () => {\n this.db = openDBRequest.result;\n await this.syncCount();\n };\n }\n\n syncCount() {\n if (!this.db) {\n return;\n }\n\n if (![...this.db.objectStoreNames].includes('requests')) {\n return;\n }\n\n const tx = this.db.transaction(['requests'], 'readonly');\n const request = tx.objectStore('requests').count();\n request.onsuccess = () => this.count = request.result;\n }\n\n async executeOfflineRequests() {\n if ('serviceWorker' in navigator) {\n const registration = await navigator.serviceWorker.getRegistration();\n\n if (registration?.active) {\n registration.active.postMessage({ type: 'SYNC' });\n }\n }\n }\n}\n\nexport const backgroundSyncStore = Vue.observable(new BackgroundSyncStore());\n","import { backgroundSyncStore } from '@/common/helpers/BackgroundSyncStore';\nimport { postPushTokenIfNecessary, registerPush } from '@/common/helpers/pushNotifications';\nimport i18n from '@/i18n';\nimport { NotificationProgrammatic, SnackbarProgrammatic } from 'buefy';\nimport { Workbox } from 'workbox-window';\n\nexport async function registerServiceWorker() {\n console.log('Service Worker registration requested');\n\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n console.log('Registering Service Worker');\n\n const wb = new Workbox(`${process.env.BASE_URL}service-worker.js`);\n\n wb.addEventListener('installed', event => {\n console.log(event);\n if (event.isUpdate) {\n showUpdateToast();\n }\n });\n\n const registration = await wb.register();\n\n if (!registration) {\n return;\n }\n\n console.log('Service Worker ready');\n console.log('Checking push subscription');\n\n const subscription = await registration.pushManager.getSubscription();\n\n if (!subscription) {\n await registerPush(registration);\n } else {\n await postPushTokenIfNecessary(subscription);\n }\n\n navigator.serviceWorker.addEventListener('message', ({ data }) => {\n if (data.type === 'NOTIFICATION') {\n NotificationProgrammatic.open({\n message: data.title,\n type: 'is-black',\n duration: 5_000,\n });\n } else if (data.type === 'REQUEST_QUEUED' || data.type === 'BACKGROUND_SYNC') {\n backgroundSyncStore.syncCount();\n }\n });\n }\n}\n\nfunction showUpdateToast() {\n SnackbarProgrammatic.open({\n message: i18n.t('update-available').toString(),\n actionText: i18n.t('update-now').toString(),\n indefinite: true,\n type: 'is-warning',\n onAction: () => location.reload(),\n });\n}\n","import { customersClient } from '@/api/api';\nimport { AuthComponent } from '@/auth/auth0';\nimport Vue from 'vue';\nimport { NavigationGuard } from 'vue-router';\n\nexport const nonStaffSingleCustomerGuard: NavigationGuard = async (to, from, next) => {\n const $auth: AuthComponent = Vue.prototype.$auth;\n\n if (to.name === 'home' && !$auth.isStaff) {\n const { customers, departments } = await customersClient.getCustomersByAssignedUser($auth.user.sub!);\n if (customers.length === 1 && departments.length === 0) {\n await next({ name: 'customer', params: { customerId: customers[0].id } });\n return;\n } else if (customers.length === 0 && departments.length === 1) {\n const { customerId, id } = departments[0];\n await next({ name: 'department', params: { customerId, departmentId: id } });\n return;\n }\n }\n\n await next();\n};\n","import Vue from 'vue';\nimport { NavigationGuard } from 'vue-router';\n\nexport const authGuard: NavigationGuard = (to, from, next) => {\n if (to.meta?.nonAuthenticated) {\n next();\n return;\n }\n\n const authService = Vue.prototype.$auth;\n\n function fn() {\n // If the user is authenticated, continue with the route\n if (authService.isAuthenticated) {\n return next();\n }\n\n // Otherwise, log in\n authService.loginWithRedirect({ appState: { targetUrl: to.fullPath } });\n }\n\n // If loading has already finished, check our auth state using `fn()`\n if (!authService.loading) {\n fn();\n }\n\n // Watch for the loading property to change before we check isAuthenticated\n const unwatch = authService.$watch('loading', (loading: boolean) => {\n if (!loading) {\n fn();\n unwatch();\n }\n });\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[_c('Navigation'),_c('section',{staticClass:\"main\"},[_c('div',{staticClass:\"container\"},[(_vm.$auth.isAuthenticated)?_c('Breadcrumbs'):_vm._e(),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('RouterView')],1)],1)]),_c('FooterLayout')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"breadcrumb has-succeeds-separator\",attrs:{\"aria-label\":\"breadcrumbs\"}},[_c('transition-group',{directives:[{name:\"observer\",rawName:\"v-observer:subtree.childList.characterData\",value:(_vm.onItemsChanged),expression:\"onItemsChanged\",arg:\"subtree\",modifiers:{\"childList\":true,\"characterData\":true}}],ref:\"scrollContainer\",staticClass:\"breadcrumbs\",attrs:{\"name\":\"fade\",\"tag\":\"ul\"}},_vm._l((_vm.items),function(route,index){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(!route.hide),expression:\"!route.hide\"}],key:'breadcrumb- ' + index,class:{ 'is-active': index === _vm.items.length - 1 }},[_c(route.tag,{tag:\"component\",attrs:{\"to\":route.target}},[_c('BIcon',{attrs:{\"icon\":route.icon,\"size\":\"is-small\"}}),_c('PortalTarget',{attrs:{\"name\":(\"breadcrumb-\" + (route.name))}},[_vm._v(\" \"+_vm._s(_vm.$t(route.breadcrumb))+\" \")])],1)],1)}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { customerStore } from '@/customers/stores/CustomerStore';\nimport { observer } from 'vue-mutation-observer';\nimport { Component, Ref, Vue } from 'vue-property-decorator';\nimport { RawLocation, RouteRecord } from 'vue-router/types/router';\n\ninterface Breadcrumb {\n tag: string\n target: RawLocation\n icon: string\n name: string\n breadcrumb: string\n hide?: boolean\n}\n\n@Component({\n directives: { observer },\n})\nexport default class Breadcrumbs extends Vue {\n @Ref('scrollContainer')\n readonly scrollContainer!: Vue;\n\n get items(): Breadcrumb[] {\n return this.$route.matched\n .filter(x => x.meta.breadcrumb)\n .map(route => ({\n tag: route.meta.staffOnly && !this.$auth.isStaff ? 'a' : 'router-link',\n target: { name: route.name, params: this.$route.params },\n icon: route.meta.icon,\n name: route.name!,\n breadcrumb: route.meta.breadcrumb,\n hide: this.shouldHide(route),\n }));\n }\n\n shouldHide(route: RouteRecord) {\n return (route.name === 'department' && !customerStore.value?.hasDepartments) ||\n (route.name === 'customers' && !this.$auth.isStaff);\n }\n\n async onItemsChanged() {\n await this.$nextTick();\n\n if (this.scrollContainer) {\n this.scrollContainer.$el.scrollLeft = this.scrollContainer.$el.scrollWidth;\n }\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Breadcrumbs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumbs.vue?vue&type=template&id=c6d043a2&scoped=true&\"\nimport script from \"./Breadcrumbs.vue?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumbs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Breadcrumbs.vue?vue&type=style&index=0&id=c6d043a2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c6d043a2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"has-background-white-ter py-1\",staticStyle:{\"margin-top\":\"1rem\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"column\"},[_c('BButton',{attrs:{\"tag\":\"a\",\"href\":_vm.tenant.impressum,\"target\":\"_blank\",\"rel\":\"noopener\",\"icon-left\":\"info-circle\",\"type\":\"is-text\"}},[_vm._v(\" \"+_vm._s(_vm.$t('impressum'))+\" \")])],1),_c('div',{staticClass:\"column\"},[_c('BButton',{attrs:{\"tag\":\"router-link\",\"to\":{ name: 'privacy' },\"icon-left\":\"shield-alt\",\"type\":\"is-text\"}},[_vm._v(\" \"+_vm._s(_vm.$t('privacy'))+\" \")])],1),_c('div',{staticClass:\"column\"},[_c('BButton',{attrs:{\"tag\":\"router-link\",\"to\":{ name: 'open-source' },\"icon-left\":\"code\",\"type\":\"is-text\"}},[_vm._v(\" \"+_vm._s(_vm.$t('open-source'))+\" \")])],1),(_vm.$auth.isAuthenticated)?_c('div',{staticClass:\"column\"},[_c('BButton',{attrs:{\"tag\":\"router-link\",\"to\":{ name: 'notification-settings' },\"icon-left\":\"bell\",\"type\":\"is-text\"}},[_vm._v(\" \"+_vm._s(_vm.$t('notification-settings'))+\" \")])],1):_vm._e(),_c('div',{staticClass:\"column\"},[_c('BButton',{attrs:{\"tag\":\"router-link\",\"to\":{ name: (\"help-\" + (_vm.$i18n.locale)) },\"icon-left\":\"question\",\"type\":\"is-text\"}},[_vm._v(\" \"+_vm._s(_vm.$t('help'))+\" \")])],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class FooterLayout extends Vue {\n get tenant() {\n return window.tenant;\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FooterLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./FooterLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FooterLayout.vue?vue&type=template&id=1c3d719d&scoped=true&\"\nimport script from \"./FooterLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./FooterLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FooterLayout.vue?vue&type=style&index=0&id=1c3d719d&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c3d719d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BNavbar',{staticClass:\"navbar is-fixed-top\",attrs:{\"type\":\"is-dark\",\"wrapper-class\":\"container\"},scopedSlots:_vm._u([{key:\"brand\",fn:function(){return [_c('BNavbarItem',{attrs:{\"tag\":\"router-link\",\"to\":{ name: 'home' }}},[_c('img',{staticStyle:{\"height\":\"200px\",\"margin-right\":\".5rem\"},attrs:{\"src\":'/img/logos/' + _vm.tenant.logo,\"alt\":_vm.tenant.name + ' Fluid Management'}}),_c('h1',{staticClass:\"has-text-weight-bold is-size-4 upper\"},[_c('span',{staticClass:\"long-title\"},[_vm._v(_vm._s(_vm.tenant.title))]),_c('span',{staticClass:\"short-title\"},[_vm._v(_vm._s(_vm.tenant.shortTitle))])])])]},proxy:true},(_vm.$auth.isStaff)?{key:\"start\",fn:function(){return [_c('NavigationItem',{attrs:{\"item\":_vm.customers}}),_c('NavigationItem',{attrs:{\"item\":_vm.users}}),_c('BNavbarDropdown',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('BIcon',{attrs:{\"icon\":\"archive\",\"size\":\"is-small\"}}),_c('span',[_vm._v(_vm._s(_vm.$t('inventory')))])]},proxy:true}],null,false,4043916944)},[_c('NavigationItem',{attrs:{\"item\":_vm.lubricants}}),_c('NavigationItem',{attrs:{\"item\":_vm.products}}),_c('NavigationItem',{attrs:{\"item\":_vm.machineTypes}})],1)]},proxy:true}:null,{key:\"end\",fn:function(){return [_c('BNavbarDropdown',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{staticClass:\"icon\"},[_c('img',{attrs:{\"src\":require((\"../assets/\" + (_vm.$i18n.locale) + \".svg\")),\"alt\":{de: 'Deutsch', en: 'English'}[_vm.$i18n.locale]}})]),_c('span',{staticClass:\"language-label\"},[_vm._v(_vm._s(_vm.$t('language')))])]},proxy:true}])},[_c('BNavbarItem',{on:{\"click\":function($event){return _vm.setLocale('de')}}},[_c('span',{staticClass:\"icon\"},[_c('img',{attrs:{\"src\":require(\"../assets/de.svg\"),\"alt\":\"Deutsch\"}})]),_c('span',[_vm._v(\"Deutsch\")])]),_c('BNavbarItem',{on:{\"click\":function($event){return _vm.setLocale('en')}}},[_c('span',{staticClass:\"icon\"},[_c('img',{attrs:{\"src\":require(\"../assets/en.svg\"),\"alt\":\"English\"}})]),_c('span',[_vm._v(\"English\")])])],1),(_vm.$auth.isAuthenticated)?_c('BNavbarDropdown',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('img',{staticClass:\"profile-picture\",attrs:{\"src\":_vm.$auth.user.picture,\"alt\":\"\"}}),_c('span',[_vm._v(_vm._s(_vm.$auth.user.name))]),(_vm.$auth.isStaff)?_c('BIcon',{staticClass:\"profile-badge\",attrs:{\"icon\":\"id-card-alt\",\"size\":\"is-small\",\"type\":\"is-success\"}}):_vm._e(),(_vm.$auth.isSelfService)?_c('BTooltip',{staticClass:\"profile-badge\",attrs:{\"label\":_vm.$t('self-service-permission'),\"position\":\"is-bottom\",\"type\":\"is-success\"}},[_c('BIcon',{attrs:{\"icon\":\"cog\",\"size\":\"is-small\",\"type\":\"is-success\"}})],1):_vm._e()]},proxy:true}],null,false,1784637170)},[(_vm.backgroundSyncStore.count)?_c('BNavbarItem',{on:{\"click\":function($event){return _vm.backgroundSyncStore.executeOfflineRequests()}}},[_c('BIcon',{attrs:{\"icon\":\"sync\",\"size\":\"is-small\"}}),_c('span',[_vm._v(_vm._s(_vm.$tc('offline-requests', _vm.backgroundSyncStore.count)))])],1):_vm._e(),(_vm.$auth.isStaff)?_c('BNavbarItem',{on:{\"click\":function($event){return _vm.togglePresentationMode()}}},[_c('BIcon',{attrs:{\"icon\":\"store\",\"size\":\"is-small\"}}),_c('span',[_vm._v(_vm._s(_vm.$t(_vm.presentationModeStore.isEnabled ? 'presentation-mode-disable' : 'presentation-mode-enable')))])],1):_vm._e(),_c('NavigationItem',{attrs:{\"item\":_vm.notificationSettings}})],1):_vm._e(),_c('BNavbarItem',{staticClass:\"buttons\",attrs:{\"tag\":\"div\"}},[(_vm.$auth.isAuthenticated)?_c('BButton',{attrs:{\"icon-left\":\"sign-out-alt\",\"type\":\"is-link\"},on:{\"click\":_vm.logout}},[_vm._v(\" \"+_vm._s(_vm.$t('log-out'))+\" \")]):_c('BButton',{attrs:{\"tag\":\"router-link\",\"to\":{ name: 'home' },\"icon-left\":\"sign-in-alt\",\"type\":\"is-link\"}},[_vm._v(\" \"+_vm._s(_vm.$t('log-in'))+\" \")])],1)]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('BNavbarItem',{attrs:{\"tag\":\"router-link\",\"to\":{ name: _vm.item.routeName },\"active\":_vm.item.active},on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('BIcon',{attrs:{\"icon\":_vm.item.icon,\"size\":\"is-small\"}}),_c('span',[_vm._v(_vm._s(_vm.item.title))])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport { NavItem } from '@/layout/helpers/NavItem';\nimport { Component, Prop, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class NavigationItem extends Vue {\n @Prop({ type: Object, required: true })\n readonly item!: NavItem;\n\n async handleClickEvent() {\n setTimeout(() => {\n const parent: any = this.$parent;\n\n parent.closeMenu();\n\n if (parent.$data._isNavDropdown) {\n parent.$parent.closeMenu();\n }\n }, 100);\n }\n\n mounted() {\n this.$el.addEventListener('click', this.handleClickEvent);\n }\n\n beforeDestroy() {\n this.$el.removeEventListener('click', this.handleClickEvent);\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavigationItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavigationItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavigationItem.vue?vue&type=template&id=08f376a0&\"\nimport script from \"./NavigationItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavigationItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { backgroundSyncStore } from '@/common/helpers/BackgroundSyncStore';\nimport { presentationModeStore } from '@/common/helpers/PresentationModeStore';\nimport { NavItem } from '@/layout/helpers/NavItem';\nimport NavigationItem from '@/layout/NavigationItem.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: { NavigationItem },\n})\nexport default class Navigation extends Vue {\n backgroundSyncStore = backgroundSyncStore;\n presentationModeStore = presentationModeStore;\n\n get tenant() {\n return window.tenant;\n }\n\n get customers() {\n return this.item('customers');\n }\n\n get users() {\n return this.item('users');\n }\n\n get lubricants() {\n return this.item('lubricants');\n }\n\n get products() {\n return this.item('products');\n }\n\n get machineTypes() {\n return this.item('machine-types');\n }\n\n get notificationSettings() {\n return this.item('notification-settings');\n }\n\n private item(name: string): NavItem {\n const { route: { matched } } = this.$router.resolve({ name });\n\n const resolved = matched[1];\n\n return {\n title: this.$t(resolved.meta.breadcrumb) as string,\n routeName: name,\n icon: resolved.meta.icon,\n active: !!this.$route.matched.find(record => record.name === name),\n };\n }\n\n setLocale(locale: string) {\n this.$i18n.locale = locale;\n localStorage.setItem('locale', locale);\n\n if (this.$route.name?.startsWith('help-')) {\n this.$router.replace({ name: `help-${locale}` });\n }\n }\n\n togglePresentationMode() {\n presentationModeStore.toggle();\n this.$buefy.toast.open({\n message: this.$t(presentationModeStore.isEnabled ? 'presentation-mode-enabled' : 'presentation-mode-disabled').toString(),\n type: 'is-success',\n });\n }\n\n logout() {\n this.$auth.logout({\n returnTo: window.location.origin + '/logged-out',\n });\n }\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=e3920eee&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=ts&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=e3920eee&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3920eee\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Breadcrumbs from '@/layout/Breadcrumbs.vue';\nimport FooterLayout from '@/layout/FooterLayout.vue';\nimport Navigation from '@/layout/Navigation.vue';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n components: { FooterLayout, Breadcrumbs, Navigation },\n})\nexport default class BaseLayout extends Vue {\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BaseLayout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BaseLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BaseLayout.vue?vue&type=template&id=b9c11f30&scoped=true&\"\nimport script from \"./BaseLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./BaseLayout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BaseLayout.vue?vue&type=style&index=0&id=b9c11f30&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b9c11f30\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('RouterView')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component\nexport default class RouteParent extends Vue {\n}\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RouteParent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RouteParent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RouteParent.vue?vue&type=template&id=0c33ed82&\"\nimport script from \"./RouteParent.vue?vue&type=script&lang=ts&\"\nexport * from \"./RouteParent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import BaseLayout from '@/layout/BaseLayout.vue';\nimport RouteParent from '@/layout/RouteParent.vue';\nimport { Route, RouteConfig } from 'vue-router';\n\nconst machineRoutes: RouteConfig = {\n path: 'machine/:machineId',\n name: 'machine',\n props: true,\n component: () => import('../machines/views/MachineParentView.vue'),\n redirect: { name: 'view-machine' },\n meta: {\n breadcrumb: 'machine',\n icon: 'cog',\n },\n children: [\n {\n path: '',\n name: 'view-machine',\n component: () => import('../machines/views/MachineView.vue'),\n meta: {\n title: 'machine',\n },\n },\n {\n path: 'edit',\n name: 'edit-machine',\n component: () => import('../machines/views/EditMachineView.vue'),\n meta: {\n breadcrumb: 'edit-machine',\n icon: 'cog-edit',\n },\n },\n {\n path: 'add-measurement',\n name: 'add-measurement',\n component: () => import('../measurements/views/AddMeasurementView.vue'),\n props: bindQuery,\n meta: {\n breadcrumb: 'add-measurement',\n icon: 'vial-plus',\n },\n },\n {\n path: 'import-measurements',\n name: 'import-measurements',\n component: () => import('../measurements/views/ImportMeasurementsView.vue'),\n meta: {\n breadcrumb: 'import-measurement',\n icon: 'vial-arrow-up',\n },\n },\n {\n path: 'edit-measurement/:measurementId',\n name: 'edit-measurement',\n component: () => import('../measurements/views/EditMeasurementView.vue'),\n props: bindQuery,\n meta: {\n breadcrumb: 'edit-measurement',\n icon: 'vial-edit',\n },\n },\n {\n path: 'add-filling',\n name: 'add-filling',\n component: () => import('../machines/views/AddFillingView.vue'),\n meta: {\n breadcrumb: 'add-lubricant-filling',\n icon: 'fill-drip',\n },\n },\n {\n path: 'edit-filling/:fillingId',\n name: 'edit-filling',\n component: () => import('../machines/views/EditFillingView.vue'),\n meta: {\n breadcrumb: 'edit-filling',\n icon: 'fill-drip-edit',\n },\n props: true,\n },\n {\n path: 'qr-code',\n name: 'qr-code',\n component: () => import('../machines/views/QrCodeView.vue'),\n meta: {\n breadcrumb: 'qr-code',\n icon: 'qrcode',\n },\n },\n {\n path: 'add-product',\n name: 'add-machine-product',\n component: () => import('../machines/views/AddMachineProductView.vue'),\n meta: {\n breadcrumb: 'add-product',\n icon: 'cube-plus',\n },\n },\n {\n path: 'edit-product/:productId',\n name: 'edit-machine-product',\n component: () => import('../machines/views/EditMachineProductView.vue'),\n meta: {\n breadcrumb: 'edit-machine-product',\n icon: 'cube-edit',\n },\n props: true,\n },\n ],\n};\n\nconst departmentRoutes: RouteConfig = {\n path: ':departmentId?',\n name: 'department',\n props: true,\n component: () => import('../departments/views/DepartmentParentView.vue'),\n redirect: { name: 'view-department' },\n meta: {\n breadcrumb: 'department',\n icon: 'users-cog',\n },\n children: [\n {\n path: '',\n name: 'view-department',\n component: () => import('../departments/views/DepartmentView.vue'),\n meta: {\n title: 'department',\n },\n },\n {\n path: 'edit',\n name: 'edit-department',\n component: () => import('../departments/views/EditDepartmentView.vue'),\n meta: {\n breadcrumb: 'edit-department',\n icon: 'users-cog-edit',\n },\n },\n {\n path: 'aggregations',\n name: 'aggregations',\n component: () => import('../customers/views/CustomerAggregationView.vue'),\n meta: {\n breadcrumb: 'aggregations',\n icon: 'chart-pie',\n },\n },\n {\n path: 'downloads',\n name: 'customer-downloads',\n component: () => import('../downloads/views/CustomerDownloadsView.vue'),\n meta: {\n breadcrumb: 'downloads',\n icon: 'file-download',\n },\n },\n {\n path: 'scan-qr',\n name: 'scan-qr',\n component: () => import('../customers/views/ScanQrCodeView.vue'),\n meta: {\n breadcrumb: 'scan-qr',\n icon: 'qrcode',\n },\n },\n {\n path: 'lab-import',\n name: 'lab-import',\n component: () => import('../customers/views/ImportLabReportView.vue'),\n meta: {\n breadcrumb: 'import-lab-report',\n icon: 'flask',\n },\n },\n {\n path: 'add-machine',\n name: 'add-machine',\n component: () => import('../machines/views/AddMachineView.vue'),\n meta: {\n breadcrumb: 'add-machines',\n icon: 'cog-plus',\n },\n },\n {\n path: 'tours/:tourId',\n name: 'tour',\n component: () => import('../tours/views/TourView.vue'),\n props: true,\n meta: {\n breadcrumb: 'measurements-report',\n icon: 'file-alt',\n },\n },\n {\n path: 'lab-reports/:tourId',\n name: 'lab-report',\n component: () => import('../tours/views/TourView.vue'),\n props: true,\n meta: {\n breadcrumb: 'lab-report',\n icon: 'flask',\n },\n },\n {\n path: 'add-fillings',\n name: 'add-fillings',\n component: () => import('../lubricants/views/AddMultipleFillingsView.vue'),\n meta: {\n breadcrumb: 'add-fillings',\n icon: 'fill-drip',\n },\n },\n machineRoutes,\n ],\n};\n\nconst customerRoutes: RouteConfig = {\n path: 'customers',\n name: 'customers',\n component: RouteParent,\n redirect: { name: 'customers-list' },\n meta: {\n breadcrumb: 'customers',\n icon: 'address-book',\n },\n children: [\n {\n path: '',\n name: 'customers-list',\n component: () => import('../customers/views/CustomersView.vue'),\n meta: {\n title: 'customers',\n },\n },\n {\n path: 'add',\n name: 'add-customer',\n component: () => import('../customers/views/AddCustomerView.vue'),\n meta: {\n breadcrumb: 'add',\n title: 'add-customer',\n icon: 'plus',\n },\n },\n {\n path: ':customerId',\n name: 'customer',\n props: true,\n component: () => import('../customers/views/CustomerParentView.vue'),\n redirect: { name: 'view-customer' },\n meta: {\n breadcrumb: 'customer',\n icon: 'briefcase',\n },\n children: [\n {\n path: '',\n name: 'view-customer',\n component: () => import('../customers/views/CustomerView.vue'),\n meta: {\n title: 'customer',\n },\n },\n {\n path: 'edit',\n name: 'edit-customer',\n component: () => import('../customers/views/EditCustomerView.vue'),\n meta: {\n breadcrumb: 'edit',\n icon: 'briefcase-edit',\n },\n },\n {\n path: 'add-department',\n name: 'add-department',\n component: () => import('../departments/views/AddDepartmentView.vue'),\n meta: {\n breadcrumb: 'add-department',\n icon: 'users-cog-plus',\n },\n },\n departmentRoutes,\n ],\n },\n ],\n};\n\nexport const routes: RouteConfig[] = [\n {\n path: '/',\n name: 'base',\n component: BaseLayout,\n redirect: { name: 'home' },\n meta: {\n breadcrumb: 'home',\n icon: 'home',\n },\n children: [\n {\n path: '/',\n name: 'home',\n component: () => import('../home/Home.vue'),\n meta: {\n title: 'home',\n },\n },\n customerRoutes,\n {\n path: 'users',\n name: 'users',\n component: RouteParent,\n redirect: { name: 'users-list' },\n meta: {\n breadcrumb: 'user',\n icon: 'users',\n },\n children: [\n {\n path: '',\n name: 'users-list',\n component: () => import('../users/views/UsersView.vue'),\n meta: {\n title: 'users',\n },\n },\n {\n path: 'add',\n name: 'add-user',\n component: () => import('../users/views/AddUserView.vue'),\n meta: {\n breadcrumb: 'add',\n title: 'add-user',\n icon: 'user-plus',\n },\n },\n {\n path: ':userId',\n name: 'edit-user',\n component: () => import('../users/views/EditUserView.vue'),\n props: true,\n meta: {\n breadcrumb: 'edit',\n title: 'edit-user',\n icon: 'user-edit',\n },\n },\n ],\n },\n {\n path: 'machine-types',\n name: 'machine-types',\n component: RouteParent,\n redirect: { name: 'machine-types-list' },\n meta: {\n breadcrumb: 'machine-types',\n icon: 'cogs',\n },\n children: [\n {\n path: '',\n name: 'machine-types-list',\n component: () => import('../machines/views/MachineTypesView.vue'),\n meta: {\n title: 'machine-types',\n },\n },\n {\n path: 'add',\n name: 'add-machine-type',\n component: () => import('../machines/views/AddMachineTypeView.vue'),\n meta: {\n breadcrumb: 'add',\n title: 'add-machine-type',\n icon: 'plus',\n },\n },\n ],\n },\n {\n path: 'lubricants',\n name: 'lubricants',\n component: RouteParent,\n redirect: { name: 'lubricants-list' },\n meta: {\n breadcrumb: 'lubricants',\n icon: 'tint',\n staffOnly: true,\n },\n children: [\n {\n path: '',\n name: 'lubricants-list',\n component: () => import('../lubricants/views/LubricantsView.vue'),\n meta: {\n title: 'lubricants',\n },\n },\n {\n path: 'add',\n name: 'add-lubricant',\n component: () => import('../lubricants/views/AddLubricantView.vue'),\n meta: {\n breadcrumb: 'add',\n title: 'add-lubricant',\n icon: 'tint-plus',\n },\n },\n {\n path: ':lubricantId',\n name: 'lubricant',\n component: RouteParent,\n meta: {\n breadcrumb: 'lubricant',\n icon: 'tint',\n },\n redirect: { name: 'view-lubricant' },\n children: [\n {\n path: '',\n name: 'view-lubricant',\n component: () => import('../lubricants/views/LubricantView.vue'),\n props: true,\n meta: {\n title: 'lubricant',\n },\n },\n {\n path: 'edit',\n name: 'edit-lubricant',\n component: () => import('../lubricants/views/EditLubricantView.vue'),\n props: true,\n meta: {\n breadcrumb: 'edit',\n title: 'edit-lubricant',\n icon: 'tint-edit',\n },\n },\n ],\n },\n ],\n },\n {\n path: 'products',\n name: 'products',\n component: RouteParent,\n redirect: { name: 'products-list' },\n meta: {\n breadcrumb: 'other-products',\n icon: 'cube',\n staffOnly: true,\n },\n children: [\n {\n path: '',\n name: 'products-list',\n component: () => import('../products/views/ProductsView.vue'),\n meta: {\n title: 'other-products',\n },\n },\n {\n path: 'add',\n name: 'add-product',\n component: () => import('../products/views/AddProductView.vue'),\n meta: {\n breadcrumb: 'add',\n title: 'add-product',\n icon: 'cube-plus',\n },\n },\n {\n path: ':productId',\n name: 'product',\n component: RouteParent,\n meta: {\n breadcrumb: 'product',\n icon: 'cube',\n },\n redirect: { name: 'view-product' },\n children: [\n {\n path: '',\n name: 'view-product',\n component: () => import('../products/views/ProductView.vue'),\n props: true,\n meta: {\n title: 'product',\n },\n },\n {\n path: 'edit',\n name: 'edit-product',\n component: () => import('../products/views/EditProductView.vue'),\n props: true,\n meta: {\n breadcrumb: 'edit',\n title: 'edit-product',\n icon: 'cube-edit',\n },\n },\n ],\n },\n {\n path: 'group/add',\n name: 'add-product-group',\n component: () => import('../products/views/AddProductGroupView.vue'),\n meta: {\n breadcrumb: 'add-product-group',\n icon: 'cubes-plus',\n },\n },\n {\n path: 'group/:groupId/edit',\n name: 'edit-product-group',\n component: () => import('../products/views/EditProductGroupView.vue'),\n props: true,\n meta: {\n breadcrumb: 'edit-product-group',\n icon: 'cubes-edit',\n },\n },\n ],\n },\n {\n name: 'anonymous-machines',\n path: '/share/:customerId/:departmentId?',\n component: () => import('../anonymous/views/AnonymousMachinesView.vue'),\n props: true,\n meta: {\n nonAuthenticated: true,\n icon: 'file',\n breadcrumb: 'maintenance-sheet-view',\n },\n },\n {\n name: 'notification-settings',\n path: 'notification-settings',\n component: () => import('../users/views/MyNotificationSettings.vue'),\n meta: {\n breadcrumb: 'notification-settings',\n icon: 'bell',\n },\n },\n {\n name: 'privacy',\n path: 'privacy',\n component: () => import('../layout/PrivacyView.vue'),\n meta: {\n breadcrumb: 'privacy',\n icon: 'shield-alt',\n nonAuthenticated: true,\n },\n },\n {\n name: 'open-source',\n path: 'open-source',\n component: () => import('../layout/OpenSourceView.vue'),\n meta: {\n breadcrumb: 'open-source',\n icon: 'code',\n nonAuthenticated: true,\n },\n },\n {\n name: 'help-de',\n path: 'help-de',\n component: () => import('../layout/HelpView.vue'),\n meta: {\n breadcrumb: 'help',\n icon: 'question',\n nonAuthenticated: true,\n },\n },\n {\n name: 'help-en',\n path: 'help-en',\n component: () => import('../layout/HelpViewEn.vue'),\n meta: {\n breadcrumb: 'help',\n icon: 'question',\n nonAuthenticated: true,\n },\n },\n {\n path: '/logged-out',\n name: 'logged-out',\n component: () => import('../auth/LoggedOutView.vue'),\n meta: {\n nonAuthenticated: true,\n title: 'logged-out',\n },\n },\n ],\n },\n {\n path: '*',\n name: 'not-found',\n redirect: {\n name: 'home',\n },\n },\n];\n\nfunction bindQuery(route: Route) {\n return { ...route.params, ...route.query };\n}\n","import { nonStaffSingleCustomerGuard } from '@/customers/helpers/nonStaffSingleCustomerGuard';\nimport { authGuard } from '@/router/authGuard';\nimport { routes } from '@/router/routes';\nimport Vue from 'vue';\nimport VueRouter from 'vue-router';\n\nVue.use(VueRouter);\n\nexport const router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n routes,\n\n});\n\nrouter.beforeEach(authGuard);\nrouter.beforeEach(nonStaffSingleCustomerGuard);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('RouterView')],1),_c('PortalTarget',{attrs:{\"name\":\"modals\",\"multiple\":\"\"}}),_c('a',{staticStyle:{\"display\":\"none\"},attrs:{\"id\":\"downloadHelper\",\"href\":_vm.downloadStore.exportDataUrl,\"download\":_vm.downloadStore.exportFileName}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { downloadStore } from '@/common/helpers/downloadStore';\nimport { Component, Vue } from 'vue-property-decorator';\n\n@Component({\n metaInfo(this: App) {\n const { title, breadcrumb } = this.$route.meta ?? {};\n\n const prefix = this.$t(title ?? breadcrumb) as string;\n const suffix = `${this.tenant.name} Fluid Management`;\n\n return {\n title: prefix,\n titleTemplate: prefix ? `%s | ${suffix}` : suffix,\n link: [\n { rel: 'shortcut icon', href: `/img/icons/${this.tenant.favicon}/favicon.ico` },\n { rel: 'icon', type: 'image/png', href: `/img/icons/${this.tenant.favicon}/favicon-32x32.png` },\n ],\n };\n },\n})\nexport default class App extends Vue {\n downloadStore = downloadStore;\n\n get tenant() {\n return window.tenant;\n }\n}\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41[0].rules[0].use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=2c327e06&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { library } from '@fortawesome/fontawesome-svg-core';\nimport {\n faAddressBook,\n faAngleLeft,\n faAngleRight,\n faArchive,\n faArrowDown,\n faArrowRight,\n faArrowUp,\n faBell,\n faBriefcase,\n faChartArea,\n faChartPie,\n faCheck,\n faCheckCircle,\n faChevronDown,\n faCode,\n faCog,\n faCogs,\n faCopy,\n faCube,\n faCubes,\n faDirections,\n faDoorOpen,\n faDownload,\n faEdit,\n faEllipsisH,\n faExchangeAlt,\n faExclamation,\n faExclamationCircle,\n faFile,\n faFileAlt,\n faFileDownload,\n faFileExport,\n faFillDrip,\n faFlask,\n faFolderOpen,\n faForward,\n faHome,\n faIdCardAlt,\n faInfoCircle,\n faKey,\n faLightbulb,\n faMinus,\n faPen,\n faPlus,\n faQrcode,\n faQuestion,\n faRulerHorizontal,\n faSave,\n faShieldAlt,\n faSignInAlt,\n faSignOutAlt,\n faStore,\n faSync,\n faTimesCircle,\n faTint,\n faTrash,\n faUpload,\n faUser,\n faUserEdit,\n faUserPlus,\n faUsers,\n faUsersCog,\n faVial,\n faWrench,\n} from '@fortawesome/free-solid-svg-icons';\n\nlibrary.add(\n faSignOutAlt, faHome, faUser, faPlus, faArrowUp, faArrowDown, faKey, faCopy,\n faIdCardAlt, faUsersCog, faUserPlus, faUserEdit, faBriefcase, faAddressBook,\n faTrash, faAngleLeft, faAngleRight, faEdit, faCog, faPen, faChartArea, faSave,\n faMinus, faExclamationCircle, faTint, faArchive, faFillDrip, faFolderOpen, faCube,\n faCheck, faExclamation, faVial, faTimesCircle, faUpload, faFlask, faCubes, faForward,\n faFileExport, faSync, faDirections, faFileAlt, faDoorOpen, faRulerHorizontal,\n faCogs, faChartPie, faEllipsisH, faFileDownload, faDownload, faBell, faQrcode, faLightbulb,\n faExchangeAlt, faInfoCircle, faShieldAlt, faSignInAlt, faChevronDown, faWrench, faFile,\n faCode, faCheckCircle, faUsers, faQuestion, faArrowRight, faStore,\n);\n","import { Auth0Plugin } from '@/auth/auth0';\nimport { getAuth0Connection } from '@/auth/getAuth0Connection';\nimport IconWrapper from '@/common/components/IconWrapper.vue';\nimport PageHeader from '@/common/components/PageHeader.vue';\nimport { LoadingMixin } from '@/common/helpers/LoadingMixin';\nimport { registerServiceWorker } from '@/registerServiceWorker';\nimport { router } from '@/router/router';\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome';\nimport Buefy from 'buefy';\nimport PortalVue from 'portal-vue';\nimport StackdriverErrorReporter from 'stackdriver-errors-js';\nimport Vue from 'vue';\nimport AsyncComputed from 'vue-async-computed';\nimport 'vue-class-component/hooks';\nimport VueCurrencyInput from 'vue-currency-input';\nimport VueMeta from 'vue-meta';\nimport VueScrollTo from 'vue-scrollto';\nimport Vuelidate from 'vuelidate';\nimport 'whatwg-fetch';\nimport App from './App.vue';\nimport i18n from './i18n';\nimport './styles/fontAwesomeIcons';\nimport './styles/index.scss';\n\nexport const errorHandler = new StackdriverErrorReporter();\n\n(async function() {\n registerServiceWorker().catch(x => console.error(x));\n\n errorHandler.start({\n key: 'AIzaSyCa_YxqIqEkY8eqlBYE1SE2acoUYPjJpUI',\n projectId: 'ruedingerfluidmanagement',\n service: 'FluidManagementSPA',\n });\n\n Vue.config.productionTip = false;\n Vue.config.errorHandler = err => errorHandler.report(err);\n\n Vue.use(AsyncComputed);\n\n Vue.component('FontAwesomeIcon', FontAwesomeIcon);\n Vue.component('FontAwesomeLayers', FontAwesomeLayers);\n Vue.component('IconWrapper', IconWrapper);\n\n Vue.use(VueCurrencyInput, {\n globalOptions: {\n currency: null as any,\n distractionFree: { hideGroupingSymbol: true },\n precision: { min: 0, max: 2 },\n },\n });\n\n Vue.use(Auth0Plugin, {\n domain: 'ruedinger.eu.auth0.com',\n clientId: 'cpWsWNRfv5UGlN3FVlpfls4SSAJ3WtkU',\n authorizationParams: {\n audience: 'fluid-management-api',\n scope: 'openid offline_access profile',\n responseType: 'token id_token',\n redirect_uri: window.location.origin,\n connection: await getAuth0Connection(),\n },\n onRedirectCallback(appState: any) {\n router.push(appState?.targetUrl ? appState.targetUrl : window.location.pathname);\n },\n });\n\n Vue.use(Buefy, {\n defaultIconComponent: 'IconWrapper',\n defaultIconPack: 'fas',\n defaultToastDuration: 2_500,\n defaultToastPosition: 'is-bottom',\n });\n\n Vue.use(Vuelidate);\n\n Vue.use(PortalVue);\n Vue.use(VueMeta);\n\n Vue.mixin(LoadingMixin);\n Vue.component('PageHeader', PageHeader);\n\n Vue.use(VueScrollTo);\n\n new Vue({\n router,\n i18n,\n render: h => h(App),\n }).$mount('#app');\n})();\n","var map = {\n\t\"./de.svg\": 55919,\n\t\"./en.svg\": 78987\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 91980;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \"-legacy.\" + {\"94\":\"071cc268\",\"177\":\"7ecf55f2\",\"282\":\"57affc20\",\"354\":\"8dbb091a\",\"616\":\"6006d2c2\",\"744\":\"5b7f0d7c\",\"857\":\"7c4f1672\",\"874\":\"6d05e624\",\"1046\":\"04d85791\",\"1132\":\"dca84215\",\"1314\":\"ca6e12b7\",\"1718\":\"5c7861f7\",\"1744\":\"a9a2f783\",\"1972\":\"5d26557f\",\"2082\":\"91c10efb\",\"2118\":\"9ac78dd9\",\"2262\":\"dd0ebb01\",\"2343\":\"c57feb0f\",\"2543\":\"7c269834\",\"2719\":\"e1cf9cdb\",\"2826\":\"e75e17da\",\"2838\":\"0cd8d803\",\"3182\":\"b336fc61\",\"3252\":\"c51ee28a\",\"3763\":\"5ba44f45\",\"3766\":\"286ef103\",\"3968\":\"9dba9481\",\"4024\":\"2e067f0f\",\"4082\":\"15772ead\",\"4084\":\"8243ab70\",\"4149\":\"59ab955d\",\"4243\":\"224afd0a\",\"4266\":\"10bec7ca\",\"4559\":\"7ae767a8\",\"4843\":\"69efc7f7\",\"5040\":\"93fc9faa\",\"5232\":\"2cfc6873\",\"5237\":\"9eea722c\",\"5368\":\"8fb553cb\",\"5504\":\"cf3beaea\",\"5564\":\"cd16c75d\",\"5796\":\"dadad185\",\"5945\":\"6277de06\",\"6008\":\"c54302c3\",\"6067\":\"0a6b745e\",\"6151\":\"af37bfd1\",\"6162\":\"02ae3190\",\"6382\":\"d71acd4c\",\"6399\":\"6526c981\",\"6515\":\"ddcabab6\",\"6655\":\"0cf99819\",\"6786\":\"4115708f\",\"7209\":\"f7189c3a\",\"7399\":\"15e2a102\",\"7448\":\"6fd67d7b\",\"7890\":\"cac1b6b1\",\"8213\":\"d33c16bc\",\"8302\":\"e9e35aa0\",\"8734\":\"82b0b1fc\",\"8751\":\"de4fb01e\",\"8962\":\"770b6471\",\"9184\":\"3f69586f\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"94\":\"7ce8952f\",\"177\":\"d216fa78\",\"857\":\"4c2c5b83\",\"1314\":\"269011d9\",\"1744\":\"b510e9b1\",\"1972\":\"d0d632a0\",\"2082\":\"c1e5c43e\",\"2262\":\"c1e5c43e\",\"3766\":\"49d5e5ea\",\"3968\":\"3c0bfed8\",\"4024\":\"74c2a152\",\"4084\":\"4c2c5b83\",\"4266\":\"c1e5c43e\",\"4559\":\"f49dfe43\",\"4843\":\"d216fa78\",\"5040\":\"f51157ff\",\"5368\":\"3d59da9e\",\"5504\":\"51785010\",\"6008\":\"c1e5c43e\",\"6151\":\"c1e5c43e\",\"6382\":\"054b86b2\",\"6786\":\"e8b7e99e\",\"7890\":\"6dfb5a06\",\"8751\":\"31f36290\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"frontend:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"94\":1,\"177\":1,\"857\":1,\"1314\":1,\"1744\":1,\"1972\":1,\"2082\":1,\"2262\":1,\"3766\":1,\"3968\":1,\"4024\":1,\"4084\":1,\"4266\":1,\"4559\":1,\"4843\":1,\"5040\":1,\"5368\":1,\"5504\":1,\"6008\":1,\"6151\":1,\"6382\":1,\"6786\":1,\"7890\":1,\"8751\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfrontend\"] = self[\"webpackChunkfrontend\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(9595); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["createTimeoutSignal","controller","AbortController","setTimeout","abort","signal","fetchWrapper","fetch","request","options","Vue","prototype","$auth","getTokenSilently","accessToken","window","method","headers","Authorization","TypeError","DOMException","_a","toUpperCase","ToastProgrammatic","open","message","type","Response","status","customersClient","CustomersClient","baseUrl","usersClient","UsersClient","machinesClient","MachinesClient","machineTypesClient","MachineTypesClient","measurementsClient","MeasurementsClient","lubricantsClient","LubricantsClient","productsClient","ProductsClient","productGroupsClient","ProductGroupsClient","lubricantFillingClient","LubricantFillingClient","notificationsClient","NotificationsClient","toursClient","MachineToursClient","anonymousClient","TenantClient","AnonymousClient","departmentsClient","DepartmentsClient","location","origin","MeasurementType","MeasurementActionType","ThresholdState","NotificationType","LubricantThresholdField","MeasurementField","http","jsonParseReviver","undefined","this","customerId","departmentId","url_","Error","encodeURIComponent","replace","options_","then","_response","processGetMachines","response","_headers","forEach","v","k","text","_responseText","result200","JSON","parse","throwException","Promise","resolve","machineId","from","to","processExportMachine","contentDisposition","get","fileNameMatch","exec","fileName","length","decodeURIComponent","blob","data","processExportAll","id","processGetEnrichedById","model","content_","stringify","body","processCreateCustomer","processGetAll","processUpdateMeasurementInterval","processAssignUser","userId","processGetCustomersByAssignedUser","files","FormData","item_","append","processParseMachinesForLabImport","machineIdsByName","toString","processImportLabResults","processCreateTour","limit","processGetNotifications","processGetMachineAggregation","processGetAllProducts","processCreateDepartment","processGetDepartments","processRename","processGetById","processDelete","processAddMachines","processGetByCustomerId","processUpdateLubricant","processUpdateDate","processCreateLubricant","lubricantId","processChangeThreshold","processGetByMachine","processGetByCustomer","processUploadDocuments","documentId","processRemoveDocument","processDownloadDocument","processRenameDocument","processCreateMachines","processGetAllByCustomer","processGetOverview","processAddFilling","processAddMeasurement","processImportMeasurements","processAddProduct","productId","processGetMachineProduct","processRemoveProduct","processUpdateMachineProductFillingAmount","processUpdateFillingQuantity","processUpdateType","processReorder","processExport","processExportMachinesList","tourId","processFinishTour","types","page","pageSize","item","processCreateMachineType","processGetByMachinePaged","processGetByMachineByDateRange","measurementId","processChangeValue","processChangeMeasurementDate","processChangeVisualState","processChangeIsOk","actions","processChangeActions","processDownloadReport","processGetMyNotifications","processAddPushSubscription","processRemovePushSubscription","processGetMyPushSubscriptions","processCreateProductGroup","isSpecial","processSetIsSpecial","processCreateProduct","processUpdateGroup","processUpdateUsageConcentration","groupId","query","processGetByGroup","processGetTenantInfo","processManifest","file","processGetIcon","processGetUsers","processAddUser","processGetUsersByCustomer","processGetUserById","processDeleteUser","processSendPasswordResetLink","processRenameUser","processChangePhone","processSetUserStaff","processSetUserSelfService","ApiException","result","isApiException","obj","showErrorToast","e","description","i18n","t","LoadingMixin","isLoading","f","delayLoading","doWithDelayedLoading","loading","noLoading","console","error","Component","PresentationModeStore","isEnabled","presentationModeStore","observable","StoreBase","descriptionKey","_loading","promise","_value","value","loadNow","loadInternal","DownloadStore","exportFileName","exportDataUrl","name","URL","createObjectURL","requestAnimationFrame","document","getElementById","click","revokeObjectURL","downloadStore","setLoading","workPromise","race","resolvedFirst","publicKey","mapPushSubscription","subscription","rawKey","getKey","key","btoa","String","fromCharCode","Uint8Array","rawAuthSecret","authSecret","endpoint","device","navigator","userAgent","postPushTokenIfNecessary","localStorage","getItem","addPushSubscription","setItem","registerPush","registration","createSubscription","log","pushManager","subscribe","forceToast","userVisibleOnly","applicationServerKey","urlBase64ToUint8Array","permissionState","state","toastCount","parseInt","SnackbarProgrammatic","actionText","duration","onAction","base64String","padding","repeat","base64","rawData","atob","outputArray","i","charCodeAt","CustomerStore","getEnrichedById","customerStore","use","VueI18n","locale","language","fallbackLocale","process","messages","de","en","AuthComponent","isAuthenticated","user","_b","roles","includes","isStaff","isSelfService","o","auth0Client","loginWithRedirect","authorizationParams","title","tenant","logo","token","logout","logoutParams","onLine","fromStorage","createAuth0Client","search","handleRedirectCallback","appState","onRedirectCallback","getUser","Auth0Plugin","install","getAuth0Connection","json","culture","substring","connection","render","_vm","_h","$createElement","_c","_self","staticClass","class","size","_l","l","index","attrs","icon","transform","staticRenderFns","layers","IconWrapper","__decorate","Prop","Array","component","titleTag","tag","titleClasses","_t","PageHeader","Number","BackgroundSyncStore","count","openDBRequest","indexedDB","onerror","onsuccess","db","syncCount","objectStoreNames","tx","transaction","objectStore","serviceWorker","getRegistration","active","postMessage","backgroundSyncStore","registerServiceWorker","wb","Workbox","addEventListener","event","isUpdate","showUpdateToast","register","getSubscription","NotificationProgrammatic","indefinite","reload","nonStaffSingleCustomerGuard","next","getCustomersByAssignedUser","sub","customers","departments","params","authGuard","meta","nonAuthenticated","authService","fn","unwatch","$watch","targetUrl","fullPath","_e","directives","rawName","expression","arg","modifiers","ref","route","hide","items","target","_v","_s","$t","breadcrumb","Breadcrumbs","$route","matched","filter","x","map","staffOnly","shouldHide","hasDepartments","$nextTick","scrollContainer","$el","scrollLeft","scrollWidth","Ref","observer","staticStyle","impressum","$i18n","FooterLayout","scopedSlots","_u","shortTitle","proxy","users","lubricants","products","machineTypes","on","$event","setLocale","picture","executeOfflineRequests","$tc","togglePresentationMode","notificationSettings","routeName","$emit","NavigationItem","parent","$parent","closeMenu","$data","_isNavDropdown","handleClickEvent","removeEventListener","Object","required","Navigation","$router","resolved","find","record","startsWith","toggle","$buefy","toast","returnTo","components","BaseLayout","RouteParent","machineRoutes","path","props","redirect","children","bindQuery","departmentRoutes","customerRoutes","routes","VueRouter","router","mode","base","beforeEach","App","metaInfo","prefix","suffix","titleTemplate","link","rel","href","favicon","library","add","faSignOutAlt","faHome","faUser","faPlus","faArrowUp","faArrowDown","faKey","faCopy","faIdCardAlt","faUsersCog","faUserPlus","faUserEdit","faBriefcase","faAddressBook","faTrash","faAngleLeft","faAngleRight","faEdit","faCog","faPen","faChartArea","faSave","faMinus","faExclamationCircle","faTint","faArchive","faFillDrip","faFolderOpen","faCube","faCheck","faExclamation","faVial","faTimesCircle","faUpload","faFlask","faCubes","faForward","faFileExport","faSync","faDirections","faFileAlt","faDoorOpen","faRulerHorizontal","faCogs","faChartPie","faEllipsisH","faFileDownload","faDownload","faBell","faQrcode","faLightbulb","faExchangeAlt","faInfoCircle","faShieldAlt","faSignInAlt","faChevronDown","faWrench","faFile","faCode","faCheckCircle","faUsers","faQuestion","faArrowRight","faStore","errorHandler","StackdriverErrorReporter","catch","start","projectId","service","config","productionTip","err","report","AsyncComputed","FontAwesomeIcon","FontAwesomeLayers","VueCurrencyInput","globalOptions","currency","distractionFree","hideGroupingSymbol","precision","min","max","audience","scope","responseType","redirect_uri","push","pathname","domain","clientId","Buefy","defaultIconComponent","defaultIconPack","defaultToastDuration","defaultToastPosition","Vuelidate","PortalVue","VueMeta","mixin","VueScrollTo","h","$mount","webpackContext","req","webpackContextResolve","__webpack_require__","code","keys","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","m","amdO","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","create","def","current","indexOf","getOwnPropertyNames","definition","defineProperty","enumerable","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","url","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","reject","linkTag","onLinkComplete","errorType","realHref","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}