{"version":3,"file":"js/index.3c199a25.js","mappings":"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","sources":["webpack://mwm-public-client/./src/api/axiosClient.ts","webpack://mwm-public-client/./src/api/LumediPublicClient.ts","webpack://mwm-public-client/./src/App.vue?faad","webpack://mwm-public-client/./src/App.vue?38a5","webpack://mwm-public-client/./src/App.vue?892f","webpack://mwm-public-client/./src/App.vue","webpack://mwm-public-client/./src/plugins/primevue.ts","webpack://mwm-public-client/./src/main.ts","webpack://mwm-public-client/./src/router/index.ts","webpack://mwm-public-client/./src/stores/authStore.ts","webpack://mwm-public-client/webpack/bootstrap","webpack://mwm-public-client/webpack/runtime/chunk loaded","webpack://mwm-public-client/webpack/runtime/compat get default export","webpack://mwm-public-client/webpack/runtime/define property getters","webpack://mwm-public-client/webpack/runtime/ensure chunk","webpack://mwm-public-client/webpack/runtime/get javascript chunk filename","webpack://mwm-public-client/webpack/runtime/get mini-css chunk filename","webpack://mwm-public-client/webpack/runtime/global","webpack://mwm-public-client/webpack/runtime/hasOwnProperty shorthand","webpack://mwm-public-client/webpack/runtime/load script","webpack://mwm-public-client/webpack/runtime/make namespace object","webpack://mwm-public-client/webpack/runtime/publicPath","webpack://mwm-public-client/webpack/runtime/css loading","webpack://mwm-public-client/webpack/runtime/jsonp chunk loading","webpack://mwm-public-client/webpack/startup"],"sourcesContent":["import router from \"@/router\";\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nexport default abstract class AxiosClient {\n protected transformResult(_url: string, response: AxiosResponse, processor: (response: AxiosResponse) => any) {\n switch (response.status) {\n case 401:\n router.push({ name: \"login\" });\n break;\n }\n\n return processor(response);\n }\n\n protected transformOptions(options: AxiosRequestConfig) {\n return Promise.resolve(options);\n }\n}\n","//----------------------\n// \n// Generated using the NSwag toolchain v13.18.2.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport AxiosClient from './axiosClient';import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class CalendarClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAvailability(year: number | undefined, month: number | undefined, token: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/appointment-calendar/availability?\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n if (month === null)\n throw new Error(\"The parameter 'month' cannot be null.\");\n else if (month !== undefined)\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\n if (token !== undefined && token !== null)\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailability(_response));\n });\n }\n\n protected processGetAvailability(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DateAvailabilityResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getOpenings(year: number | undefined, month: number | undefined, day: number | undefined, token: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/appointment-calendar/openings?\";\n if (year === null)\n throw new Error(\"The parameter 'year' cannot be null.\");\n else if (year !== undefined)\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\n if (month === null)\n throw new Error(\"The parameter 'month' cannot be null.\");\n else if (month !== undefined)\n url_ += \"month=\" + encodeURIComponent(\"\" + month) + \"&\";\n if (day === null)\n throw new Error(\"The parameter 'day' cannot be null.\");\n else if (day !== undefined)\n url_ += \"day=\" + encodeURIComponent(\"\" + day) + \"&\";\n if (token !== undefined && token !== null)\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetOpenings(_response));\n });\n }\n\n protected processGetOpenings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ScheduleOpeningResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n selectTime(model: SelectTimeRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/appointment-calendar/select-time\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSelectTime(_response));\n });\n }\n\n protected processSelectTime(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SelectTimeResponseModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n cancelPendingAppointment(appointmentId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/appointment-calendar/{appointmentId}/cancel\";\n if (appointmentId === undefined || appointmentId === null)\n throw new Error(\"The parameter 'appointmentId' must be defined.\");\n url_ = url_.replace(\"{appointmentId}\", encodeURIComponent(\"\" + appointmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCancelPendingAppointment(_response));\n });\n }\n\n protected processCancelPendingAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n confirmAppointment(model: ConfirmAppointmentRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/appointment-calendar/confirm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processConfirmAppointment(_response));\n });\n }\n\n protected processConfirmAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ConfigClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getReCaptchaSiteKey( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/config/recaptcha/sitekey\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetReCaptchaSiteKey(_response));\n });\n }\n\n protected processGetReCaptchaSiteKey(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAnalyticsBeforePaymentScript( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/config/analytics/beforePaymentScript\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAnalyticsBeforePaymentScript(_response));\n });\n }\n\n protected processGetAnalyticsBeforePaymentScript(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientInformationClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getMe( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patient/information/me\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetMe(_response));\n });\n }\n\n protected processGetMe(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PatientInformationResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getContactInfo( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patient/information/contact\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContactInfo(_response));\n });\n }\n\n protected processGetContactInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ContactInfo.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientInteractionsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getPatientInteractionInvitationPendings( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patient/interactions/pendingInvitations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientInteractionInvitationPendings(_response));\n });\n }\n\n protected processGetPatientInteractionInvitationPendings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GetPublicInteractionRequestsInPendingStatusItem.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientResourcesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getPatientResources( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patient/resources/availableResources\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientResources(_response));\n });\n }\n\n protected processGetPatientResources(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GetPatientResourcesResponse.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n downloadResource(resourceId: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patient/resources/downloadResource/{resourceId}\";\n if (resourceId === undefined || resourceId === null)\n throw new Error(\"The parameter 'resourceId' must be defined.\");\n url_ = url_.replace(\"{resourceId}\", encodeURIComponent(\"\" + resourceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDownloadResource(_response));\n });\n }\n\n protected processDownloadResource(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientSiteAuthenticationClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n login(request: LoginModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/auth/login\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLogin(_response));\n });\n }\n\n protected processLogin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n confirmAccount(request: ConfirmAccountRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/auth/confirm\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processConfirmAccount(_response));\n });\n }\n\n protected processConfirmAccount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n resetPassword(request: ResetPasswordRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/auth/resetPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processResetPassword(_response));\n });\n }\n\n protected processResetPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n forgotPassword(request: ForgotPasswordRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/auth/forgotPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processForgotPassword(_response));\n });\n }\n\n protected processForgotPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PublicQuestionnaireEngineClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n postGenericInteraction(publicRequest: PostGenericInteractionPublicRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/publicQuestionnaireEngine/postGenericInteraction\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(publicRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostGenericInteraction(_response));\n });\n }\n\n protected processPostGenericInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PostEnrollmentInteractionResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getGenericInteraction(requestKey: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/publicQuestionnaireEngine/getGenericInteraction?\";\n if (requestKey === null)\n throw new Error(\"The parameter 'requestKey' cannot be null.\");\n else if (requestKey !== undefined)\n url_ += \"RequestKey=\" + encodeURIComponent(\"\" + requestKey) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetGenericInteraction(_response));\n });\n }\n\n protected processGetGenericInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionRenderModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postEnrollmentInteraction(request: PostEnrollmentInteractionRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/publicQuestionnaireEngine\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostEnrollmentInteraction(_response));\n });\n }\n\n protected processPostEnrollmentInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PostEnrollmentInteractionResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getEnrollmentInteraction(languageCode: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/publicQuestionnaireEngine?\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEnrollmentInteraction(_response));\n });\n }\n\n protected processGetEnrollmentInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionRenderModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PublicTasksClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getJoin(callbackTaskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/public/tasks/{callbackTaskId}/join\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetJoin(_response));\n });\n }\n\n protected processGetJoin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getJoin2(callbackTaskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/public-tasks/{callbackTaskId}/join\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetJoin2(_response));\n });\n }\n\n protected processGetJoin2(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientSiteClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getByUserName(username: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/GetByUserName?\";\n if (username !== undefined && username !== null)\n url_ += \"username=\" + encodeURIComponent(\"\" + username) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetByUserName(_response));\n });\n }\n\n protected processGetByUserName(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PatientLoginDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPasswordHash(email: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/PasswordHash?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPasswordHash(_response));\n });\n }\n\n protected processGetPasswordHash(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setPasswordHash(email: string | null | undefined, pass: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/PasswordHash?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n if (pass !== undefined && pass !== null)\n url_ += \"pass=\" + encodeURIComponent(\"\" + pass) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetPasswordHash(_response));\n });\n }\n\n protected processSetPasswordHash(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doActivateAccount(token: string | null | undefined, hashedPassword: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/activateAccount?\";\n if (token !== undefined && token !== null)\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n if (hashedPassword !== undefined && hashedPassword !== null)\n url_ += \"hashedPassword=\" + encodeURIComponent(\"\" + hashedPassword) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoActivateAccount(_response));\n });\n }\n\n protected processDoActivateAccount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doSendForgetPasswordEmail(email: string | null | undefined, token: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/sendForgetPasswordEmail?\";\n if (email !== undefined && email !== null)\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\n if (token !== undefined && token !== null)\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoSendForgetPasswordEmail(_response));\n });\n }\n\n protected processDoSendForgetPasswordEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ServiceOutcome.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPatientPublicInteractionRequests(patientLoginId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/patientPublicInteractionRequests?\";\n if (patientLoginId === null)\n throw new Error(\"The parameter 'patientLoginId' cannot be null.\");\n else if (patientLoginId !== undefined)\n url_ += \"patientLoginId=\" + encodeURIComponent(\"\" + patientLoginId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientPublicInteractionRequests(_response));\n });\n }\n\n protected processGetPatientPublicInteractionRequests(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GetPublicInteractionRequestsInPendingStatusItem2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPatientResources(patientId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/{patientId}/patientResources\";\n if (patientId === undefined || patientId === null)\n throw new Error(\"The parameter 'patientId' must be defined.\");\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientResources(_response));\n });\n }\n\n protected processGetPatientResources(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GetPatientResourcesResponse2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPatientResourceDetails(patientId: string, documentId: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/{patientId}/patientResources/{documentId}/details\";\n if (patientId === undefined || patientId === null)\n throw new Error(\"The parameter 'patientId' must be defined.\");\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\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_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientResourceDetails(_response));\n });\n }\n\n protected processGetPatientResourceDetails(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = GetPatientResourceDetailsResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n downloadPatientResource(patientId: string, documentId: number , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/patientSite/{patientId}/patientResources/{documentId}/download\";\n if (patientId === undefined || patientId === null)\n throw new Error(\"The parameter 'patientId' must be defined.\");\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\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_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDownloadPatientResource(_response));\n });\n }\n\n protected processDownloadPatientResource(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ReportsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getPatientsWithoutFaxedAe(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/patients/adverse-events/fax-pending\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientsWithoutFaxedAe(_response));\n });\n }\n\n protected processGetPatientsWithoutFaxedAe(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPatientsWithAe(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/patients/adverse-events\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientsWithAe(_response));\n });\n }\n\n protected processGetPatientsWithAe(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPatientsWithAeContainingCcglow(studyId: string, containsCcglow: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/patients/adverse-events/cc-glow?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (containsCcglow === null)\n throw new Error(\"The parameter 'containsCcglow' cannot be null.\");\n else if (containsCcglow !== undefined)\n url_ += \"containsCcglow=\" + encodeURIComponent(\"\" + containsCcglow) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPatientsWithAeContainingCcglow(_response));\n });\n }\n\n protected processGetPatientsWithAeContainingCcglow(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCcglowSummary(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/adverse-events/study/ccglow\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCcglowSummary(_response));\n });\n }\n\n protected processGetCcglowSummary(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AeCcglowSummary.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAeSummary(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/adverse-events/study\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAeSummary(_response));\n });\n }\n\n protected processGetAeSummary(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AeSummary.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getMonthlyReport(studyId: string, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/monthly?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetMonthlyReport(_response));\n });\n }\n\n protected processGetMonthlyReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPhysicianReport(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/physicians\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPhysicianReport(_response));\n });\n }\n\n protected processGetPhysicianReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSourceDataValidationReport(studyId: string, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/source-data-validation?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSourceDataValidationReport(_response));\n });\n }\n\n protected processGetSourceDataValidationReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getReconciliationReport(studyId: string, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/reconciliation?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetReconciliationReport(_response));\n });\n }\n\n protected processGetReconciliationReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStoppedTakingSummary(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/stopped-taking\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStoppedTakingSummary(_response));\n });\n }\n\n protected processGetStoppedTakingSummary(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StoppedTakingSummary.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStoppedTakingPatients(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/lumedi-connect-reports/studies/{studyId}/stopped-taking/patients\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStoppedTakingPatients(_response));\n });\n }\n\n protected processGetStoppedTakingPatients(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class StudyParticipantsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getStudyPspSystemPatient(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants/system-patient\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStudyPspSystemPatient(_response));\n });\n }\n\n protected processGetStudyPspSystemPatient(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = GetSystemPatientModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateStudyPspSystemPatient(studyId: string, model: UpdateStudyPspSystemPatientModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants/system-patient\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateStudyPspSystemPatient(_response));\n });\n }\n\n protected processUpdateStudyPspSystemPatient(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getParticipants(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetParticipants(_response));\n });\n }\n\n protected processGetParticipants(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSummary(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants/statuses/summary\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSummary(_response));\n });\n }\n\n protected processGetSummary(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ParticipantsSummaryResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getParticipantsForStatus(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants/statuses\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetParticipantsForStatus(_response));\n });\n }\n\n protected processGetParticipantsForStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientSummaryStatusResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getEnrollmentCount(studyId: string, start: Date | null | undefined, end: Date | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/participants/count?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start !== undefined && start !== null)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end !== undefined && end !== null)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEnrollmentCount(_response));\n });\n }\n\n protected processGetEnrollmentCount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EnrollmentCountModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MetricsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getQueueMetrics( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/metrics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueueMetrics(_response));\n });\n }\n\n protected processGetQueueMetrics(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = QueueMetricsModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getQueueMetrics2( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/metrics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueueMetrics2(_response));\n });\n }\n\n protected processGetQueueMetrics2(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = QueueMetricsModel2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInboundCallMetrics( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/metrics/calls\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInboundCallMetrics(_response));\n });\n }\n\n protected processGetInboundCallMetrics(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallMetricsModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class InteractionAuditsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAuditableUsers(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/interaction-audits/studies/{studyId}/accounts\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAuditableUsers(_response));\n });\n }\n\n protected processGetAuditableUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AccountSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAccountInteractions(studyId: string, accountId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/interaction-audits/studies/{studyId}/interactions?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (accountId !== undefined && accountId !== null)\n url_ += \"accountId=\" + encodeURIComponent(\"\" + accountId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAccountInteractions(_response));\n });\n }\n\n protected processGetAccountInteractions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PatientInteractionSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class AsteriskClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getSummary(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/asterisk/studies/{studyId}/summary\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSummary(_response));\n });\n }\n\n protected processGetSummary(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AsteriskSummaryModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSnapshot( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/asterisk/snapshot\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSnapshot(_response));\n });\n }\n\n protected processGetSnapshot(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChannelsStateSnapshot.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getQueuesSnapshot( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/asterisk/queues/snapshot\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueuesSnapshot(_response));\n });\n }\n\n protected processGetQueuesSnapshot(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = QueueSummariesSnapshot.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getQueues( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/asterisk/queues\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueues(_response));\n });\n }\n\n protected processGetQueues(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AsteriskQueueResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class QuestionnaireEngineClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getProvinceState(countryCode: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/ProvinceState?\";\n if (countryCode !== undefined && countryCode !== null)\n url_ += \"countryCode=\" + encodeURIComponent(\"\" + countryCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProvinceState(_response));\n });\n }\n\n protected processGetProvinceState(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProvinceState.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPharmacies(request: GetPharmaciesRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/Pharmacies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"GET\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPharmacies(_response));\n });\n }\n\n protected processGetPharmacies(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PharmacyModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPhysician(request: GetPhysicianRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/Physician\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"GET\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPhysician(_response));\n });\n }\n\n protected processGetPhysician(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PhysicianModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getEnrollmentInteractionPublic(languageCode: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/enrollmentInteractionPublic?\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEnrollmentInteractionPublic(_response));\n });\n }\n\n protected processGetEnrollmentInteractionPublic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionRenderModel2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postEnrollmentInteractionPublic(request: PostEnrollmentInteractionRequest2 , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/enrollmentInteractionPublic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostEnrollmentInteractionPublic(_response));\n });\n }\n\n protected processPostEnrollmentInteractionPublic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PostEnrollmentInteractionResponse2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getGenericInteractionPublic(requestKey: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/PublicGenericInteraction?\";\n if (requestKey === null)\n throw new Error(\"The parameter 'requestKey' cannot be null.\");\n else if (requestKey !== undefined)\n url_ += \"RequestKey=\" + encodeURIComponent(\"\" + requestKey) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetGenericInteractionPublic(_response));\n });\n }\n\n protected processGetGenericInteractionPublic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionRenderModel2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postGenericInteractionPublic(request: PostGenericInteractionPublicRequest2 , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/PublicGenericInteraction\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(request);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostGenericInteractionPublic(_response));\n });\n }\n\n protected processPostGenericInteractionPublic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PostEnrollmentInteractionResponse2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInteraction(interactionId: number | undefined, languageCode: string | null | undefined, patientId: string | undefined, editingInteractionId: number | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine?\";\n if (interactionId === null)\n throw new Error(\"The parameter 'interactionId' cannot be null.\");\n else if (interactionId !== undefined)\n url_ += \"interactionId=\" + encodeURIComponent(\"\" + interactionId) + \"&\";\n if (languageCode !== undefined && languageCode !== null)\n url_ += \"languageCode=\" + encodeURIComponent(\"\" + languageCode) + \"&\";\n if (patientId === null)\n throw new Error(\"The parameter 'patientId' cannot be null.\");\n else if (patientId !== undefined)\n url_ += \"patientId=\" + encodeURIComponent(\"\" + patientId) + \"&\";\n if (editingInteractionId !== undefined && editingInteractionId !== null)\n url_ += \"editingInteractionId=\" + encodeURIComponent(\"\" + editingInteractionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInteraction(_response));\n });\n }\n\n protected processGetInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionRenderModel2.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postInteraction(response: InteractionResponseModel2 , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/questionnaireEngine/interaction\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(response);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostInteraction(_response));\n });\n }\n\n protected processPostInteraction(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InteractionModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMAccountClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n doAccountDeactivate(accountId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAccount/accountDeactivate?\";\n if (accountId === null)\n throw new Error(\"The parameter 'accountId' cannot be null.\");\n else if (accountId !== undefined)\n url_ += \"accountId=\" + encodeURIComponent(\"\" + accountId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoAccountDeactivate(_response));\n });\n }\n\n protected processDoAccountDeactivate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doResendVerificationEmail(accountId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAccount/resendVerificationEmail/{accountId}\";\n if (accountId === undefined || accountId === null)\n throw new Error(\"The parameter 'accountId' must be defined.\");\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoResendVerificationEmail(_response));\n });\n }\n\n protected processDoResendVerificationEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAccounts( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAccount/accounts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAccounts(_response));\n });\n }\n\n protected processGetAccounts(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AccountDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCreateAccount(adminRegisterRequestModel: AdminRegisterRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAccount/account\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(adminRegisterRequestModel);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCreateAccount(_response));\n });\n }\n\n protected processDoCreateAccount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AdminRegisterResponseModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCurrentUserRole( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAccount/currentRole\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCurrentUserRole(_response));\n });\n }\n\n protected processGetCurrentUserRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CurrentUserRole.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMAgentClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getCurrentAgent( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/currentAgent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCurrentAgent(_response));\n });\n }\n\n protected processGetCurrentAgent(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SimpleAgentDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveCurrentAgent(simpleAgentDto: SimpleAgentDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/currentAgent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(simpleAgentDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveCurrentAgent(_response));\n });\n }\n\n protected processSaveCurrentAgent(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCurrentAgentAgentRole( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/currentAgentRole\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCurrentAgentAgentRole(_response));\n });\n }\n\n protected processGetCurrentAgentAgentRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getProfilePicture( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/profilePicture\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProfilePicture(_response));\n });\n }\n\n protected processGetProfilePicture(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doDownloadFile(key: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/file/{key}\";\n if (key === undefined || key === null)\n throw new Error(\"The parameter 'key' must be defined.\");\n url_ = url_.replace(\"{key}\", encodeURIComponent(\"\" + key));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoDownloadFile(_response));\n });\n }\n\n protected processDoDownloadFile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doUploadFile(formFile: FileParameter | null | undefined, fileType: AgentFileType | undefined, agentId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/file\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (formFile !== null && formFile !== undefined)\n content_.append(\"FormFile\", formFile.data, formFile.fileName ? formFile.fileName : \"FormFile\");\n if (fileType === null || fileType === undefined)\n throw new Error(\"The parameter 'fileType' cannot be null.\");\n else\n content_.append(\"FileType\", fileType.toString());\n if (agentId === null || agentId === undefined)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else\n content_.append(\"AgentId\", agentId.toString());\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoUploadFile(_response));\n });\n }\n\n protected processDoUploadFile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSingle(agentId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/get/{agentId}\";\n if (agentId === undefined || agentId === null)\n throw new Error(\"The parameter 'agentId' must be defined.\");\n url_ = url_.replace(\"{agentId}\", encodeURIComponent(\"\" + agentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSingle(_response));\n });\n }\n\n protected processGetSingle(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = FullAgentDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentSearch(filters_agentRoles: AgentRole[] | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/search?\";\n if (filters_agentRoles !== undefined && filters_agentRoles !== null)\n filters_agentRoles && filters_agentRoles.forEach(item => { url_ += \"Filters.agentRoles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentSearch(_response));\n });\n }\n\n protected processGetAgentSearch(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfSummaryAgentDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getList(filters: GetListRequest | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/list?\";\n if (filters !== undefined && filters !== null)\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetList(_response));\n });\n }\n\n protected processGetList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfFullAgentDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n save(agentSaveRequestServiceModel: FullAgentDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentSaveRequestServiceModel);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSave(_response));\n });\n }\n\n protected processSave(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveAgentNotes(agentNoteDto: AgentNoteDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/agentNotes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentNoteDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveAgentNotes(_response));\n });\n }\n\n protected processSaveAgentNotes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfAgentNoteDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentNotes(agentId: string | null | undefined, reviewed: boolean | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/agentNotes?\";\n if (agentId !== undefined && agentId !== null)\n url_ += \"AgentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n if (reviewed !== undefined && reviewed !== null)\n url_ += \"Reviewed=\" + encodeURIComponent(\"\" + reviewed) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentNotes(_response));\n });\n }\n\n protected processGetAgentNotes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfAgentNoteDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveAgentAdminNotes(agentAdminNoteDto: AgentAdminNoteDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/agentAdminNotes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentAdminNoteDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveAgentAdminNotes(_response));\n });\n }\n\n protected processSaveAgentAdminNotes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfAgentNoteDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentAdminNotes(agentId: string | null | undefined, reviewed: boolean | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/agentAdminNotes?\";\n if (agentId !== undefined && agentId !== null)\n url_ += \"AgentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n if (reviewed !== undefined && reviewed !== null)\n url_ += \"Reviewed=\" + encodeURIComponent(\"\" + reviewed) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentAdminNotes(_response));\n });\n }\n\n protected processGetAgentAdminNotes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfAgentAdminNoteDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doReviewAgentAdminNote(doReviewAgentAdminNote: DoReviewAgentAdminNoteModelRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/reviewNote\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doReviewAgentAdminNote);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoReviewAgentAdminNote(_response));\n });\n }\n\n protected processDoReviewAgentAdminNote(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doSetActiveDevice(activeDevice: DoSetActiveDeviceRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/activeDevice\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(activeDevice);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoSetActiveDevice(_response));\n });\n }\n\n protected processDoSetActiveDevice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPendingDevices(agentId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/pendingDevices?\";\n if (agentId === null)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else if (agentId !== undefined)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPendingDevices(_response));\n });\n }\n\n protected processGetPendingDevices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfDeviceDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doDetachDevice(agentId: string | undefined, deviceId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/detachDevice?\";\n if (agentId === null)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else if (agentId !== undefined)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n if (deviceId === null)\n throw new Error(\"The parameter 'deviceId' cannot be null.\");\n else if (deviceId !== undefined)\n url_ += \"DeviceId=\" + encodeURIComponent(\"\" + deviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoDetachDevice(_response));\n });\n }\n\n protected processDoDetachDevice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveChecks(agentDeviceCheckDto: AgentDeviceCheckDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/checks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentDeviceCheckDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveChecks(_response));\n });\n }\n\n protected processSaveChecks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getChecks(agentId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/checks?\";\n if (agentId === null)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else if (agentId !== undefined)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetChecks(_response));\n });\n }\n\n protected processGetChecks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AgentDeviceCheckDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCreateAccount(agentRegisterRequestModel: AgentRegisterRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/createAccount\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentRegisterRequestModel);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCreateAccount(_response));\n });\n }\n\n protected processDoCreateAccount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AgentRegisterResponseModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentReport(agentId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMAgent/report?\";\n if (agentId === null)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else if (agentId !== undefined)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentReport(_response));\n });\n }\n\n protected processGetAgentReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMDashboardClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAdminDashboardCounts( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDashboard/adminCounts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAdminDashboardCounts(_response));\n });\n }\n\n protected processGetAdminDashboardCounts(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DashboardResponseModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMDeviceClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getDevicesReport(agentId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/report?\";\n if (agentId === null)\n throw new Error(\"The parameter 'agentId' cannot be null.\");\n else if (agentId !== undefined)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetDevicesReport(_response));\n });\n }\n\n protected processGetDevicesReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSingle(deviceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/get/{deviceId}\";\n if (deviceId === undefined || deviceId === null)\n throw new Error(\"The parameter 'deviceId' must be defined.\");\n url_ = url_.replace(\"{deviceId}\", encodeURIComponent(\"\" + deviceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSingle(_response));\n });\n }\n\n protected processGetSingle(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DeviceDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getList( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/list\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetList(_response));\n });\n }\n\n protected processGetList(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviceDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getListPending( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/listPending\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetListPending(_response));\n });\n }\n\n protected processGetListPending(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeviceAgentDto.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n save(device: DeviceDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(device);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSave(_response));\n });\n }\n\n protected processSave(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doReactivateDevice(deviceId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/reactivateDevice?\";\n if (deviceId === null)\n throw new Error(\"The parameter 'deviceId' cannot be null.\");\n else if (deviceId !== undefined)\n url_ += \"deviceId=\" + encodeURIComponent(\"\" + deviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoReactivateDevice(_response));\n });\n }\n\n protected processDoReactivateDevice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doDeleteDevice(deviceId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMDevice/deleteDevice?\";\n if (deviceId === null)\n throw new Error(\"The parameter 'deviceId' cannot be null.\");\n else if (deviceId !== undefined)\n url_ += \"deviceId=\" + encodeURIComponent(\"\" + deviceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoDeleteDevice(_response));\n });\n }\n\n protected processDoDeleteDevice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 204) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMInvoiceClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getInvoicePdf(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/invoicePdf/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInvoicePdf(_response));\n });\n }\n\n protected processGetInvoicePdf(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteInvoice(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/delete/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteInvoice(_response));\n });\n }\n\n protected processDeleteInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInvoicingStatus(filters_FromDateInclusive: Date | null | undefined, filters_ToDateInclusive: Date | null | undefined, filters_AgentId: string | null | undefined, filters_AgentRoles: AgentRole[] | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/invoicesStatus?\";\n if (filters_FromDateInclusive !== undefined && filters_FromDateInclusive !== null)\n url_ += \"Filters.FromDateInclusive=\" + encodeURIComponent(filters_FromDateInclusive ? \"\" + filters_FromDateInclusive.toISOString() : \"\") + \"&\";\n if (filters_ToDateInclusive !== undefined && filters_ToDateInclusive !== null)\n url_ += \"Filters.ToDateInclusive=\" + encodeURIComponent(filters_ToDateInclusive ? \"\" + filters_ToDateInclusive.toISOString() : \"\") + \"&\";\n if (filters_AgentId !== undefined && filters_AgentId !== null)\n url_ += \"Filters.AgentId=\" + encodeURIComponent(\"\" + filters_AgentId) + \"&\";\n if (filters_AgentRoles !== undefined && filters_AgentRoles !== null)\n filters_AgentRoles && filters_AgentRoles.forEach(item => { url_ += \"Filters.AgentRoles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInvoicingStatus(_response));\n });\n }\n\n protected processGetInvoicingStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfInvoicingStatusDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInvoices(filters_InvoiceFlow: InvoiceFlow | undefined, filters_Year: number | null | undefined, filters_InvoiceStatus: InvoiceStatus | null | undefined, filters_ServicePeriod: Date | null | undefined, filters_AgentId: string | null | undefined, filters_InvoiceNumber: number | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/all?\";\n if (filters_InvoiceFlow === null)\n throw new Error(\"The parameter 'filters_InvoiceFlow' cannot be null.\");\n else if (filters_InvoiceFlow !== undefined)\n url_ += \"Filters.InvoiceFlow=\" + encodeURIComponent(\"\" + filters_InvoiceFlow) + \"&\";\n if (filters_Year !== undefined && filters_Year !== null)\n url_ += \"Filters.Year=\" + encodeURIComponent(\"\" + filters_Year) + \"&\";\n if (filters_InvoiceStatus !== undefined && filters_InvoiceStatus !== null)\n url_ += \"Filters.InvoiceStatus=\" + encodeURIComponent(\"\" + filters_InvoiceStatus) + \"&\";\n if (filters_ServicePeriod !== undefined && filters_ServicePeriod !== null)\n url_ += \"Filters.ServicePeriod=\" + encodeURIComponent(filters_ServicePeriod ? \"\" + filters_ServicePeriod.toISOString() : \"\") + \"&\";\n if (filters_AgentId !== undefined && filters_AgentId !== null)\n url_ += \"Filters.AgentId=\" + encodeURIComponent(\"\" + filters_AgentId) + \"&\";\n if (filters_InvoiceNumber !== undefined && filters_InvoiceNumber !== null)\n url_ += \"Filters.InvoiceNumber=\" + encodeURIComponent(\"\" + filters_InvoiceNumber) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInvoices(_response));\n });\n }\n\n protected processGetInvoices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfInvoiceDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInvoice(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInvoice(_response));\n });\n }\n\n protected processGetInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InvoiceDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n disputeInvoice(doDisputeRequest: DoDisputeRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/dispute\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doDisputeRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDisputeInvoice(_response));\n });\n }\n\n protected processDisputeInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n submitInvoiceForApproval(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/submitForApproval/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSubmitInvoiceForApproval(_response));\n });\n }\n\n protected processSubmitInvoiceForApproval(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n adminApprove(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/adminApprove/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAdminApprove(_response));\n });\n }\n\n protected processAdminApprove(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n agentApprove(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/agentApprove/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAgentApprove(_response));\n });\n }\n\n protected processAgentApprove(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n completeInvoice(invoiceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/complete/{invoiceId}\";\n if (invoiceId === undefined || invoiceId === null)\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompleteInvoice(_response));\n });\n }\n\n protected processCompleteInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveInvoice(createInvoiceRequest: CreateInvoiceRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/save\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(createInvoiceRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveInvoice(_response));\n });\n }\n\n protected processSaveInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateInvoice(updateInvoiceRequest: UpdateInvoiceRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMInvoice/update\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(updateInvoiceRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateInvoice(_response));\n });\n }\n\n protected processUpdateInvoice(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMLoginClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n ping( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMLogin/ping\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPing(_response));\n });\n }\n\n protected processPing(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doVerifyAccount(accountVerifyRequest: AccountVerifyRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMLogin/verifyAccount\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(accountVerifyRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoVerifyAccount(_response));\n });\n }\n\n protected processDoVerifyAccount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doForgotPasswordStart(forgotPasswordStartModel: DoForgotPasswordStartModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMLogin/forgotPasswordStart\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(forgotPasswordStartModel);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoForgotPasswordStart(_response));\n });\n }\n\n protected processDoForgotPasswordStart(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doForgotPasswordComplete(doCompleteForgotPasswordRequest: DoCompleteForgotPasswordRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMLogin/forgotPasswordComplete\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doCompleteForgotPasswordRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoForgotPasswordComplete(_response));\n });\n }\n\n protected processDoForgotPasswordComplete(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doAuthenticate(accountAuthenticateModel: AccountAuthenticateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMLogin/authenticate\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(accountAuthenticateModel);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoAuthenticate(_response));\n });\n }\n\n protected processDoAuthenticate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AccountAuthenticateModelResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMSettingsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAllSettings( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAllSettings(_response));\n });\n }\n\n protected processGetAllSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MWMSettings.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setAllSettings(newSettings: MWMSettings , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(newSettings);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetAllSettings(_response));\n });\n }\n\n protected processSetAllSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPublicSettings( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMSettings/public\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPublicSettings(_response));\n });\n }\n\n protected processGetPublicSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MWMPublicSettings.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MWMTrainingClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n saveResource(resourceId: string | null | undefined, externalLink: string | null | undefined, blobId: string | null | undefined, formFile: FileParameter | null | undefined, resourceType: ResourceType | undefined, name: string | undefined, description: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/resourceUpload\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (resourceId !== null && resourceId !== undefined)\n content_.append(\"ResourceId\", resourceId.toString());\n if (externalLink !== null && externalLink !== undefined)\n content_.append(\"ExternalLink\", externalLink.toString());\n if (blobId !== null && blobId !== undefined)\n content_.append(\"BlobId\", blobId.toString());\n if (formFile !== null && formFile !== undefined)\n content_.append(\"FormFile\", formFile.data, formFile.fileName ? formFile.fileName : \"FormFile\");\n if (resourceType === null || resourceType === undefined)\n throw new Error(\"The parameter 'resourceType' cannot be null.\");\n else\n content_.append(\"ResourceType\", resourceType.toString());\n if (name === null || name === undefined)\n throw new Error(\"The parameter 'name' cannot be null.\");\n else\n content_.append(\"Name\", name.toString());\n if (description !== null && description !== undefined)\n content_.append(\"Description\", description.toString());\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveResource(_response));\n });\n }\n\n protected processSaveResource(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doDownloadResourceFile(blobId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/resourceFileDownload/{blobId}\";\n if (blobId === undefined || blobId === null)\n throw new Error(\"The parameter 'blobId' must be defined.\");\n url_ = url_.replace(\"{blobId}\", encodeURIComponent(\"\" + blobId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoDownloadResourceFile(_response));\n });\n }\n\n protected processDoDownloadResourceFile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doDeleteResource(resourceId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/resourceDelete/{resourceId}\";\n if (resourceId === undefined || resourceId === null)\n throw new Error(\"The parameter 'resourceId' must be defined.\");\n url_ = url_.replace(\"{resourceId}\", encodeURIComponent(\"\" + resourceId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoDeleteResource(_response));\n });\n }\n\n protected processDoDeleteResource(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doSortTasks(doSortTasksRequest: DoSortTasksRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/sort/tasks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doSortTasksRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoSortTasks(_response));\n });\n }\n\n protected processDoSortTasks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doSortModules(doSortModulesRequest: DoSortModulesRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/sort/modules\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doSortModulesRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoSortModules(_response));\n });\n }\n\n protected processDoSortModules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doSortTopics(doSortTopicsRequest: DoSortTopicsRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/sort/topics\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(doSortTopicsRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoSortTopics(_response));\n });\n }\n\n protected processDoSortTopics(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteTopic(topicId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/delete/topic/{topicId}\";\n if (topicId === undefined || topicId === null)\n throw new Error(\"The parameter 'topicId' must be defined.\");\n url_ = url_.replace(\"{topicId}\", encodeURIComponent(\"\" + topicId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteTopic(_response));\n });\n }\n\n protected processDeleteTopic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteTask(taskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/delete/task/{taskId}\";\n if (taskId === undefined || taskId === null)\n throw new Error(\"The parameter 'taskId' must be defined.\");\n url_ = url_.replace(\"{taskId}\", encodeURIComponent(\"\" + taskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteTask(_response));\n });\n }\n\n protected processDeleteTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteModule(moduleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/delete/module/{moduleId}\";\n if (moduleId === undefined || moduleId === null)\n throw new Error(\"The parameter 'moduleId' must be defined.\");\n url_ = url_.replace(\"{moduleId}\", encodeURIComponent(\"\" + moduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteModule(_response));\n });\n }\n\n protected processDeleteModule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCompleteHelpRequest(helpRequestId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/helpRequest/{helpRequestId}\";\n if (helpRequestId === undefined || helpRequestId === null)\n throw new Error(\"The parameter 'helpRequestId' must be defined.\");\n url_ = url_.replace(\"{helpRequestId}\", encodeURIComponent(\"\" + helpRequestId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCompleteHelpRequest(_response));\n });\n }\n\n protected processDoCompleteHelpRequest(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveHelpRequest(helpRequestDto: HelpRequestDto , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/helpRequest\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(helpRequestDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveHelpRequest(_response));\n });\n }\n\n protected processSaveHelpRequest(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getHelpRequest(filters_Completed: boolean | null | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/helpRequest?\";\n if (filters_Completed !== undefined && filters_Completed !== null)\n url_ += \"Filters.Completed=\" + encodeURIComponent(\"\" + filters_Completed) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetHelpRequest(_response));\n });\n }\n\n protected processGetHelpRequest(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfHelpRequestSummaryDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveModule(moduleDto: SaveModuleRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/module\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(moduleDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveModule(_response));\n });\n }\n\n protected processSaveModule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveTopic(topicDto: SaveTopicRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/topic\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(topicDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveTopic(_response));\n });\n }\n\n protected processSaveTopic(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n saveTask(formFile: FileParameter | null | undefined, saveTaskRequest_TaskId: string | null | undefined, saveTaskRequest_Name: string | null | undefined, saveTaskRequest_Detailes: string | null | undefined, saveTaskRequest_ExternalUrl: string | null | undefined, saveTaskRequest_Content: string | null | undefined, saveTaskRequest_Description: string | null | undefined, saveTaskRequest_TopicId: string | undefined, saveTaskRequest_TaskType: TaskType | undefined, saveTaskRequest_BlobId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/task\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (formFile !== null && formFile !== undefined)\n content_.append(\"FormFile\", formFile.data, formFile.fileName ? formFile.fileName : \"FormFile\");\n if (saveTaskRequest_TaskId !== null && saveTaskRequest_TaskId !== undefined)\n content_.append(\"SaveTaskRequest.TaskId\", saveTaskRequest_TaskId.toString());\n if (saveTaskRequest_Name !== null && saveTaskRequest_Name !== undefined)\n content_.append(\"SaveTaskRequest.Name\", saveTaskRequest_Name.toString());\n if (saveTaskRequest_Detailes !== null && saveTaskRequest_Detailes !== undefined)\n content_.append(\"SaveTaskRequest.Detailes\", saveTaskRequest_Detailes.toString());\n if (saveTaskRequest_ExternalUrl !== null && saveTaskRequest_ExternalUrl !== undefined)\n content_.append(\"SaveTaskRequest.ExternalUrl\", saveTaskRequest_ExternalUrl.toString());\n if (saveTaskRequest_Content !== null && saveTaskRequest_Content !== undefined)\n content_.append(\"SaveTaskRequest.Content\", saveTaskRequest_Content.toString());\n if (saveTaskRequest_Description !== null && saveTaskRequest_Description !== undefined)\n content_.append(\"SaveTaskRequest.Description\", saveTaskRequest_Description.toString());\n if (saveTaskRequest_TopicId === null || saveTaskRequest_TopicId === undefined)\n throw new Error(\"The parameter 'saveTaskRequest_TopicId' cannot be null.\");\n else\n content_.append(\"SaveTaskRequest.TopicId\", saveTaskRequest_TopicId.toString());\n if (saveTaskRequest_TaskType === null || saveTaskRequest_TaskType === undefined)\n throw new Error(\"The parameter 'saveTaskRequest_TaskType' cannot be null.\");\n else\n content_.append(\"SaveTaskRequest.TaskType\", saveTaskRequest_TaskType.toString());\n if (saveTaskRequest_BlobId !== null && saveTaskRequest_BlobId !== undefined)\n content_.append(\"SaveTaskRequest.BlobId\", saveTaskRequest_BlobId.toString());\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSaveTask(_response));\n });\n }\n\n protected processSaveTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCompleteTask(agentCompleteTaskRequest: AgentCompleteTaskRequest , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/taskComplete\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(agentCompleteTaskRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCompleteTask(_response));\n });\n }\n\n protected processDoCompleteTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getResources(filters_ResourceType: ResourceType | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/resources?\";\n if (filters_ResourceType === null)\n throw new Error(\"The parameter 'filters_ResourceType' cannot be null.\");\n else if (filters_ResourceType !== undefined)\n url_ += \"Filters.ResourceType=\" + encodeURIComponent(\"\" + filters_ResourceType) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetResources(_response));\n });\n }\n\n protected processGetResources(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfResourceDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getHelpRequestCount( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/helpRequestCount\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetHelpRequestCount(_response));\n });\n }\n\n protected processGetHelpRequestCount(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStatus(agentId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/status?\";\n if (agentId !== undefined && agentId !== null)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStatus(_response));\n });\n }\n\n protected processGetStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AgentTaskCompletionStatusSummary.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getModules(filters_AgentRole: AgentRole | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/modules?\";\n if (filters_AgentRole === null)\n throw new Error(\"The parameter 'filters_AgentRole' cannot be null.\");\n else if (filters_AgentRole !== undefined)\n url_ += \"Filters.AgentRole=\" + encodeURIComponent(\"\" + filters_AgentRole) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetModules(_response));\n });\n }\n\n protected processGetModules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfReadModuleDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getTopics(filters_ModuleId: string | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/topics?\";\n if (filters_ModuleId === null)\n throw new Error(\"The parameter 'filters_ModuleId' cannot be null.\");\n else if (filters_ModuleId !== undefined)\n url_ += \"Filters.ModuleId=\" + encodeURIComponent(\"\" + filters_ModuleId) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTopics(_response));\n });\n }\n\n protected processGetTopics(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfReadTopicDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getTasks(filters_TopicId: string | undefined, returnCounters: boolean | undefined, skip: number | null | undefined, take: number | undefined, returnAll: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/tasks?\";\n if (filters_TopicId === null)\n throw new Error(\"The parameter 'filters_TopicId' cannot be null.\");\n else if (filters_TopicId !== undefined)\n url_ += \"Filters.TopicId=\" + encodeURIComponent(\"\" + filters_TopicId) + \"&\";\n if (returnCounters === null)\n throw new Error(\"The parameter 'returnCounters' cannot be null.\");\n else if (returnCounters !== undefined)\n url_ += \"ReturnCounters=\" + encodeURIComponent(\"\" + returnCounters) + \"&\";\n if (skip !== undefined && skip !== null)\n url_ += \"Skip=\" + encodeURIComponent(\"\" + skip) + \"&\";\n if (take === null)\n throw new Error(\"The parameter 'take' cannot be null.\");\n else if (take !== undefined)\n url_ += \"Take=\" + encodeURIComponent(\"\" + take) + \"&\";\n if (returnAll === null)\n throw new Error(\"The parameter 'returnAll' cannot be null.\");\n else if (returnAll !== undefined)\n url_ += \"ReturnAll=\" + encodeURIComponent(\"\" + returnAll) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTasks(_response));\n });\n }\n\n protected processGetTasks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfReadTaskDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentTask(taskId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/agent/getTask?\";\n if (taskId === null)\n throw new Error(\"The parameter 'taskId' cannot be null.\");\n else if (taskId !== undefined)\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentTask(_response));\n });\n }\n\n protected processGetAgentTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AgentTaskViewCompleteDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAgentModules(agentId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/mwm/MWMTraining/agent/getModules?\";\n if (agentId !== undefined && agentId !== null)\n url_ += \"agentId=\" + encodeURIComponent(\"\" + agentId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAgentModules(_response));\n });\n }\n\n protected processGetAgentModules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PaginatedResponseOfAgentModuleDto.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class WrapUpClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n completePhoneWrapUp(phoneCallRecordId: string, model: CompletePhoneWrapUpModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/wrap-up/{phoneCallRecordId}/complete\";\n if (phoneCallRecordId === undefined || phoneCallRecordId === null)\n throw new Error(\"The parameter 'phoneCallRecordId' must be defined.\");\n url_ = url_.replace(\"{phoneCallRecordId}\", encodeURIComponent(\"\" + phoneCallRecordId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompletePhoneWrapUp(_response));\n });\n }\n\n protected processCompletePhoneWrapUp(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getPendingWrapUps( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/wrap-up\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPendingWrapUps(_response));\n });\n }\n\n protected processGetPendingWrapUps(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PhoneWrapUpPendingResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class UsersClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getUserContext( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/users/me\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserContext(_response));\n });\n }\n\n protected processGetUserContext(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserContextResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setUserIsEnabled(userId: string, model: SetUserIsEnabledModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/users/{userId}/enabled\";\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(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetUserIsEnabled(_response));\n });\n }\n\n protected processSetUserIsEnabled(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class UserStatusesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getUserStatus( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/user/statuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserStatus(_response));\n });\n }\n\n protected processGetUserStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserStatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setUserStatus(model: SetUserStatusModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/user/statuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetUserStatus(_response));\n });\n }\n\n protected processSetUserStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserStatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n extendExpiration(userStatusId: string, model: ExtendExpirationModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/user/statuses/{userStatusId}\";\n if (userStatusId === undefined || userStatusId === null)\n throw new Error(\"The parameter 'userStatusId' must be defined.\");\n url_ = url_.replace(\"{userStatusId}\", encodeURIComponent(\"\" + userStatusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExtendExpiration(_response));\n });\n }\n\n protected processExtendExpiration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserStatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class UserStatusesHistoryClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n statusHistory(userId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/users/{userId}/statuses\";\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_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processStatusHistory(_response));\n });\n }\n\n protected processStatusHistory(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserStatusHistoryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class UserRolesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n setUserRoles(studyId: string, model: SetUserRolesModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/user/roles/{studyId}\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetUserRoles(_response));\n });\n }\n\n protected processSetUserRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class TasksClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getCallbackTasks(isActive: boolean | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/callbacks?\";\n if (isActive !== undefined && isActive !== null)\n url_ += \"isActive=\" + encodeURIComponent(\"\" + isActive) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCallbackTasks(_response));\n });\n }\n\n protected processGetCallbackTasks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallbackTaskResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createTask(model: CreateCallbackTaskModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/callbacks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateTask(_response));\n });\n }\n\n protected processCreateTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCallDurationOptions(studyId: string | null | undefined, callType: CallType | null | undefined, excludeSystem: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/callbacks/options?\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (callType !== undefined && callType !== null)\n url_ += \"callType=\" + encodeURIComponent(\"\" + callType) + \"&\";\n if (excludeSystem === null)\n throw new Error(\"The parameter 'excludeSystem' cannot be null.\");\n else if (excludeSystem !== undefined)\n url_ += \"excludeSystem=\" + encodeURIComponent(\"\" + excludeSystem) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCallDurationOptions(_response));\n });\n }\n\n protected processGetCallDurationOptions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyCallDurationOptionResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createCallAttempt(callbackTaskId: string, model: CreateCallbackAttemptModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/callbacks/{callbackTaskId}/attempts\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateCallAttempt(_response));\n });\n }\n\n protected processCreateCallAttempt(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallbackTaskResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n requeueTask(callbackTaskId: string, model: UpdateTaskStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/callbacks/{callbackTaskId}/requeue\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRequeueTask(_response));\n });\n }\n\n protected processRequeueTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallbackTaskResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getJoin(callbackTaskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{callbackTaskId}/join\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetJoin(_response));\n });\n }\n\n protected processGetJoin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRedirect(callbackTaskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{callbackTaskId}/redirect\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRedirect(_response));\n });\n }\n\n protected processGetRedirect(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getTaskStateHistory(taskItemId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/states\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTaskStateHistory(_response));\n });\n }\n\n protected processGetTaskStateHistory(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(TaskStateResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getHasRating(callbackTaskId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{callbackTaskId}/hasRating\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetHasRating(_response));\n });\n }\n\n protected processGetHasRating(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValueTupleOfStringAndBoolean.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setRating(callbackTaskId: string, model: CallRatingModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{callbackTaskId}/rating\";\n if (callbackTaskId === undefined || callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' must be defined.\");\n url_ = url_.replace(\"{callbackTaskId}\", encodeURIComponent(\"\" + callbackTaskId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetRating(_response));\n });\n }\n\n protected processSetRating(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n archiveTask(taskItemId: string, model: UpdateTaskStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/archive\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processArchiveTask(_response));\n });\n }\n\n protected processArchiveTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n wrapUpArchive(taskItemId: string, model: UpdateTaskStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/wrap-up/archive\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWrapUpArchive(_response));\n });\n }\n\n protected processWrapUpArchive(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n cancelTask(taskItemId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/cancel\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCancelTask(_response));\n });\n }\n\n protected processCancelTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n completeTask(taskItemId: string, model: UpdateTaskStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/complete\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompleteTask(_response));\n });\n }\n\n protected processCompleteTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n handleTask(taskItemId: string, model: HandleTaskModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/handle\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processHandleTask(_response));\n });\n }\n\n protected processHandleTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n unArchiveTask(taskItemId: string, model: UpdateTaskStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/{taskItemId}/unarchive\";\n if (taskItemId === undefined || taskItemId === null)\n throw new Error(\"The parameter 'taskItemId' must be defined.\");\n url_ = url_.replace(\"{taskItemId}\", encodeURIComponent(\"\" + taskItemId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUnArchiveTask(_response));\n });\n }\n\n protected processUnArchiveTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createAgentCallbackTask(model: AgentCreateCallbackTaskModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/agents/callbacks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateAgentCallbackTask(_response));\n });\n }\n\n protected processCreateAgentCallbackTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createHcpCallbackTask(model: AgentCreateHcpCallbackTaskModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/agents/callbacks/hcp\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateHcpCallbackTask(_response));\n });\n }\n\n protected processCreateHcpCallbackTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CreateHcpCallResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAppointmentCountForUserStudy(studyId: string, userId: string, shiftStart: Date | undefined, shiftEnd: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/studies/{studyId}/users/{userId}/apppointments?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n if (shiftStart === null)\n throw new Error(\"The parameter 'shiftStart' cannot be null.\");\n else if (shiftStart !== undefined)\n url_ += \"shiftStart=\" + encodeURIComponent(shiftStart ? \"\" + shiftStart.toISOString() : \"\") + \"&\";\n if (shiftEnd === null)\n throw new Error(\"The parameter 'shiftEnd' cannot be null.\");\n else if (shiftEnd !== undefined)\n url_ += \"shiftEnd=\" + encodeURIComponent(shiftEnd ? \"\" + shiftEnd.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAppointmentCountForUserStudy(_response));\n });\n }\n\n protected processGetAppointmentCountForUserStudy(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCallAttemptConfiguration(studyId: string | undefined, callType: CallType | undefined, agentType: AgentType | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/call-attempt-config?\";\n if (studyId === null)\n throw new Error(\"The parameter 'studyId' cannot be null.\");\n else if (studyId !== undefined)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (callType === null)\n throw new Error(\"The parameter 'callType' cannot be null.\");\n else if (callType !== undefined)\n url_ += \"callType=\" + encodeURIComponent(\"\" + callType) + \"&\";\n if (agentType === null)\n throw new Error(\"The parameter 'agentType' cannot be null.\");\n else if (agentType !== undefined)\n url_ += \"agentType=\" + encodeURIComponent(\"\" + agentType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCallAttemptConfiguration(_response));\n });\n }\n\n protected processGetCallAttemptConfiguration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallAttemptConfigurationResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n recreateVideoAppointmentLinks( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/tasks/recreateVideoAppointmentLinks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRecreateVideoAppointmentLinks(_response));\n });\n }\n\n protected processRecreateVideoAppointmentLinks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class StudiesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getStudiesForUser( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStudiesForUser(_response));\n });\n }\n\n protected processGetStudiesForUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateStudyUser(userId: string, model: UpdateStudyUserModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/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 const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateStudyUser(_response));\n });\n }\n\n protected processUpdateStudyUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStudyEmailConfiguration(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/emails/configuration\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStudyEmailConfiguration(_response));\n });\n }\n\n protected processGetStudyEmailConfiguration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StudyEmailConfigurationResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateStudyEmailConfiguration(studyId: string, model: UpdateStudyEmailConfigurationModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/studies/{studyId}/emails/configuration\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateStudyEmailConfiguration(_response));\n });\n }\n\n protected processUpdateStudyEmailConfiguration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class StatusesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getRootStatuses( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRootStatuses(_response));\n });\n }\n\n protected processGetRootStatuses(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(RootStatusResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createSubStatus(statusId: string, model: NewStatusViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/{statusId}/sub-statuses\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateSubStatus(_response));\n });\n }\n\n protected processCreateSubStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateStatus(statusId: string, model: UpdateStatusViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/{statusId}\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateStatus(_response));\n });\n }\n\n protected processUpdateStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteSubStatusStatus(statusId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/{statusId}\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteSubStatusStatus(_response));\n });\n }\n\n protected processDeleteSubStatusStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateDurationStatus(statusId: string, model: UpdateDurationStatusViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/duration/{statusId}\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateDurationStatus(_response));\n });\n }\n\n protected processUpdateDurationStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createDurationSubStatus(statusId: string, model: NewDurationStatusViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/{statusId}/sub-statuses/duration\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateDurationSubStatus(_response));\n });\n }\n\n protected processCreateDurationSubStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = StatusResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateStatusCulture(statusId: string, cultureCode: string | null, model: UpdateStatusCultureViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/statuses/{statusId}/cultures/{cultureCode}\";\n if (statusId === undefined || statusId === null)\n throw new Error(\"The parameter 'statusId' must be defined.\");\n url_ = url_.replace(\"{statusId}\", encodeURIComponent(\"\" + statusId));\n if (cultureCode === undefined || cultureCode === null)\n throw new Error(\"The parameter 'cultureCode' must be defined.\");\n url_ = url_.replace(\"{cultureCode}\", encodeURIComponent(\"\" + cultureCode));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateStatusCulture(_response));\n });\n }\n\n protected processUpdateStatusCulture(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class RolesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAllRoles( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAllRoles(_response));\n });\n }\n\n protected processGetAllRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallbackRoleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createRole(model: CreateRoleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateRole(_response));\n });\n }\n\n protected processCreateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackRoleResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRoles(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles/studies/{studyId}\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRoles(_response));\n });\n }\n\n protected processGetRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallbackRoleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRoleById(roleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRoleById(_response));\n });\n }\n\n protected processGetRoleById(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackRoleResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateRole(roleId: string, model: UpdateRoleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateRole(_response));\n });\n }\n\n protected processUpdateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackRoleResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteRole(roleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/roles/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteRole(_response));\n });\n }\n\n protected processDeleteRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PhoneClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAsteriskUser( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/Phone/me\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAsteriskUser(_response));\n });\n }\n\n protected processGetAsteriskUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = GetSoftphoneUserResponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PermissionsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getPermissions( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/permissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPermissions(_response));\n });\n }\n\n protected processGetPermissions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PermissionResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n get(studyId: string | undefined, uniqueId: string | null | undefined, firstName: string | null | undefined, lastName: string | null | undefined, status: string | null | undefined, siteId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patients?\";\n if (studyId === null)\n throw new Error(\"The parameter 'studyId' cannot be null.\");\n else if (studyId !== undefined)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (uniqueId !== undefined && uniqueId !== null)\n url_ += \"uniqueId=\" + encodeURIComponent(\"\" + uniqueId) + \"&\";\n if (firstName !== undefined && firstName !== null)\n url_ += \"firstName=\" + encodeURIComponent(\"\" + firstName) + \"&\";\n if (lastName !== undefined && lastName !== null)\n url_ += \"lastName=\" + encodeURIComponent(\"\" + lastName) + \"&\";\n if (status !== undefined && status !== null)\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (siteId !== undefined && siteId !== null)\n url_ += \"siteId=\" + encodeURIComponent(\"\" + siteId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGet(_response));\n });\n }\n\n protected processGet(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SearchedPatient.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientUnsubscribeClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n isPatientUnsubscribed(patientId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/unsubscribe/{patientId}\";\n if (patientId === undefined || patientId === null)\n throw new Error(\"The parameter 'patientId' must be defined.\");\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processIsPatientUnsubscribed(_response));\n });\n }\n\n protected processIsPatientUnsubscribed(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = IsPatientUnsubscribedModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n unsubscribe(patientId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/unsubscribe/{patientId}\";\n if (patientId === undefined || patientId === null)\n throw new Error(\"The parameter 'patientId' must be defined.\");\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUnsubscribe(_response));\n });\n }\n\n protected processUnsubscribe(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = IsPatientUnsubscribedModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientFollowUpsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n isValidEmailFollowUp(model: ValidateFollowUpModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/validateEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processIsValidEmailFollowUp(_response));\n });\n }\n\n protected processIsValidEmailFollowUp(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setFollowUpAnswers(followUpId: string, model: SaxendaAnswerModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/{followUpId}/submitAnswers\";\n if (followUpId === undefined || followUpId === null)\n throw new Error(\"The parameter 'followUpId' must be defined.\");\n url_ = url_.replace(\"{followUpId}\", encodeURIComponent(\"\" + followUpId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetFollowUpAnswers(_response));\n });\n }\n\n protected processSetFollowUpAnswers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class PatientFollowUpsManagementClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getSchedules(studyId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups?\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSchedules(_response));\n });\n }\n\n protected processGetSchedules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyFollowUpScheduleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getCallSchedules(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/{studyId}/callSchedules\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCallSchedules(_response));\n });\n }\n\n protected processGetCallSchedules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyFollowUpCallScheduleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createCallSchedule(studyId: string, model: CallScheduleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/{studyId}/callSchedules\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateCallSchedule(_response));\n });\n }\n\n protected processCreateCallSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateCallSchedule(callScheduleId: string, model: CallScheduleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/callSchedules/{callScheduleId}\";\n if (callScheduleId === undefined || callScheduleId === null)\n throw new Error(\"The parameter 'callScheduleId' must be defined.\");\n url_ = url_.replace(\"{callScheduleId}\", encodeURIComponent(\"\" + callScheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateCallSchedule(_response));\n });\n }\n\n protected processUpdateCallSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteCallSchedule(callScheduleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/callSchedules/{callScheduleId}\";\n if (callScheduleId === undefined || callScheduleId === null)\n throw new Error(\"The parameter 'callScheduleId' must be defined.\");\n url_ = url_.replace(\"{callScheduleId}\", encodeURIComponent(\"\" + callScheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteCallSchedule(_response));\n });\n }\n\n protected processDeleteCallSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getEmailSchedules(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/{studyId}/emailSchedules\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEmailSchedules(_response));\n });\n }\n\n protected processGetEmailSchedules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyFollowUpEmailScheduleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createEmailSchedule(studyId: string, model: EmailScheduleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/{studyId}/emailSchedules\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateEmailSchedule(_response));\n });\n }\n\n protected processCreateEmailSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateEmailSchedule(emailScheduleId: string, model: EmailScheduleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/emailSchedules/{emailScheduleId}\";\n if (emailScheduleId === undefined || emailScheduleId === null)\n throw new Error(\"The parameter 'emailScheduleId' must be defined.\");\n url_ = url_.replace(\"{emailScheduleId}\", encodeURIComponent(\"\" + emailScheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateEmailSchedule(_response));\n });\n }\n\n protected processUpdateEmailSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteEmailSchedule(emailScheduleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/patientfollowups/emailSchedules/{emailScheduleId}\";\n if (emailScheduleId === undefined || emailScheduleId === null)\n throw new Error(\"The parameter 'emailScheduleId' must be defined.\");\n url_ = url_.replace(\"{emailScheduleId}\", encodeURIComponent(\"\" + emailScheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteEmailSchedule(_response));\n });\n }\n\n protected processDeleteEmailSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MissedAppointmentFollowupClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n createEmailFollowup(model: MissedAppointmentEmailFollowupModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/email\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateEmailFollowup(_response));\n });\n }\n\n protected processCreateEmailFollowup(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getEmailFollowupSchedules(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/{studyId}/emailFollowUpSchedules\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEmailFollowupSchedules(_response));\n });\n }\n\n protected processGetEmailFollowupSchedules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MissedAppointmentEmailScheduleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateEmailFollowupSchedule(scheduleId: string, model: MissedAppointmentEmailFollowupModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/updateEmailFollowUpSchedule/{scheduleId}\";\n if (scheduleId === undefined || scheduleId === null)\n throw new Error(\"The parameter 'scheduleId' must be defined.\");\n url_ = url_.replace(\"{scheduleId}\", encodeURIComponent(\"\" + scheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateEmailFollowupSchedule(_response));\n });\n }\n\n protected processUpdateEmailFollowupSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteFollowupSchedule(scheduleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/deleteEmailFollowUpSchedule/{scheduleId}\";\n if (scheduleId === undefined || scheduleId === null)\n throw new Error(\"The parameter 'scheduleId' must be defined.\");\n url_ = url_.replace(\"{scheduleId}\", encodeURIComponent(\"\" + scheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteFollowupSchedule(_response));\n });\n }\n\n protected processDeleteFollowupSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStudyCallAttemptConfigurations(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/callbackConfigurations/{studyId}\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStudyCallAttemptConfigurations(_response));\n });\n }\n\n protected processGetStudyCallAttemptConfigurations(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallAttemptConfigurationResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createCallConfiguration(studyId: string, model: MissedAppointmentCallConfigurationModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/{studyId}/callBackConfiguration\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateCallConfiguration(_response));\n });\n }\n\n protected processCreateCallConfiguration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateCallConfiguration(configurationId: string, model: MissedAppointmentCallConfigurationModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/missedappointmentfollowupconfiguration/callbackConfiguration/{configurationId}\";\n if (configurationId === undefined || configurationId === null)\n throw new Error(\"The parameter 'configurationId' must be defined.\");\n url_ = url_.replace(\"{configurationId}\", encodeURIComponent(\"\" + configurationId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateCallConfiguration(_response));\n });\n }\n\n protected processUpdateCallConfiguration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class MessageThreadsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getMessageThreadSummaries( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetMessageThreadSummaries(_response));\n });\n }\n\n protected processGetMessageThreadSummaries(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(MessageThreadSummaryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createThread(model: CreateMessageThreadRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateThread(_response));\n });\n }\n\n protected processCreateThread(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MessageThreadResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getThread(messageThreadId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads/{messageThreadId}\";\n if (messageThreadId === undefined || messageThreadId === null)\n throw new Error(\"The parameter 'messageThreadId' must be defined.\");\n url_ = url_.replace(\"{messageThreadId}\", encodeURIComponent(\"\" + messageThreadId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetThread(_response));\n });\n }\n\n protected processGetThread(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MessageThreadResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n readThread(messageThreadId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads/{messageThreadId}/read\";\n if (messageThreadId === undefined || messageThreadId === null)\n throw new Error(\"The parameter 'messageThreadId' must be defined.\");\n url_ = url_.replace(\"{messageThreadId}\", encodeURIComponent(\"\" + messageThreadId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processReadThread(_response));\n });\n }\n\n protected processReadThread(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MessageThreadResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createComment(model: CreateCommentForMessageThreadRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads/comments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateComment(_response));\n });\n }\n\n protected processCreateComment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = MessageThreadResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n completeThread(messageThreadId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads/{messageThreadId}/complete\";\n if (messageThreadId === undefined || messageThreadId === null)\n throw new Error(\"The parameter 'messageThreadId' must be defined.\");\n url_ = url_.replace(\"{messageThreadId}\", encodeURIComponent(\"\" + messageThreadId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompleteThread(_response));\n });\n }\n\n protected processCompleteThread(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n uncompleteThread(messageThreadId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/message-threads/{messageThreadId}/uncomplete\";\n if (messageThreadId === undefined || messageThreadId === null)\n throw new Error(\"The parameter 'messageThreadId' must be defined.\");\n url_ = url_.replace(\"{messageThreadId}\", encodeURIComponent(\"\" + messageThreadId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUncompleteThread(_response));\n });\n }\n\n protected processUncompleteThread(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class InitialStateClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n loadEmails( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/InitialState/emails\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLoadEmails(_response));\n });\n }\n\n protected processLoadEmails(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InitialStateEmailResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n loadAdministrativeData( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/InitialState/administrative-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLoadAdministrativeData(_response));\n });\n }\n\n protected processLoadAdministrativeData(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AdministrativeDataResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n loadTaskData( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/InitialState/task-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLoadTaskData(_response));\n });\n }\n\n protected processLoadTaskData(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = TaskDataResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class IncomingVideosClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getActiveVideos( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetActiveVideos(_response));\n });\n }\n\n protected processGetActiveVideos(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(IncomingVideoResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getInProgressVideos( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/in-progress\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInProgressVideos(_response));\n });\n }\n\n protected processGetInProgressVideos(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(InProgressVideoCallResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getVideo(incomingVideoId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetVideo(_response));\n });\n }\n\n protected processGetVideo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = IncomingVideoResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n joinVideo(incomingVideoId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}/join\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processJoinVideo(_response));\n });\n }\n\n protected processJoinVideo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getTaskStateHistory(incomingVideoId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}/states\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTaskStateHistory(_response));\n });\n }\n\n protected processGetTaskStateHistory(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(IncomingVideoStateResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n complete(model: CompleteIncomingVideoModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/complete\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processComplete(_response));\n });\n }\n\n protected processComplete(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n unArchiveTask(incomingVideoId: string, model: UpdateIncomingVideoStateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}/unarchive\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUnArchiveTask(_response));\n });\n }\n\n protected processUnArchiveTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createIncomingVideo(language: string | null , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{language}\";\n if (language === undefined || language === null)\n throw new Error(\"The parameter 'language' must be defined.\");\n url_ = url_.replace(\"{language}\", encodeURIComponent(\"\" + language));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateIncomingVideo(_response));\n });\n }\n\n protected processCreateIncomingVideo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getHasRating(incomingVideoId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}/hasRating\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetHasRating(_response));\n });\n }\n\n protected processGetHasRating(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValueTupleOfStringAndBoolean.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setRating(incomingVideoId: string, model: CallRatingModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/incomingvideos/{incomingVideoId}/rating\";\n if (incomingVideoId === undefined || incomingVideoId === null)\n throw new Error(\"The parameter 'incomingVideoId' must be defined.\");\n url_ = url_.replace(\"{incomingVideoId}\", encodeURIComponent(\"\" + incomingVideoId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetRating(_response));\n });\n }\n\n protected processSetRating(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class EmailTemplatesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getTemplates(studyId: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates?\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTemplates(_response));\n });\n }\n\n protected processGetTemplates(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailTemplateResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getTemplate(templateId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/{templateId}\";\n if (templateId === undefined || templateId === null)\n throw new Error(\"The parameter 'templateId' must be defined.\");\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTemplate(_response));\n });\n }\n\n protected processGetTemplate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailTemplateResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteTemplate(templateId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/{templateId}\";\n if (templateId === undefined || templateId === null)\n throw new Error(\"The parameter 'templateId' must be defined.\");\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteTemplate(_response));\n });\n }\n\n protected processDeleteTemplate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailTemplateResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateTemplate(templateId: string, model: UpdateEmailTemplateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/{templateId}\";\n if (templateId === undefined || templateId === null)\n throw new Error(\"The parameter 'templateId' must be defined.\");\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateTemplate(_response));\n });\n }\n\n protected processUpdateTemplate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailTemplateResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createTemplate(studyId: string, model: CreateEmailTemplateModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/studies/{studyId}\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateTemplate(_response));\n });\n }\n\n protected processCreateTemplate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailTemplateResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateContent(emailContentId: string, subject: string | null | undefined, body: string | null | undefined, files: any[] | null | undefined, deleteAttachmentIds: string[] | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/contents/{emailContentId}\";\n if (emailContentId === undefined || emailContentId === null)\n throw new Error(\"The parameter 'emailContentId' must be defined.\");\n url_ = url_.replace(\"{emailContentId}\", encodeURIComponent(\"\" + emailContentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (subject !== null && subject !== undefined)\n content_.append(\"Subject\", subject.toString());\n if (body !== null && body !== undefined)\n content_.append(\"Body\", body.toString());\n if (files !== null && files !== undefined)\n files.forEach(item_ => content_.append(\"Files\", item_.toString()));\n if (deleteAttachmentIds !== null && deleteAttachmentIds !== undefined)\n deleteAttachmentIds.forEach(item_ => content_.append(\"DeleteAttachmentIds\", item_.toString()));\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateContent(_response));\n });\n }\n\n protected processUpdateContent(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailContentResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createContent(emailTemplateId: string, model: CreateEmailContentModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/email-templates/{emailTemplateId}/contents\";\n if (emailTemplateId === undefined || emailTemplateId === null)\n throw new Error(\"The parameter 'emailTemplateId' must be defined.\");\n url_ = url_.replace(\"{emailTemplateId}\", encodeURIComponent(\"\" + emailTemplateId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateContent(_response));\n });\n }\n\n protected processCreateContent(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailContentResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class EmailClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getInfoEmails( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/InfoEmails\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetInfoEmails(_response));\n });\n }\n\n protected processGetInfoEmails(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getProcessedInfoEmails( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/ProcessedInfoEmails\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProcessedInfoEmails(_response));\n });\n }\n\n protected processGetProcessedInfoEmails(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getFaxReceipts( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/FaxReceipts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFaxReceipts(_response));\n });\n }\n\n protected processGetFaxReceipts(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getProcessedFaxReceipts( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/ProcessedFaxReceipts\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProcessedFaxReceipts(_response));\n });\n }\n\n protected processGetProcessedFaxReceipts(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSentFaxes( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/SentFaxes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSentFaxes(_response));\n });\n }\n\n protected processGetSentFaxes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SentEmailResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n processEmail(model: ProcessEmailModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/ProcessEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processProcessEmail(_response));\n });\n }\n\n protected processProcessEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n unprocessEmail(model: ProcessEmailModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/UnprocessEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUnprocessEmail(_response));\n });\n }\n\n protected processUnprocessEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAttachment(emailAddress: string | null, messageID: string | null, fileName: string | null , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emails/{emailAddress}/{messageID}/{fileName}\";\n if (emailAddress === undefined || emailAddress === null)\n throw new Error(\"The parameter 'emailAddress' must be defined.\");\n url_ = url_.replace(\"{emailAddress}\", encodeURIComponent(\"\" + emailAddress));\n if (messageID === undefined || messageID === null)\n throw new Error(\"The parameter 'messageID' must be defined.\");\n url_ = url_.replace(\"{messageID}\", encodeURIComponent(\"\" + messageID));\n if (fileName === undefined || fileName === null)\n throw new Error(\"The parameter 'fileName' must be defined.\");\n url_ = url_.replace(\"{fileName}\", encodeURIComponent(\"\" + fileName));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAttachment(_response));\n });\n }\n\n protected processGetAttachment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class EmailSendersClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getEmailSenders( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/emailSenders\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetEmailSenders(_response));\n });\n }\n\n protected processGetEmailSenders(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(EmailSenderServiceResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class CulturesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getCultures( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/cultures\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCultures(_response));\n });\n }\n\n protected processGetCultures(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CultureResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class CallActionsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getTransferSurvey( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/surveys\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTransferSurvey(_response));\n });\n }\n\n protected processGetTransferSurvey(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SurveyUIModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallTransferToAgent(agentUserId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/transferToAgent?\";\n if (agentUserId === null)\n throw new Error(\"The parameter 'agentUserId' cannot be null.\");\n else if (agentUserId !== undefined)\n url_ += \"agentUserId=\" + encodeURIComponent(\"\" + agentUserId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallTransferToAgent(_response));\n });\n }\n\n protected processDoCallTransferToAgent(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallTransferSurvey(surveyId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/transferToSurvey?\";\n if (surveyId === null)\n throw new Error(\"The parameter 'surveyId' cannot be null.\");\n else if (surveyId !== undefined)\n url_ += \"surveyId=\" + encodeURIComponent(\"\" + surveyId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallTransferSurvey(_response));\n });\n }\n\n protected processDoCallTransferSurvey(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallTransferCustomerCare( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/transferToCustomerCare\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallTransferCustomerCare(_response));\n });\n }\n\n protected processDoCallTransferCustomerCare(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallTransferExternalNumber(destination: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/transferToExternalNumber?\";\n if (destination !== undefined && destination !== null)\n url_ += \"destination=\" + encodeURIComponent(\"\" + destination) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallTransferExternalNumber(_response));\n });\n }\n\n protected processDoCallTransferExternalNumber(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallMerge( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/merge\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallMerge(_response));\n });\n }\n\n protected processDoCallMerge(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doHangUp( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/hangup\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoHangUp(_response));\n });\n }\n\n protected processDoHangUp(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallMergeAndQuit( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/mergeandquit\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallMergeAndQuit(_response));\n });\n }\n\n protected processDoCallMergeAndQuit(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doCallAbort( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/callActions/abort\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoCallAbort(_response));\n });\n }\n\n protected processDoCallAbort(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class StudyUserScheduleClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n setStudyUserScheduleIsLockedFalse(studyUserScheduleId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/unlock?\";\n if (studyUserScheduleId === null)\n throw new Error(\"The parameter 'studyUserScheduleId' cannot be null.\");\n else if (studyUserScheduleId !== undefined)\n url_ += \"studyUserScheduleId=\" + encodeURIComponent(\"\" + studyUserScheduleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetStudyUserScheduleIsLockedFalse(_response));\n });\n }\n\n protected processSetStudyUserScheduleIsLockedFalse(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setStudyUserScheduleIsLockedTrue(studyUserScheduleId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/lock?\";\n if (studyUserScheduleId === null)\n throw new Error(\"The parameter 'studyUserScheduleId' cannot be null.\");\n else if (studyUserScheduleId !== undefined)\n url_ += \"studyUserScheduleId=\" + encodeURIComponent(\"\" + studyUserScheduleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetStudyUserScheduleIsLockedTrue(_response));\n });\n }\n\n protected processSetStudyUserScheduleIsLockedTrue(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSchedules(userId: string | null | undefined, studyId: string | null | undefined, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSchedules(_response));\n });\n }\n\n protected processGetSchedules(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserScheduleResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createStudyUserSchedule(model: CreateStudyUserScheduleModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateStudyUserSchedule(_response));\n });\n }\n\n protected processCreateStudyUserSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserScheduleResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateUserSchedule(model: UpdateUserScheduleRequestModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateUserSchedule(_response));\n });\n }\n\n protected processUpdateUserSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleReport(studyId: string | null | undefined, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/report?\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleReport(_response));\n });\n }\n\n protected processGetScheduleReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteStudyUserSchedule(studyUserScheduleId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/{studyUserScheduleId}\";\n if (studyUserScheduleId === undefined || studyUserScheduleId === null)\n throw new Error(\"The parameter 'studyUserScheduleId' must be defined.\");\n url_ = url_.replace(\"{studyUserScheduleId}\", encodeURIComponent(\"\" + studyUserScheduleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteStudyUserSchedule(_response));\n });\n }\n\n protected processDeleteStudyUserSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleOpeningsForUser(userId: string | null, studyId: string, start: Date | undefined, end: Date | undefined, durationInMinutes: number | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/study/{studyId}/users/{userId}/openings?\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n if (durationInMinutes === null)\n throw new Error(\"The parameter 'durationInMinutes' cannot be null.\");\n else if (durationInMinutes !== undefined)\n url_ += \"durationInMinutes=\" + encodeURIComponent(\"\" + durationInMinutes) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleOpeningsForUser(_response));\n });\n }\n\n protected processGetScheduleOpeningsForUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ScheduleOpeningResult2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleOpeningsForStudy(studyId: string, start: Date | undefined, end: Date | undefined, durationInMinutes: number | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/study/{studyId}/users/openings?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n if (durationInMinutes === null)\n throw new Error(\"The parameter 'durationInMinutes' cannot be null.\");\n else if (durationInMinutes !== undefined)\n url_ += \"durationInMinutes=\" + encodeURIComponent(\"\" + durationInMinutes) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleOpeningsForStudy(_response));\n });\n }\n\n protected processGetScheduleOpeningsForStudy(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ScheduleOpeningResult2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleOpeningSlotsForUser(userId: string | null, studyId: string, start: Date | undefined, end: Date | undefined, durationInMinutes: number | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/study/{studyId}/users/{userId}/openings/slots?\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n if (durationInMinutes === null)\n throw new Error(\"The parameter 'durationInMinutes' cannot be null.\");\n else if (durationInMinutes !== undefined)\n url_ += \"durationInMinutes=\" + encodeURIComponent(\"\" + durationInMinutes) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleOpeningSlotsForUser(_response));\n });\n }\n\n protected processGetScheduleOpeningSlotsForUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ScheduleOpeningResult2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleOpeningSlotsForStudy(studyId: string, start: Date | undefined, end: Date | undefined, durationInMinutes: number | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/study/{studyId}/users/openings/slots?\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n if (durationInMinutes === null)\n throw new Error(\"The parameter 'durationInMinutes' cannot be null.\");\n else if (durationInMinutes !== undefined)\n url_ += \"durationInMinutes=\" + encodeURIComponent(\"\" + durationInMinutes) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleOpeningSlotsForStudy(_response));\n });\n }\n\n protected processGetScheduleOpeningSlotsForStudy(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ScheduleOpeningResult2.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getStudyUserHours(userId: string | null | undefined, studyId: string | null | undefined, from: Date | undefined, to: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/studies/hours?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (studyId !== undefined && studyId !== null)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(from ? \"\" + from.toISOString() : \"\") + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(to ? \"\" + to.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetStudyUserHours(_response));\n });\n }\n\n protected processGetStudyUserHours(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StudyUserHoursResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n isUserScheduled(userId: string, studyUserScheduleId: string | null | undefined, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/{userId}/scheduleValidation?\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n if (studyUserScheduleId !== undefined && studyUserScheduleId !== null)\n url_ += \"studyUserScheduleId=\" + encodeURIComponent(\"\" + studyUserScheduleId) + \"&\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processIsUserScheduled(_response));\n });\n }\n\n protected processIsUserScheduled(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n duplicateSchedule(studyId: string, model: DuplicateScheduleViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/{studyId}/duplicateSchedule\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDuplicateSchedule(_response));\n });\n }\n\n protected processDuplicateSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postSchedule(studyId: string, model: PostScheduleViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/{studyId}/schedulePostDate\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostSchedule(_response));\n });\n }\n\n protected processPostSchedule(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n currentSchedulePostedDate(studyId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/{studyId}/currentSchedulePostDate\";\n if (studyId === undefined || studyId === null)\n throw new Error(\"The parameter 'studyId' must be defined.\");\n url_ = url_.replace(\"{studyId}\", encodeURIComponent(\"\" + studyId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCurrentSchedulePostedDate(_response));\n });\n }\n\n protected processCurrentSchedulePostedDate(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 ? new Date(resultData200.toString()) : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getScheduleGrid(studyId: string | undefined, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/scheduleGrid?\";\n if (studyId === null)\n throw new Error(\"The parameter 'studyId' cannot be null.\");\n else if (studyId !== undefined)\n url_ += \"studyId=\" + encodeURIComponent(\"\" + studyId) + \"&\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetScheduleGrid(_response));\n });\n }\n\n protected processGetScheduleGrid(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(GridScheduleViewModel.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userScheduleAppointmentCheck(studyUserScheduleId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/userScheduleAppointmentCheck?\";\n if (studyUserScheduleId === null)\n throw new Error(\"The parameter 'studyUserScheduleId' cannot be null.\");\n else if (studyUserScheduleId !== undefined)\n url_ += \"studyUserScheduleId=\" + encodeURIComponent(\"\" + studyUserScheduleId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserScheduleAppointmentCheck(_response));\n });\n }\n\n protected processUserScheduleAppointmentCheck(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n doesDestinationWeekHaveAppointments(start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule/doesDestinationWeekHaveAppointments?\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoesDestinationWeekHaveAppointments(_response));\n });\n }\n\n protected processDoesDestinationWeekHaveAppointments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class AvailabilityClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAvailabilityForCurrentUser( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/users/currentUser\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailabilityForCurrentUser(_response));\n });\n }\n\n protected processGetAvailabilityForCurrentUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AvailabilityResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAvailabilityForAllUsers(start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/users/allUsers?\";\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailabilityForAllUsers(_response));\n });\n }\n\n protected processGetAvailabilityForAllUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AvailabilityResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAvailabilityForUser(userId: string, toDate: Date | null | undefined, fromDate: Date | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/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 if (toDate !== undefined && toDate !== null)\n url_ += \"toDate=\" + encodeURIComponent(toDate ? \"\" + toDate.toISOString() : \"\") + \"&\";\n if (fromDate !== undefined && fromDate !== null)\n url_ += \"fromDate=\" + encodeURIComponent(fromDate ? \"\" + fromDate.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailabilityForUser(_response));\n });\n }\n\n protected processGetAvailabilityForUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AvailabilityResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createEntry(model: AvailabilityViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateEntry(_response));\n });\n }\n\n protected processCreateEntry(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AvailabilityViewModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateAvailability(model: AvailabilityViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateAvailability(_response));\n });\n }\n\n protected processUpdateAvailability(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteAvailability(entryId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/{entryId}\";\n if (entryId === undefined || entryId === null)\n throw new Error(\"The parameter 'entryId' must be defined.\");\n url_ = url_.replace(\"{entryId}\", encodeURIComponent(\"\" + entryId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteAvailability(_response));\n });\n }\n\n protected processDeleteAvailability(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n isUserAvailable(userId: string, start: Date | undefined, end: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/{userId}/availabilityValidation?\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n if (start === null)\n throw new Error(\"The parameter 'start' cannot be null.\");\n else if (start !== undefined)\n url_ += \"start=\" + encodeURIComponent(start ? \"\" + start.toISOString() : \"\") + \"&\";\n if (end === null)\n throw new Error(\"The parameter 'end' cannot be null.\");\n else if (end !== undefined)\n url_ += \"end=\" + encodeURIComponent(end ? \"\" + end.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processIsUserAvailable(_response));\n });\n }\n\n protected processIsUserAvailable(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n duplicateAvailability(model: DuplicateAvailabilityViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/availability/duplicateAvailability\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDuplicateAvailability(_response));\n });\n }\n\n protected processDuplicateAvailability(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class CallHistoryClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getCallHistory(to: Date | undefined, from: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/call-history?\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(to ? \"\" + to.toISOString() : \"\") + \"&\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(from ? \"\" + from.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetCallHistory(_response));\n });\n }\n\n protected processGetCallHistory(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CallHistoryResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class QueuesClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getQueues( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/queues\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueues(_response));\n });\n }\n\n protected processGetQueues(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AsteriskQueueResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getQueuesAssignments( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/queues/users\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetQueuesAssignments(_response));\n });\n }\n\n protected processGetQueuesAssignments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserQueuesResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n setUserQueues(userId: string, model: SetUserQueuesModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/queues/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 const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetUserQueues(_response));\n });\n }\n\n protected processSetUserQueues(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n joinQueue(model: JoinTempQueueModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/queues/join\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processJoinQueue(_response));\n });\n }\n\n protected processJoinQueue(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class AppointmentClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAppointments(from: Date | undefined, to: Date | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments?\";\n if (from === null)\n throw new Error(\"The parameter 'from' cannot be null.\");\n else if (from !== undefined)\n url_ += \"from=\" + encodeURIComponent(from ? \"\" + from.toISOString() : \"\") + \"&\";\n if (to === null)\n throw new Error(\"The parameter 'to' cannot be null.\");\n else if (to !== undefined)\n url_ += \"to=\" + encodeURIComponent(to ? \"\" + to.toISOString() : \"\") + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAppointments(_response));\n });\n }\n\n protected processGetAppointments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AppointmentResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateAppointment(model: UpdateAppointmentModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateAppointment(_response));\n });\n }\n\n protected processUpdateAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUserPendingAppointments( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/pending\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserPendingAppointments(_response));\n });\n }\n\n protected processGetUserPendingAppointments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AppointmentResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createPendingAppointment(model: CreatePendingAppointmentModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/pending\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreatePendingAppointment(_response));\n });\n }\n\n protected processCreatePendingAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = PendingAppointmentCreatedModel.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateAppointmentTime(model: UpdateAppointmentTimeModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/time\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PUT\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateAppointmentTime(_response));\n });\n }\n\n protected processUpdateAppointmentTime(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n cancelPendingAppointment(appointmentId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/pending/{appointmentId}\";\n if (appointmentId === undefined || appointmentId === null)\n throw new Error(\"The parameter 'appointmentId' must be defined.\");\n url_ = url_.replace(\"{appointmentId}\", encodeURIComponent(\"\" + appointmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCancelPendingAppointment(_response));\n });\n }\n\n protected processCancelPendingAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n finalizeHcpManualBreakAppointment(model: FinalizeHcpBreakAppointmentModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/break\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processFinalizeHcpManualBreakAppointment(_response));\n });\n }\n\n protected processFinalizeHcpManualBreakAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteAppointment(appointmentId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/appointments/{appointmentId}\";\n if (appointmentId === undefined || appointmentId === null)\n throw new Error(\"The parameter 'appointmentId' must be defined.\");\n url_ = url_.replace(\"{appointmentId}\", encodeURIComponent(\"\" + appointmentId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteAppointment(_response));\n });\n }\n\n protected processDeleteAppointment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class AgentsClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n getAll( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/agents\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAll(_response));\n });\n }\n\n protected processGetAll(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUser(userId: string , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/agents/{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_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUser(_response));\n });\n }\n\n protected processGetUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserResult.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAllUsersAllStudies( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/agents/users\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAllUsersAllStudies(_response));\n });\n }\n\n protected processGetAllUsersAllStudies(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ScheduleCallbackClient extends AxiosClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n super();\n\n this.instance = instance ? instance : axios.create();\n\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\n\n }\n\n createCallback(model: CreateCallbackViewModel , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule-callback\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(model);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/octet-stream\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateCallback(_response));\n });\n }\n\n protected processCreateCallback(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"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 Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableCallbackAppointments(userTimezone: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule-callback/available-appointments?\";\n if (userTimezone !== undefined && userTimezone !== null)\n url_ += \"userTimezone=\" + encodeURIComponent(\"\" + userTimezone) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailableCallbackAppointments(_response));\n });\n }\n\n protected processGetAvailableCallbackAppointments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProgramAppointmentAvailabilityReponse.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAvailableTimezones( cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule-callback/available-timezones\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAvailableTimezones(_response));\n });\n }\n\n protected processGetAvailableTimezones(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(AvailableTimezoneResult.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getVideoCallUrl(programId: string | null | undefined, language: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule-callback/video-call?\";\n if (programId !== undefined && programId !== null)\n url_ += \"programId=\" + encodeURIComponent(\"\" + programId) + \"&\";\n if (language !== undefined && language !== null)\n url_ += \"language=\" + encodeURIComponent(\"\" + language) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetVideoCallUrl(_response));\n });\n }\n\n protected processGetVideoCallUrl(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n cancelCallbackTask(callbackTaskId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/schedule-callback/cancel?\";\n if (callbackTaskId === null)\n throw new Error(\"The parameter 'callbackTaskId' cannot be null.\");\n else if (callbackTaskId !== undefined)\n url_ += \"callbackTaskId=\" + encodeURIComponent(\"\" + callbackTaskId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n cancelToken\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCancelCallbackTask(_response));\n });\n }\n\n protected processCancelCallbackTask(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DateAvailabilityResult implements IDateAvailabilityResult {\n date?: Date;\n hasAvailability?: boolean;\n\n constructor(data?: IDateAvailabilityResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n this.hasAvailability = _data[\"hasAvailability\"];\n }\n }\n\n static fromJS(data: any): DateAvailabilityResult {\n data = typeof data === 'object' ? data : {};\n let result = new DateAvailabilityResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n data[\"hasAvailability\"] = this.hasAvailability;\n return data;\n }\n}\n\nexport interface IDateAvailabilityResult {\n date?: Date;\n hasAvailability?: boolean;\n}\n\nexport class ScheduleOpeningResult implements IScheduleOpeningResult {\n start?: Date;\n end?: Date;\n\n constructor(data?: IScheduleOpeningResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ScheduleOpeningResult {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleOpeningResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IScheduleOpeningResult {\n start?: Date;\n end?: Date;\n}\n\nexport class SelectTimeResponseModel implements ISelectTimeResponseModel {\n success?: boolean;\n pendingAppointment?: PendingAppointmentModel | undefined;\n\n constructor(data?: ISelectTimeResponseModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.pendingAppointment = _data[\"pendingAppointment\"] ? PendingAppointmentModel.fromJS(_data[\"pendingAppointment\"]) : undefined;\n }\n }\n\n static fromJS(data: any): SelectTimeResponseModel {\n data = typeof data === 'object' ? data : {};\n let result = new SelectTimeResponseModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"pendingAppointment\"] = this.pendingAppointment ? this.pendingAppointment.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ISelectTimeResponseModel {\n success?: boolean;\n pendingAppointment?: PendingAppointmentModel | undefined;\n}\n\nexport class PendingAppointmentModel implements IPendingAppointmentModel {\n appointmentId?: string;\n start?: Date;\n end?: Date;\n expiresOn?: Date;\n\n constructor(data?: IPendingAppointmentModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appointmentId = _data[\"appointmentId\"];\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n this.expiresOn = _data[\"expiresOn\"] ? new Date(_data[\"expiresOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): PendingAppointmentModel {\n data = typeof data === 'object' ? data : {};\n let result = new PendingAppointmentModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"appointmentId\"] = this.appointmentId;\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n data[\"expiresOn\"] = this.expiresOn ? this.expiresOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IPendingAppointmentModel {\n appointmentId?: string;\n start?: Date;\n end?: Date;\n expiresOn?: Date;\n}\n\nexport class SelectTimeRequestModel implements ISelectTimeRequestModel {\n date?: Date;\n callbackToken?: string;\n\n constructor(data?: ISelectTimeRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n this.callbackToken = _data[\"callbackToken\"];\n }\n }\n\n static fromJS(data: any): SelectTimeRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new SelectTimeRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n data[\"callbackToken\"] = this.callbackToken;\n return data;\n }\n}\n\nexport interface ISelectTimeRequestModel {\n date?: Date;\n callbackToken?: string;\n}\n\nexport class ConfirmAppointmentRequestModel implements IConfirmAppointmentRequestModel {\n callbackToken?: string;\n appointmentId?: string;\n callType?: CallType;\n\n constructor(data?: IConfirmAppointmentRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callbackToken = _data[\"callbackToken\"];\n this.appointmentId = _data[\"appointmentId\"];\n this.callType = _data[\"callType\"];\n }\n }\n\n static fromJS(data: any): ConfirmAppointmentRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new ConfirmAppointmentRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callbackToken\"] = this.callbackToken;\n data[\"appointmentId\"] = this.appointmentId;\n data[\"callType\"] = this.callType;\n return data;\n }\n}\n\nexport interface IConfirmAppointmentRequestModel {\n callbackToken?: string;\n appointmentId?: string;\n callType?: CallType;\n}\n\nexport enum CallType {\n Phone = 1,\n Video = 2,\n}\n\nexport class PatientInformationResponse implements IPatientInformationResponse {\n name?: string;\n\n constructor(data?: IPatientInformationResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): PatientInformationResponse {\n data = typeof data === 'object' ? data : {};\n let result = new PatientInformationResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IPatientInformationResponse {\n name?: string;\n}\n\nexport class ContactInfo implements IContactInfo {\n infoEmail!: string;\n phoneNumber!: string;\n niceFormattedPhoneNumber!: string;\n formattedPhoneNumber!: string;\n phoneDays!: string;\n phoneHours!: string;\n mailAddress!: string;\n\n constructor(data?: IContactInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.infoEmail = _data[\"infoEmail\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.niceFormattedPhoneNumber = _data[\"niceFormattedPhoneNumber\"];\n this.formattedPhoneNumber = _data[\"formattedPhoneNumber\"];\n this.phoneDays = _data[\"phoneDays\"];\n this.phoneHours = _data[\"phoneHours\"];\n this.mailAddress = _data[\"mailAddress\"];\n }\n }\n\n static fromJS(data: any): ContactInfo {\n data = typeof data === 'object' ? data : {};\n let result = new ContactInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"infoEmail\"] = this.infoEmail;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"niceFormattedPhoneNumber\"] = this.niceFormattedPhoneNumber;\n data[\"formattedPhoneNumber\"] = this.formattedPhoneNumber;\n data[\"phoneDays\"] = this.phoneDays;\n data[\"phoneHours\"] = this.phoneHours;\n data[\"mailAddress\"] = this.mailAddress;\n return data;\n }\n}\n\nexport interface IContactInfo {\n infoEmail: string;\n phoneNumber: string;\n niceFormattedPhoneNumber: string;\n formattedPhoneNumber: string;\n phoneDays: string;\n phoneHours: string;\n mailAddress: string;\n}\n\nexport class GetPublicInteractionRequestsInPendingStatusItem implements IGetPublicInteractionRequestsInPendingStatusItem {\n publicInteractionRequestId!: string;\n interactionName?: string | undefined;\n\n constructor(data?: IGetPublicInteractionRequestsInPendingStatusItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.publicInteractionRequestId = _data[\"PublicInteractionRequestId\"];\n this.interactionName = _data[\"InteractionName\"];\n }\n }\n\n static fromJS(data: any): GetPublicInteractionRequestsInPendingStatusItem {\n data = typeof data === 'object' ? data : {};\n let result = new GetPublicInteractionRequestsInPendingStatusItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"PublicInteractionRequestId\"] = this.publicInteractionRequestId;\n data[\"InteractionName\"] = this.interactionName;\n return data;\n }\n}\n\nexport interface IGetPublicInteractionRequestsInPendingStatusItem {\n publicInteractionRequestId: string;\n interactionName?: string | undefined;\n}\n\nexport class GetPatientResourcesResponse implements IGetPatientResourcesResponse {\n resourceId?: number;\n name?: string | undefined;\n\n constructor(data?: IGetPatientResourcesResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resourceId = _data[\"ResourceId\"];\n this.name = _data[\"Name\"];\n }\n }\n\n static fromJS(data: any): GetPatientResourcesResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetPatientResourcesResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ResourceId\"] = this.resourceId;\n data[\"Name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetPatientResourcesResponse {\n resourceId?: number;\n name?: string | undefined;\n}\n\nexport class LoginModel implements ILoginModel {\n user?: string;\n pass?: string;\n recaptchaToken?: string;\n\n constructor(data?: ILoginModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.user = _data[\"user\"];\n this.pass = _data[\"pass\"];\n this.recaptchaToken = _data[\"recaptchaToken\"];\n }\n }\n\n static fromJS(data: any): LoginModel {\n data = typeof data === 'object' ? data : {};\n let result = new LoginModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"user\"] = this.user;\n data[\"pass\"] = this.pass;\n data[\"recaptchaToken\"] = this.recaptchaToken;\n return data;\n }\n}\n\nexport interface ILoginModel {\n user?: string;\n pass?: string;\n recaptchaToken?: string;\n}\n\nexport class ConfirmAccountRequest implements IConfirmAccountRequest {\n email?: string;\n token?: string;\n newPass?: string;\n recaptchaToken?: string;\n\n constructor(data?: IConfirmAccountRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.token = _data[\"token\"];\n this.newPass = _data[\"newPass\"];\n this.recaptchaToken = _data[\"recaptchaToken\"];\n }\n }\n\n static fromJS(data: any): ConfirmAccountRequest {\n data = typeof data === 'object' ? data : {};\n let result = new ConfirmAccountRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"token\"] = this.token;\n data[\"newPass\"] = this.newPass;\n data[\"recaptchaToken\"] = this.recaptchaToken;\n return data;\n }\n}\n\nexport interface IConfirmAccountRequest {\n email?: string;\n token?: string;\n newPass?: string;\n recaptchaToken?: string;\n}\n\nexport class ResetPasswordRequest implements IResetPasswordRequest {\n email?: string;\n pass?: string;\n token?: string;\n recaptchaToken?: string;\n\n constructor(data?: IResetPasswordRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.pass = _data[\"pass\"];\n this.token = _data[\"token\"];\n this.recaptchaToken = _data[\"recaptchaToken\"];\n }\n }\n\n static fromJS(data: any): ResetPasswordRequest {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"pass\"] = this.pass;\n data[\"token\"] = this.token;\n data[\"recaptchaToken\"] = this.recaptchaToken;\n return data;\n }\n}\n\nexport interface IResetPasswordRequest {\n email?: string;\n pass?: string;\n token?: string;\n recaptchaToken?: string;\n}\n\nexport class ForgotPasswordRequest implements IForgotPasswordRequest {\n email?: string;\n recaptchaToken?: string;\n\n constructor(data?: IForgotPasswordRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.recaptchaToken = _data[\"recaptchaToken\"];\n }\n }\n\n static fromJS(data: any): ForgotPasswordRequest {\n data = typeof data === 'object' ? data : {};\n let result = new ForgotPasswordRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"recaptchaToken\"] = this.recaptchaToken;\n return data;\n }\n}\n\nexport interface IForgotPasswordRequest {\n email?: string;\n recaptchaToken?: string;\n}\n\nexport class PostEnrollmentInteractionResponse implements IPostEnrollmentInteractionResponse {\n status?: PostEnrollmentInteractionStatus;\n patientIdentifier?: string | undefined;\n errorType?: string | undefined;\n errorDescription?: string | undefined;\n redirectToUrl?: string | undefined;\n\n constructor(data?: IPostEnrollmentInteractionResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.status = _data[\"Status\"];\n this.patientIdentifier = _data[\"PatientIdentifier\"];\n this.errorType = _data[\"ErrorType\"];\n this.errorDescription = _data[\"ErrorDescription\"];\n this.redirectToUrl = _data[\"RedirectToUrl\"];\n }\n }\n\n static fromJS(data: any): PostEnrollmentInteractionResponse {\n data = typeof data === 'object' ? data : {};\n let result = new PostEnrollmentInteractionResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"Status\"] = this.status;\n data[\"PatientIdentifier\"] = this.patientIdentifier;\n data[\"ErrorType\"] = this.errorType;\n data[\"ErrorDescription\"] = this.errorDescription;\n data[\"RedirectToUrl\"] = this.redirectToUrl;\n return data;\n }\n}\n\nexport interface IPostEnrollmentInteractionResponse {\n status?: PostEnrollmentInteractionStatus;\n patientIdentifier?: string | undefined;\n errorType?: string | undefined;\n errorDescription?: string | undefined;\n redirectToUrl?: string | undefined;\n}\n\nexport enum PostEnrollmentInteractionStatus {\n Ok = 0,\n PaymentFail = 1,\n PaymentSuccess = 2,\n PatientFailed = 3,\n RouteToPayment = 4,\n RouteToScheduler = 5,\n PatientSuccess = 6,\n}\n\nexport class PostGenericInteractionPublicRequest implements IPostGenericInteractionPublicRequest {\n requestKey!: string;\n interactionResponse?: InteractionResponseModel | undefined;\n\n constructor(data?: IPostGenericInteractionPublicRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestKey = _data[\"RequestKey\"];\n this.interactionResponse = _data[\"InteractionResponse\"] ? InteractionResponseModel.fromJS(_data[\"InteractionResponse\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PostGenericInteractionPublicRequest {\n data = typeof data === 'object' ? data : {};\n let result = new PostGenericInteractionPublicRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"RequestKey\"] = this.requestKey;\n data[\"InteractionResponse\"] = this.interactionResponse ? this.interactionResponse.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IPostGenericInteractionPublicRequest {\n requestKey: string;\n interactionResponse?: InteractionResponseModel | undefined;\n}\n\nexport class InteractionResponseModel implements IInteractionResponseModel {\n iPAddress?: string | undefined;\n saveAsDraft?: boolean;\n callBackToken?: string | undefined;\n responses?: InteractionResponseQuestion[] | undefined;\n notes?: string | undefined;\n\n constructor(data?: IInteractionResponseModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.iPAddress = _data[\"IPAddress\"];\n this.saveAsDraft = _data[\"SaveAsDraft\"];\n this.callBackToken = _data[\"CallBackToken\"];\n if (Array.isArray(_data[\"Responses\"])) {\n this.responses = [] as any;\n for (let item of _data[\"Responses\"])\n this.responses!.push(InteractionResponseQuestion.fromJS(item));\n }\n this.notes = _data[\"Notes\"];\n }\n }\n\n static fromJS(data: any): InteractionResponseModel {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionResponseModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"IPAddress\"] = this.iPAddress;\n data[\"SaveAsDraft\"] = this.saveAsDraft;\n data[\"CallBackToken\"] = this.callBackToken;\n if (Array.isArray(this.responses)) {\n data[\"Responses\"] = [];\n for (let item of this.responses)\n data[\"Responses\"].push(item.toJSON());\n }\n data[\"Notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IInteractionResponseModel {\n iPAddress?: string | undefined;\n saveAsDraft?: boolean;\n callBackToken?: string | undefined;\n responses?: InteractionResponseQuestion[] | undefined;\n notes?: string | undefined;\n}\n\nexport class InteractionResponseQuestion implements IInteractionResponseQuestion {\n answers?: QuestionAnswerModel[] | undefined;\n interactionQuestionId?: number;\n\n constructor(data?: IInteractionResponseQuestion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"Answers\"])) {\n this.answers = [] as any;\n for (let item of _data[\"Answers\"])\n this.answers!.push(QuestionAnswerModel.fromJS(item));\n }\n this.interactionQuestionId = _data[\"InteractionQuestionId\"];\n }\n }\n\n static fromJS(data: any): InteractionResponseQuestion {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionResponseQuestion();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answers)) {\n data[\"Answers\"] = [];\n for (let item of this.answers)\n data[\"Answers\"].push(item.toJSON());\n }\n data[\"InteractionQuestionId\"] = this.interactionQuestionId;\n return data;\n }\n}\n\nexport interface IInteractionResponseQuestion {\n answers?: QuestionAnswerModel[] | undefined;\n interactionQuestionId?: number;\n}\n\nexport class QuestionAnswerModel implements IQuestionAnswerModel {\n answerValues?: QuestionAnswerValue[] | undefined;\n\n constructor(data?: IQuestionAnswerModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"AnswerValues\"])) {\n this.answerValues = [] as any;\n for (let item of _data[\"AnswerValues\"])\n this.answerValues!.push(QuestionAnswerValue.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): QuestionAnswerModel {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionAnswerModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answerValues)) {\n data[\"AnswerValues\"] = [];\n for (let item of this.answerValues)\n data[\"AnswerValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IQuestionAnswerModel {\n answerValues?: QuestionAnswerValue[] | undefined;\n}\n\nexport class QuestionAnswerValue implements IQuestionAnswerValue {\n subCode?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IQuestionAnswerValue) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subCode = _data[\"SubCode\"];\n this.value = _data[\"Value\"];\n }\n }\n\n static fromJS(data: any): QuestionAnswerValue {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionAnswerValue();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"SubCode\"] = this.subCode;\n data[\"Value\"] = this.value;\n return data;\n }\n}\n\nexport interface IQuestionAnswerValue {\n subCode?: string | undefined;\n value?: string | undefined;\n}\n\nexport class InteractionRenderModel implements IInteractionRenderModel {\n interactionType?: InteractionType;\n callbackToken?: string | undefined;\n name?: string | undefined;\n questions?: InteractionQuestion[] | undefined;\n groups?: InteractionQuestionGroup[] | undefined;\n interactionNote?: InteractionNoteModel | undefined;\n rules?: { [key: string]: InteractionRulesGroup; } | undefined;\n\n constructor(data?: IInteractionRenderModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionType = _data[\"InteractionType\"];\n this.callbackToken = _data[\"CallbackToken\"];\n this.name = _data[\"Name\"];\n if (Array.isArray(_data[\"Questions\"])) {\n this.questions = [] as any;\n for (let item of _data[\"Questions\"])\n this.questions!.push(InteractionQuestion.fromJS(item));\n }\n if (Array.isArray(_data[\"Groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"Groups\"])\n this.groups!.push(InteractionQuestionGroup.fromJS(item));\n }\n this.interactionNote = _data[\"InteractionNote\"] ? InteractionNoteModel.fromJS(_data[\"InteractionNote\"]) : undefined;\n if (_data[\"Rules\"]) {\n this.rules = {} as any;\n for (let key in _data[\"Rules\"]) {\n if (_data[\"Rules\"].hasOwnProperty(key))\n (this.rules)![key] = _data[\"Rules\"][key] ? InteractionRulesGroup.fromJS(_data[\"Rules\"][key]) : new InteractionRulesGroup();\n }\n }\n }\n }\n\n static fromJS(data: any): InteractionRenderModel {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRenderModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"InteractionType\"] = this.interactionType;\n data[\"CallbackToken\"] = this.callbackToken;\n data[\"Name\"] = this.name;\n if (Array.isArray(this.questions)) {\n data[\"Questions\"] = [];\n for (let item of this.questions)\n data[\"Questions\"].push(item.toJSON());\n }\n if (Array.isArray(this.groups)) {\n data[\"Groups\"] = [];\n for (let item of this.groups)\n data[\"Groups\"].push(item.toJSON());\n }\n data[\"InteractionNote\"] = this.interactionNote ? this.interactionNote.toJSON() : undefined;\n if (this.rules) {\n data[\"Rules\"] = {};\n for (let key in this.rules) {\n if (this.rules.hasOwnProperty(key))\n (data[\"Rules\"])[key] = this.rules[key] ? this.rules[key].toJSON() : undefined;\n }\n }\n return data;\n }\n}\n\nexport interface IInteractionRenderModel {\n interactionType?: InteractionType;\n callbackToken?: string | undefined;\n name?: string | undefined;\n questions?: InteractionQuestion[] | undefined;\n groups?: InteractionQuestionGroup[] | undefined;\n interactionNote?: InteractionNoteModel | undefined;\n rules?: { [key: string]: InteractionRulesGroup; } | undefined;\n}\n\nexport enum InteractionType {\n Registration = 1,\n System = 2,\n Standard = 3,\n Signed = 4,\n EmailParticipant = 5,\n FaxPhysician = 6,\n FaxAttachment = 7,\n}\n\nexport class InteractionQuestion implements IInteractionQuestion {\n answers?: QuestionAnswerModel[] | undefined;\n interactionQuestionId?: number;\n uniqueCode?: string | undefined;\n isRepeatable?: boolean;\n items?: InteractionQuestionItem[] | undefined;\n\n constructor(data?: IInteractionQuestion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"Answers\"])) {\n this.answers = [] as any;\n for (let item of _data[\"Answers\"])\n this.answers!.push(QuestionAnswerModel.fromJS(item));\n }\n this.interactionQuestionId = _data[\"InteractionQuestionId\"];\n this.uniqueCode = _data[\"UniqueCode\"];\n this.isRepeatable = _data[\"IsRepeatable\"];\n if (Array.isArray(_data[\"Items\"])) {\n this.items = [] as any;\n for (let item of _data[\"Items\"])\n this.items!.push(InteractionQuestionItem.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InteractionQuestion {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestion();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answers)) {\n data[\"Answers\"] = [];\n for (let item of this.answers)\n data[\"Answers\"].push(item.toJSON());\n }\n data[\"InteractionQuestionId\"] = this.interactionQuestionId;\n data[\"UniqueCode\"] = this.uniqueCode;\n data[\"IsRepeatable\"] = this.isRepeatable;\n if (Array.isArray(this.items)) {\n data[\"Items\"] = [];\n for (let item of this.items)\n data[\"Items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInteractionQuestion {\n answers?: QuestionAnswerModel[] | undefined;\n interactionQuestionId?: number;\n uniqueCode?: string | undefined;\n isRepeatable?: boolean;\n items?: InteractionQuestionItem[] | undefined;\n}\n\nexport class InteractionQuestionItem implements IInteractionQuestionItem {\n questionId!: string;\n subCode?: string | undefined;\n position?: number;\n questionType?: QuestionType;\n required?: boolean;\n readOnly?: boolean;\n label?: string | undefined;\n instruction?: string | undefined;\n validationMessage?: string | undefined;\n questionOptions?: QuestionOption[] | undefined;\n extendedOptions?: ExtendedOptionsObjectMigration | undefined;\n\n constructor(data?: IInteractionQuestionItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.questionId = _data[\"QuestionId\"];\n this.subCode = _data[\"SubCode\"];\n this.position = _data[\"Position\"];\n this.questionType = _data[\"QuestionType\"];\n this.required = _data[\"Required\"];\n this.readOnly = _data[\"ReadOnly\"];\n this.label = _data[\"Label\"];\n this.instruction = _data[\"Instruction\"];\n this.validationMessage = _data[\"ValidationMessage\"];\n if (Array.isArray(_data[\"QuestionOptions\"])) {\n this.questionOptions = [] as any;\n for (let item of _data[\"QuestionOptions\"])\n this.questionOptions!.push(QuestionOption.fromJS(item));\n }\n this.extendedOptions = _data[\"ExtendedOptions\"] ? ExtendedOptionsObjectMigration.fromJS(_data[\"ExtendedOptions\"]) : undefined;\n }\n }\n\n static fromJS(data: any): InteractionQuestionItem {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestionItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"QuestionId\"] = this.questionId;\n data[\"SubCode\"] = this.subCode;\n data[\"Position\"] = this.position;\n data[\"QuestionType\"] = this.questionType;\n data[\"Required\"] = this.required;\n data[\"ReadOnly\"] = this.readOnly;\n data[\"Label\"] = this.label;\n data[\"Instruction\"] = this.instruction;\n data[\"ValidationMessage\"] = this.validationMessage;\n if (Array.isArray(this.questionOptions)) {\n data[\"QuestionOptions\"] = [];\n for (let item of this.questionOptions)\n data[\"QuestionOptions\"].push(item.toJSON());\n }\n data[\"ExtendedOptions\"] = this.extendedOptions ? this.extendedOptions.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IInteractionQuestionItem {\n questionId: string;\n subCode?: string | undefined;\n position?: number;\n questionType?: QuestionType;\n required?: boolean;\n readOnly?: boolean;\n label?: string | undefined;\n instruction?: string | undefined;\n validationMessage?: string | undefined;\n questionOptions?: QuestionOption[] | undefined;\n extendedOptions?: ExtendedOptionsObjectMigration | undefined;\n}\n\nexport enum QuestionType {\n Instruction = 0,\n Identifier = 1,\n Text = 2,\n Number = 3,\n Date = 4,\n Time = 5,\n SingleChoice = 6,\n MultipleChoice = 7,\n Matrix = 8,\n MultiLineText = 9,\n InteractionNote = 10,\n Attachment = 11,\n Score = 12,\n Checkbox = 13,\n InteractionSummary = 14,\n Name = 20,\n Language = 21,\n Email = 22,\n MailingAddress = 23,\n PhoneInformation = 24,\n Height = 25,\n Weight = 26,\n Gender = 27,\n DateOfBirth = 28,\n ContactConsent = 29,\n Physician = 30,\n Guardian = 31,\n EnrollmentDate = 32,\n PatientStatus = 33,\n Frequency = 34,\n DropDown = 35,\n Avatar = 36,\n Initials = 37,\n CareMember = 38,\n Signature = 39,\n ActigraphMinuteData = 40,\n EMA = 41,\n AdverseEffectEvent = 42,\n ConcomitantMedicationDetails = 43,\n PhysicianListPhysician = 44,\n SelectDocument = 45,\n SelectAttachment = 46,\n Hidden = 47,\n PatientEmail = 48,\n PatientPhone = 49,\n CBSScore = 50,\n CBSReactionTime = 51,\n ThirdPartyReference = 52,\n MedicalHistoryDetails = 53,\n NovoNordiskToolsAndConsent = 54,\n ConcomitantMedicationDetailsShort = 55,\n BodyMassIndex = 56,\n AdverseEventCCGlow = 57,\n AdverseEventLink = 58,\n Pharmacy = 1001,\n ObesityModules = 1002,\n LabWork = 1003,\n Medications = 1004,\n Prescriptions = 1005,\n AomReview = 1006,\n AomReviewMedication = 1007,\n}\n\nexport class QuestionOption implements IQuestionOption {\n code?: string | undefined;\n label?: string | undefined;\n score?: number;\n\n constructor(data?: IQuestionOption) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"Code\"];\n this.label = _data[\"Label\"];\n this.score = _data[\"Score\"];\n }\n }\n\n static fromJS(data: any): QuestionOption {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionOption();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"Code\"] = this.code;\n data[\"Label\"] = this.label;\n data[\"Score\"] = this.score;\n return data;\n }\n}\n\nexport interface IQuestionOption {\n code?: string | undefined;\n label?: string | undefined;\n score?: number;\n}\n\nexport class ExtendedOptionsObjectMigration implements IExtendedOptionsObjectMigration {\n optionGroups?: OptionGroupMigration[] | undefined;\n extendedQuestionOptions?: ExtendedQuestionOptionMigration[] | undefined;\n\n constructor(data?: IExtendedOptionsObjectMigration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"OptionGroups\"])) {\n this.optionGroups = [] as any;\n for (let item of _data[\"OptionGroups\"])\n this.optionGroups!.push(OptionGroupMigration.fromJS(item));\n }\n if (Array.isArray(_data[\"ExtendedQuestionOptions\"])) {\n this.extendedQuestionOptions = [] as any;\n for (let item of _data[\"ExtendedQuestionOptions\"])\n this.extendedQuestionOptions!.push(ExtendedQuestionOptionMigration.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ExtendedOptionsObjectMigration {\n data = typeof data === 'object' ? data : {};\n let result = new ExtendedOptionsObjectMigration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.optionGroups)) {\n data[\"OptionGroups\"] = [];\n for (let item of this.optionGroups)\n data[\"OptionGroups\"].push(item.toJSON());\n }\n if (Array.isArray(this.extendedQuestionOptions)) {\n data[\"ExtendedQuestionOptions\"] = [];\n for (let item of this.extendedQuestionOptions)\n data[\"ExtendedQuestionOptions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IExtendedOptionsObjectMigration {\n optionGroups?: OptionGroupMigration[] | undefined;\n extendedQuestionOptions?: ExtendedQuestionOptionMigration[] | undefined;\n}\n\nexport class OptionGroupMigration implements IOptionGroupMigration {\n uniqueCode?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n options?: QuestionOptionMigration[] | undefined;\n value?: string | undefined;\n required?: boolean;\n validationMessages?: LabelTranslation[] | undefined;\n validationMessage?: string | undefined;\n label?: string | undefined;\n\n constructor(data?: IOptionGroupMigration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uniqueCode = _data[\"UniqueCode\"];\n if (Array.isArray(_data[\"Labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"Labels\"])\n this.labels!.push(LabelTranslation.fromJS(item));\n }\n if (Array.isArray(_data[\"Options\"])) {\n this.options = [] as any;\n for (let item of _data[\"Options\"])\n this.options!.push(QuestionOptionMigration.fromJS(item));\n }\n this.value = _data[\"Value\"];\n this.required = _data[\"Required\"];\n if (Array.isArray(_data[\"ValidationMessages\"])) {\n this.validationMessages = [] as any;\n for (let item of _data[\"ValidationMessages\"])\n this.validationMessages!.push(LabelTranslation.fromJS(item));\n }\n this.validationMessage = _data[\"ValidationMessage\"];\n this.label = _data[\"Label\"];\n }\n }\n\n static fromJS(data: any): OptionGroupMigration {\n data = typeof data === 'object' ? data : {};\n let result = new OptionGroupMigration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"UniqueCode\"] = this.uniqueCode;\n if (Array.isArray(this.labels)) {\n data[\"Labels\"] = [];\n for (let item of this.labels)\n data[\"Labels\"].push(item.toJSON());\n }\n if (Array.isArray(this.options)) {\n data[\"Options\"] = [];\n for (let item of this.options)\n data[\"Options\"].push(item.toJSON());\n }\n data[\"Value\"] = this.value;\n data[\"Required\"] = this.required;\n if (Array.isArray(this.validationMessages)) {\n data[\"ValidationMessages\"] = [];\n for (let item of this.validationMessages)\n data[\"ValidationMessages\"].push(item.toJSON());\n }\n data[\"ValidationMessage\"] = this.validationMessage;\n data[\"Label\"] = this.label;\n return data;\n }\n}\n\nexport interface IOptionGroupMigration {\n uniqueCode?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n options?: QuestionOptionMigration[] | undefined;\n value?: string | undefined;\n required?: boolean;\n validationMessages?: LabelTranslation[] | undefined;\n validationMessage?: string | undefined;\n label?: string | undefined;\n}\n\nexport class LabelTranslation implements ILabelTranslation {\n language?: string | undefined;\n languageCode?: string | undefined;\n value?: string | undefined;\n isDefault?: boolean;\n\n constructor(data?: ILabelTranslation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.language = _data[\"Language\"];\n this.languageCode = _data[\"LanguageCode\"];\n this.value = _data[\"Value\"];\n this.isDefault = _data[\"IsDefault\"];\n }\n }\n\n static fromJS(data: any): LabelTranslation {\n data = typeof data === 'object' ? data : {};\n let result = new LabelTranslation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"Language\"] = this.language;\n data[\"LanguageCode\"] = this.languageCode;\n data[\"Value\"] = this.value;\n data[\"IsDefault\"] = this.isDefault;\n return data;\n }\n}\n\nexport interface ILabelTranslation {\n language?: string | undefined;\n languageCode?: string | undefined;\n value?: string | undefined;\n isDefault?: boolean;\n}\n\nexport class QuestionOptionMigration implements IQuestionOptionMigration {\n code?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n label?: string | undefined;\n score?: number;\n\n constructor(data?: IQuestionOptionMigration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"Code\"];\n if (Array.isArray(_data[\"Labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"Labels\"])\n this.labels!.push(LabelTranslation.fromJS(item));\n }\n this.label = _data[\"Label\"];\n this.score = _data[\"Score\"];\n }\n }\n\n static fromJS(data: any): QuestionOptionMigration {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionOptionMigration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"Code\"] = this.code;\n if (Array.isArray(this.labels)) {\n data[\"Labels\"] = [];\n for (let item of this.labels)\n data[\"Labels\"].push(item.toJSON());\n }\n data[\"Label\"] = this.label;\n data[\"Score\"] = this.score;\n return data;\n }\n}\n\nexport interface IQuestionOptionMigration {\n code?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n label?: string | undefined;\n score?: number;\n}\n\nexport class ExtendedQuestionOptionMigration implements IExtendedQuestionOptionMigration {\n label?: string | undefined;\n code?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n score?: number;\n scoreOptions?: Score[] | undefined;\n\n constructor(data?: IExtendedQuestionOptionMigration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"Label\"];\n this.code = _data[\"Code\"];\n if (Array.isArray(_data[\"Labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"Labels\"])\n this.labels!.push(LabelTranslation.fromJS(item));\n }\n this.score = _data[\"Score\"];\n if (Array.isArray(_data[\"ScoreOptions\"])) {\n this.scoreOptions = [] as any;\n for (let item of _data[\"ScoreOptions\"])\n this.scoreOptions!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ExtendedQuestionOptionMigration {\n data = typeof data === 'object' ? data : {};\n let result = new ExtendedQuestionOptionMigration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"Label\"] = this.label;\n data[\"Code\"] = this.code;\n if (Array.isArray(this.labels)) {\n data[\"Labels\"] = [];\n for (let item of this.labels)\n data[\"Labels\"].push(item.toJSON());\n }\n data[\"Score\"] = this.score;\n if (Array.isArray(this.scoreOptions)) {\n data[\"ScoreOptions\"] = [];\n for (let item of this.scoreOptions)\n data[\"ScoreOptions\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IExtendedQuestionOptionMigration {\n label?: string | undefined;\n code?: string | undefined;\n labels?: LabelTranslation[] | undefined;\n score?: number;\n scoreOptions?: Score[] | undefined;\n}\n\nexport enum Score {\n Ignore = 0,\n Include = 1,\n Reverse = 2,\n}\n\nexport class InteractionQuestionGroup implements IInteractionQuestionGroup {\n groupId?: number;\n label?: string | undefined;\n questionIds?: number[] | undefined;\n\n constructor(data?: IInteractionQuestionGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.groupId = _data[\"GroupId\"];\n this.label = _data[\"Label\"];\n if (Array.isArray(_data[\"QuestionIds\"])) {\n this.questionIds = [] as any;\n for (let item of _data[\"QuestionIds\"])\n this.questionIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): InteractionQuestionGroup {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestionGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"GroupId\"] = this.groupId;\n data[\"Label\"] = this.label;\n if (Array.isArray(this.questionIds)) {\n data[\"QuestionIds\"] = [];\n for (let item of this.questionIds)\n data[\"QuestionIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IInteractionQuestionGroup {\n groupId?: number;\n label?: string | undefined;\n questionIds?: number[] | undefined;\n}\n\nexport class InteractionNoteModel implements IInteractionNoteModel {\n noteType?: InteractionNoteType;\n notes?: string | undefined;\n\n constructor(data?: IInteractionNoteModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.noteType = _data[\"NoteType\"];\n this.notes = _data[\"Notes\"];\n }\n }\n\n static fromJS(data: any): InteractionNoteModel {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionNoteModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"NoteType\"] = this.noteType;\n data[\"Notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IInteractionNoteModel {\n noteType?: InteractionNoteType;\n notes?: string | undefined;\n}\n\nexport enum InteractionNoteType {\n Optional = 1,\n Required = 2,\n Hidden = 3,\n HiddenForPatients = 4,\n}\n\nexport class InteractionRulesGroup implements IInteractionRulesGroup {\n rules?: InteractionRule[] | undefined;\n comparisor?: InteractionRuleComparisor | undefined;\n groups?: InteractionRulesGroup[] | undefined;\n\n constructor(data?: IInteractionRulesGroup) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"Rules\"])) {\n this.rules = [] as any;\n for (let item of _data[\"Rules\"])\n this.rules!.push(InteractionRule.fromJS(item));\n }\n this.comparisor = _data[\"Comparisor\"];\n if (Array.isArray(_data[\"Groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"Groups\"])\n this.groups!.push(InteractionRulesGroup.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InteractionRulesGroup {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRulesGroup();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rules)) {\n data[\"Rules\"] = [];\n for (let item of this.rules)\n data[\"Rules\"].push(item.toJSON());\n }\n data[\"Comparisor\"] = this.comparisor;\n if (Array.isArray(this.groups)) {\n data[\"Groups\"] = [];\n for (let item of this.groups)\n data[\"Groups\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInteractionRulesGroup {\n rules?: InteractionRule[] | undefined;\n comparisor?: InteractionRuleComparisor | undefined;\n groups?: InteractionRulesGroup[] | undefined;\n}\n\nexport class InteractionRule implements IInteractionRule {\n ruleId?: string | undefined;\n dependOnQuestionId?: number;\n operator?: InteractionRuleOperator;\n evaluatedValue?: string | undefined;\n evaluationSubCode?: string | undefined;\n\n constructor(data?: IInteractionRule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ruleId = _data[\"RuleId\"];\n this.dependOnQuestionId = _data[\"DependOnQuestionId\"];\n this.operator = _data[\"Operator\"];\n this.evaluatedValue = _data[\"EvaluatedValue\"];\n this.evaluationSubCode = _data[\"EvaluationSubCode\"];\n }\n }\n\n static fromJS(data: any): InteractionRule {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"RuleId\"] = this.ruleId;\n data[\"DependOnQuestionId\"] = this.dependOnQuestionId;\n data[\"Operator\"] = this.operator;\n data[\"EvaluatedValue\"] = this.evaluatedValue;\n data[\"EvaluationSubCode\"] = this.evaluationSubCode;\n return data;\n }\n}\n\nexport interface IInteractionRule {\n ruleId?: string | undefined;\n dependOnQuestionId?: number;\n operator?: InteractionRuleOperator;\n evaluatedValue?: string | undefined;\n evaluationSubCode?: string | undefined;\n}\n\nexport enum InteractionRuleOperator {\n IsBlank = 1,\n IsNotBlank = 2,\n StartsWith = 3,\n EndsWith = 4,\n Contains = 5,\n Equals = 6,\n GreaterThan = 7,\n LessThan = 8,\n DoesNotContain = 9,\n DoesNotEqual = 10,\n}\n\nexport enum InteractionRuleComparisor {\n And = 0,\n Or = 1,\n}\n\nexport class PostEnrollmentInteractionRequest implements IPostEnrollmentInteractionRequest {\n interactionResponse?: InteractionResponseModel | undefined;\n enrollmentPaymentInformation?: EnrollmentPaymentInformation | undefined;\n\n constructor(data?: IPostEnrollmentInteractionRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionResponse = _data[\"InteractionResponse\"] ? InteractionResponseModel.fromJS(_data[\"InteractionResponse\"]) : undefined;\n this.enrollmentPaymentInformation = _data[\"EnrollmentPaymentInformation\"] ? EnrollmentPaymentInformation.fromJS(_data[\"EnrollmentPaymentInformation\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PostEnrollmentInteractionRequest {\n data = typeof data === 'object' ? data : {};\n let result = new PostEnrollmentInteractionRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"InteractionResponse\"] = this.interactionResponse ? this.interactionResponse.toJSON() : undefined;\n data[\"EnrollmentPaymentInformation\"] = this.enrollmentPaymentInformation ? this.enrollmentPaymentInformation.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IPostEnrollmentInteractionRequest {\n interactionResponse?: InteractionResponseModel | undefined;\n enrollmentPaymentInformation?: EnrollmentPaymentInformation | undefined;\n}\n\nexport class EnrollmentPaymentInformation implements IEnrollmentPaymentInformation {\n cardNumber?: string | undefined;\n cvv?: string | undefined;\n expiration?: string | undefined;\n streetNumber?: string | undefined;\n streetName?: string | undefined;\n postalCode?: string | undefined;\n\n constructor(data?: IEnrollmentPaymentInformation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.cardNumber = _data[\"CardNumber\"];\n this.cvv = _data[\"Cvv\"];\n this.expiration = _data[\"Expiration\"];\n this.streetNumber = _data[\"StreetNumber\"];\n this.streetName = _data[\"StreetName\"];\n this.postalCode = _data[\"PostalCode\"];\n }\n }\n\n static fromJS(data: any): EnrollmentPaymentInformation {\n data = typeof data === 'object' ? data : {};\n let result = new EnrollmentPaymentInformation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"CardNumber\"] = this.cardNumber;\n data[\"Cvv\"] = this.cvv;\n data[\"Expiration\"] = this.expiration;\n data[\"StreetNumber\"] = this.streetNumber;\n data[\"StreetName\"] = this.streetName;\n data[\"PostalCode\"] = this.postalCode;\n return data;\n }\n}\n\nexport interface IEnrollmentPaymentInformation {\n cardNumber?: string | undefined;\n cvv?: string | undefined;\n expiration?: string | undefined;\n streetNumber?: string | undefined;\n streetName?: string | undefined;\n postalCode?: string | undefined;\n}\n\nexport class PatientLoginDto implements IPatientLoginDto {\n patientLoginId?: string;\n loginEmail?: string | undefined;\n patientName?: string | undefined;\n patientVisits?: PatientLoginVisitDto[] | undefined;\n emailConfirmed?: boolean;\n\n constructor(data?: IPatientLoginDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientLoginId = _data[\"patientLoginId\"];\n this.loginEmail = _data[\"loginEmail\"];\n this.patientName = _data[\"patientName\"];\n if (Array.isArray(_data[\"patientVisits\"])) {\n this.patientVisits = [] as any;\n for (let item of _data[\"patientVisits\"])\n this.patientVisits!.push(PatientLoginVisitDto.fromJS(item));\n }\n this.emailConfirmed = _data[\"emailConfirmed\"];\n }\n }\n\n static fromJS(data: any): PatientLoginDto {\n data = typeof data === 'object' ? data : {};\n let result = new PatientLoginDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientLoginId\"] = this.patientLoginId;\n data[\"loginEmail\"] = this.loginEmail;\n data[\"patientName\"] = this.patientName;\n if (Array.isArray(this.patientVisits)) {\n data[\"patientVisits\"] = [];\n for (let item of this.patientVisits)\n data[\"patientVisits\"].push(item.toJSON());\n }\n data[\"emailConfirmed\"] = this.emailConfirmed;\n return data;\n }\n}\n\nexport interface IPatientLoginDto {\n patientLoginId?: string;\n loginEmail?: string | undefined;\n patientName?: string | undefined;\n patientVisits?: PatientLoginVisitDto[] | undefined;\n emailConfirmed?: boolean;\n}\n\nexport class PatientLoginVisitDto implements IPatientLoginVisitDto {\n patientVisitID?: string;\n visitNumber?: number | undefined;\n completedOn?: Date;\n isCompleted?: boolean;\n weight?: number | undefined;\n confidenceScore?: number | undefined;\n\n constructor(data?: IPatientLoginVisitDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientVisitID = _data[\"patientVisitID\"];\n this.visitNumber = _data[\"visitNumber\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n this.isCompleted = _data[\"isCompleted\"];\n this.weight = _data[\"weight\"];\n this.confidenceScore = _data[\"confidenceScore\"];\n }\n }\n\n static fromJS(data: any): PatientLoginVisitDto {\n data = typeof data === 'object' ? data : {};\n let result = new PatientLoginVisitDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientVisitID\"] = this.patientVisitID;\n data[\"visitNumber\"] = this.visitNumber;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n data[\"isCompleted\"] = this.isCompleted;\n data[\"weight\"] = this.weight;\n data[\"confidenceScore\"] = this.confidenceScore;\n return data;\n }\n}\n\nexport interface IPatientLoginVisitDto {\n patientVisitID?: string;\n visitNumber?: number | undefined;\n completedOn?: Date;\n isCompleted?: boolean;\n weight?: number | undefined;\n confidenceScore?: number | undefined;\n}\n\nexport class ServiceOutcome implements IServiceOutcome {\n isSuccessful?: boolean;\n\n constructor(data?: IServiceOutcome) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isSuccessful = _data[\"isSuccessful\"];\n }\n }\n\n static fromJS(data: any): ServiceOutcome {\n data = typeof data === 'object' ? data : {};\n let result = new ServiceOutcome();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isSuccessful\"] = this.isSuccessful;\n return data;\n }\n}\n\nexport interface IServiceOutcome {\n isSuccessful?: boolean;\n}\n\nexport class GetPublicInteractionRequestsInPendingStatusItem2 implements IGetPublicInteractionRequestsInPendingStatusItem2 {\n publicInteractionRequestId?: string;\n interactionName?: string | undefined;\n\n constructor(data?: IGetPublicInteractionRequestsInPendingStatusItem2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.publicInteractionRequestId = _data[\"publicInteractionRequestId\"];\n this.interactionName = _data[\"interactionName\"];\n }\n }\n\n static fromJS(data: any): GetPublicInteractionRequestsInPendingStatusItem2 {\n data = typeof data === 'object' ? data : {};\n let result = new GetPublicInteractionRequestsInPendingStatusItem2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"publicInteractionRequestId\"] = this.publicInteractionRequestId;\n data[\"interactionName\"] = this.interactionName;\n return data;\n }\n}\n\nexport interface IGetPublicInteractionRequestsInPendingStatusItem2 {\n publicInteractionRequestId?: string;\n interactionName?: string | undefined;\n}\n\nexport class GetPatientResourcesResponse2 implements IGetPatientResourcesResponse2 {\n resourceId?: number;\n name?: string | undefined;\n\n constructor(data?: IGetPatientResourcesResponse2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resourceId = _data[\"resourceId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): GetPatientResourcesResponse2 {\n data = typeof data === 'object' ? data : {};\n let result = new GetPatientResourcesResponse2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"resourceId\"] = this.resourceId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IGetPatientResourcesResponse2 {\n resourceId?: number;\n name?: string | undefined;\n}\n\nexport class GetPatientResourceDetailsResponse implements IGetPatientResourceDetailsResponse {\n resourceId?: number;\n filename?: string | undefined;\n description?: string | undefined;\n contentType?: string | undefined;\n\n constructor(data?: IGetPatientResourceDetailsResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resourceId = _data[\"resourceId\"];\n this.filename = _data[\"filename\"];\n this.description = _data[\"description\"];\n this.contentType = _data[\"contentType\"];\n }\n }\n\n static fromJS(data: any): GetPatientResourceDetailsResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetPatientResourceDetailsResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"resourceId\"] = this.resourceId;\n data[\"filename\"] = this.filename;\n data[\"description\"] = this.description;\n data[\"contentType\"] = this.contentType;\n return data;\n }\n}\n\nexport interface IGetPatientResourceDetailsResponse {\n resourceId?: number;\n filename?: string | undefined;\n description?: string | undefined;\n contentType?: string | undefined;\n}\n\nexport class PatientSummaryResult implements IPatientSummaryResult {\n patientId?: string;\n uniqueId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n\n constructor(data?: IPatientSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientId = _data[\"patientId\"];\n this.uniqueId = _data[\"uniqueId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): PatientSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new PatientSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientId\"] = this.patientId;\n data[\"uniqueId\"] = this.uniqueId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface IPatientSummaryResult {\n patientId?: string;\n uniqueId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n}\n\nexport class AeCcglowSummary implements IAeCcglowSummary {\n aeWithoutCcglowCount?: number;\n aeContainingCcglowCount?: number;\n\n constructor(data?: IAeCcglowSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.aeWithoutCcglowCount = _data[\"aeWithoutCcglowCount\"];\n this.aeContainingCcglowCount = _data[\"aeContainingCcglowCount\"];\n }\n }\n\n static fromJS(data: any): AeCcglowSummary {\n data = typeof data === 'object' ? data : {};\n let result = new AeCcglowSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"aeWithoutCcglowCount\"] = this.aeWithoutCcglowCount;\n data[\"aeContainingCcglowCount\"] = this.aeContainingCcglowCount;\n return data;\n }\n}\n\nexport interface IAeCcglowSummary {\n aeWithoutCcglowCount?: number;\n aeContainingCcglowCount?: number;\n}\n\nexport class AeSummary implements IAeSummary {\n filedCount?: number;\n faxedCount?: number;\n\n constructor(data?: IAeSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.filedCount = _data[\"filedCount\"];\n this.faxedCount = _data[\"faxedCount\"];\n }\n }\n\n static fromJS(data: any): AeSummary {\n data = typeof data === 'object' ? data : {};\n let result = new AeSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"filedCount\"] = this.filedCount;\n data[\"faxedCount\"] = this.faxedCount;\n return data;\n }\n}\n\nexport interface IAeSummary {\n filedCount?: number;\n faxedCount?: number;\n}\n\nexport class StoppedTakingSummary implements IStoppedTakingSummary {\n week3StoppedTakingCount?: number;\n week2StoppedTakingCount?: number;\n distinctStoppedTaking?: number;\n completedStoppingCallInteractions?: number;\n\n constructor(data?: IStoppedTakingSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.week3StoppedTakingCount = _data[\"week3StoppedTakingCount\"];\n this.week2StoppedTakingCount = _data[\"week2StoppedTakingCount\"];\n this.distinctStoppedTaking = _data[\"distinctStoppedTaking\"];\n this.completedStoppingCallInteractions = _data[\"completedStoppingCallInteractions\"];\n }\n }\n\n static fromJS(data: any): StoppedTakingSummary {\n data = typeof data === 'object' ? data : {};\n let result = new StoppedTakingSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"week3StoppedTakingCount\"] = this.week3StoppedTakingCount;\n data[\"week2StoppedTakingCount\"] = this.week2StoppedTakingCount;\n data[\"distinctStoppedTaking\"] = this.distinctStoppedTaking;\n data[\"completedStoppingCallInteractions\"] = this.completedStoppingCallInteractions;\n return data;\n }\n}\n\nexport interface IStoppedTakingSummary {\n week3StoppedTakingCount?: number;\n week2StoppedTakingCount?: number;\n distinctStoppedTaking?: number;\n completedStoppingCallInteractions?: number;\n}\n\nexport class GetSystemPatientModel implements IGetSystemPatientModel {\n systemPatient?: SystemPatientSummaryModel | undefined;\n\n constructor(data?: IGetSystemPatientModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.systemPatient = _data[\"systemPatient\"] ? SystemPatientSummaryModel.fromJS(_data[\"systemPatient\"]) : undefined;\n }\n }\n\n static fromJS(data: any): GetSystemPatientModel {\n data = typeof data === 'object' ? data : {};\n let result = new GetSystemPatientModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"systemPatient\"] = this.systemPatient ? this.systemPatient.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IGetSystemPatientModel {\n systemPatient?: SystemPatientSummaryModel | undefined;\n}\n\nexport class SystemPatientSummaryModel implements ISystemPatientSummaryModel {\n patientId?: string;\n uniqueId?: string | undefined;\n\n constructor(data?: ISystemPatientSummaryModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientId = _data[\"patientId\"];\n this.uniqueId = _data[\"uniqueId\"];\n }\n }\n\n static fromJS(data: any): SystemPatientSummaryModel {\n data = typeof data === 'object' ? data : {};\n let result = new SystemPatientSummaryModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientId\"] = this.patientId;\n data[\"uniqueId\"] = this.uniqueId;\n return data;\n }\n}\n\nexport interface ISystemPatientSummaryModel {\n patientId?: string;\n uniqueId?: string | undefined;\n}\n\nexport class UpdateStudyPspSystemPatientModel implements IUpdateStudyPspSystemPatientModel {\n patientId?: string | undefined;\n\n constructor(data?: IUpdateStudyPspSystemPatientModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientId = _data[\"patientId\"];\n }\n }\n\n static fromJS(data: any): UpdateStudyPspSystemPatientModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateStudyPspSystemPatientModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientId\"] = this.patientId;\n return data;\n }\n}\n\nexport interface IUpdateStudyPspSystemPatientModel {\n patientId?: string | undefined;\n}\n\nexport class ParticipantsSummaryResult implements IParticipantsSummaryResult {\n statusCounts?: PatientStatusResult[] | undefined;\n\n constructor(data?: IParticipantsSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"statusCounts\"])) {\n this.statusCounts = [] as any;\n for (let item of _data[\"statusCounts\"])\n this.statusCounts!.push(PatientStatusResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ParticipantsSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new ParticipantsSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.statusCounts)) {\n data[\"statusCounts\"] = [];\n for (let item of this.statusCounts)\n data[\"statusCounts\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IParticipantsSummaryResult {\n statusCounts?: PatientStatusResult[] | undefined;\n}\n\nexport class PatientStatusResult implements IPatientStatusResult {\n patientStatus?: PatientStatus;\n name?: string | undefined;\n count?: number;\n\n constructor(data?: IPatientStatusResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientStatus = _data[\"patientStatus\"];\n this.name = _data[\"name\"];\n this.count = _data[\"count\"];\n }\n }\n\n static fromJS(data: any): PatientStatusResult {\n data = typeof data === 'object' ? data : {};\n let result = new PatientStatusResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientStatus\"] = this.patientStatus;\n data[\"name\"] = this.name;\n data[\"count\"] = this.count;\n return data;\n }\n}\n\nexport interface IPatientStatusResult {\n patientStatus?: PatientStatus;\n name?: string | undefined;\n count?: number;\n}\n\nexport enum PatientStatus {\n PartialEnrolled = 0,\n Enrolled = 1,\n Inactive = 2,\n Ineligible = 4,\n NotInterested = 5,\n PermanentlyIncomplete = 6,\n TestData = 7,\n Waitlist = 8,\n Paused = 9,\n OngoingSupport = 10,\n HoldingTank = 11,\n PreEnrollment = 12,\n Completed = 13,\n Assessment = 14,\n Enrolled12 = 15,\n}\n\nexport class PatientSummaryStatusResult implements IPatientSummaryStatusResult {\n patientId?: string;\n uniqueId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n status?: PatientStatus;\n enrolledSubStatus?: string | undefined;\n\n constructor(data?: IPatientSummaryStatusResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientId = _data[\"patientId\"];\n this.uniqueId = _data[\"uniqueId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.status = _data[\"status\"];\n this.enrolledSubStatus = _data[\"enrolledSubStatus\"];\n }\n }\n\n static fromJS(data: any): PatientSummaryStatusResult {\n data = typeof data === 'object' ? data : {};\n let result = new PatientSummaryStatusResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientId\"] = this.patientId;\n data[\"uniqueId\"] = this.uniqueId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"status\"] = this.status;\n data[\"enrolledSubStatus\"] = this.enrolledSubStatus;\n return data;\n }\n}\n\nexport interface IPatientSummaryStatusResult {\n patientId?: string;\n uniqueId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n status?: PatientStatus;\n enrolledSubStatus?: string | undefined;\n}\n\nexport class EnrollmentCountModel implements IEnrollmentCountModel {\n enrollments?: number;\n\n constructor(data?: IEnrollmentCountModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enrollments = _data[\"enrollments\"];\n }\n }\n\n static fromJS(data: any): EnrollmentCountModel {\n data = typeof data === 'object' ? data : {};\n let result = new EnrollmentCountModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enrollments\"] = this.enrollments;\n return data;\n }\n}\n\nexport interface IEnrollmentCountModel {\n enrollments?: number;\n}\n\nexport class QueueMetricsModel implements IQueueMetricsModel {\n averageWaitTime?: string | undefined;\n englishQueuedCallers?: number;\n frenchQueuedCallers?: number;\n englishAvailableAgents?: number;\n frenchAvailableAgents?: number;\n totalAvailableAgents?: number;\n\n constructor(data?: IQueueMetricsModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.averageWaitTime = _data[\"averageWaitTime\"];\n this.englishQueuedCallers = _data[\"englishQueuedCallers\"];\n this.frenchQueuedCallers = _data[\"frenchQueuedCallers\"];\n this.englishAvailableAgents = _data[\"englishAvailableAgents\"];\n this.frenchAvailableAgents = _data[\"frenchAvailableAgents\"];\n this.totalAvailableAgents = _data[\"totalAvailableAgents\"];\n }\n }\n\n static fromJS(data: any): QueueMetricsModel {\n data = typeof data === 'object' ? data : {};\n let result = new QueueMetricsModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"averageWaitTime\"] = this.averageWaitTime;\n data[\"englishQueuedCallers\"] = this.englishQueuedCallers;\n data[\"frenchQueuedCallers\"] = this.frenchQueuedCallers;\n data[\"englishAvailableAgents\"] = this.englishAvailableAgents;\n data[\"frenchAvailableAgents\"] = this.frenchAvailableAgents;\n data[\"totalAvailableAgents\"] = this.totalAvailableAgents;\n return data;\n }\n}\n\nexport interface IQueueMetricsModel {\n averageWaitTime?: string | undefined;\n englishQueuedCallers?: number;\n frenchQueuedCallers?: number;\n englishAvailableAgents?: number;\n frenchAvailableAgents?: number;\n totalAvailableAgents?: number;\n}\n\nexport class AccountSummaryResult implements IAccountSummaryResult {\n accountId?: string;\n firstName?: string | undefined;\n lastName?: string | undefined;\n\n constructor(data?: IAccountSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accountId = _data[\"accountId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): AccountSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new AccountSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accountId\"] = this.accountId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface IAccountSummaryResult {\n accountId?: string;\n firstName?: string | undefined;\n lastName?: string | undefined;\n}\n\nexport class PatientInteractionSummaryResult implements IPatientInteractionSummaryResult {\n interaction?: InteractionSummaryResult | undefined;\n patientInteractionId?: number;\n createdOn?: Date;\n patient?: PatientSummaryResult | undefined;\n account?: AccountSummaryResult | undefined;\n\n constructor(data?: IPatientInteractionSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interaction = _data[\"interaction\"] ? InteractionSummaryResult.fromJS(_data[\"interaction\"]) : undefined;\n this.patientInteractionId = _data[\"patientInteractionId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.patient = _data[\"patient\"] ? PatientSummaryResult.fromJS(_data[\"patient\"]) : undefined;\n this.account = _data[\"account\"] ? AccountSummaryResult.fromJS(_data[\"account\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PatientInteractionSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new PatientInteractionSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"interaction\"] = this.interaction ? this.interaction.toJSON() : undefined;\n data[\"patientInteractionId\"] = this.patientInteractionId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"patient\"] = this.patient ? this.patient.toJSON() : undefined;\n data[\"account\"] = this.account ? this.account.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IPatientInteractionSummaryResult {\n interaction?: InteractionSummaryResult | undefined;\n patientInteractionId?: number;\n createdOn?: Date;\n patient?: PatientSummaryResult | undefined;\n account?: AccountSummaryResult | undefined;\n}\n\nexport class InteractionSummaryResult implements IInteractionSummaryResult {\n interactionId?: number;\n name?: string | undefined;\n\n constructor(data?: IInteractionSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionId = _data[\"interactionId\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): InteractionSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"interactionId\"] = this.interactionId;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IInteractionSummaryResult {\n interactionId?: number;\n name?: string | undefined;\n}\n\nexport class AsteriskSummaryModel implements IAsteriskSummaryModel {\n averageLengthOfCalls?: string;\n dailyInboundVideoCalls?: number;\n dailyInboundPhoneCalls?: number;\n abandonedCalls?: number;\n averageAgentInbound?: number;\n averageAgentOutbound?: number;\n\n constructor(data?: IAsteriskSummaryModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.averageLengthOfCalls = _data[\"averageLengthOfCalls\"];\n this.dailyInboundVideoCalls = _data[\"dailyInboundVideoCalls\"];\n this.dailyInboundPhoneCalls = _data[\"dailyInboundPhoneCalls\"];\n this.abandonedCalls = _data[\"abandonedCalls\"];\n this.averageAgentInbound = _data[\"averageAgentInbound\"];\n this.averageAgentOutbound = _data[\"averageAgentOutbound\"];\n }\n }\n\n static fromJS(data: any): AsteriskSummaryModel {\n data = typeof data === 'object' ? data : {};\n let result = new AsteriskSummaryModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"averageLengthOfCalls\"] = this.averageLengthOfCalls;\n data[\"dailyInboundVideoCalls\"] = this.dailyInboundVideoCalls;\n data[\"dailyInboundPhoneCalls\"] = this.dailyInboundPhoneCalls;\n data[\"abandonedCalls\"] = this.abandonedCalls;\n data[\"averageAgentInbound\"] = this.averageAgentInbound;\n data[\"averageAgentOutbound\"] = this.averageAgentOutbound;\n return data;\n }\n}\n\nexport interface IAsteriskSummaryModel {\n averageLengthOfCalls?: string;\n dailyInboundVideoCalls?: number;\n dailyInboundPhoneCalls?: number;\n abandonedCalls?: number;\n averageAgentInbound?: number;\n averageAgentOutbound?: number;\n}\n\nexport class ProvinceState implements IProvinceState {\n provinceStateID?: number;\n code?: string | undefined;\n countryCode?: string | undefined;\n name?: string | undefined;\n timeZone?: string | undefined;\n\n constructor(data?: IProvinceState) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.provinceStateID = _data[\"provinceStateID\"];\n this.code = _data[\"code\"];\n this.countryCode = _data[\"countryCode\"];\n this.name = _data[\"name\"];\n this.timeZone = _data[\"timeZone\"];\n }\n }\n\n static fromJS(data: any): ProvinceState {\n data = typeof data === 'object' ? data : {};\n let result = new ProvinceState();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"provinceStateID\"] = this.provinceStateID;\n data[\"code\"] = this.code;\n data[\"countryCode\"] = this.countryCode;\n data[\"name\"] = this.name;\n data[\"timeZone\"] = this.timeZone;\n return data;\n }\n}\n\nexport interface IProvinceState {\n provinceStateID?: number;\n code?: string | undefined;\n countryCode?: string | undefined;\n name?: string | undefined;\n timeZone?: string | undefined;\n}\n\nexport class PharmacyModel implements IPharmacyModel {\n pharmacyID?: string;\n name?: string | undefined;\n address?: string | undefined;\n city?: string | undefined;\n provinceState?: string | undefined;\n postalZipCode?: string | undefined;\n country?: string | undefined;\n phoneNumber?: string | undefined;\n faxNumber?: string | undefined;\n email?: string | undefined;\n isVerified?: boolean;\n\n constructor(data?: IPharmacyModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.pharmacyID = _data[\"pharmacyID\"];\n this.name = _data[\"name\"];\n this.address = _data[\"address\"];\n this.city = _data[\"city\"];\n this.provinceState = _data[\"provinceState\"];\n this.postalZipCode = _data[\"postalZipCode\"];\n this.country = _data[\"country\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.faxNumber = _data[\"faxNumber\"];\n this.email = _data[\"email\"];\n this.isVerified = _data[\"isVerified\"];\n }\n }\n\n static fromJS(data: any): PharmacyModel {\n data = typeof data === 'object' ? data : {};\n let result = new PharmacyModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pharmacyID\"] = this.pharmacyID;\n data[\"name\"] = this.name;\n data[\"address\"] = this.address;\n data[\"city\"] = this.city;\n data[\"provinceState\"] = this.provinceState;\n data[\"postalZipCode\"] = this.postalZipCode;\n data[\"country\"] = this.country;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"faxNumber\"] = this.faxNumber;\n data[\"email\"] = this.email;\n data[\"isVerified\"] = this.isVerified;\n return data;\n }\n}\n\nexport interface IPharmacyModel {\n pharmacyID?: string;\n name?: string | undefined;\n address?: string | undefined;\n city?: string | undefined;\n provinceState?: string | undefined;\n postalZipCode?: string | undefined;\n country?: string | undefined;\n phoneNumber?: string | undefined;\n faxNumber?: string | undefined;\n email?: string | undefined;\n isVerified?: boolean;\n}\n\nexport class GetPharmaciesRequest implements IGetPharmaciesRequest {\n studyId?: string;\n name?: string | undefined;\n province?: string | undefined;\n city?: string | undefined;\n\n constructor(data?: IGetPharmaciesRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.name = _data[\"name\"];\n this.province = _data[\"province\"];\n this.city = _data[\"city\"];\n }\n }\n\n static fromJS(data: any): GetPharmaciesRequest {\n data = typeof data === 'object' ? data : {};\n let result = new GetPharmaciesRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"name\"] = this.name;\n data[\"province\"] = this.province;\n data[\"city\"] = this.city;\n return data;\n }\n}\n\nexport interface IGetPharmaciesRequest {\n studyId?: string;\n name?: string | undefined;\n province?: string | undefined;\n city?: string | undefined;\n}\n\nexport class PhysicianModel implements IPhysicianModel {\n physicianID?: string;\n internalReferenceId?: string | undefined;\n externalReferenceId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n organization?: string | undefined;\n specialtyGroup?: string | undefined;\n specialtyType?: string | undefined;\n address?: string | undefined;\n apartment?: string | undefined;\n city?: string | undefined;\n provinceState?: string | undefined;\n postalZipCode?: string | undefined;\n country?: string | undefined;\n phoneNumber?: string | undefined;\n faxNumber?: string | undefined;\n email?: string | undefined;\n isVerified?: boolean;\n\n constructor(data?: IPhysicianModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.physicianID = _data[\"physicianID\"];\n this.internalReferenceId = _data[\"internalReferenceId\"];\n this.externalReferenceId = _data[\"externalReferenceId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.organization = _data[\"organization\"];\n this.specialtyGroup = _data[\"specialtyGroup\"];\n this.specialtyType = _data[\"specialtyType\"];\n this.address = _data[\"address\"];\n this.apartment = _data[\"apartment\"];\n this.city = _data[\"city\"];\n this.provinceState = _data[\"provinceState\"];\n this.postalZipCode = _data[\"postalZipCode\"];\n this.country = _data[\"country\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.faxNumber = _data[\"faxNumber\"];\n this.email = _data[\"email\"];\n this.isVerified = _data[\"isVerified\"];\n }\n }\n\n static fromJS(data: any): PhysicianModel {\n data = typeof data === 'object' ? data : {};\n let result = new PhysicianModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"physicianID\"] = this.physicianID;\n data[\"internalReferenceId\"] = this.internalReferenceId;\n data[\"externalReferenceId\"] = this.externalReferenceId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"organization\"] = this.organization;\n data[\"specialtyGroup\"] = this.specialtyGroup;\n data[\"specialtyType\"] = this.specialtyType;\n data[\"address\"] = this.address;\n data[\"apartment\"] = this.apartment;\n data[\"city\"] = this.city;\n data[\"provinceState\"] = this.provinceState;\n data[\"postalZipCode\"] = this.postalZipCode;\n data[\"country\"] = this.country;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"faxNumber\"] = this.faxNumber;\n data[\"email\"] = this.email;\n data[\"isVerified\"] = this.isVerified;\n return data;\n }\n}\n\nexport interface IPhysicianModel {\n physicianID?: string;\n internalReferenceId?: string | undefined;\n externalReferenceId?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n organization?: string | undefined;\n specialtyGroup?: string | undefined;\n specialtyType?: string | undefined;\n address?: string | undefined;\n apartment?: string | undefined;\n city?: string | undefined;\n provinceState?: string | undefined;\n postalZipCode?: string | undefined;\n country?: string | undefined;\n phoneNumber?: string | undefined;\n faxNumber?: string | undefined;\n email?: string | undefined;\n isVerified?: boolean;\n}\n\nexport class GetPhysicianRequest implements IGetPhysicianRequest {\n studyId?: string;\n country?: string | undefined;\n province?: string | undefined;\n city?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n\n constructor(data?: IGetPhysicianRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.country = _data[\"country\"];\n this.province = _data[\"province\"];\n this.city = _data[\"city\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n }\n }\n\n static fromJS(data: any): GetPhysicianRequest {\n data = typeof data === 'object' ? data : {};\n let result = new GetPhysicianRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"country\"] = this.country;\n data[\"province\"] = this.province;\n data[\"city\"] = this.city;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n return data;\n }\n}\n\nexport interface IGetPhysicianRequest {\n studyId?: string;\n country?: string | undefined;\n province?: string | undefined;\n city?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n}\n\nexport class InteractionRenderModel2 implements IInteractionRenderModel2 {\n interactionType?: InteractionType2;\n callbackToken?: string | undefined;\n name?: string | undefined;\n questions?: InteractionQuestion2[] | undefined;\n groups?: InteractionQuestionGroup2[] | undefined;\n interactionNote?: InteractionNoteModel2 | undefined;\n rules?: { [key: string]: InteractionRulesGroup2; } | undefined;\n\n constructor(data?: IInteractionRenderModel2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionType = _data[\"interactionType\"];\n this.callbackToken = _data[\"callbackToken\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"questions\"])) {\n this.questions = [] as any;\n for (let item of _data[\"questions\"])\n this.questions!.push(InteractionQuestion2.fromJS(item));\n }\n if (Array.isArray(_data[\"groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"groups\"])\n this.groups!.push(InteractionQuestionGroup2.fromJS(item));\n }\n this.interactionNote = _data[\"interactionNote\"] ? InteractionNoteModel2.fromJS(_data[\"interactionNote\"]) : undefined;\n if (_data[\"rules\"]) {\n this.rules = {} as any;\n for (let key in _data[\"rules\"]) {\n if (_data[\"rules\"].hasOwnProperty(key))\n (this.rules)![key] = _data[\"rules\"][key] ? InteractionRulesGroup2.fromJS(_data[\"rules\"][key]) : new InteractionRulesGroup2();\n }\n }\n }\n }\n\n static fromJS(data: any): InteractionRenderModel2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRenderModel2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"interactionType\"] = this.interactionType;\n data[\"callbackToken\"] = this.callbackToken;\n data[\"name\"] = this.name;\n if (Array.isArray(this.questions)) {\n data[\"questions\"] = [];\n for (let item of this.questions)\n data[\"questions\"].push(item.toJSON());\n }\n if (Array.isArray(this.groups)) {\n data[\"groups\"] = [];\n for (let item of this.groups)\n data[\"groups\"].push(item.toJSON());\n }\n data[\"interactionNote\"] = this.interactionNote ? this.interactionNote.toJSON() : undefined;\n if (this.rules) {\n data[\"rules\"] = {};\n for (let key in this.rules) {\n if (this.rules.hasOwnProperty(key))\n (data[\"rules\"])[key] = this.rules[key] ? this.rules[key].toJSON() : undefined;\n }\n }\n return data;\n }\n}\n\nexport interface IInteractionRenderModel2 {\n interactionType?: InteractionType2;\n callbackToken?: string | undefined;\n name?: string | undefined;\n questions?: InteractionQuestion2[] | undefined;\n groups?: InteractionQuestionGroup2[] | undefined;\n interactionNote?: InteractionNoteModel2 | undefined;\n rules?: { [key: string]: InteractionRulesGroup2; } | undefined;\n}\n\nexport enum InteractionType2 {\n Registration = 1,\n System = 2,\n Standard = 3,\n Signed = 4,\n EmailParticipant = 5,\n FaxPhysician = 6,\n FaxAttachment = 7,\n}\n\nexport class InteractionQuestion2 implements IInteractionQuestion2 {\n answers?: QuestionAnswerModel2[] | undefined;\n interactionQuestionId?: number;\n uniqueCode?: string | undefined;\n isRepeatable?: boolean;\n items?: InteractionQuestionItem2[] | undefined;\n\n constructor(data?: IInteractionQuestion2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"answers\"])) {\n this.answers = [] as any;\n for (let item of _data[\"answers\"])\n this.answers!.push(QuestionAnswerModel2.fromJS(item));\n }\n this.interactionQuestionId = _data[\"interactionQuestionId\"];\n this.uniqueCode = _data[\"uniqueCode\"];\n this.isRepeatable = _data[\"isRepeatable\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(InteractionQuestionItem2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InteractionQuestion2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestion2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answers)) {\n data[\"answers\"] = [];\n for (let item of this.answers)\n data[\"answers\"].push(item.toJSON());\n }\n data[\"interactionQuestionId\"] = this.interactionQuestionId;\n data[\"uniqueCode\"] = this.uniqueCode;\n data[\"isRepeatable\"] = this.isRepeatable;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInteractionQuestion2 {\n answers?: QuestionAnswerModel2[] | undefined;\n interactionQuestionId?: number;\n uniqueCode?: string | undefined;\n isRepeatable?: boolean;\n items?: InteractionQuestionItem2[] | undefined;\n}\n\nexport class QuestionAnswerModel2 implements IQuestionAnswerModel2 {\n answerValues?: QuestionAnswerValue2[] | undefined;\n\n constructor(data?: IQuestionAnswerModel2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"answerValues\"])) {\n this.answerValues = [] as any;\n for (let item of _data[\"answerValues\"])\n this.answerValues!.push(QuestionAnswerValue2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): QuestionAnswerModel2 {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionAnswerModel2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answerValues)) {\n data[\"answerValues\"] = [];\n for (let item of this.answerValues)\n data[\"answerValues\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IQuestionAnswerModel2 {\n answerValues?: QuestionAnswerValue2[] | undefined;\n}\n\nexport class QuestionAnswerValue2 implements IQuestionAnswerValue2 {\n subCode?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IQuestionAnswerValue2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subCode = _data[\"subCode\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): QuestionAnswerValue2 {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionAnswerValue2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subCode\"] = this.subCode;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IQuestionAnswerValue2 {\n subCode?: string | undefined;\n value?: string | undefined;\n}\n\nexport class InteractionQuestionItem2 implements IInteractionQuestionItem2 {\n questionId?: string;\n subCode?: string | undefined;\n position?: number;\n questionType?: QuestionType2;\n required?: boolean;\n readOnly?: boolean;\n label?: string | undefined;\n instruction?: string | undefined;\n validationMessage?: string | undefined;\n questionOptions?: QuestionOption2[] | undefined;\n extendedOptions?: ExtendedOptionsObjectMigration2 | undefined;\n\n constructor(data?: IInteractionQuestionItem2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.questionId = _data[\"questionId\"];\n this.subCode = _data[\"subCode\"];\n this.position = _data[\"position\"];\n this.questionType = _data[\"questionType\"];\n this.required = _data[\"required\"];\n this.readOnly = _data[\"readOnly\"];\n this.label = _data[\"label\"];\n this.instruction = _data[\"instruction\"];\n this.validationMessage = _data[\"validationMessage\"];\n if (Array.isArray(_data[\"questionOptions\"])) {\n this.questionOptions = [] as any;\n for (let item of _data[\"questionOptions\"])\n this.questionOptions!.push(QuestionOption2.fromJS(item));\n }\n this.extendedOptions = _data[\"extendedOptions\"] ? ExtendedOptionsObjectMigration2.fromJS(_data[\"extendedOptions\"]) : undefined;\n }\n }\n\n static fromJS(data: any): InteractionQuestionItem2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestionItem2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"questionId\"] = this.questionId;\n data[\"subCode\"] = this.subCode;\n data[\"position\"] = this.position;\n data[\"questionType\"] = this.questionType;\n data[\"required\"] = this.required;\n data[\"readOnly\"] = this.readOnly;\n data[\"label\"] = this.label;\n data[\"instruction\"] = this.instruction;\n data[\"validationMessage\"] = this.validationMessage;\n if (Array.isArray(this.questionOptions)) {\n data[\"questionOptions\"] = [];\n for (let item of this.questionOptions)\n data[\"questionOptions\"].push(item.toJSON());\n }\n data[\"extendedOptions\"] = this.extendedOptions ? this.extendedOptions.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IInteractionQuestionItem2 {\n questionId?: string;\n subCode?: string | undefined;\n position?: number;\n questionType?: QuestionType2;\n required?: boolean;\n readOnly?: boolean;\n label?: string | undefined;\n instruction?: string | undefined;\n validationMessage?: string | undefined;\n questionOptions?: QuestionOption2[] | undefined;\n extendedOptions?: ExtendedOptionsObjectMigration2 | undefined;\n}\n\nexport enum QuestionType2 {\n Instruction = 0,\n Identifier = 1,\n Text = 2,\n Number = 3,\n Date = 4,\n Time = 5,\n SingleChoice = 6,\n MultipleChoice = 7,\n Matrix = 8,\n MultiLineText = 9,\n InteractionNote = 10,\n Attachment = 11,\n Score = 12,\n Checkbox = 13,\n InteractionSummary = 14,\n Name = 20,\n Language = 21,\n Email = 22,\n MailingAddress = 23,\n PhoneInformation = 24,\n Height = 25,\n Weight = 26,\n Gender = 27,\n DateOfBirth = 28,\n ContactConsent = 29,\n Physician = 30,\n Guardian = 31,\n EnrollmentDate = 32,\n PatientStatus = 33,\n Frequency = 34,\n DropDown = 35,\n Avatar = 36,\n Initials = 37,\n CareMember = 38,\n Signature = 39,\n ActigraphMinuteData = 40,\n EMA = 41,\n AdverseEffectEvent = 42,\n ConcomitantMedicationDetails = 43,\n PhysicianListPhysician = 44,\n SelectDocument = 45,\n SelectAttachment = 46,\n Hidden = 47,\n PatientEmail = 48,\n PatientPhone = 49,\n CBSScore = 50,\n CBSReactionTime = 51,\n ThirdPartyReference = 52,\n MedicalHistoryDetails = 53,\n NovoNordiskToolsAndConsent = 54,\n ConcomitantMedicationDetailsShort = 55,\n BodyMassIndex = 56,\n AdverseEventCCGlow = 57,\n AdverseEventLink = 58,\n Pharmacy = 1001,\n ObesityModules = 1002,\n LabWork = 1003,\n Medications = 1004,\n Prescriptions = 1005,\n AomReview = 1006,\n AomReviewMedication = 1007,\n}\n\nexport class QuestionOption2 implements IQuestionOption2 {\n code?: string | undefined;\n label?: string | undefined;\n score?: number;\n\n constructor(data?: IQuestionOption2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.label = _data[\"label\"];\n this.score = _data[\"score\"];\n }\n }\n\n static fromJS(data: any): QuestionOption2 {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionOption2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"label\"] = this.label;\n data[\"score\"] = this.score;\n return data;\n }\n}\n\nexport interface IQuestionOption2 {\n code?: string | undefined;\n label?: string | undefined;\n score?: number;\n}\n\nexport class ExtendedOptionsObjectMigration2 implements IExtendedOptionsObjectMigration2 {\n optionGroups?: OptionGroupMigration2[] | undefined;\n extendedQuestionOptions?: ExtendedQuestionOptionMigration2[] | undefined;\n\n constructor(data?: IExtendedOptionsObjectMigration2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"optionGroups\"])) {\n this.optionGroups = [] as any;\n for (let item of _data[\"optionGroups\"])\n this.optionGroups!.push(OptionGroupMigration2.fromJS(item));\n }\n if (Array.isArray(_data[\"extendedQuestionOptions\"])) {\n this.extendedQuestionOptions = [] as any;\n for (let item of _data[\"extendedQuestionOptions\"])\n this.extendedQuestionOptions!.push(ExtendedQuestionOptionMigration2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ExtendedOptionsObjectMigration2 {\n data = typeof data === 'object' ? data : {};\n let result = new ExtendedOptionsObjectMigration2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.optionGroups)) {\n data[\"optionGroups\"] = [];\n for (let item of this.optionGroups)\n data[\"optionGroups\"].push(item.toJSON());\n }\n if (Array.isArray(this.extendedQuestionOptions)) {\n data[\"extendedQuestionOptions\"] = [];\n for (let item of this.extendedQuestionOptions)\n data[\"extendedQuestionOptions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IExtendedOptionsObjectMigration2 {\n optionGroups?: OptionGroupMigration2[] | undefined;\n extendedQuestionOptions?: ExtendedQuestionOptionMigration2[] | undefined;\n}\n\nexport class OptionGroupMigration2 implements IOptionGroupMigration2 {\n uniqueCode?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n options?: QuestionOptionMigration2[] | undefined;\n value?: string | undefined;\n required?: boolean;\n validationMessages?: LabelTranslation2[] | undefined;\n validationMessage?: string | undefined;\n label?: string | undefined;\n\n constructor(data?: IOptionGroupMigration2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uniqueCode = _data[\"uniqueCode\"];\n if (Array.isArray(_data[\"labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"labels\"])\n this.labels!.push(LabelTranslation2.fromJS(item));\n }\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(QuestionOptionMigration2.fromJS(item));\n }\n this.value = _data[\"value\"];\n this.required = _data[\"required\"];\n if (Array.isArray(_data[\"validationMessages\"])) {\n this.validationMessages = [] as any;\n for (let item of _data[\"validationMessages\"])\n this.validationMessages!.push(LabelTranslation2.fromJS(item));\n }\n this.validationMessage = _data[\"validationMessage\"];\n this.label = _data[\"label\"];\n }\n }\n\n static fromJS(data: any): OptionGroupMigration2 {\n data = typeof data === 'object' ? data : {};\n let result = new OptionGroupMigration2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uniqueCode\"] = this.uniqueCode;\n if (Array.isArray(this.labels)) {\n data[\"labels\"] = [];\n for (let item of this.labels)\n data[\"labels\"].push(item.toJSON());\n }\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item.toJSON());\n }\n data[\"value\"] = this.value;\n data[\"required\"] = this.required;\n if (Array.isArray(this.validationMessages)) {\n data[\"validationMessages\"] = [];\n for (let item of this.validationMessages)\n data[\"validationMessages\"].push(item.toJSON());\n }\n data[\"validationMessage\"] = this.validationMessage;\n data[\"label\"] = this.label;\n return data;\n }\n}\n\nexport interface IOptionGroupMigration2 {\n uniqueCode?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n options?: QuestionOptionMigration2[] | undefined;\n value?: string | undefined;\n required?: boolean;\n validationMessages?: LabelTranslation2[] | undefined;\n validationMessage?: string | undefined;\n label?: string | undefined;\n}\n\nexport class LabelTranslation2 implements ILabelTranslation2 {\n language?: string | undefined;\n languageCode?: string | undefined;\n value?: string | undefined;\n isDefault?: boolean;\n\n constructor(data?: ILabelTranslation2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.language = _data[\"language\"];\n this.languageCode = _data[\"languageCode\"];\n this.value = _data[\"value\"];\n this.isDefault = _data[\"isDefault\"];\n }\n }\n\n static fromJS(data: any): LabelTranslation2 {\n data = typeof data === 'object' ? data : {};\n let result = new LabelTranslation2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"language\"] = this.language;\n data[\"languageCode\"] = this.languageCode;\n data[\"value\"] = this.value;\n data[\"isDefault\"] = this.isDefault;\n return data;\n }\n}\n\nexport interface ILabelTranslation2 {\n language?: string | undefined;\n languageCode?: string | undefined;\n value?: string | undefined;\n isDefault?: boolean;\n}\n\nexport class QuestionOptionMigration2 implements IQuestionOptionMigration2 {\n code?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n label?: string | undefined;\n score?: number;\n\n constructor(data?: IQuestionOptionMigration2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"labels\"])\n this.labels!.push(LabelTranslation2.fromJS(item));\n }\n this.label = _data[\"label\"];\n this.score = _data[\"score\"];\n }\n }\n\n static fromJS(data: any): QuestionOptionMigration2 {\n data = typeof data === 'object' ? data : {};\n let result = new QuestionOptionMigration2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n if (Array.isArray(this.labels)) {\n data[\"labels\"] = [];\n for (let item of this.labels)\n data[\"labels\"].push(item.toJSON());\n }\n data[\"label\"] = this.label;\n data[\"score\"] = this.score;\n return data;\n }\n}\n\nexport interface IQuestionOptionMigration2 {\n code?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n label?: string | undefined;\n score?: number;\n}\n\nexport class ExtendedQuestionOptionMigration2 implements IExtendedQuestionOptionMigration2 {\n label?: string | undefined;\n code?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n score?: number;\n scoreOptions?: Score2[] | undefined;\n\n constructor(data?: IExtendedQuestionOptionMigration2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.code = _data[\"code\"];\n if (Array.isArray(_data[\"labels\"])) {\n this.labels = [] as any;\n for (let item of _data[\"labels\"])\n this.labels!.push(LabelTranslation2.fromJS(item));\n }\n this.score = _data[\"score\"];\n if (Array.isArray(_data[\"scoreOptions\"])) {\n this.scoreOptions = [] as any;\n for (let item of _data[\"scoreOptions\"])\n this.scoreOptions!.push(item);\n }\n }\n }\n\n static fromJS(data: any): ExtendedQuestionOptionMigration2 {\n data = typeof data === 'object' ? data : {};\n let result = new ExtendedQuestionOptionMigration2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"code\"] = this.code;\n if (Array.isArray(this.labels)) {\n data[\"labels\"] = [];\n for (let item of this.labels)\n data[\"labels\"].push(item.toJSON());\n }\n data[\"score\"] = this.score;\n if (Array.isArray(this.scoreOptions)) {\n data[\"scoreOptions\"] = [];\n for (let item of this.scoreOptions)\n data[\"scoreOptions\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IExtendedQuestionOptionMigration2 {\n label?: string | undefined;\n code?: string | undefined;\n labels?: LabelTranslation2[] | undefined;\n score?: number;\n scoreOptions?: Score2[] | undefined;\n}\n\nexport enum Score2 {\n Ignore = 0,\n Include = 1,\n Reverse = 2,\n}\n\nexport class InteractionQuestionGroup2 implements IInteractionQuestionGroup2 {\n groupId?: number;\n label?: string | undefined;\n questionIds?: number[] | undefined;\n\n constructor(data?: IInteractionQuestionGroup2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.groupId = _data[\"groupId\"];\n this.label = _data[\"label\"];\n if (Array.isArray(_data[\"questionIds\"])) {\n this.questionIds = [] as any;\n for (let item of _data[\"questionIds\"])\n this.questionIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): InteractionQuestionGroup2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionQuestionGroup2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"groupId\"] = this.groupId;\n data[\"label\"] = this.label;\n if (Array.isArray(this.questionIds)) {\n data[\"questionIds\"] = [];\n for (let item of this.questionIds)\n data[\"questionIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IInteractionQuestionGroup2 {\n groupId?: number;\n label?: string | undefined;\n questionIds?: number[] | undefined;\n}\n\nexport class InteractionNoteModel2 implements IInteractionNoteModel2 {\n noteType?: InteractionNoteType2;\n notes?: string | undefined;\n\n constructor(data?: IInteractionNoteModel2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.noteType = _data[\"noteType\"];\n this.notes = _data[\"notes\"];\n }\n }\n\n static fromJS(data: any): InteractionNoteModel2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionNoteModel2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"noteType\"] = this.noteType;\n data[\"notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IInteractionNoteModel2 {\n noteType?: InteractionNoteType2;\n notes?: string | undefined;\n}\n\nexport enum InteractionNoteType2 {\n Optional = 1,\n Required = 2,\n Hidden = 3,\n HiddenForPatients = 4,\n}\n\nexport class InteractionRulesGroup2 implements IInteractionRulesGroup2 {\n rules?: InteractionRule2[] | undefined;\n comparisor?: InteractionRuleComparisor2 | undefined;\n groups?: InteractionRulesGroup2[] | undefined;\n\n constructor(data?: IInteractionRulesGroup2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"rules\"])) {\n this.rules = [] as any;\n for (let item of _data[\"rules\"])\n this.rules!.push(InteractionRule2.fromJS(item));\n }\n this.comparisor = _data[\"comparisor\"];\n if (Array.isArray(_data[\"groups\"])) {\n this.groups = [] as any;\n for (let item of _data[\"groups\"])\n this.groups!.push(InteractionRulesGroup2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InteractionRulesGroup2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRulesGroup2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.rules)) {\n data[\"rules\"] = [];\n for (let item of this.rules)\n data[\"rules\"].push(item.toJSON());\n }\n data[\"comparisor\"] = this.comparisor;\n if (Array.isArray(this.groups)) {\n data[\"groups\"] = [];\n for (let item of this.groups)\n data[\"groups\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInteractionRulesGroup2 {\n rules?: InteractionRule2[] | undefined;\n comparisor?: InteractionRuleComparisor2 | undefined;\n groups?: InteractionRulesGroup2[] | undefined;\n}\n\nexport class InteractionRule2 implements IInteractionRule2 {\n ruleId?: string | undefined;\n dependOnQuestionId?: number;\n operator?: InteractionRuleOperator2;\n evaluatedValue?: string | undefined;\n evaluationSubCode?: string | undefined;\n\n constructor(data?: IInteractionRule2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ruleId = _data[\"ruleId\"];\n this.dependOnQuestionId = _data[\"dependOnQuestionId\"];\n this.operator = _data[\"operator\"];\n this.evaluatedValue = _data[\"evaluatedValue\"];\n this.evaluationSubCode = _data[\"evaluationSubCode\"];\n }\n }\n\n static fromJS(data: any): InteractionRule2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionRule2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ruleId\"] = this.ruleId;\n data[\"dependOnQuestionId\"] = this.dependOnQuestionId;\n data[\"operator\"] = this.operator;\n data[\"evaluatedValue\"] = this.evaluatedValue;\n data[\"evaluationSubCode\"] = this.evaluationSubCode;\n return data;\n }\n}\n\nexport interface IInteractionRule2 {\n ruleId?: string | undefined;\n dependOnQuestionId?: number;\n operator?: InteractionRuleOperator2;\n evaluatedValue?: string | undefined;\n evaluationSubCode?: string | undefined;\n}\n\nexport enum InteractionRuleOperator2 {\n IsBlank = 1,\n IsNotBlank = 2,\n StartsWith = 3,\n EndsWith = 4,\n Contains = 5,\n Equals = 6,\n GreaterThan = 7,\n LessThan = 8,\n DoesNotContain = 9,\n DoesNotEqual = 10,\n}\n\nexport enum InteractionRuleComparisor2 {\n And = 0,\n Or = 1,\n}\n\nexport class PostEnrollmentInteractionResponse2 implements IPostEnrollmentInteractionResponse2 {\n status?: PostEnrollmentInteractionStatus2;\n patientIdentifier?: string | undefined;\n errorType?: string | undefined;\n errorDescription?: string | undefined;\n redirectToUrl?: string | undefined;\n\n constructor(data?: IPostEnrollmentInteractionResponse2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.status = _data[\"status\"];\n this.patientIdentifier = _data[\"patientIdentifier\"];\n this.errorType = _data[\"errorType\"];\n this.errorDescription = _data[\"errorDescription\"];\n this.redirectToUrl = _data[\"redirectToUrl\"];\n }\n }\n\n static fromJS(data: any): PostEnrollmentInteractionResponse2 {\n data = typeof data === 'object' ? data : {};\n let result = new PostEnrollmentInteractionResponse2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"status\"] = this.status;\n data[\"patientIdentifier\"] = this.patientIdentifier;\n data[\"errorType\"] = this.errorType;\n data[\"errorDescription\"] = this.errorDescription;\n data[\"redirectToUrl\"] = this.redirectToUrl;\n return data;\n }\n}\n\nexport interface IPostEnrollmentInteractionResponse2 {\n status?: PostEnrollmentInteractionStatus2;\n patientIdentifier?: string | undefined;\n errorType?: string | undefined;\n errorDescription?: string | undefined;\n redirectToUrl?: string | undefined;\n}\n\nexport enum PostEnrollmentInteractionStatus2 {\n Ok = 0,\n PaymentFail = 1,\n PaymentSuccess = 2,\n PatientFailed = 3,\n RouteToPayment = 4,\n RouteToScheduler = 5,\n PatientSuccess = 6,\n}\n\nexport class PostGenericInteractionPublicRequest2 implements IPostGenericInteractionPublicRequest2 {\n requestKey?: string;\n interactionResponse?: InteractionResponseModel2 | undefined;\n\n constructor(data?: IPostGenericInteractionPublicRequest2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.requestKey = _data[\"requestKey\"];\n this.interactionResponse = _data[\"interactionResponse\"] ? InteractionResponseModel2.fromJS(_data[\"interactionResponse\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PostGenericInteractionPublicRequest2 {\n data = typeof data === 'object' ? data : {};\n let result = new PostGenericInteractionPublicRequest2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestKey\"] = this.requestKey;\n data[\"interactionResponse\"] = this.interactionResponse ? this.interactionResponse.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IPostGenericInteractionPublicRequest2 {\n requestKey?: string;\n interactionResponse?: InteractionResponseModel2 | undefined;\n}\n\nexport class InteractionResponseModel2 implements IInteractionResponseModel2 {\n ipAddress?: string | undefined;\n saveAsDraft?: boolean;\n callBackToken?: string | undefined;\n responses?: InteractionResponseQuestion2[] | undefined;\n notes?: string | undefined;\n\n constructor(data?: IInteractionResponseModel2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ipAddress = _data[\"ipAddress\"];\n this.saveAsDraft = _data[\"saveAsDraft\"];\n this.callBackToken = _data[\"callBackToken\"];\n if (Array.isArray(_data[\"responses\"])) {\n this.responses = [] as any;\n for (let item of _data[\"responses\"])\n this.responses!.push(InteractionResponseQuestion2.fromJS(item));\n }\n this.notes = _data[\"notes\"];\n }\n }\n\n static fromJS(data: any): InteractionResponseModel2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionResponseModel2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ipAddress\"] = this.ipAddress;\n data[\"saveAsDraft\"] = this.saveAsDraft;\n data[\"callBackToken\"] = this.callBackToken;\n if (Array.isArray(this.responses)) {\n data[\"responses\"] = [];\n for (let item of this.responses)\n data[\"responses\"].push(item.toJSON());\n }\n data[\"notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IInteractionResponseModel2 {\n ipAddress?: string | undefined;\n saveAsDraft?: boolean;\n callBackToken?: string | undefined;\n responses?: InteractionResponseQuestion2[] | undefined;\n notes?: string | undefined;\n}\n\nexport class InteractionResponseQuestion2 implements IInteractionResponseQuestion2 {\n answers?: QuestionAnswerModel2[] | undefined;\n interactionQuestionId?: number;\n\n constructor(data?: IInteractionResponseQuestion2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"answers\"])) {\n this.answers = [] as any;\n for (let item of _data[\"answers\"])\n this.answers!.push(QuestionAnswerModel2.fromJS(item));\n }\n this.interactionQuestionId = _data[\"interactionQuestionId\"];\n }\n }\n\n static fromJS(data: any): InteractionResponseQuestion2 {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionResponseQuestion2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.answers)) {\n data[\"answers\"] = [];\n for (let item of this.answers)\n data[\"answers\"].push(item.toJSON());\n }\n data[\"interactionQuestionId\"] = this.interactionQuestionId;\n return data;\n }\n}\n\nexport interface IInteractionResponseQuestion2 {\n answers?: QuestionAnswerModel2[] | undefined;\n interactionQuestionId?: number;\n}\n\nexport class PostEnrollmentInteractionRequest2 implements IPostEnrollmentInteractionRequest2 {\n interactionResponse?: InteractionResponseModel2 | undefined;\n enrollmentPaymentInformation?: EnrollmentPaymentInformation2 | undefined;\n\n constructor(data?: IPostEnrollmentInteractionRequest2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionResponse = _data[\"interactionResponse\"] ? InteractionResponseModel2.fromJS(_data[\"interactionResponse\"]) : undefined;\n this.enrollmentPaymentInformation = _data[\"enrollmentPaymentInformation\"] ? EnrollmentPaymentInformation2.fromJS(_data[\"enrollmentPaymentInformation\"]) : undefined;\n }\n }\n\n static fromJS(data: any): PostEnrollmentInteractionRequest2 {\n data = typeof data === 'object' ? data : {};\n let result = new PostEnrollmentInteractionRequest2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"interactionResponse\"] = this.interactionResponse ? this.interactionResponse.toJSON() : undefined;\n data[\"enrollmentPaymentInformation\"] = this.enrollmentPaymentInformation ? this.enrollmentPaymentInformation.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IPostEnrollmentInteractionRequest2 {\n interactionResponse?: InteractionResponseModel2 | undefined;\n enrollmentPaymentInformation?: EnrollmentPaymentInformation2 | undefined;\n}\n\nexport class EnrollmentPaymentInformation2 implements IEnrollmentPaymentInformation2 {\n cardNumber?: string | undefined;\n cvv?: string | undefined;\n expiration?: string | undefined;\n streetNumber?: string | undefined;\n streetName?: string | undefined;\n postalCode?: string | undefined;\n\n constructor(data?: IEnrollmentPaymentInformation2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.cardNumber = _data[\"cardNumber\"];\n this.cvv = _data[\"cvv\"];\n this.expiration = _data[\"expiration\"];\n this.streetNumber = _data[\"streetNumber\"];\n this.streetName = _data[\"streetName\"];\n this.postalCode = _data[\"postalCode\"];\n }\n }\n\n static fromJS(data: any): EnrollmentPaymentInformation2 {\n data = typeof data === 'object' ? data : {};\n let result = new EnrollmentPaymentInformation2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"cardNumber\"] = this.cardNumber;\n data[\"cvv\"] = this.cvv;\n data[\"expiration\"] = this.expiration;\n data[\"streetNumber\"] = this.streetNumber;\n data[\"streetName\"] = this.streetName;\n data[\"postalCode\"] = this.postalCode;\n return data;\n }\n}\n\nexport interface IEnrollmentPaymentInformation2 {\n cardNumber?: string | undefined;\n cvv?: string | undefined;\n expiration?: string | undefined;\n streetNumber?: string | undefined;\n streetName?: string | undefined;\n postalCode?: string | undefined;\n}\n\nexport class InteractionModel implements IInteractionModel {\n interactionId?: number;\n siteId?: string;\n studyId?: string;\n categoryId?: string | undefined;\n name?: string | undefined;\n type?: InteractionType2;\n securityType?: InteractionSecurityType;\n scoreType?: ScoreType;\n noteType?: InteractionNoteType2;\n minAge?: number | undefined;\n maxAge?: number | undefined;\n autoScheduleLength?: number | undefined;\n autoScheduleInterval?: IntervalOptions | undefined;\n tabPosition?: number | undefined;\n tabName?: string | undefined;\n variablePrefix?: string | undefined;\n rescore?: boolean;\n requireInternalSignature?: boolean;\n isPriority?: boolean;\n isActive?: boolean;\n createdBy?: string | undefined;\n createdOn?: Date;\n modifiedBy?: string | undefined;\n modifiedOn?: Date;\n faxNumberId?: string | undefined;\n\n constructor(data?: IInteractionModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.interactionId = _data[\"interactionId\"];\n this.siteId = _data[\"siteId\"];\n this.studyId = _data[\"studyId\"];\n this.categoryId = _data[\"categoryId\"];\n this.name = _data[\"name\"];\n this.type = _data[\"type\"];\n this.securityType = _data[\"securityType\"];\n this.scoreType = _data[\"scoreType\"];\n this.noteType = _data[\"noteType\"];\n this.minAge = _data[\"minAge\"];\n this.maxAge = _data[\"maxAge\"];\n this.autoScheduleLength = _data[\"autoScheduleLength\"];\n this.autoScheduleInterval = _data[\"autoScheduleInterval\"];\n this.tabPosition = _data[\"tabPosition\"];\n this.tabName = _data[\"tabName\"];\n this.variablePrefix = _data[\"variablePrefix\"];\n this.rescore = _data[\"rescore\"];\n this.requireInternalSignature = _data[\"requireInternalSignature\"];\n this.isPriority = _data[\"isPriority\"];\n this.isActive = _data[\"isActive\"];\n this.createdBy = _data[\"createdBy\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.modifiedBy = _data[\"modifiedBy\"];\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\n this.faxNumberId = _data[\"faxNumberId\"];\n }\n }\n\n static fromJS(data: any): InteractionModel {\n data = typeof data === 'object' ? data : {};\n let result = new InteractionModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"interactionId\"] = this.interactionId;\n data[\"siteId\"] = this.siteId;\n data[\"studyId\"] = this.studyId;\n data[\"categoryId\"] = this.categoryId;\n data[\"name\"] = this.name;\n data[\"type\"] = this.type;\n data[\"securityType\"] = this.securityType;\n data[\"scoreType\"] = this.scoreType;\n data[\"noteType\"] = this.noteType;\n data[\"minAge\"] = this.minAge;\n data[\"maxAge\"] = this.maxAge;\n data[\"autoScheduleLength\"] = this.autoScheduleLength;\n data[\"autoScheduleInterval\"] = this.autoScheduleInterval;\n data[\"tabPosition\"] = this.tabPosition;\n data[\"tabName\"] = this.tabName;\n data[\"variablePrefix\"] = this.variablePrefix;\n data[\"rescore\"] = this.rescore;\n data[\"requireInternalSignature\"] = this.requireInternalSignature;\n data[\"isPriority\"] = this.isPriority;\n data[\"isActive\"] = this.isActive;\n data[\"createdBy\"] = this.createdBy;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"modifiedBy\"] = this.modifiedBy;\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\n data[\"faxNumberId\"] = this.faxNumberId;\n return data;\n }\n}\n\nexport interface IInteractionModel {\n interactionId?: number;\n siteId?: string;\n studyId?: string;\n categoryId?: string | undefined;\n name?: string | undefined;\n type?: InteractionType2;\n securityType?: InteractionSecurityType;\n scoreType?: ScoreType;\n noteType?: InteractionNoteType2;\n minAge?: number | undefined;\n maxAge?: number | undefined;\n autoScheduleLength?: number | undefined;\n autoScheduleInterval?: IntervalOptions | undefined;\n tabPosition?: number | undefined;\n tabName?: string | undefined;\n variablePrefix?: string | undefined;\n rescore?: boolean;\n requireInternalSignature?: boolean;\n isPriority?: boolean;\n isActive?: boolean;\n createdBy?: string | undefined;\n createdOn?: Date;\n modifiedBy?: string | undefined;\n modifiedOn?: Date;\n faxNumberId?: string | undefined;\n}\n\nexport enum InteractionSecurityType {\n Private = 1,\n Shared = 2,\n Public = 3,\n}\n\nexport enum ScoreType {\n NotScored = 0,\n Scored = 1,\n}\n\nexport enum IntervalOptions {\n Day = 0,\n Week = 1,\n Month = 2,\n}\n\nexport class AccountDto implements IAccountDto {\n name?: string | undefined;\n email?: string | undefined;\n accountId?: string | undefined;\n agentId?: string | undefined;\n isVerified?: boolean;\n\n constructor(data?: IAccountDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n this.accountId = _data[\"accountId\"];\n this.agentId = _data[\"agentId\"];\n this.isVerified = _data[\"isVerified\"];\n }\n }\n\n static fromJS(data: any): AccountDto {\n data = typeof data === 'object' ? data : {};\n let result = new AccountDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n data[\"accountId\"] = this.accountId;\n data[\"agentId\"] = this.agentId;\n data[\"isVerified\"] = this.isVerified;\n return data;\n }\n}\n\nexport interface IAccountDto {\n name?: string | undefined;\n email?: string | undefined;\n accountId?: string | undefined;\n agentId?: string | undefined;\n isVerified?: boolean;\n}\n\nexport class AdminRegisterResponseModel implements IAdminRegisterResponseModel {\n success?: boolean;\n\n constructor(data?: IAdminRegisterResponseModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n }\n }\n\n static fromJS(data: any): AdminRegisterResponseModel {\n data = typeof data === 'object' ? data : {};\n let result = new AdminRegisterResponseModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n return data;\n }\n}\n\nexport interface IAdminRegisterResponseModel {\n success?: boolean;\n}\n\nexport class AdminRegisterRequestModel implements IAdminRegisterRequestModel {\n email?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n ipAddress?: string | undefined;\n\n constructor(data?: IAdminRegisterRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.ipAddress = _data[\"ipAddress\"];\n }\n }\n\n static fromJS(data: any): AdminRegisterRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new AdminRegisterRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"ipAddress\"] = this.ipAddress;\n return data;\n }\n}\n\nexport interface IAdminRegisterRequestModel {\n email?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n ipAddress?: string | undefined;\n}\n\nexport class CurrentUserRole implements ICurrentUserRole {\n isAdmin?: boolean;\n\n constructor(data?: ICurrentUserRole) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isAdmin = _data[\"isAdmin\"];\n }\n }\n\n static fromJS(data: any): CurrentUserRole {\n data = typeof data === 'object' ? data : {};\n let result = new CurrentUserRole();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isAdmin\"] = this.isAdmin;\n return data;\n }\n}\n\nexport interface ICurrentUserRole {\n isAdmin?: boolean;\n}\n\nexport class BaseAgentDto implements IBaseAgentDto {\n agentId?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n bankTransitNumber?: string | undefined;\n branchTransitNumber?: string | undefined;\n accountTransitNumber?: string | undefined;\n agentFiles?: AgentFileServiceModel[];\n name!: string;\n personalAddress?: AgentAddressDto | undefined;\n billingEntityName?: string | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n licencedProvinces?: AgentLicenceProvinceDto[] | undefined;\n liabilityInsuranceProvider?: string | undefined;\n liabilityInsuranceExpirationDate?: Date | undefined;\n languages?: Languages[] | undefined;\n scheduleNotes?: string | undefined;\n professionalDesignation?: string | undefined;\n accountEmail?: string | undefined;\n startingOn?: Date | undefined;\n agentStatus!: AgentStatus;\n agentAdminNotes?: AgentAdminNoteDto[] | undefined;\n agentDevice?: AgentDtoDeviceSummary | undefined;\n\n constructor(data?: IBaseAgentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.personalEmail = _data[\"personalEmail\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.bankTransitNumber = _data[\"bankTransitNumber\"];\n this.branchTransitNumber = _data[\"branchTransitNumber\"];\n this.accountTransitNumber = _data[\"accountTransitNumber\"];\n if (Array.isArray(_data[\"agentFiles\"])) {\n this.agentFiles = [] as any;\n for (let item of _data[\"agentFiles\"])\n this.agentFiles!.push(AgentFileServiceModel.fromJS(item));\n }\n this.name = _data[\"name\"];\n this.personalAddress = _data[\"personalAddress\"] ? AgentAddressDto.fromJS(_data[\"personalAddress\"]) : undefined;\n this.billingEntityName = _data[\"billingEntityName\"];\n this.billingAddress = _data[\"billingAddress\"] ? AgentAddressDto.fromJS(_data[\"billingAddress\"]) : undefined;\n this.billingSamePersonalAddress = _data[\"billingSamePersonalAddress\"];\n this.salesTaxIdentifier = _data[\"salesTaxIdentifier\"];\n this.salesTaxRate = _data[\"salesTaxRate\"];\n this.hourRate = _data[\"hourRate\"];\n if (Array.isArray(_data[\"licencedProvinces\"])) {\n this.licencedProvinces = [] as any;\n for (let item of _data[\"licencedProvinces\"])\n this.licencedProvinces!.push(AgentLicenceProvinceDto.fromJS(item));\n }\n this.liabilityInsuranceProvider = _data[\"liabilityInsuranceProvider\"];\n this.liabilityInsuranceExpirationDate = _data[\"liabilityInsuranceExpirationDate\"] ? new Date(_data[\"liabilityInsuranceExpirationDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"languages\"])) {\n this.languages = [] as any;\n for (let item of _data[\"languages\"])\n this.languages!.push(item);\n }\n this.scheduleNotes = _data[\"scheduleNotes\"];\n this.professionalDesignation = _data[\"professionalDesignation\"];\n this.accountEmail = _data[\"accountEmail\"];\n this.startingOn = _data[\"startingOn\"] ? new Date(_data[\"startingOn\"].toString()) : undefined;\n this.agentStatus = _data[\"agentStatus\"];\n if (Array.isArray(_data[\"agentAdminNotes\"])) {\n this.agentAdminNotes = [] as any;\n for (let item of _data[\"agentAdminNotes\"])\n this.agentAdminNotes!.push(AgentAdminNoteDto.fromJS(item));\n }\n this.agentDevice = _data[\"agentDevice\"] ? AgentDtoDeviceSummary.fromJS(_data[\"agentDevice\"]) : undefined;\n }\n }\n\n static fromJS(data: any): BaseAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new BaseAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"personalEmail\"] = this.personalEmail;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"bankTransitNumber\"] = this.bankTransitNumber;\n data[\"branchTransitNumber\"] = this.branchTransitNumber;\n data[\"accountTransitNumber\"] = this.accountTransitNumber;\n if (Array.isArray(this.agentFiles)) {\n data[\"agentFiles\"] = [];\n for (let item of this.agentFiles)\n data[\"agentFiles\"].push(item.toJSON());\n }\n data[\"name\"] = this.name;\n data[\"personalAddress\"] = this.personalAddress ? this.personalAddress.toJSON() : undefined;\n data[\"billingEntityName\"] = this.billingEntityName;\n data[\"billingAddress\"] = this.billingAddress ? this.billingAddress.toJSON() : undefined;\n data[\"billingSamePersonalAddress\"] = this.billingSamePersonalAddress;\n data[\"salesTaxIdentifier\"] = this.salesTaxIdentifier;\n data[\"salesTaxRate\"] = this.salesTaxRate;\n data[\"hourRate\"] = this.hourRate;\n if (Array.isArray(this.licencedProvinces)) {\n data[\"licencedProvinces\"] = [];\n for (let item of this.licencedProvinces)\n data[\"licencedProvinces\"].push(item.toJSON());\n }\n data[\"liabilityInsuranceProvider\"] = this.liabilityInsuranceProvider;\n data[\"liabilityInsuranceExpirationDate\"] = this.liabilityInsuranceExpirationDate ? this.liabilityInsuranceExpirationDate.toISOString() : undefined;\n if (Array.isArray(this.languages)) {\n data[\"languages\"] = [];\n for (let item of this.languages)\n data[\"languages\"].push(item);\n }\n data[\"scheduleNotes\"] = this.scheduleNotes;\n data[\"professionalDesignation\"] = this.professionalDesignation;\n data[\"accountEmail\"] = this.accountEmail;\n data[\"startingOn\"] = this.startingOn ? this.startingOn.toISOString() : undefined;\n data[\"agentStatus\"] = this.agentStatus;\n if (Array.isArray(this.agentAdminNotes)) {\n data[\"agentAdminNotes\"] = [];\n for (let item of this.agentAdminNotes)\n data[\"agentAdminNotes\"].push(item.toJSON());\n }\n data[\"agentDevice\"] = this.agentDevice ? this.agentDevice.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IBaseAgentDto {\n agentId?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n bankTransitNumber?: string | undefined;\n branchTransitNumber?: string | undefined;\n accountTransitNumber?: string | undefined;\n agentFiles?: AgentFileServiceModel[];\n name: string;\n personalAddress?: AgentAddressDto | undefined;\n billingEntityName?: string | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n licencedProvinces?: AgentLicenceProvinceDto[] | undefined;\n liabilityInsuranceProvider?: string | undefined;\n liabilityInsuranceExpirationDate?: Date | undefined;\n languages?: Languages[] | undefined;\n scheduleNotes?: string | undefined;\n professionalDesignation?: string | undefined;\n accountEmail?: string | undefined;\n startingOn?: Date | undefined;\n agentStatus: AgentStatus;\n agentAdminNotes?: AgentAdminNoteDto[] | undefined;\n agentDevice?: AgentDtoDeviceSummary | undefined;\n}\n\nexport class SimpleAgentDto extends BaseAgentDto implements ISimpleAgentDto {\n\n constructor(data?: ISimpleAgentDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): SimpleAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new SimpleAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ISimpleAgentDto extends IBaseAgentDto {\n}\n\nexport class AgentFileServiceModel implements IAgentFileServiceModel {\n fileName?: string | undefined;\n type?: AgentFileType;\n blobId?: string;\n\n constructor(data?: IAgentFileServiceModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n this.type = _data[\"type\"];\n this.blobId = _data[\"blobId\"];\n }\n }\n\n static fromJS(data: any): AgentFileServiceModel {\n data = typeof data === 'object' ? data : {};\n let result = new AgentFileServiceModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n data[\"type\"] = this.type;\n data[\"blobId\"] = this.blobId;\n return data;\n }\n}\n\nexport interface IAgentFileServiceModel {\n fileName?: string | undefined;\n type?: AgentFileType;\n blobId?: string;\n}\n\nexport enum AgentFileType {\n Insurance = 1,\n ProfilePicture = 2,\n Signature = 3,\n Resume = 4,\n Interview = 5,\n References = 6,\n ContractorsAgreement = 7,\n VoidCheque = 8,\n}\n\nexport class AgentAddressDto implements IAgentAddressDto {\n address?: string | undefined;\n city?: string | undefined;\n postalCode?: string | undefined;\n provinceStateID?: number | undefined;\n\n constructor(data?: IAgentAddressDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.address = _data[\"address\"];\n this.city = _data[\"city\"];\n this.postalCode = _data[\"postalCode\"];\n this.provinceStateID = _data[\"provinceStateID\"];\n }\n }\n\n static fromJS(data: any): AgentAddressDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentAddressDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address;\n data[\"city\"] = this.city;\n data[\"postalCode\"] = this.postalCode;\n data[\"provinceStateID\"] = this.provinceStateID;\n return data;\n }\n}\n\nexport interface IAgentAddressDto {\n address?: string | undefined;\n city?: string | undefined;\n postalCode?: string | undefined;\n provinceStateID?: number | undefined;\n}\n\nexport class AgentLicenceProvinceDto implements IAgentLicenceProvinceDto {\n stateProvinceId?: number;\n licenceIdentifier?: string | undefined;\n healthInsuranceBillingNumber?: string | undefined;\n\n constructor(data?: IAgentLicenceProvinceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.stateProvinceId = _data[\"stateProvinceId\"];\n this.licenceIdentifier = _data[\"licenceIdentifier\"];\n this.healthInsuranceBillingNumber = _data[\"healthInsuranceBillingNumber\"];\n }\n }\n\n static fromJS(data: any): AgentLicenceProvinceDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentLicenceProvinceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"stateProvinceId\"] = this.stateProvinceId;\n data[\"licenceIdentifier\"] = this.licenceIdentifier;\n data[\"healthInsuranceBillingNumber\"] = this.healthInsuranceBillingNumber;\n return data;\n }\n}\n\nexport interface IAgentLicenceProvinceDto {\n stateProvinceId?: number;\n licenceIdentifier?: string | undefined;\n healthInsuranceBillingNumber?: string | undefined;\n}\n\nexport enum Languages {\n English = 0,\n French = 1,\n Portuguese = 2,\n Mandarin = 3,\n Cantonese = 4,\n Punjabi = 5,\n Tagalog = 6,\n Spanish = 7,\n Arabic = 8,\n Italian = 9,\n German = 10,\n}\n\nexport enum AgentStatus {\n Onboarding = 0,\n Active = 1,\n Inactive = 2,\n}\n\nexport class AgentAdminNoteDto implements IAgentAdminNoteDto {\n agentAdminNoteId?: string;\n subject?: string | undefined;\n body?: string | undefined;\n reviewedOn?: Date | undefined;\n createdOn?: Date | undefined;\n agentId?: string;\n agentName?: string | undefined;\n accountAuthorId?: string;\n\n constructor(data?: IAgentAdminNoteDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentAdminNoteId = _data[\"agentAdminNoteId\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n this.reviewedOn = _data[\"reviewedOn\"] ? new Date(_data[\"reviewedOn\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.agentId = _data[\"agentId\"];\n this.agentName = _data[\"agentName\"];\n this.accountAuthorId = _data[\"accountAuthorId\"];\n }\n }\n\n static fromJS(data: any): AgentAdminNoteDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentAdminNoteDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentAdminNoteId\"] = this.agentAdminNoteId;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n data[\"reviewedOn\"] = this.reviewedOn ? this.reviewedOn.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"agentId\"] = this.agentId;\n data[\"agentName\"] = this.agentName;\n data[\"accountAuthorId\"] = this.accountAuthorId;\n return data;\n }\n}\n\nexport interface IAgentAdminNoteDto {\n agentAdminNoteId?: string;\n subject?: string | undefined;\n body?: string | undefined;\n reviewedOn?: Date | undefined;\n createdOn?: Date | undefined;\n agentId?: string;\n agentName?: string | undefined;\n accountAuthorId?: string;\n}\n\nexport class AgentDtoDeviceSummary implements IAgentDtoDeviceSummary {\n deviceId?: string | undefined;\n hasPendingDevices?: boolean;\n deviceInfo?: AgentDeviceInfo | undefined;\n agentDeviceModelType?: string | undefined;\n agentDeviceOperatingSystem?: string | undefined;\n deviceChecks?: DeviceCheck[] | undefined;\n\n constructor(data?: IAgentDtoDeviceSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceId = _data[\"deviceId\"];\n this.hasPendingDevices = _data[\"hasPendingDevices\"];\n this.deviceInfo = _data[\"deviceInfo\"] ? AgentDeviceInfo.fromJS(_data[\"deviceInfo\"]) : undefined;\n this.agentDeviceModelType = _data[\"agentDeviceModelType\"];\n this.agentDeviceOperatingSystem = _data[\"agentDeviceOperatingSystem\"];\n if (Array.isArray(_data[\"deviceChecks\"])) {\n this.deviceChecks = [] as any;\n for (let item of _data[\"deviceChecks\"])\n this.deviceChecks!.push(item);\n }\n }\n }\n\n static fromJS(data: any): AgentDtoDeviceSummary {\n data = typeof data === 'object' ? data : {};\n let result = new AgentDtoDeviceSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceId\"] = this.deviceId;\n data[\"hasPendingDevices\"] = this.hasPendingDevices;\n data[\"deviceInfo\"] = this.deviceInfo ? this.deviceInfo.toJSON() : undefined;\n data[\"agentDeviceModelType\"] = this.agentDeviceModelType;\n data[\"agentDeviceOperatingSystem\"] = this.agentDeviceOperatingSystem;\n if (Array.isArray(this.deviceChecks)) {\n data[\"deviceChecks\"] = [];\n for (let item of this.deviceChecks)\n data[\"deviceChecks\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IAgentDtoDeviceSummary {\n deviceId?: string | undefined;\n hasPendingDevices?: boolean;\n deviceInfo?: AgentDeviceInfo | undefined;\n agentDeviceModelType?: string | undefined;\n agentDeviceOperatingSystem?: string | undefined;\n deviceChecks?: DeviceCheck[] | undefined;\n}\n\nexport class AgentDeviceInfo implements IAgentDeviceInfo {\n modelType?: string | undefined;\n operatingSystem?: string | undefined;\n deviceIdentifier?: string | undefined;\n deviceModelType?: string | undefined;\n deviceOperatingSystem?: string | undefined;\n\n constructor(data?: IAgentDeviceInfo) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.modelType = _data[\"modelType\"];\n this.operatingSystem = _data[\"operatingSystem\"];\n this.deviceIdentifier = _data[\"deviceIdentifier\"];\n this.deviceModelType = _data[\"deviceModelType\"];\n this.deviceOperatingSystem = _data[\"deviceOperatingSystem\"];\n }\n }\n\n static fromJS(data: any): AgentDeviceInfo {\n data = typeof data === 'object' ? data : {};\n let result = new AgentDeviceInfo();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"modelType\"] = this.modelType;\n data[\"operatingSystem\"] = this.operatingSystem;\n data[\"deviceIdentifier\"] = this.deviceIdentifier;\n data[\"deviceModelType\"] = this.deviceModelType;\n data[\"deviceOperatingSystem\"] = this.deviceOperatingSystem;\n return data;\n }\n}\n\nexport interface IAgentDeviceInfo {\n modelType?: string | undefined;\n operatingSystem?: string | undefined;\n deviceIdentifier?: string | undefined;\n deviceModelType?: string | undefined;\n deviceOperatingSystem?: string | undefined;\n}\n\nexport enum DeviceCheck {\n MeetsRequirements = 0,\n OpenVpnInstalled = 1,\n AsteriskClientInstalled = 2,\n MsOfficeInstalled = 3,\n}\n\nexport enum AgentRole {\n Admin = 0,\n Dietitian = 1,\n MD = 2,\n}\n\nexport class FullAgentDto implements IFullAgentDto {\n agentId?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n bankTransitNumber?: string | undefined;\n branchTransitNumber?: string | undefined;\n accountTransitNumber?: string | undefined;\n agentFiles?: AgentFileServiceModel[];\n name!: string;\n personalAddress?: AgentAddressDto | undefined;\n billingEntityName?: string | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n licencedProvinces?: AgentLicenceProvinceDto[] | undefined;\n liabilityInsuranceProvider?: string | undefined;\n liabilityInsuranceExpirationDate?: Date | undefined;\n languages?: Languages[] | undefined;\n scheduleNotes?: string | undefined;\n professionalDesignation?: string | undefined;\n accountEmail?: string | undefined;\n startingOn?: Date | undefined;\n agentStatus!: AgentStatus;\n agentAdminNotes?: AgentAdminNoteDto[] | undefined;\n agentDevice?: AgentDtoDeviceSummary | undefined;\n agentRole!: AgentRole;\n agentNotes?: AgentNoteDto[] | undefined;\n hasUnreviewedAgentAdminNotes?: boolean | undefined;\n\n constructor(data?: IFullAgentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.personalEmail = _data[\"personalEmail\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.bankTransitNumber = _data[\"bankTransitNumber\"];\n this.branchTransitNumber = _data[\"branchTransitNumber\"];\n this.accountTransitNumber = _data[\"accountTransitNumber\"];\n if (Array.isArray(_data[\"agentFiles\"])) {\n this.agentFiles = [] as any;\n for (let item of _data[\"agentFiles\"])\n this.agentFiles!.push(AgentFileServiceModel.fromJS(item));\n }\n this.name = _data[\"name\"];\n this.personalAddress = _data[\"personalAddress\"] ? AgentAddressDto.fromJS(_data[\"personalAddress\"]) : undefined;\n this.billingEntityName = _data[\"billingEntityName\"];\n this.billingAddress = _data[\"billingAddress\"] ? AgentAddressDto.fromJS(_data[\"billingAddress\"]) : undefined;\n this.billingSamePersonalAddress = _data[\"billingSamePersonalAddress\"];\n this.salesTaxIdentifier = _data[\"salesTaxIdentifier\"];\n this.salesTaxRate = _data[\"salesTaxRate\"];\n this.hourRate = _data[\"hourRate\"];\n if (Array.isArray(_data[\"licencedProvinces\"])) {\n this.licencedProvinces = [] as any;\n for (let item of _data[\"licencedProvinces\"])\n this.licencedProvinces!.push(AgentLicenceProvinceDto.fromJS(item));\n }\n this.liabilityInsuranceProvider = _data[\"liabilityInsuranceProvider\"];\n this.liabilityInsuranceExpirationDate = _data[\"liabilityInsuranceExpirationDate\"] ? new Date(_data[\"liabilityInsuranceExpirationDate\"].toString()) : undefined;\n if (Array.isArray(_data[\"languages\"])) {\n this.languages = [] as any;\n for (let item of _data[\"languages\"])\n this.languages!.push(item);\n }\n this.scheduleNotes = _data[\"scheduleNotes\"];\n this.professionalDesignation = _data[\"professionalDesignation\"];\n this.accountEmail = _data[\"accountEmail\"];\n this.startingOn = _data[\"startingOn\"] ? new Date(_data[\"startingOn\"].toString()) : undefined;\n this.agentStatus = _data[\"agentStatus\"];\n if (Array.isArray(_data[\"agentAdminNotes\"])) {\n this.agentAdminNotes = [] as any;\n for (let item of _data[\"agentAdminNotes\"])\n this.agentAdminNotes!.push(AgentAdminNoteDto.fromJS(item));\n }\n this.agentDevice = _data[\"agentDevice\"] ? AgentDtoDeviceSummary.fromJS(_data[\"agentDevice\"]) : undefined;\n this.agentRole = _data[\"agentRole\"];\n if (Array.isArray(_data[\"agentNotes\"])) {\n this.agentNotes = [] as any;\n for (let item of _data[\"agentNotes\"])\n this.agentNotes!.push(AgentNoteDto.fromJS(item));\n }\n this.hasUnreviewedAgentAdminNotes = _data[\"hasUnreviewedAgentAdminNotes\"];\n }\n }\n\n static fromJS(data: any): FullAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new FullAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"personalEmail\"] = this.personalEmail;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"bankTransitNumber\"] = this.bankTransitNumber;\n data[\"branchTransitNumber\"] = this.branchTransitNumber;\n data[\"accountTransitNumber\"] = this.accountTransitNumber;\n if (Array.isArray(this.agentFiles)) {\n data[\"agentFiles\"] = [];\n for (let item of this.agentFiles)\n data[\"agentFiles\"].push(item.toJSON());\n }\n data[\"name\"] = this.name;\n data[\"personalAddress\"] = this.personalAddress ? this.personalAddress.toJSON() : undefined;\n data[\"billingEntityName\"] = this.billingEntityName;\n data[\"billingAddress\"] = this.billingAddress ? this.billingAddress.toJSON() : undefined;\n data[\"billingSamePersonalAddress\"] = this.billingSamePersonalAddress;\n data[\"salesTaxIdentifier\"] = this.salesTaxIdentifier;\n data[\"salesTaxRate\"] = this.salesTaxRate;\n data[\"hourRate\"] = this.hourRate;\n if (Array.isArray(this.licencedProvinces)) {\n data[\"licencedProvinces\"] = [];\n for (let item of this.licencedProvinces)\n data[\"licencedProvinces\"].push(item.toJSON());\n }\n data[\"liabilityInsuranceProvider\"] = this.liabilityInsuranceProvider;\n data[\"liabilityInsuranceExpirationDate\"] = this.liabilityInsuranceExpirationDate ? this.liabilityInsuranceExpirationDate.toISOString() : undefined;\n if (Array.isArray(this.languages)) {\n data[\"languages\"] = [];\n for (let item of this.languages)\n data[\"languages\"].push(item);\n }\n data[\"scheduleNotes\"] = this.scheduleNotes;\n data[\"professionalDesignation\"] = this.professionalDesignation;\n data[\"accountEmail\"] = this.accountEmail;\n data[\"startingOn\"] = this.startingOn ? this.startingOn.toISOString() : undefined;\n data[\"agentStatus\"] = this.agentStatus;\n if (Array.isArray(this.agentAdminNotes)) {\n data[\"agentAdminNotes\"] = [];\n for (let item of this.agentAdminNotes)\n data[\"agentAdminNotes\"].push(item.toJSON());\n }\n data[\"agentDevice\"] = this.agentDevice ? this.agentDevice.toJSON() : undefined;\n data[\"agentRole\"] = this.agentRole;\n if (Array.isArray(this.agentNotes)) {\n data[\"agentNotes\"] = [];\n for (let item of this.agentNotes)\n data[\"agentNotes\"].push(item.toJSON());\n }\n data[\"hasUnreviewedAgentAdminNotes\"] = this.hasUnreviewedAgentAdminNotes;\n return data;\n }\n}\n\nexport interface IFullAgentDto {\n agentId?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n bankTransitNumber?: string | undefined;\n branchTransitNumber?: string | undefined;\n accountTransitNumber?: string | undefined;\n agentFiles?: AgentFileServiceModel[];\n name: string;\n personalAddress?: AgentAddressDto | undefined;\n billingEntityName?: string | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n licencedProvinces?: AgentLicenceProvinceDto[] | undefined;\n liabilityInsuranceProvider?: string | undefined;\n liabilityInsuranceExpirationDate?: Date | undefined;\n languages?: Languages[] | undefined;\n scheduleNotes?: string | undefined;\n professionalDesignation?: string | undefined;\n accountEmail?: string | undefined;\n startingOn?: Date | undefined;\n agentStatus: AgentStatus;\n agentAdminNotes?: AgentAdminNoteDto[] | undefined;\n agentDevice?: AgentDtoDeviceSummary | undefined;\n agentRole: AgentRole;\n agentNotes?: AgentNoteDto[] | undefined;\n hasUnreviewedAgentAdminNotes?: boolean | undefined;\n}\n\nexport class AgentNoteDto implements IAgentNoteDto {\n agentNoteId?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n agentId?: string;\n authorName?: string;\n authorAccountId?: string;\n createdOn?: Date | undefined;\n\n constructor(data?: IAgentNoteDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentNoteId = _data[\"agentNoteId\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n this.agentId = _data[\"agentId\"];\n this.authorName = _data[\"authorName\"];\n this.authorAccountId = _data[\"authorAccountId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AgentNoteDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentNoteDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentNoteId\"] = this.agentNoteId;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n data[\"agentId\"] = this.agentId;\n data[\"authorName\"] = this.authorName;\n data[\"authorAccountId\"] = this.authorAccountId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAgentNoteDto {\n agentNoteId?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n agentId?: string;\n authorName?: string;\n authorAccountId?: string;\n createdOn?: Date | undefined;\n}\n\nexport class PaginatedResponseOfSummaryAgentDto implements IPaginatedResponseOfSummaryAgentDto {\n results?: SummaryAgentDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfSummaryAgentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(SummaryAgentDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfSummaryAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfSummaryAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfSummaryAgentDto {\n results?: SummaryAgentDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class SummaryAgentDto implements ISummaryAgentDto {\n agentId?: string;\n name?: string;\n agentRole?: AgentRole | undefined;\n\n constructor(data?: ISummaryAgentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.name = _data[\"name\"];\n this.agentRole = _data[\"agentRole\"];\n }\n }\n\n static fromJS(data: any): SummaryAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new SummaryAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"name\"] = this.name;\n data[\"agentRole\"] = this.agentRole;\n return data;\n }\n}\n\nexport interface ISummaryAgentDto {\n agentId?: string;\n name?: string;\n agentRole?: AgentRole | undefined;\n}\n\nexport class PaginatedResponseOfFullAgentDto implements IPaginatedResponseOfFullAgentDto {\n results?: FullAgentDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfFullAgentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(FullAgentDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfFullAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfFullAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfFullAgentDto {\n results?: FullAgentDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class GetListRequest implements IGetListRequest {\n\n constructor(data?: IGetListRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n }\n\n static fromJS(data: any): GetListRequest {\n data = typeof data === 'object' ? data : {};\n let result = new GetListRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n return data;\n }\n}\n\nexport interface IGetListRequest {\n}\n\nexport class PaginatedResponseOfAgentNoteDto implements IPaginatedResponseOfAgentNoteDto {\n results?: AgentNoteDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfAgentNoteDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AgentNoteDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfAgentNoteDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfAgentNoteDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfAgentNoteDto {\n results?: AgentNoteDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class PaginatedResponseOfAgentAdminNoteDto implements IPaginatedResponseOfAgentAdminNoteDto {\n results?: AgentAdminNoteDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfAgentAdminNoteDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AgentAdminNoteDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfAgentAdminNoteDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfAgentAdminNoteDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfAgentAdminNoteDto {\n results?: AgentAdminNoteDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class DoReviewAgentAdminNoteModelRequest implements IDoReviewAgentAdminNoteModelRequest {\n agentAdminNoteId?: string;\n\n constructor(data?: IDoReviewAgentAdminNoteModelRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentAdminNoteId = _data[\"agentAdminNoteId\"];\n }\n }\n\n static fromJS(data: any): DoReviewAgentAdminNoteModelRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoReviewAgentAdminNoteModelRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentAdminNoteId\"] = this.agentAdminNoteId;\n return data;\n }\n}\n\nexport interface IDoReviewAgentAdminNoteModelRequest {\n agentAdminNoteId?: string;\n}\n\nexport class DoSetActiveDeviceRequest implements IDoSetActiveDeviceRequest {\n agentId?: string;\n deviceId?: string | undefined;\n deviceDefinition?: DoSetActiveDeviceRequestDeviceDefinition | undefined;\n\n constructor(data?: IDoSetActiveDeviceRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.deviceId = _data[\"deviceId\"];\n this.deviceDefinition = _data[\"deviceDefinition\"] ? DoSetActiveDeviceRequestDeviceDefinition.fromJS(_data[\"deviceDefinition\"]) : undefined;\n }\n }\n\n static fromJS(data: any): DoSetActiveDeviceRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoSetActiveDeviceRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"deviceId\"] = this.deviceId;\n data[\"deviceDefinition\"] = this.deviceDefinition ? this.deviceDefinition.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IDoSetActiveDeviceRequest {\n agentId?: string;\n deviceId?: string | undefined;\n deviceDefinition?: DoSetActiveDeviceRequestDeviceDefinition | undefined;\n}\n\nexport class DoSetActiveDeviceRequestDeviceDefinition implements IDoSetActiveDeviceRequestDeviceDefinition {\n modelType?: string | undefined;\n operatingSystem?: string | undefined;\n\n constructor(data?: IDoSetActiveDeviceRequestDeviceDefinition) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.modelType = _data[\"modelType\"];\n this.operatingSystem = _data[\"operatingSystem\"];\n }\n }\n\n static fromJS(data: any): DoSetActiveDeviceRequestDeviceDefinition {\n data = typeof data === 'object' ? data : {};\n let result = new DoSetActiveDeviceRequestDeviceDefinition();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"modelType\"] = this.modelType;\n data[\"operatingSystem\"] = this.operatingSystem;\n return data;\n }\n}\n\nexport interface IDoSetActiveDeviceRequestDeviceDefinition {\n modelType?: string | undefined;\n operatingSystem?: string | undefined;\n}\n\nexport class PaginatedResponseOfDeviceDto implements IPaginatedResponseOfDeviceDto {\n results?: DeviceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfDeviceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(DeviceDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfDeviceDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfDeviceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfDeviceDto {\n results?: DeviceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class DeviceDto implements IDeviceDto {\n deviceId?: string | undefined;\n identifier?: string;\n modelType?: string;\n modelYear?: string;\n serialNumber?: string | undefined;\n operatingSystem?: string | undefined;\n purchaseDate?: Date;\n deviceStatus?: DeviceStatus;\n\n constructor(data?: IDeviceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.deviceId = _data[\"deviceId\"];\n this.identifier = _data[\"identifier\"];\n this.modelType = _data[\"modelType\"];\n this.modelYear = _data[\"modelYear\"];\n this.serialNumber = _data[\"serialNumber\"];\n this.operatingSystem = _data[\"operatingSystem\"];\n this.purchaseDate = _data[\"purchaseDate\"] ? new Date(_data[\"purchaseDate\"].toString()) : undefined;\n this.deviceStatus = _data[\"deviceStatus\"];\n }\n }\n\n static fromJS(data: any): DeviceDto {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"deviceId\"] = this.deviceId;\n data[\"identifier\"] = this.identifier;\n data[\"modelType\"] = this.modelType;\n data[\"modelYear\"] = this.modelYear;\n data[\"serialNumber\"] = this.serialNumber;\n data[\"operatingSystem\"] = this.operatingSystem;\n data[\"purchaseDate\"] = this.purchaseDate ? this.purchaseDate.toISOString() : undefined;\n data[\"deviceStatus\"] = this.deviceStatus;\n return data;\n }\n}\n\nexport interface IDeviceDto {\n deviceId?: string | undefined;\n identifier?: string;\n modelType?: string;\n modelYear?: string;\n serialNumber?: string | undefined;\n operatingSystem?: string | undefined;\n purchaseDate?: Date;\n deviceStatus?: DeviceStatus;\n}\n\nexport enum DeviceStatus {\n Available = 1,\n Busy = 2,\n Disabled = 3,\n}\n\nexport class AgentDeviceCheckDto implements IAgentDeviceCheckDto {\n deviceChecks?: DeviceCheck[] | undefined;\n agentId?: string;\n openVpnAccountName?: string | undefined;\n asteriskIdentifier?: string | undefined;\n\n constructor(data?: IAgentDeviceCheckDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"deviceChecks\"])) {\n this.deviceChecks = [] as any;\n for (let item of _data[\"deviceChecks\"])\n this.deviceChecks!.push(item);\n }\n this.agentId = _data[\"agentId\"];\n this.openVpnAccountName = _data[\"openVpnAccountName\"];\n this.asteriskIdentifier = _data[\"asteriskIdentifier\"];\n }\n }\n\n static fromJS(data: any): AgentDeviceCheckDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentDeviceCheckDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.deviceChecks)) {\n data[\"deviceChecks\"] = [];\n for (let item of this.deviceChecks)\n data[\"deviceChecks\"].push(item);\n }\n data[\"agentId\"] = this.agentId;\n data[\"openVpnAccountName\"] = this.openVpnAccountName;\n data[\"asteriskIdentifier\"] = this.asteriskIdentifier;\n return data;\n }\n}\n\nexport interface IAgentDeviceCheckDto {\n deviceChecks?: DeviceCheck[] | undefined;\n agentId?: string;\n openVpnAccountName?: string | undefined;\n asteriskIdentifier?: string | undefined;\n}\n\nexport class AgentRegisterResponseModel implements IAgentRegisterResponseModel {\n accountId?: string;\n success?: boolean;\n\n constructor(data?: IAgentRegisterResponseModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accountId = _data[\"accountId\"];\n this.success = _data[\"success\"];\n }\n }\n\n static fromJS(data: any): AgentRegisterResponseModel {\n data = typeof data === 'object' ? data : {};\n let result = new AgentRegisterResponseModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accountId\"] = this.accountId;\n data[\"success\"] = this.success;\n return data;\n }\n}\n\nexport interface IAgentRegisterResponseModel {\n accountId?: string;\n success?: boolean;\n}\n\nexport class AgentRegisterRequestModel implements IAgentRegisterRequestModel {\n email?: string;\n firstName?: string;\n lastName?: string;\n ipAddress?: string | undefined;\n agentId?: string;\n\n constructor(data?: IAgentRegisterRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.ipAddress = _data[\"ipAddress\"];\n this.agentId = _data[\"agentId\"];\n }\n }\n\n static fromJS(data: any): AgentRegisterRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new AgentRegisterRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"ipAddress\"] = this.ipAddress;\n data[\"agentId\"] = this.agentId;\n return data;\n }\n}\n\nexport interface IAgentRegisterRequestModel {\n email?: string;\n firstName?: string;\n lastName?: string;\n ipAddress?: string | undefined;\n agentId?: string;\n}\n\nexport class DashboardResponseModel implements IDashboardResponseModel {\n activeAgents?: number;\n onboardingAgents?: number;\n totalAgents?: number;\n activePhysicianAgents?: number;\n activeDietitianAgents?: number;\n activeBilingualAgents?: number;\n unassignedEquipment?: number;\n pendingEquipment?: number;\n pendingAdminInvoices?: number;\n physicianInvoicesDueForCreation?: number;\n disputedPhysicianInvoices?: number;\n approvedPhysicianInvoices?: number;\n notesForReview?: number;\n trainingSupportRequests?: number;\n\n constructor(data?: IDashboardResponseModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.activeAgents = _data[\"activeAgents\"];\n this.onboardingAgents = _data[\"onboardingAgents\"];\n this.totalAgents = _data[\"totalAgents\"];\n this.activePhysicianAgents = _data[\"activePhysicianAgents\"];\n this.activeDietitianAgents = _data[\"activeDietitianAgents\"];\n this.activeBilingualAgents = _data[\"activeBilingualAgents\"];\n this.unassignedEquipment = _data[\"unassignedEquipment\"];\n this.pendingEquipment = _data[\"pendingEquipment\"];\n this.pendingAdminInvoices = _data[\"pendingAdminInvoices\"];\n this.physicianInvoicesDueForCreation = _data[\"physicianInvoicesDueForCreation\"];\n this.disputedPhysicianInvoices = _data[\"disputedPhysicianInvoices\"];\n this.approvedPhysicianInvoices = _data[\"approvedPhysicianInvoices\"];\n this.notesForReview = _data[\"notesForReview\"];\n this.trainingSupportRequests = _data[\"trainingSupportRequests\"];\n }\n }\n\n static fromJS(data: any): DashboardResponseModel {\n data = typeof data === 'object' ? data : {};\n let result = new DashboardResponseModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activeAgents\"] = this.activeAgents;\n data[\"onboardingAgents\"] = this.onboardingAgents;\n data[\"totalAgents\"] = this.totalAgents;\n data[\"activePhysicianAgents\"] = this.activePhysicianAgents;\n data[\"activeDietitianAgents\"] = this.activeDietitianAgents;\n data[\"activeBilingualAgents\"] = this.activeBilingualAgents;\n data[\"unassignedEquipment\"] = this.unassignedEquipment;\n data[\"pendingEquipment\"] = this.pendingEquipment;\n data[\"pendingAdminInvoices\"] = this.pendingAdminInvoices;\n data[\"physicianInvoicesDueForCreation\"] = this.physicianInvoicesDueForCreation;\n data[\"disputedPhysicianInvoices\"] = this.disputedPhysicianInvoices;\n data[\"approvedPhysicianInvoices\"] = this.approvedPhysicianInvoices;\n data[\"notesForReview\"] = this.notesForReview;\n data[\"trainingSupportRequests\"] = this.trainingSupportRequests;\n return data;\n }\n}\n\nexport interface IDashboardResponseModel {\n activeAgents?: number;\n onboardingAgents?: number;\n totalAgents?: number;\n activePhysicianAgents?: number;\n activeDietitianAgents?: number;\n activeBilingualAgents?: number;\n unassignedEquipment?: number;\n pendingEquipment?: number;\n pendingAdminInvoices?: number;\n physicianInvoicesDueForCreation?: number;\n disputedPhysicianInvoices?: number;\n approvedPhysicianInvoices?: number;\n notesForReview?: number;\n trainingSupportRequests?: number;\n}\n\nexport class DeviceAgentDto extends DeviceDto implements IDeviceAgentDto {\n pendingAgentName?: string | undefined;\n\n constructor(data?: IDeviceAgentDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.pendingAgentName = _data[\"pendingAgentName\"];\n }\n }\n\n static fromJS(data: any): DeviceAgentDto {\n data = typeof data === 'object' ? data : {};\n let result = new DeviceAgentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"pendingAgentName\"] = this.pendingAgentName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IDeviceAgentDto extends IDeviceDto {\n pendingAgentName?: string | undefined;\n}\n\nexport class PaginatedResponseOfInvoicingStatusDto implements IPaginatedResponseOfInvoicingStatusDto {\n results?: InvoicingStatusDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfInvoicingStatusDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(InvoicingStatusDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfInvoicingStatusDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfInvoicingStatusDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfInvoicingStatusDto {\n results?: InvoicingStatusDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class InvoicingStatusDto implements IInvoicingStatusDto {\n agentId?: string | undefined;\n name?: string | undefined;\n email?: string | undefined;\n periods?: InvoicingStatusPeriodDto[] | undefined;\n\n constructor(data?: IInvoicingStatusDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n if (Array.isArray(_data[\"periods\"])) {\n this.periods = [] as any;\n for (let item of _data[\"periods\"])\n this.periods!.push(InvoicingStatusPeriodDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InvoicingStatusDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoicingStatusDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n if (Array.isArray(this.periods)) {\n data[\"periods\"] = [];\n for (let item of this.periods)\n data[\"periods\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInvoicingStatusDto {\n agentId?: string | undefined;\n name?: string | undefined;\n email?: string | undefined;\n periods?: InvoicingStatusPeriodDto[] | undefined;\n}\n\nexport class InvoicingStatusPeriodDto implements IInvoicingStatusPeriodDto {\n period?: Date | undefined;\n invoices?: InvoicingStatusInvoiceDto[] | undefined;\n\n constructor(data?: IInvoicingStatusPeriodDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\n if (Array.isArray(_data[\"invoices\"])) {\n this.invoices = [] as any;\n for (let item of _data[\"invoices\"])\n this.invoices!.push(InvoicingStatusInvoiceDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InvoicingStatusPeriodDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoicingStatusPeriodDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\n if (Array.isArray(this.invoices)) {\n data[\"invoices\"] = [];\n for (let item of this.invoices)\n data[\"invoices\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInvoicingStatusPeriodDto {\n period?: Date | undefined;\n invoices?: InvoicingStatusInvoiceDto[] | undefined;\n}\n\nexport class InvoicingStatusInvoiceDto implements IInvoicingStatusInvoiceDto {\n invoiceId?: string | undefined;\n invoiceFlow?: InvoiceFlow;\n invoiceStatus?: InvoiceStatus;\n number?: number;\n latestDispute?: string;\n invoiceDate?: Date;\n\n constructor(data?: IInvoicingStatusInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n this.invoiceFlow = _data[\"invoiceFlow\"];\n this.invoiceStatus = _data[\"invoiceStatus\"];\n this.number = _data[\"number\"];\n this.latestDispute = _data[\"latestDispute\"];\n this.invoiceDate = _data[\"invoiceDate\"] ? new Date(_data[\"invoiceDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): InvoicingStatusInvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoicingStatusInvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n data[\"invoiceFlow\"] = this.invoiceFlow;\n data[\"invoiceStatus\"] = this.invoiceStatus;\n data[\"number\"] = this.number;\n data[\"latestDispute\"] = this.latestDispute;\n data[\"invoiceDate\"] = this.invoiceDate ? this.invoiceDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IInvoicingStatusInvoiceDto {\n invoiceId?: string | undefined;\n invoiceFlow?: InvoiceFlow;\n invoiceStatus?: InvoiceStatus;\n number?: number;\n latestDispute?: string;\n invoiceDate?: Date;\n}\n\nexport enum InvoiceFlow {\n AgentApproval = 0,\n AdminApproval = 1,\n AutoApproval = 2,\n}\n\nexport enum InvoiceStatus {\n Draft = 0,\n InReview = 1,\n Disputed = 2,\n ApprovedByAgent = 3,\n ApprovedByAdmin = 4,\n Completed = 5,\n}\n\nexport class PaginatedResponseOfInvoiceDto implements IPaginatedResponseOfInvoiceDto {\n results?: InvoiceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(InvoiceDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfInvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfInvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfInvoiceDto {\n results?: InvoiceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class InvoiceDto implements IInvoiceDto {\n invoice?: InvoiceBaseDto;\n extendedData?: InvoiceExtendedDto | undefined;\n\n constructor(data?: IInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoice = _data[\"invoice\"] ? InvoiceBaseDto.fromJS(_data[\"invoice\"]) : undefined;\n this.extendedData = _data[\"extendedData\"] ? InvoiceExtendedDto.fromJS(_data[\"extendedData\"]) : undefined;\n }\n }\n\n static fromJS(data: any): InvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoice\"] = this.invoice ? this.invoice.toJSON() : undefined;\n data[\"extendedData\"] = this.extendedData ? this.extendedData.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IInvoiceDto {\n invoice?: InvoiceBaseDto;\n extendedData?: InvoiceExtendedDto | undefined;\n}\n\nexport class InvoiceBaseDto implements IInvoiceBaseDto {\n invoiceId?: string;\n invoiceStatus?: InvoiceStatus;\n invoiceNumber?: number;\n invoiceDate?: Date;\n invoiceFlow?: InvoiceFlow;\n agent?: AgentInvoiceDto;\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n latestDispute?: string | undefined;\n\n constructor(data?: IInvoiceBaseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n this.invoiceStatus = _data[\"invoiceStatus\"];\n this.invoiceNumber = _data[\"invoiceNumber\"];\n this.invoiceDate = _data[\"invoiceDate\"] ? new Date(_data[\"invoiceDate\"].toString()) : undefined;\n this.invoiceFlow = _data[\"invoiceFlow\"];\n this.agent = _data[\"agent\"] ? AgentInvoiceDto.fromJS(_data[\"agent\"]) : undefined;\n this.servicePeriodFrom = _data[\"servicePeriodFrom\"] ? new Date(_data[\"servicePeriodFrom\"].toString()) : undefined;\n this.servicePeriodTo = _data[\"servicePeriodTo\"] ? new Date(_data[\"servicePeriodTo\"].toString()) : undefined;\n this.latestDispute = _data[\"latestDispute\"];\n }\n }\n\n static fromJS(data: any): InvoiceBaseDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceBaseDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n data[\"invoiceStatus\"] = this.invoiceStatus;\n data[\"invoiceNumber\"] = this.invoiceNumber;\n data[\"invoiceDate\"] = this.invoiceDate ? this.invoiceDate.toISOString() : undefined;\n data[\"invoiceFlow\"] = this.invoiceFlow;\n data[\"agent\"] = this.agent ? this.agent.toJSON() : undefined;\n data[\"servicePeriodFrom\"] = this.servicePeriodFrom ? this.servicePeriodFrom.toISOString() : undefined;\n data[\"servicePeriodTo\"] = this.servicePeriodTo ? this.servicePeriodTo.toISOString() : undefined;\n data[\"latestDispute\"] = this.latestDispute;\n return data;\n }\n}\n\nexport interface IInvoiceBaseDto {\n invoiceId?: string;\n invoiceStatus?: InvoiceStatus;\n invoiceNumber?: number;\n invoiceDate?: Date;\n invoiceFlow?: InvoiceFlow;\n agent?: AgentInvoiceDto;\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n latestDispute?: string | undefined;\n}\n\nexport class AgentInvoiceDto implements IAgentInvoiceDto {\n agentId?: string;\n billingEntityName?: string | undefined;\n accountEmail?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n personalAddress?: AgentAddressDto | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n name?: string | undefined;\n\n constructor(data?: IAgentInvoiceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.billingEntityName = _data[\"billingEntityName\"];\n this.accountEmail = _data[\"accountEmail\"];\n this.personalEmail = _data[\"personalEmail\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.personalAddress = _data[\"personalAddress\"] ? AgentAddressDto.fromJS(_data[\"personalAddress\"]) : undefined;\n this.billingAddress = _data[\"billingAddress\"] ? AgentAddressDto.fromJS(_data[\"billingAddress\"]) : undefined;\n this.billingSamePersonalAddress = _data[\"billingSamePersonalAddress\"];\n this.salesTaxIdentifier = _data[\"salesTaxIdentifier\"];\n this.salesTaxRate = _data[\"salesTaxRate\"];\n this.hourRate = _data[\"hourRate\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): AgentInvoiceDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentInvoiceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"billingEntityName\"] = this.billingEntityName;\n data[\"accountEmail\"] = this.accountEmail;\n data[\"personalEmail\"] = this.personalEmail;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"personalAddress\"] = this.personalAddress ? this.personalAddress.toJSON() : undefined;\n data[\"billingAddress\"] = this.billingAddress ? this.billingAddress.toJSON() : undefined;\n data[\"billingSamePersonalAddress\"] = this.billingSamePersonalAddress;\n data[\"salesTaxIdentifier\"] = this.salesTaxIdentifier;\n data[\"salesTaxRate\"] = this.salesTaxRate;\n data[\"hourRate\"] = this.hourRate;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IAgentInvoiceDto {\n agentId?: string;\n billingEntityName?: string | undefined;\n accountEmail?: string | undefined;\n personalEmail?: string | undefined;\n phoneNumber?: string | undefined;\n personalAddress?: AgentAddressDto | undefined;\n billingAddress?: AgentAddressDto | undefined;\n billingSamePersonalAddress?: boolean;\n salesTaxIdentifier?: string | undefined;\n salesTaxRate?: number | undefined;\n hourRate?: number | undefined;\n name?: string | undefined;\n}\n\nexport class InvoiceExtendedDto implements IInvoiceExtendedDto {\n serviceDescription?: string;\n invoiceItems?: InvoiceItemDto[];\n disputes?: InvoiceDisputeDto[];\n\n constructor(data?: IInvoiceExtendedDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceDescription = _data[\"serviceDescription\"];\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItemDto.fromJS(item));\n }\n if (Array.isArray(_data[\"disputes\"])) {\n this.disputes = [] as any;\n for (let item of _data[\"disputes\"])\n this.disputes!.push(InvoiceDisputeDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InvoiceExtendedDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceExtendedDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceDescription\"] = this.serviceDescription;\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n if (Array.isArray(this.disputes)) {\n data[\"disputes\"] = [];\n for (let item of this.disputes)\n data[\"disputes\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInvoiceExtendedDto {\n serviceDescription?: string;\n invoiceItems?: InvoiceItemDto[];\n disputes?: InvoiceDisputeDto[];\n}\n\nexport class InvoiceItemDto implements IInvoiceItemDto {\n invoiceItemId?: string;\n date?: Date;\n minutes?: number;\n notes?: string | undefined;\n\n constructor(data?: IInvoiceItemDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceItemId = _data[\"invoiceItemId\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n this.minutes = _data[\"minutes\"];\n this.notes = _data[\"notes\"];\n }\n }\n\n static fromJS(data: any): InvoiceItemDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceItemDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceItemId\"] = this.invoiceItemId;\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n data[\"minutes\"] = this.minutes;\n data[\"notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IInvoiceItemDto {\n invoiceItemId?: string;\n date?: Date;\n minutes?: number;\n notes?: string | undefined;\n}\n\nexport class InvoiceDisputeDto implements IInvoiceDisputeDto {\n disputedOn?: Date;\n comment?: string;\n\n constructor(data?: IInvoiceDisputeDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.disputedOn = _data[\"disputedOn\"] ? new Date(_data[\"disputedOn\"].toString()) : undefined;\n this.comment = _data[\"comment\"];\n }\n }\n\n static fromJS(data: any): InvoiceDisputeDto {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceDisputeDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"disputedOn\"] = this.disputedOn ? this.disputedOn.toISOString() : undefined;\n data[\"comment\"] = this.comment;\n return data;\n }\n}\n\nexport interface IInvoiceDisputeDto {\n disputedOn?: Date;\n comment?: string;\n}\n\nexport class DoDisputeRequest implements IDoDisputeRequest {\n invoiceId?: string;\n comment?: string;\n\n constructor(data?: IDoDisputeRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n this.comment = _data[\"comment\"];\n }\n }\n\n static fromJS(data: any): DoDisputeRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoDisputeRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n data[\"comment\"] = this.comment;\n return data;\n }\n}\n\nexport interface IDoDisputeRequest {\n invoiceId?: string;\n comment?: string;\n}\n\nexport class CreateInvoiceRequest implements ICreateInvoiceRequest {\n invoiceFlow?: InvoiceFlow;\n agentId?: string | undefined;\n invoiceItems?: InvoiceItemDto[] | undefined;\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n\n constructor(data?: ICreateInvoiceRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceFlow = _data[\"invoiceFlow\"];\n this.agentId = _data[\"agentId\"];\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItemDto.fromJS(item));\n }\n this.servicePeriodFrom = _data[\"servicePeriodFrom\"] ? new Date(_data[\"servicePeriodFrom\"].toString()) : undefined;\n this.servicePeriodTo = _data[\"servicePeriodTo\"] ? new Date(_data[\"servicePeriodTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreateInvoiceRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CreateInvoiceRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceFlow\"] = this.invoiceFlow;\n data[\"agentId\"] = this.agentId;\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n data[\"servicePeriodFrom\"] = this.servicePeriodFrom ? this.servicePeriodFrom.toISOString() : undefined;\n data[\"servicePeriodTo\"] = this.servicePeriodTo ? this.servicePeriodTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ICreateInvoiceRequest {\n invoiceFlow?: InvoiceFlow;\n agentId?: string | undefined;\n invoiceItems?: InvoiceItemDto[] | undefined;\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n}\n\nexport class UpdateInvoiceRequest implements IUpdateInvoiceRequest {\n invoiceId?: string;\n invoiceItems?: InvoiceItemDto[];\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n\n constructor(data?: IUpdateInvoiceRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceId = _data[\"invoiceId\"];\n if (Array.isArray(_data[\"invoiceItems\"])) {\n this.invoiceItems = [] as any;\n for (let item of _data[\"invoiceItems\"])\n this.invoiceItems!.push(InvoiceItemDto.fromJS(item));\n }\n this.servicePeriodFrom = _data[\"servicePeriodFrom\"] ? new Date(_data[\"servicePeriodFrom\"].toString()) : undefined;\n this.servicePeriodTo = _data[\"servicePeriodTo\"] ? new Date(_data[\"servicePeriodTo\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UpdateInvoiceRequest {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateInvoiceRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceId\"] = this.invoiceId;\n if (Array.isArray(this.invoiceItems)) {\n data[\"invoiceItems\"] = [];\n for (let item of this.invoiceItems)\n data[\"invoiceItems\"].push(item.toJSON());\n }\n data[\"servicePeriodFrom\"] = this.servicePeriodFrom ? this.servicePeriodFrom.toISOString() : undefined;\n data[\"servicePeriodTo\"] = this.servicePeriodTo ? this.servicePeriodTo.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IUpdateInvoiceRequest {\n invoiceId?: string;\n invoiceItems?: InvoiceItemDto[];\n servicePeriodFrom?: Date;\n servicePeriodTo?: Date;\n}\n\nexport class AccountVerifyRequest implements IAccountVerifyRequest {\n email?: string;\n token?: string;\n password?: string;\n\n constructor(data?: IAccountVerifyRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.token = _data[\"token\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): AccountVerifyRequest {\n data = typeof data === 'object' ? data : {};\n let result = new AccountVerifyRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"token\"] = this.token;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface IAccountVerifyRequest {\n email?: string;\n token?: string;\n password?: string;\n}\n\nexport class DoForgotPasswordStartModel implements IDoForgotPasswordStartModel {\n email?: string;\n\n constructor(data?: IDoForgotPasswordStartModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n }\n }\n\n static fromJS(data: any): DoForgotPasswordStartModel {\n data = typeof data === 'object' ? data : {};\n let result = new DoForgotPasswordStartModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n return data;\n }\n}\n\nexport interface IDoForgotPasswordStartModel {\n email?: string;\n}\n\nexport class DoCompleteForgotPasswordRequest implements IDoCompleteForgotPasswordRequest {\n email?: string;\n token?: string;\n password?: string;\n\n constructor(data?: IDoCompleteForgotPasswordRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.email = _data[\"email\"];\n this.token = _data[\"token\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): DoCompleteForgotPasswordRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoCompleteForgotPasswordRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email;\n data[\"token\"] = this.token;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface IDoCompleteForgotPasswordRequest {\n email?: string;\n token?: string;\n password?: string;\n}\n\nexport class AccountAuthenticateModelResponse implements IAccountAuthenticateModelResponse {\n success?: boolean;\n displayName?: string | undefined;\n\n constructor(data?: IAccountAuthenticateModelResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): AccountAuthenticateModelResponse {\n data = typeof data === 'object' ? data : {};\n let result = new AccountAuthenticateModelResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IAccountAuthenticateModelResponse {\n success?: boolean;\n displayName?: string | undefined;\n}\n\nexport class AccountAuthenticateModel implements IAccountAuthenticateModel {\n username?: string;\n password?: string;\n\n constructor(data?: IAccountAuthenticateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.username = _data[\"username\"];\n this.password = _data[\"password\"];\n }\n }\n\n static fromJS(data: any): AccountAuthenticateModel {\n data = typeof data === 'object' ? data : {};\n let result = new AccountAuthenticateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"username\"] = this.username;\n data[\"password\"] = this.password;\n return data;\n }\n}\n\nexport interface IAccountAuthenticateModel {\n username?: string;\n password?: string;\n}\n\nexport class MWMSettings implements IMWMSettings {\n emailTemplateSettings?: EmailTemplateSettings;\n accountsEmail?: EmailSettings;\n fileUploadSettings?: FileUploadSettings;\n\n constructor(data?: IMWMSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailTemplateSettings = _data[\"emailTemplateSettings\"] ? EmailTemplateSettings.fromJS(_data[\"emailTemplateSettings\"]) : undefined;\n this.accountsEmail = _data[\"accountsEmail\"] ? EmailSettings.fromJS(_data[\"accountsEmail\"]) : undefined;\n this.fileUploadSettings = _data[\"fileUploadSettings\"] ? FileUploadSettings.fromJS(_data[\"fileUploadSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MWMSettings {\n data = typeof data === 'object' ? data : {};\n let result = new MWMSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailTemplateSettings\"] = this.emailTemplateSettings ? this.emailTemplateSettings.toJSON() : undefined;\n data[\"accountsEmail\"] = this.accountsEmail ? this.accountsEmail.toJSON() : undefined;\n data[\"fileUploadSettings\"] = this.fileUploadSettings ? this.fileUploadSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMWMSettings {\n emailTemplateSettings?: EmailTemplateSettings;\n accountsEmail?: EmailSettings;\n fileUploadSettings?: FileUploadSettings;\n}\n\nexport class EmailTemplateSettings implements IEmailTemplateSettings {\n forgotPassword?: string | undefined;\n verifyAccountPath?: string | undefined;\n agentInvoicePath?: string | undefined;\n adminInvoicePath?: string | undefined;\n paymentProcessingRecipient?: string | undefined;\n\n constructor(data?: IEmailTemplateSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.forgotPassword = _data[\"forgotPassword\"];\n this.verifyAccountPath = _data[\"verifyAccountPath\"];\n this.agentInvoicePath = _data[\"agentInvoicePath\"];\n this.adminInvoicePath = _data[\"adminInvoicePath\"];\n this.paymentProcessingRecipient = _data[\"paymentProcessingRecipient\"];\n }\n }\n\n static fromJS(data: any): EmailTemplateSettings {\n data = typeof data === 'object' ? data : {};\n let result = new EmailTemplateSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"forgotPassword\"] = this.forgotPassword;\n data[\"verifyAccountPath\"] = this.verifyAccountPath;\n data[\"agentInvoicePath\"] = this.agentInvoicePath;\n data[\"adminInvoicePath\"] = this.adminInvoicePath;\n data[\"paymentProcessingRecipient\"] = this.paymentProcessingRecipient;\n return data;\n }\n}\n\nexport interface IEmailTemplateSettings {\n forgotPassword?: string | undefined;\n verifyAccountPath?: string | undefined;\n agentInvoicePath?: string | undefined;\n adminInvoicePath?: string | undefined;\n paymentProcessingRecipient?: string | undefined;\n}\n\nexport class EmailSettings implements IEmailSettings {\n applicationName?: string | undefined;\n defaultFromEmail?: string | undefined;\n password?: string | undefined;\n emailServer?: string | undefined;\n port?: number;\n useSSL?: boolean;\n useAuthentication?: boolean;\n customFromEmail?: string | undefined;\n customFromPassword?: string | undefined;\n faxFromEmail?: string | undefined;\n faxToEmailDomain?: string | undefined;\n faxEmailPassword?: string | undefined;\n adverseEventRecipient?: string | undefined;\n\n constructor(data?: IEmailSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.applicationName = _data[\"applicationName\"];\n this.defaultFromEmail = _data[\"defaultFromEmail\"];\n this.password = _data[\"password\"];\n this.emailServer = _data[\"emailServer\"];\n this.port = _data[\"port\"];\n this.useSSL = _data[\"useSSL\"];\n this.useAuthentication = _data[\"useAuthentication\"];\n this.customFromEmail = _data[\"customFromEmail\"];\n this.customFromPassword = _data[\"customFromPassword\"];\n this.faxFromEmail = _data[\"faxFromEmail\"];\n this.faxToEmailDomain = _data[\"faxToEmailDomain\"];\n this.faxEmailPassword = _data[\"faxEmailPassword\"];\n this.adverseEventRecipient = _data[\"adverseEventRecipient\"];\n }\n }\n\n static fromJS(data: any): EmailSettings {\n data = typeof data === 'object' ? data : {};\n let result = new EmailSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"applicationName\"] = this.applicationName;\n data[\"defaultFromEmail\"] = this.defaultFromEmail;\n data[\"password\"] = this.password;\n data[\"emailServer\"] = this.emailServer;\n data[\"port\"] = this.port;\n data[\"useSSL\"] = this.useSSL;\n data[\"useAuthentication\"] = this.useAuthentication;\n data[\"customFromEmail\"] = this.customFromEmail;\n data[\"customFromPassword\"] = this.customFromPassword;\n data[\"faxFromEmail\"] = this.faxFromEmail;\n data[\"faxToEmailDomain\"] = this.faxToEmailDomain;\n data[\"faxEmailPassword\"] = this.faxEmailPassword;\n data[\"adverseEventRecipient\"] = this.adverseEventRecipient;\n return data;\n }\n}\n\nexport interface IEmailSettings {\n applicationName?: string | undefined;\n defaultFromEmail?: string | undefined;\n password?: string | undefined;\n emailServer?: string | undefined;\n port?: number;\n useSSL?: boolean;\n useAuthentication?: boolean;\n customFromEmail?: string | undefined;\n customFromPassword?: string | undefined;\n faxFromEmail?: string | undefined;\n faxToEmailDomain?: string | undefined;\n faxEmailPassword?: string | undefined;\n adverseEventRecipient?: string | undefined;\n}\n\nexport class FileUploadSettings implements IFileUploadSettings {\n maxSize?: number;\n\n constructor(data?: IFileUploadSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.maxSize = _data[\"maxSize\"];\n }\n }\n\n static fromJS(data: any): FileUploadSettings {\n data = typeof data === 'object' ? data : {};\n let result = new FileUploadSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"maxSize\"] = this.maxSize;\n return data;\n }\n}\n\nexport interface IFileUploadSettings {\n maxSize?: number;\n}\n\nexport class MWMPublicSettings implements IMWMPublicSettings {\n fileUploadSettings?: FileUploadSettings;\n\n constructor(data?: IMWMPublicSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileUploadSettings = _data[\"fileUploadSettings\"] ? FileUploadSettings.fromJS(_data[\"fileUploadSettings\"]) : undefined;\n }\n }\n\n static fromJS(data: any): MWMPublicSettings {\n data = typeof data === 'object' ? data : {};\n let result = new MWMPublicSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileUploadSettings\"] = this.fileUploadSettings ? this.fileUploadSettings.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IMWMPublicSettings {\n fileUploadSettings?: FileUploadSettings;\n}\n\nexport enum ResourceType {\n Documentation = 1,\n Resource = 2,\n}\n\nexport class DoSortTasksRequest implements IDoSortTasksRequest {\n taskIds?: string[];\n\n constructor(data?: IDoSortTasksRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"taskIds\"])) {\n this.taskIds = [] as any;\n for (let item of _data[\"taskIds\"])\n this.taskIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DoSortTasksRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoSortTasksRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.taskIds)) {\n data[\"taskIds\"] = [];\n for (let item of this.taskIds)\n data[\"taskIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDoSortTasksRequest {\n taskIds?: string[];\n}\n\nexport class DoSortModulesRequest implements IDoSortModulesRequest {\n moduleIds?: string[];\n\n constructor(data?: IDoSortModulesRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"moduleIds\"])) {\n this.moduleIds = [] as any;\n for (let item of _data[\"moduleIds\"])\n this.moduleIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DoSortModulesRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoSortModulesRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.moduleIds)) {\n data[\"moduleIds\"] = [];\n for (let item of this.moduleIds)\n data[\"moduleIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDoSortModulesRequest {\n moduleIds?: string[];\n}\n\nexport class DoSortTopicsRequest implements IDoSortTopicsRequest {\n topicIds?: string[];\n\n constructor(data?: IDoSortTopicsRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"topicIds\"])) {\n this.topicIds = [] as any;\n for (let item of _data[\"topicIds\"])\n this.topicIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): DoSortTopicsRequest {\n data = typeof data === 'object' ? data : {};\n let result = new DoSortTopicsRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.topicIds)) {\n data[\"topicIds\"] = [];\n for (let item of this.topicIds)\n data[\"topicIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IDoSortTopicsRequest {\n topicIds?: string[];\n}\n\nexport abstract class HelpRequestBaseDto implements IHelpRequestBaseDto {\n helpRequestId?: string;\n agentId?: string;\n subject?: string | undefined;\n notes?: string | undefined;\n completedOn?: Date | undefined;\n createdOn?: Date | undefined;\n\n constructor(data?: IHelpRequestBaseDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.helpRequestId = _data[\"helpRequestId\"];\n this.agentId = _data[\"agentId\"];\n this.subject = _data[\"subject\"];\n this.notes = _data[\"notes\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): HelpRequestBaseDto {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'HelpRequestBaseDto' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"helpRequestId\"] = this.helpRequestId;\n data[\"agentId\"] = this.agentId;\n data[\"subject\"] = this.subject;\n data[\"notes\"] = this.notes;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IHelpRequestBaseDto {\n helpRequestId?: string;\n agentId?: string;\n subject?: string | undefined;\n notes?: string | undefined;\n completedOn?: Date | undefined;\n createdOn?: Date | undefined;\n}\n\nexport class HelpRequestDto extends HelpRequestBaseDto implements IHelpRequestDto {\n\n constructor(data?: IHelpRequestDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): HelpRequestDto {\n data = typeof data === 'object' ? data : {};\n let result = new HelpRequestDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHelpRequestDto extends IHelpRequestBaseDto {\n}\n\nexport class SaveModuleRequest implements ISaveModuleRequest {\n moduleId?: string;\n name?: string;\n description?: string;\n moduleType?: ModuleType;\n role?: AgentRole;\n\n constructor(data?: ISaveModuleRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.moduleId = _data[\"moduleId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.moduleType = _data[\"moduleType\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): SaveModuleRequest {\n data = typeof data === 'object' ? data : {};\n let result = new SaveModuleRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"moduleId\"] = this.moduleId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"moduleType\"] = this.moduleType;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface ISaveModuleRequest {\n moduleId?: string;\n name?: string;\n description?: string;\n moduleType?: ModuleType;\n role?: AgentRole;\n}\n\nexport enum ModuleType {\n Regular = 1,\n ContinuingEducation = 2,\n}\n\nexport class SaveTopicRequest implements ISaveTopicRequest {\n topicId?: string;\n moduleId?: string;\n name?: string;\n description?: string;\n\n constructor(data?: ISaveTopicRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicId = _data[\"topicId\"];\n this.moduleId = _data[\"moduleId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n }\n }\n\n static fromJS(data: any): SaveTopicRequest {\n data = typeof data === 'object' ? data : {};\n let result = new SaveTopicRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicId\"] = this.topicId;\n data[\"moduleId\"] = this.moduleId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n return data;\n }\n}\n\nexport interface ISaveTopicRequest {\n topicId?: string;\n moduleId?: string;\n name?: string;\n description?: string;\n}\n\nexport enum TaskType {\n Video = 1,\n Article = 2,\n Assignment = 3,\n Quiz = 4,\n}\n\nexport class AgentCompleteTaskRequest implements IAgentCompleteTaskRequest {\n agentId?: string;\n taskId?: string;\n completionType?: AgentTaskCompletionType;\n\n constructor(data?: IAgentCompleteTaskRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.taskId = _data[\"taskId\"];\n this.completionType = _data[\"completionType\"];\n }\n }\n\n static fromJS(data: any): AgentCompleteTaskRequest {\n data = typeof data === 'object' ? data : {};\n let result = new AgentCompleteTaskRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"taskId\"] = this.taskId;\n data[\"completionType\"] = this.completionType;\n return data;\n }\n}\n\nexport interface IAgentCompleteTaskRequest {\n agentId?: string;\n taskId?: string;\n completionType?: AgentTaskCompletionType;\n}\n\nexport enum AgentTaskCompletionType {\n Regular = 1,\n Manual = 2,\n}\n\nexport class PaginatedResponseOfResourceDto implements IPaginatedResponseOfResourceDto {\n results?: ResourceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfResourceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ResourceDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfResourceDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfResourceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfResourceDto {\n results?: ResourceDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class ResourceDto implements IResourceDto {\n resourceId?: string;\n name?: string | undefined;\n description?: string | undefined;\n fileName?: string | undefined;\n blobId?: string | undefined;\n resourceType?: ResourceType;\n externalLink?: string | undefined;\n\n constructor(data?: IResourceDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resourceId = _data[\"resourceId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.fileName = _data[\"fileName\"];\n this.blobId = _data[\"blobId\"];\n this.resourceType = _data[\"resourceType\"];\n this.externalLink = _data[\"externalLink\"];\n }\n }\n\n static fromJS(data: any): ResourceDto {\n data = typeof data === 'object' ? data : {};\n let result = new ResourceDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"resourceId\"] = this.resourceId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"fileName\"] = this.fileName;\n data[\"blobId\"] = this.blobId;\n data[\"resourceType\"] = this.resourceType;\n data[\"externalLink\"] = this.externalLink;\n return data;\n }\n}\n\nexport interface IResourceDto {\n resourceId?: string;\n name?: string | undefined;\n description?: string | undefined;\n fileName?: string | undefined;\n blobId?: string | undefined;\n resourceType?: ResourceType;\n externalLink?: string | undefined;\n}\n\nexport class PaginatedResponseOfHelpRequestSummaryDto implements IPaginatedResponseOfHelpRequestSummaryDto {\n results?: HelpRequestSummaryDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfHelpRequestSummaryDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(HelpRequestSummaryDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfHelpRequestSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfHelpRequestSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfHelpRequestSummaryDto {\n results?: HelpRequestSummaryDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class HelpRequestSummaryDto extends HelpRequestBaseDto implements IHelpRequestSummaryDto {\n agentIdentifier?: string | undefined;\n agentName?: string | undefined;\n agentEmail?: string | undefined;\n agentRole?: AgentRole | undefined;\n\n constructor(data?: IHelpRequestSummaryDto) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.agentIdentifier = _data[\"agentIdentifier\"];\n this.agentName = _data[\"agentName\"];\n this.agentEmail = _data[\"agentEmail\"];\n this.agentRole = _data[\"agentRole\"];\n }\n }\n\n static fromJS(data: any): HelpRequestSummaryDto {\n data = typeof data === 'object' ? data : {};\n let result = new HelpRequestSummaryDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentIdentifier\"] = this.agentIdentifier;\n data[\"agentName\"] = this.agentName;\n data[\"agentEmail\"] = this.agentEmail;\n data[\"agentRole\"] = this.agentRole;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IHelpRequestSummaryDto extends IHelpRequestBaseDto {\n agentIdentifier?: string | undefined;\n agentName?: string | undefined;\n agentEmail?: string | undefined;\n agentRole?: AgentRole | undefined;\n}\n\nexport class AgentTaskCompletionStatusSummary implements IAgentTaskCompletionStatusSummary {\n agentId?: string;\n agentTaskCompletionStatusSummaryModules?: AgentTaskCompletionStatusSummaryModule[];\n totalTasks?: number;\n completedTasks?: number;\n\n constructor(data?: IAgentTaskCompletionStatusSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n if (Array.isArray(_data[\"agentTaskCompletionStatusSummaryModules\"])) {\n this.agentTaskCompletionStatusSummaryModules = [] as any;\n for (let item of _data[\"agentTaskCompletionStatusSummaryModules\"])\n this.agentTaskCompletionStatusSummaryModules!.push(AgentTaskCompletionStatusSummaryModule.fromJS(item));\n }\n this.totalTasks = _data[\"totalTasks\"];\n this.completedTasks = _data[\"completedTasks\"];\n }\n }\n\n static fromJS(data: any): AgentTaskCompletionStatusSummary {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskCompletionStatusSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n if (Array.isArray(this.agentTaskCompletionStatusSummaryModules)) {\n data[\"agentTaskCompletionStatusSummaryModules\"] = [];\n for (let item of this.agentTaskCompletionStatusSummaryModules)\n data[\"agentTaskCompletionStatusSummaryModules\"].push(item.toJSON());\n }\n data[\"totalTasks\"] = this.totalTasks;\n data[\"completedTasks\"] = this.completedTasks;\n return data;\n }\n}\n\nexport interface IAgentTaskCompletionStatusSummary {\n agentId?: string;\n agentTaskCompletionStatusSummaryModules?: AgentTaskCompletionStatusSummaryModule[];\n totalTasks?: number;\n completedTasks?: number;\n}\n\nexport class AgentTaskCompletionStatusSummaryModule implements IAgentTaskCompletionStatusSummaryModule {\n moduleId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n agentTaskCompletionStatusSummaryTopics?: AgentTaskCompletionStatusSummaryTopic[];\n completionRate?: number;\n totalTasks?: number;\n completedTasks?: number;\n\n constructor(data?: IAgentTaskCompletionStatusSummaryModule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.moduleId = _data[\"moduleId\"];\n this.name = _data[\"name\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n if (Array.isArray(_data[\"agentTaskCompletionStatusSummaryTopics\"])) {\n this.agentTaskCompletionStatusSummaryTopics = [] as any;\n for (let item of _data[\"agentTaskCompletionStatusSummaryTopics\"])\n this.agentTaskCompletionStatusSummaryTopics!.push(AgentTaskCompletionStatusSummaryTopic.fromJS(item));\n }\n this.completionRate = _data[\"completionRate\"];\n this.totalTasks = _data[\"totalTasks\"];\n this.completedTasks = _data[\"completedTasks\"];\n }\n }\n\n static fromJS(data: any): AgentTaskCompletionStatusSummaryModule {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskCompletionStatusSummaryModule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"moduleId\"] = this.moduleId;\n data[\"name\"] = this.name;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n if (Array.isArray(this.agentTaskCompletionStatusSummaryTopics)) {\n data[\"agentTaskCompletionStatusSummaryTopics\"] = [];\n for (let item of this.agentTaskCompletionStatusSummaryTopics)\n data[\"agentTaskCompletionStatusSummaryTopics\"].push(item.toJSON());\n }\n data[\"completionRate\"] = this.completionRate;\n data[\"totalTasks\"] = this.totalTasks;\n data[\"completedTasks\"] = this.completedTasks;\n return data;\n }\n}\n\nexport interface IAgentTaskCompletionStatusSummaryModule {\n moduleId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n agentTaskCompletionStatusSummaryTopics?: AgentTaskCompletionStatusSummaryTopic[];\n completionRate?: number;\n totalTasks?: number;\n completedTasks?: number;\n}\n\nexport class AgentTaskCompletionStatusSummaryTopic implements IAgentTaskCompletionStatusSummaryTopic {\n topicId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n agentTaskCompletionStatusSummaryTasks?: AgentTaskCompletionStatusSummaryTask[];\n completionRate?: number;\n totalTasks?: number;\n completedTasks?: number;\n\n constructor(data?: IAgentTaskCompletionStatusSummaryTopic) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicId = _data[\"topicId\"];\n this.name = _data[\"name\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n if (Array.isArray(_data[\"agentTaskCompletionStatusSummaryTasks\"])) {\n this.agentTaskCompletionStatusSummaryTasks = [] as any;\n for (let item of _data[\"agentTaskCompletionStatusSummaryTasks\"])\n this.agentTaskCompletionStatusSummaryTasks!.push(AgentTaskCompletionStatusSummaryTask.fromJS(item));\n }\n this.completionRate = _data[\"completionRate\"];\n this.totalTasks = _data[\"totalTasks\"];\n this.completedTasks = _data[\"completedTasks\"];\n }\n }\n\n static fromJS(data: any): AgentTaskCompletionStatusSummaryTopic {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskCompletionStatusSummaryTopic();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicId\"] = this.topicId;\n data[\"name\"] = this.name;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n if (Array.isArray(this.agentTaskCompletionStatusSummaryTasks)) {\n data[\"agentTaskCompletionStatusSummaryTasks\"] = [];\n for (let item of this.agentTaskCompletionStatusSummaryTasks)\n data[\"agentTaskCompletionStatusSummaryTasks\"].push(item.toJSON());\n }\n data[\"completionRate\"] = this.completionRate;\n data[\"totalTasks\"] = this.totalTasks;\n data[\"completedTasks\"] = this.completedTasks;\n return data;\n }\n}\n\nexport interface IAgentTaskCompletionStatusSummaryTopic {\n topicId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n agentTaskCompletionStatusSummaryTasks?: AgentTaskCompletionStatusSummaryTask[];\n completionRate?: number;\n totalTasks?: number;\n completedTasks?: number;\n}\n\nexport class AgentTaskCompletionStatusSummaryTask implements IAgentTaskCompletionStatusSummaryTask {\n taskId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n completionRate?: number;\n\n constructor(data?: IAgentTaskCompletionStatusSummaryTask) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.taskId = _data[\"taskId\"];\n this.name = _data[\"name\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n this.completionRate = _data[\"completionRate\"];\n }\n }\n\n static fromJS(data: any): AgentTaskCompletionStatusSummaryTask {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskCompletionStatusSummaryTask();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"taskId\"] = this.taskId;\n data[\"name\"] = this.name;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n data[\"completionRate\"] = this.completionRate;\n return data;\n }\n}\n\nexport interface IAgentTaskCompletionStatusSummaryTask {\n taskId?: string;\n name?: string | undefined;\n completedOn?: Date | undefined;\n completionRate?: number;\n}\n\nexport class PaginatedResponseOfReadModuleDto implements IPaginatedResponseOfReadModuleDto {\n results?: ReadModuleDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfReadModuleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ReadModuleDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfReadModuleDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfReadModuleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfReadModuleDto {\n results?: ReadModuleDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class ReadModuleDto implements IReadModuleDto {\n moduleId?: string;\n role?: AgentRole | undefined;\n name?: string | undefined;\n description?: string | undefined;\n moduleType?: ModuleType;\n order?: number;\n deletedOn?: Date | undefined;\n\n constructor(data?: IReadModuleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.moduleId = _data[\"moduleId\"];\n this.role = _data[\"role\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.moduleType = _data[\"moduleType\"];\n this.order = _data[\"order\"];\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ReadModuleDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReadModuleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"moduleId\"] = this.moduleId;\n data[\"role\"] = this.role;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"moduleType\"] = this.moduleType;\n data[\"order\"] = this.order;\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IReadModuleDto {\n moduleId?: string;\n role?: AgentRole | undefined;\n name?: string | undefined;\n description?: string | undefined;\n moduleType?: ModuleType;\n order?: number;\n deletedOn?: Date | undefined;\n}\n\nexport class PaginatedResponseOfReadTopicDto implements IPaginatedResponseOfReadTopicDto {\n results?: ReadTopicDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfReadTopicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ReadTopicDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfReadTopicDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfReadTopicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfReadTopicDto {\n results?: ReadTopicDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class ReadTopicDto implements IReadTopicDto {\n topicId?: string;\n moduleId?: string;\n name?: string | undefined;\n description?: string | undefined;\n order?: number;\n deletedOn?: Date | undefined;\n\n constructor(data?: IReadTopicDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicId = _data[\"topicId\"];\n this.moduleId = _data[\"moduleId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.order = _data[\"order\"];\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ReadTopicDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReadTopicDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicId\"] = this.topicId;\n data[\"moduleId\"] = this.moduleId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"order\"] = this.order;\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IReadTopicDto {\n topicId?: string;\n moduleId?: string;\n name?: string | undefined;\n description?: string | undefined;\n order?: number;\n deletedOn?: Date | undefined;\n}\n\nexport class PaginatedResponseOfReadTaskDto implements IPaginatedResponseOfReadTaskDto {\n results?: ReadTaskDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfReadTaskDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(ReadTaskDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfReadTaskDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfReadTaskDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfReadTaskDto {\n results?: ReadTaskDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class ReadTaskDto implements IReadTaskDto {\n topicId?: string;\n taskId?: string;\n name?: string | undefined;\n description?: string | undefined;\n order?: number;\n taskType?: TaskType;\n blobId?: string | undefined;\n content?: string | undefined;\n externalUrl?: string | undefined;\n deletedOn?: Date | undefined;\n\n constructor(data?: IReadTaskDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicId = _data[\"topicId\"];\n this.taskId = _data[\"taskId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.order = _data[\"order\"];\n this.taskType = _data[\"taskType\"];\n this.blobId = _data[\"blobId\"];\n this.content = _data[\"content\"];\n this.externalUrl = _data[\"externalUrl\"];\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ReadTaskDto {\n data = typeof data === 'object' ? data : {};\n let result = new ReadTaskDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicId\"] = this.topicId;\n data[\"taskId\"] = this.taskId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"order\"] = this.order;\n data[\"taskType\"] = this.taskType;\n data[\"blobId\"] = this.blobId;\n data[\"content\"] = this.content;\n data[\"externalUrl\"] = this.externalUrl;\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IReadTaskDto {\n topicId?: string;\n taskId?: string;\n name?: string | undefined;\n description?: string | undefined;\n order?: number;\n taskType?: TaskType;\n blobId?: string | undefined;\n content?: string | undefined;\n externalUrl?: string | undefined;\n deletedOn?: Date | undefined;\n}\n\nexport class AgentTaskViewCompleteDto implements IAgentTaskViewCompleteDto {\n tasksStatus?: TasksStatusDto | undefined;\n taskBasic?: AgentTaskViewDto | undefined;\n taskExtra?: AgentTaskViewExtraDto | undefined;\n\n constructor(data?: IAgentTaskViewCompleteDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tasksStatus = _data[\"tasksStatus\"] ? TasksStatusDto.fromJS(_data[\"tasksStatus\"]) : undefined;\n this.taskBasic = _data[\"taskBasic\"] ? AgentTaskViewDto.fromJS(_data[\"taskBasic\"]) : undefined;\n this.taskExtra = _data[\"taskExtra\"] ? AgentTaskViewExtraDto.fromJS(_data[\"taskExtra\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AgentTaskViewCompleteDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskViewCompleteDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tasksStatus\"] = this.tasksStatus ? this.tasksStatus.toJSON() : undefined;\n data[\"taskBasic\"] = this.taskBasic ? this.taskBasic.toJSON() : undefined;\n data[\"taskExtra\"] = this.taskExtra ? this.taskExtra.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IAgentTaskViewCompleteDto {\n tasksStatus?: TasksStatusDto | undefined;\n taskBasic?: AgentTaskViewDto | undefined;\n taskExtra?: AgentTaskViewExtraDto | undefined;\n}\n\nexport class TasksStatusDto implements ITasksStatusDto {\n totalTasks?: number;\n completedTasks?: number;\n\n constructor(data?: ITasksStatusDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.totalTasks = _data[\"totalTasks\"];\n this.completedTasks = _data[\"completedTasks\"];\n }\n }\n\n static fromJS(data: any): TasksStatusDto {\n data = typeof data === 'object' ? data : {};\n let result = new TasksStatusDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"totalTasks\"] = this.totalTasks;\n data[\"completedTasks\"] = this.completedTasks;\n return data;\n }\n}\n\nexport interface ITasksStatusDto {\n totalTasks?: number;\n completedTasks?: number;\n}\n\nexport class AgentTaskViewDto implements IAgentTaskViewDto {\n taskId?: string;\n name?: string | undefined;\n description?: string | undefined;\n taskType?: TaskType;\n order?: number;\n completed?: boolean;\n\n constructor(data?: IAgentTaskViewDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.taskId = _data[\"taskId\"];\n this.name = _data[\"name\"];\n this.description = _data[\"description\"];\n this.taskType = _data[\"taskType\"];\n this.order = _data[\"order\"];\n this.completed = _data[\"completed\"];\n }\n }\n\n static fromJS(data: any): AgentTaskViewDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskViewDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"taskId\"] = this.taskId;\n data[\"name\"] = this.name;\n data[\"description\"] = this.description;\n data[\"taskType\"] = this.taskType;\n data[\"order\"] = this.order;\n data[\"completed\"] = this.completed;\n return data;\n }\n}\n\nexport interface IAgentTaskViewDto {\n taskId?: string;\n name?: string | undefined;\n description?: string | undefined;\n taskType?: TaskType;\n order?: number;\n completed?: boolean;\n}\n\nexport class AgentTaskViewExtraDto implements IAgentTaskViewExtraDto {\n blobId?: string | undefined;\n externalUrl?: string | undefined;\n moduleName?: string | undefined;\n topicName?: string | undefined;\n\n constructor(data?: IAgentTaskViewExtraDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.blobId = _data[\"blobId\"];\n this.externalUrl = _data[\"externalUrl\"];\n this.moduleName = _data[\"moduleName\"];\n this.topicName = _data[\"topicName\"];\n }\n }\n\n static fromJS(data: any): AgentTaskViewExtraDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTaskViewExtraDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"blobId\"] = this.blobId;\n data[\"externalUrl\"] = this.externalUrl;\n data[\"moduleName\"] = this.moduleName;\n data[\"topicName\"] = this.topicName;\n return data;\n }\n}\n\nexport interface IAgentTaskViewExtraDto {\n blobId?: string | undefined;\n externalUrl?: string | undefined;\n moduleName?: string | undefined;\n topicName?: string | undefined;\n}\n\nexport class PaginatedResponseOfAgentModuleDto implements IPaginatedResponseOfAgentModuleDto {\n results?: AgentModuleDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n\n constructor(data?: IPaginatedResponseOfAgentModuleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"results\"])) {\n this.results = [] as any;\n for (let item of _data[\"results\"])\n this.results!.push(AgentModuleDto.fromJS(item));\n }\n this.total = _data[\"total\"];\n this.taken = _data[\"taken\"];\n this.skipped = _data[\"skipped\"];\n }\n }\n\n static fromJS(data: any): PaginatedResponseOfAgentModuleDto {\n data = typeof data === 'object' ? data : {};\n let result = new PaginatedResponseOfAgentModuleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.results)) {\n data[\"results\"] = [];\n for (let item of this.results)\n data[\"results\"].push(item.toJSON());\n }\n data[\"total\"] = this.total;\n data[\"taken\"] = this.taken;\n data[\"skipped\"] = this.skipped;\n return data;\n }\n}\n\nexport interface IPaginatedResponseOfAgentModuleDto {\n results?: AgentModuleDto[] | undefined;\n total?: number | undefined;\n taken?: number | undefined;\n skipped?: number | undefined;\n}\n\nexport class AgentModuleDto implements IAgentModuleDto {\n module?: AgentModuleViewDto | undefined;\n tasksStatus?: TasksStatusDto | undefined;\n moduleStatus?: AgentModuleCompletionStatusDto | undefined;\n\n constructor(data?: IAgentModuleDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.module = _data[\"module\"] ? AgentModuleViewDto.fromJS(_data[\"module\"]) : undefined;\n this.tasksStatus = _data[\"tasksStatus\"] ? TasksStatusDto.fromJS(_data[\"tasksStatus\"]) : undefined;\n this.moduleStatus = _data[\"moduleStatus\"] ? AgentModuleCompletionStatusDto.fromJS(_data[\"moduleStatus\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AgentModuleDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentModuleDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"module\"] = this.module ? this.module.toJSON() : undefined;\n data[\"tasksStatus\"] = this.tasksStatus ? this.tasksStatus.toJSON() : undefined;\n data[\"moduleStatus\"] = this.moduleStatus ? this.moduleStatus.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IAgentModuleDto {\n module?: AgentModuleViewDto | undefined;\n tasksStatus?: TasksStatusDto | undefined;\n moduleStatus?: AgentModuleCompletionStatusDto | undefined;\n}\n\nexport class AgentModuleViewDto implements IAgentModuleViewDto {\n moduleId?: string;\n moduleName?: string | undefined;\n moduleDescription?: string | undefined;\n moduleType?: ModuleType | undefined;\n agentModuleTopics?: AgentTopicViewDto[] | undefined;\n\n constructor(data?: IAgentModuleViewDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.moduleId = _data[\"moduleId\"];\n this.moduleName = _data[\"moduleName\"];\n this.moduleDescription = _data[\"moduleDescription\"];\n this.moduleType = _data[\"moduleType\"];\n if (Array.isArray(_data[\"agentModuleTopics\"])) {\n this.agentModuleTopics = [] as any;\n for (let item of _data[\"agentModuleTopics\"])\n this.agentModuleTopics!.push(AgentTopicViewDto.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): AgentModuleViewDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentModuleViewDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"moduleId\"] = this.moduleId;\n data[\"moduleName\"] = this.moduleName;\n data[\"moduleDescription\"] = this.moduleDescription;\n data[\"moduleType\"] = this.moduleType;\n if (Array.isArray(this.agentModuleTopics)) {\n data[\"agentModuleTopics\"] = [];\n for (let item of this.agentModuleTopics)\n data[\"agentModuleTopics\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IAgentModuleViewDto {\n moduleId?: string;\n moduleName?: string | undefined;\n moduleDescription?: string | undefined;\n moduleType?: ModuleType | undefined;\n agentModuleTopics?: AgentTopicViewDto[] | undefined;\n}\n\nexport class AgentTopicViewDto implements IAgentTopicViewDto {\n topicId?: string;\n topicName?: string | undefined;\n topicDescription?: string | undefined;\n tasks?: AgentTaskViewDto[] | undefined;\n completed?: boolean;\n\n constructor(data?: IAgentTopicViewDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.topicId = _data[\"topicId\"];\n this.topicName = _data[\"topicName\"];\n this.topicDescription = _data[\"topicDescription\"];\n if (Array.isArray(_data[\"tasks\"])) {\n this.tasks = [] as any;\n for (let item of _data[\"tasks\"])\n this.tasks!.push(AgentTaskViewDto.fromJS(item));\n }\n this.completed = _data[\"completed\"];\n }\n }\n\n static fromJS(data: any): AgentTopicViewDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentTopicViewDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"topicId\"] = this.topicId;\n data[\"topicName\"] = this.topicName;\n data[\"topicDescription\"] = this.topicDescription;\n if (Array.isArray(this.tasks)) {\n data[\"tasks\"] = [];\n for (let item of this.tasks)\n data[\"tasks\"].push(item.toJSON());\n }\n data[\"completed\"] = this.completed;\n return data;\n }\n}\n\nexport interface IAgentTopicViewDto {\n topicId?: string;\n topicName?: string | undefined;\n topicDescription?: string | undefined;\n tasks?: AgentTaskViewDto[] | undefined;\n completed?: boolean;\n}\n\nexport class AgentModuleCompletionStatusDto implements IAgentModuleCompletionStatusDto {\n completed?: boolean;\n completedOn?: Date | undefined;\n\n constructor(data?: IAgentModuleCompletionStatusDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.completed = _data[\"completed\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AgentModuleCompletionStatusDto {\n data = typeof data === 'object' ? data : {};\n let result = new AgentModuleCompletionStatusDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"completed\"] = this.completed;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAgentModuleCompletionStatusDto {\n completed?: boolean;\n completedOn?: Date | undefined;\n}\n\nexport class CompletePhoneWrapUpModel implements ICompletePhoneWrapUpModel {\n patientId?: string | undefined;\n studyId?: string;\n\n constructor(data?: ICompletePhoneWrapUpModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientId = _data[\"patientId\"];\n this.studyId = _data[\"studyId\"];\n }\n }\n\n static fromJS(data: any): CompletePhoneWrapUpModel {\n data = typeof data === 'object' ? data : {};\n let result = new CompletePhoneWrapUpModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientId\"] = this.patientId;\n data[\"studyId\"] = this.studyId;\n return data;\n }\n}\n\nexport interface ICompletePhoneWrapUpModel {\n patientId?: string | undefined;\n studyId?: string;\n}\n\nexport class PhoneWrapUpPendingResult implements IPhoneWrapUpPendingResult {\n phoneCallRecordId?: string;\n createdOn?: Date;\n phoneStartedOn?: Date;\n phoneNumber?: string | undefined;\n\n constructor(data?: IPhoneWrapUpPendingResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.phoneCallRecordId = _data[\"phoneCallRecordId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.phoneStartedOn = _data[\"phoneStartedOn\"] ? new Date(_data[\"phoneStartedOn\"].toString()) : undefined;\n this.phoneNumber = _data[\"phoneNumber\"];\n }\n }\n\n static fromJS(data: any): PhoneWrapUpPendingResult {\n data = typeof data === 'object' ? data : {};\n let result = new PhoneWrapUpPendingResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"phoneCallRecordId\"] = this.phoneCallRecordId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"phoneStartedOn\"] = this.phoneStartedOn ? this.phoneStartedOn.toISOString() : undefined;\n data[\"phoneNumber\"] = this.phoneNumber;\n return data;\n }\n}\n\nexport interface IPhoneWrapUpPendingResult {\n phoneCallRecordId?: string;\n createdOn?: Date;\n phoneStartedOn?: Date;\n phoneNumber?: string | undefined;\n}\n\nexport class UserContextResult implements IUserContextResult {\n id?: string;\n isAdmin?: boolean;\n isInternalAdmin?: boolean;\n status?: UserStatusResult | undefined;\n\n constructor(data?: IUserContextResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.isAdmin = _data[\"isAdmin\"];\n this.isInternalAdmin = _data[\"isInternalAdmin\"];\n this.status = _data[\"status\"] ? UserStatusResult.fromJS(_data[\"status\"]) : undefined;\n }\n }\n\n static fromJS(data: any): UserContextResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserContextResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"isAdmin\"] = this.isAdmin;\n data[\"isInternalAdmin\"] = this.isInternalAdmin;\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IUserContextResult {\n id?: string;\n isAdmin?: boolean;\n isInternalAdmin?: boolean;\n status?: UserStatusResult | undefined;\n}\n\nexport class UserStatusResult implements IUserStatusResult {\n id?: string;\n statusId?: string;\n expiresOn?: Date | undefined;\n\n constructor(data?: IUserStatusResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.statusId = _data[\"statusId\"];\n this.expiresOn = _data[\"expiresOn\"] ? new Date(_data[\"expiresOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UserStatusResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserStatusResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"statusId\"] = this.statusId;\n data[\"expiresOn\"] = this.expiresOn ? this.expiresOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IUserStatusResult {\n id?: string;\n statusId?: string;\n expiresOn?: Date | undefined;\n}\n\nexport class SetUserIsEnabledModel implements ISetUserIsEnabledModel {\n isEnabled?: boolean;\n\n constructor(data?: ISetUserIsEnabledModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n }\n }\n\n static fromJS(data: any): SetUserIsEnabledModel {\n data = typeof data === 'object' ? data : {};\n let result = new SetUserIsEnabledModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n return data;\n }\n}\n\nexport interface ISetUserIsEnabledModel {\n isEnabled?: boolean;\n}\n\nexport class SetUserStatusModel implements ISetUserStatusModel {\n statusId?: string;\n\n constructor(data?: ISetUserStatusModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.statusId = _data[\"statusId\"];\n }\n }\n\n static fromJS(data: any): SetUserStatusModel {\n data = typeof data === 'object' ? data : {};\n let result = new SetUserStatusModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"statusId\"] = this.statusId;\n return data;\n }\n}\n\nexport interface ISetUserStatusModel {\n statusId?: string;\n}\n\nexport class ExtendExpirationModel implements IExtendExpirationModel {\n minutes?: number;\n\n constructor(data?: IExtendExpirationModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.minutes = _data[\"minutes\"];\n }\n }\n\n static fromJS(data: any): ExtendExpirationModel {\n data = typeof data === 'object' ? data : {};\n let result = new ExtendExpirationModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"minutes\"] = this.minutes;\n return data;\n }\n}\n\nexport interface IExtendExpirationModel {\n minutes?: number;\n}\n\nexport class UserStatusHistoryResult extends UserStatusResult implements IUserStatusHistoryResult {\n createdOn?: Date;\n supersededByUserStatusId?: string | undefined;\n\n constructor(data?: IUserStatusHistoryResult) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.supersededByUserStatusId = _data[\"supersededByUserStatusId\"];\n }\n }\n\n static fromJS(data: any): UserStatusHistoryResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserStatusHistoryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"supersededByUserStatusId\"] = this.supersededByUserStatusId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserStatusHistoryResult extends IUserStatusResult {\n createdOn?: Date;\n supersededByUserStatusId?: string | undefined;\n}\n\nexport class SetUserRolesModel implements ISetUserRolesModel {\n userId?: string;\n roleIds?: string[] | undefined;\n\n constructor(data?: ISetUserRolesModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n if (Array.isArray(_data[\"roleIds\"])) {\n this.roleIds = [] as any;\n for (let item of _data[\"roleIds\"])\n this.roleIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SetUserRolesModel {\n data = typeof data === 'object' ? data : {};\n let result = new SetUserRolesModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n if (Array.isArray(this.roleIds)) {\n data[\"roleIds\"] = [];\n for (let item of this.roleIds)\n data[\"roleIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISetUserRolesModel {\n userId?: string;\n roleIds?: string[] | undefined;\n}\n\nexport class TaskItemResult implements ITaskItemResult {\n id?: string;\n studyId?: string;\n userId?: string | undefined;\n isArchived?: boolean;\n label?: string | undefined;\n source?: TaskSourceResult | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: ITaskItemResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"TaskItemResult\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.studyId = _data[\"studyId\"];\n this.userId = _data[\"userId\"];\n this.isArchived = _data[\"isArchived\"];\n this.label = _data[\"label\"];\n this.source = _data[\"source\"] ? TaskSourceResult.fromJS(_data[\"source\"]) : undefined;\n }\n }\n\n static fromJS(data: any): TaskItemResult {\n data = typeof data === 'object' ? data : {};\n if (data[\"discriminator\"] === \"CallbackTaskResult\") {\n let result = new CallbackTaskResult();\n result.init(data);\n return result;\n }\n let result = new TaskItemResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"discriminator\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"studyId\"] = this.studyId;\n data[\"userId\"] = this.userId;\n data[\"isArchived\"] = this.isArchived;\n data[\"label\"] = this.label;\n data[\"source\"] = this.source ? this.source.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ITaskItemResult {\n id?: string;\n studyId?: string;\n userId?: string | undefined;\n isArchived?: boolean;\n label?: string | undefined;\n source?: TaskSourceResult | undefined;\n}\n\nexport class CallbackTaskResult extends TaskItemResult implements ICallbackTaskResult {\n studyName?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n phoneNumber?: string | undefined;\n email?: string | undefined;\n language?: string | undefined;\n callAttemptCount?: number;\n startDate?: Date;\n endDate?: Date;\n callbackType?: CallType;\n onlineMeetingId?: string | undefined;\n onlineMeetingJoinWebUrl?: string | undefined;\n handlingUserId?: string | undefined;\n completedUserId?: string | undefined;\n activeStateId?: string;\n patientID?: string;\n uniqueId?: string | undefined;\n isHcpCall?: boolean;\n isAsap?: boolean;\n serviceRating?: number | undefined;\n confidenceRating?: number | undefined;\n recommendationRating?: number | undefined;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n isComplete?: boolean;\n patientJoinedVideoCallOn?: Date | undefined;\n stateLastUpdateOn?: Date;\n durationOptionLabel?: string | undefined;\n interactionTypeOption?: StudyCallDurationOptionResult | undefined;\n\n constructor(data?: ICallbackTaskResult) {\n super(data);\n this._discriminator = \"CallbackTaskResult\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.studyName = _data[\"studyName\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.email = _data[\"email\"];\n this.language = _data[\"language\"];\n this.callAttemptCount = _data[\"callAttemptCount\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.callbackType = _data[\"callbackType\"];\n this.onlineMeetingId = _data[\"onlineMeetingId\"];\n this.onlineMeetingJoinWebUrl = _data[\"onlineMeetingJoinWebUrl\"];\n this.handlingUserId = _data[\"handlingUserId\"];\n this.completedUserId = _data[\"completedUserId\"];\n this.activeStateId = _data[\"activeStateId\"];\n this.patientID = _data[\"patientID\"];\n this.uniqueId = _data[\"uniqueId\"];\n this.isHcpCall = _data[\"isHcpCall\"];\n this.isAsap = _data[\"isAsap\"];\n this.serviceRating = _data[\"serviceRating\"];\n this.confidenceRating = _data[\"confidenceRating\"];\n this.recommendationRating = _data[\"recommendationRating\"];\n this.timeZone = _data[\"timeZone\"];\n this.isVoicemailConsented = _data[\"isVoicemailConsented\"];\n this.isComplete = _data[\"isComplete\"];\n this.patientJoinedVideoCallOn = _data[\"patientJoinedVideoCallOn\"] ? new Date(_data[\"patientJoinedVideoCallOn\"].toString()) : undefined;\n this.stateLastUpdateOn = _data[\"stateLastUpdateOn\"] ? new Date(_data[\"stateLastUpdateOn\"].toString()) : undefined;\n this.durationOptionLabel = _data[\"durationOptionLabel\"];\n this.interactionTypeOption = _data[\"interactionTypeOption\"] ? StudyCallDurationOptionResult.fromJS(_data[\"interactionTypeOption\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CallbackTaskResult {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackTaskResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyName\"] = this.studyName;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"email\"] = this.email;\n data[\"language\"] = this.language;\n data[\"callAttemptCount\"] = this.callAttemptCount;\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\n data[\"callbackType\"] = this.callbackType;\n data[\"onlineMeetingId\"] = this.onlineMeetingId;\n data[\"onlineMeetingJoinWebUrl\"] = this.onlineMeetingJoinWebUrl;\n data[\"handlingUserId\"] = this.handlingUserId;\n data[\"completedUserId\"] = this.completedUserId;\n data[\"activeStateId\"] = this.activeStateId;\n data[\"patientID\"] = this.patientID;\n data[\"uniqueId\"] = this.uniqueId;\n data[\"isHcpCall\"] = this.isHcpCall;\n data[\"isAsap\"] = this.isAsap;\n data[\"serviceRating\"] = this.serviceRating;\n data[\"confidenceRating\"] = this.confidenceRating;\n data[\"recommendationRating\"] = this.recommendationRating;\n data[\"timeZone\"] = this.timeZone;\n data[\"isVoicemailConsented\"] = this.isVoicemailConsented;\n data[\"isComplete\"] = this.isComplete;\n data[\"patientJoinedVideoCallOn\"] = this.patientJoinedVideoCallOn ? this.patientJoinedVideoCallOn.toISOString() : undefined;\n data[\"stateLastUpdateOn\"] = this.stateLastUpdateOn ? this.stateLastUpdateOn.toISOString() : undefined;\n data[\"durationOptionLabel\"] = this.durationOptionLabel;\n data[\"interactionTypeOption\"] = this.interactionTypeOption ? this.interactionTypeOption.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICallbackTaskResult extends ITaskItemResult {\n studyName?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n phoneNumber?: string | undefined;\n email?: string | undefined;\n language?: string | undefined;\n callAttemptCount?: number;\n startDate?: Date;\n endDate?: Date;\n callbackType?: CallType;\n onlineMeetingId?: string | undefined;\n onlineMeetingJoinWebUrl?: string | undefined;\n handlingUserId?: string | undefined;\n completedUserId?: string | undefined;\n activeStateId?: string;\n patientID?: string;\n uniqueId?: string | undefined;\n isHcpCall?: boolean;\n isAsap?: boolean;\n serviceRating?: number | undefined;\n confidenceRating?: number | undefined;\n recommendationRating?: number | undefined;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n isComplete?: boolean;\n patientJoinedVideoCallOn?: Date | undefined;\n stateLastUpdateOn?: Date;\n durationOptionLabel?: string | undefined;\n interactionTypeOption?: StudyCallDurationOptionResult | undefined;\n}\n\nexport class StudyCallDurationOptionResult implements IStudyCallDurationOptionResult {\n id?: string;\n studyId?: string;\n callType?: CallType | undefined;\n name?: string | undefined;\n displayOrder?: number;\n durationMinutes?: number;\n schedulesPatientCallTask?: boolean;\n\n constructor(data?: IStudyCallDurationOptionResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.studyId = _data[\"studyId\"];\n this.callType = _data[\"callType\"];\n this.name = _data[\"name\"];\n this.displayOrder = _data[\"displayOrder\"];\n this.durationMinutes = _data[\"durationMinutes\"];\n this.schedulesPatientCallTask = _data[\"schedulesPatientCallTask\"];\n }\n }\n\n static fromJS(data: any): StudyCallDurationOptionResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyCallDurationOptionResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"studyId\"] = this.studyId;\n data[\"callType\"] = this.callType;\n data[\"name\"] = this.name;\n data[\"displayOrder\"] = this.displayOrder;\n data[\"durationMinutes\"] = this.durationMinutes;\n data[\"schedulesPatientCallTask\"] = this.schedulesPatientCallTask;\n return data;\n }\n}\n\nexport interface IStudyCallDurationOptionResult {\n id?: string;\n studyId?: string;\n callType?: CallType | undefined;\n name?: string | undefined;\n displayOrder?: number;\n durationMinutes?: number;\n schedulesPatientCallTask?: boolean;\n}\n\nexport class TaskSourceResult implements ITaskSourceResult {\n sourceType?: SourceType;\n\n constructor(data?: ITaskSourceResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sourceType = _data[\"sourceType\"];\n }\n }\n\n static fromJS(data: any): TaskSourceResult {\n data = typeof data === 'object' ? data : {};\n let result = new TaskSourceResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sourceType\"] = this.sourceType;\n return data;\n }\n}\n\nexport interface ITaskSourceResult {\n sourceType?: SourceType;\n}\n\nexport enum SourceType {\n Other = 0,\n Microsite = 1,\n}\n\nexport class UpdateTaskStateModel implements IUpdateTaskStateModel {\n note?: string | undefined;\n sendSatisfactionSurvey?: boolean;\n\n constructor(data?: IUpdateTaskStateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.note = _data[\"note\"];\n this.sendSatisfactionSurvey = _data[\"sendSatisfactionSurvey\"];\n }\n }\n\n static fromJS(data: any): UpdateTaskStateModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateTaskStateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"note\"] = this.note;\n data[\"sendSatisfactionSurvey\"] = this.sendSatisfactionSurvey;\n return data;\n }\n}\n\nexport interface IUpdateTaskStateModel {\n note?: string | undefined;\n sendSatisfactionSurvey?: boolean;\n}\n\nexport class CreateCallbackAttemptModel extends UpdateTaskStateModel implements ICreateCallbackAttemptModel {\n\n constructor(data?: ICreateCallbackAttemptModel) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): CreateCallbackAttemptModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCallbackAttemptModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICreateCallbackAttemptModel extends IUpdateTaskStateModel {\n}\n\nexport class TaskStateResult implements ITaskStateResult {\n id?: string;\n username?: string | undefined;\n createdOn?: Date;\n note?: string | undefined;\n isArchived?: boolean;\n isCallAttempt?: boolean;\n isUserHandle?: boolean;\n isComplete?: boolean;\n\n constructor(data?: ITaskStateResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.username = _data[\"username\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.note = _data[\"note\"];\n this.isArchived = _data[\"isArchived\"];\n this.isCallAttempt = _data[\"isCallAttempt\"];\n this.isUserHandle = _data[\"isUserHandle\"];\n this.isComplete = _data[\"isComplete\"];\n }\n }\n\n static fromJS(data: any): TaskStateResult {\n data = typeof data === 'object' ? data : {};\n let result = new TaskStateResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"username\"] = this.username;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"note\"] = this.note;\n data[\"isArchived\"] = this.isArchived;\n data[\"isCallAttempt\"] = this.isCallAttempt;\n data[\"isUserHandle\"] = this.isUserHandle;\n data[\"isComplete\"] = this.isComplete;\n return data;\n }\n}\n\nexport interface ITaskStateResult {\n id?: string;\n username?: string | undefined;\n createdOn?: Date;\n note?: string | undefined;\n isArchived?: boolean;\n isCallAttempt?: boolean;\n isUserHandle?: boolean;\n isComplete?: boolean;\n}\n\nexport class ValueTupleOfStringAndBoolean implements IValueTupleOfStringAndBoolean {\n item1?: string;\n item2?: boolean;\n\n constructor(data?: IValueTupleOfStringAndBoolean) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.item1 = _data[\"item1\"];\n this.item2 = _data[\"item2\"];\n }\n }\n\n static fromJS(data: any): ValueTupleOfStringAndBoolean {\n data = typeof data === 'object' ? data : {};\n let result = new ValueTupleOfStringAndBoolean();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"item1\"] = this.item1;\n data[\"item2\"] = this.item2;\n return data;\n }\n}\n\nexport interface IValueTupleOfStringAndBoolean {\n item1?: string;\n item2?: boolean;\n}\n\nexport class CallRatingModel implements ICallRatingModel {\n serviceRating?: number;\n confidenceRating?: number;\n recommendationRating?: number;\n\n constructor(data?: ICallRatingModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.serviceRating = _data[\"serviceRating\"];\n this.confidenceRating = _data[\"confidenceRating\"];\n this.recommendationRating = _data[\"recommendationRating\"];\n }\n }\n\n static fromJS(data: any): CallRatingModel {\n data = typeof data === 'object' ? data : {};\n let result = new CallRatingModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"serviceRating\"] = this.serviceRating;\n data[\"confidenceRating\"] = this.confidenceRating;\n data[\"recommendationRating\"] = this.recommendationRating;\n return data;\n }\n}\n\nexport interface ICallRatingModel {\n serviceRating?: number;\n confidenceRating?: number;\n recommendationRating?: number;\n}\n\nexport class HandleTaskModel implements IHandleTaskModel {\n originalTaskItemId?: string;\n\n constructor(data?: IHandleTaskModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.originalTaskItemId = _data[\"originalTaskItemId\"];\n }\n }\n\n static fromJS(data: any): HandleTaskModel {\n data = typeof data === 'object' ? data : {};\n let result = new HandleTaskModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"originalTaskItemId\"] = this.originalTaskItemId;\n return data;\n }\n}\n\nexport interface IHandleTaskModel {\n originalTaskItemId?: string;\n}\n\nexport class CreateCallbackTaskModel implements ICreateCallbackTaskModel {\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n language?: string | undefined;\n startDate?: Date;\n endDate?: Date;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n callbackType?: CallType;\n studyId?: string;\n label?: string | undefined;\n reminderIntervalsInMinutes?: number[] | undefined;\n isAsap?: boolean;\n\n constructor(data?: ICreateCallbackTaskModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.language = _data[\"language\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n this.endDate = _data[\"endDate\"] ? new Date(_data[\"endDate\"].toString()) : undefined;\n this.timeZone = _data[\"timeZone\"];\n this.isVoicemailConsented = _data[\"isVoicemailConsented\"];\n this.callbackType = _data[\"callbackType\"];\n this.studyId = _data[\"studyId\"];\n this.label = _data[\"label\"];\n if (Array.isArray(_data[\"reminderIntervalsInMinutes\"])) {\n this.reminderIntervalsInMinutes = [] as any;\n for (let item of _data[\"reminderIntervalsInMinutes\"])\n this.reminderIntervalsInMinutes!.push(item);\n }\n this.isAsap = _data[\"isAsap\"];\n }\n }\n\n static fromJS(data: any): CreateCallbackTaskModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCallbackTaskModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"language\"] = this.language;\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString() : undefined;\n data[\"timeZone\"] = this.timeZone;\n data[\"isVoicemailConsented\"] = this.isVoicemailConsented;\n data[\"callbackType\"] = this.callbackType;\n data[\"studyId\"] = this.studyId;\n data[\"label\"] = this.label;\n if (Array.isArray(this.reminderIntervalsInMinutes)) {\n data[\"reminderIntervalsInMinutes\"] = [];\n for (let item of this.reminderIntervalsInMinutes)\n data[\"reminderIntervalsInMinutes\"].push(item);\n }\n data[\"isAsap\"] = this.isAsap;\n return data;\n }\n}\n\nexport interface ICreateCallbackTaskModel {\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n language?: string | undefined;\n startDate?: Date;\n endDate?: Date;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n callbackType?: CallType;\n studyId?: string;\n label?: string | undefined;\n reminderIntervalsInMinutes?: number[] | undefined;\n isAsap?: boolean;\n}\n\nexport class AgentCreateCallbackTaskModel extends CreateCallbackTaskModel implements IAgentCreateCallbackTaskModel {\n agentId?: string | undefined;\n patientId?: string | undefined;\n uniqueId?: string | undefined;\n\n constructor(data?: IAgentCreateCallbackTaskModel) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.patientId = _data[\"patientId\"];\n this.uniqueId = _data[\"uniqueId\"];\n }\n }\n\n static fromJS(data: any): AgentCreateCallbackTaskModel {\n data = typeof data === 'object' ? data : {};\n let result = new AgentCreateCallbackTaskModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"patientId\"] = this.patientId;\n data[\"uniqueId\"] = this.uniqueId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IAgentCreateCallbackTaskModel extends ICreateCallbackTaskModel {\n agentId?: string | undefined;\n patientId?: string | undefined;\n uniqueId?: string | undefined;\n}\n\nexport class CreateHcpCallResponse implements ICreateHcpCallResponse {\n outcome?: AppointmentOutcome;\n call?: CallbackTaskResult | undefined;\n\n constructor(data?: ICreateHcpCallResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.outcome = _data[\"outcome\"];\n this.call = _data[\"call\"] ? CallbackTaskResult.fromJS(_data[\"call\"]) : undefined;\n }\n }\n\n static fromJS(data: any): CreateHcpCallResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CreateHcpCallResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"outcome\"] = this.outcome;\n data[\"call\"] = this.call ? this.call.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface ICreateHcpCallResponse {\n outcome?: AppointmentOutcome;\n call?: CallbackTaskResult | undefined;\n}\n\nexport enum AppointmentOutcome {\n Success = 1,\n TimeNoLongerAvailable = 2,\n Error = 3,\n}\n\nexport class AgentCreateHcpCallbackTaskModel implements IAgentCreateHcpCallbackTaskModel {\n appointmentid?: string;\n agentId?: string;\n patientId?: string | undefined;\n uniqueId?: string | undefined;\n callDurationOptionId?: string;\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n language?: string | undefined;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n callbackType?: CallType;\n studyId?: string;\n label?: string | undefined;\n reminderIntervalsInMinutes?: number[] | undefined;\n\n constructor(data?: IAgentCreateHcpCallbackTaskModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appointmentid = _data[\"appointmentid\"];\n this.agentId = _data[\"agentId\"];\n this.patientId = _data[\"patientId\"];\n this.uniqueId = _data[\"uniqueId\"];\n this.callDurationOptionId = _data[\"callDurationOptionId\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.email = _data[\"email\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.language = _data[\"language\"];\n this.timeZone = _data[\"timeZone\"];\n this.isVoicemailConsented = _data[\"isVoicemailConsented\"];\n this.callbackType = _data[\"callbackType\"];\n this.studyId = _data[\"studyId\"];\n this.label = _data[\"label\"];\n if (Array.isArray(_data[\"reminderIntervalsInMinutes\"])) {\n this.reminderIntervalsInMinutes = [] as any;\n for (let item of _data[\"reminderIntervalsInMinutes\"])\n this.reminderIntervalsInMinutes!.push(item);\n }\n }\n }\n\n static fromJS(data: any): AgentCreateHcpCallbackTaskModel {\n data = typeof data === 'object' ? data : {};\n let result = new AgentCreateHcpCallbackTaskModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"appointmentid\"] = this.appointmentid;\n data[\"agentId\"] = this.agentId;\n data[\"patientId\"] = this.patientId;\n data[\"uniqueId\"] = this.uniqueId;\n data[\"callDurationOptionId\"] = this.callDurationOptionId;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"email\"] = this.email;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"language\"] = this.language;\n data[\"timeZone\"] = this.timeZone;\n data[\"isVoicemailConsented\"] = this.isVoicemailConsented;\n data[\"callbackType\"] = this.callbackType;\n data[\"studyId\"] = this.studyId;\n data[\"label\"] = this.label;\n if (Array.isArray(this.reminderIntervalsInMinutes)) {\n data[\"reminderIntervalsInMinutes\"] = [];\n for (let item of this.reminderIntervalsInMinutes)\n data[\"reminderIntervalsInMinutes\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IAgentCreateHcpCallbackTaskModel {\n appointmentid?: string;\n agentId?: string;\n patientId?: string | undefined;\n uniqueId?: string | undefined;\n callDurationOptionId?: string;\n firstName?: string | undefined;\n lastName?: string | undefined;\n email?: string | undefined;\n phoneNumber?: string | undefined;\n language?: string | undefined;\n timeZone?: string | undefined;\n isVoicemailConsented?: boolean;\n callbackType?: CallType;\n studyId?: string;\n label?: string | undefined;\n reminderIntervalsInMinutes?: number[] | undefined;\n}\n\nexport class CallAttemptConfigurationResult implements ICallAttemptConfigurationResult {\n callAttemptsBeforeArchive?: number;\n id?: string;\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n rescheduleCallIntervalMinutes?: number;\n\n constructor(data?: ICallAttemptConfigurationResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callAttemptsBeforeArchive = _data[\"callAttemptsBeforeArchive\"];\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.studyId = _data[\"studyId\"];\n this.callType = _data[\"callType\"];\n this.agentType = _data[\"agentType\"];\n this.rescheduleCallIntervalMinutes = _data[\"rescheduleCallIntervalMinutes\"];\n }\n }\n\n static fromJS(data: any): CallAttemptConfigurationResult {\n data = typeof data === 'object' ? data : {};\n let result = new CallAttemptConfigurationResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callAttemptsBeforeArchive\"] = this.callAttemptsBeforeArchive;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"studyId\"] = this.studyId;\n data[\"callType\"] = this.callType;\n data[\"agentType\"] = this.agentType;\n data[\"rescheduleCallIntervalMinutes\"] = this.rescheduleCallIntervalMinutes;\n return data;\n }\n}\n\nexport interface ICallAttemptConfigurationResult {\n callAttemptsBeforeArchive?: number;\n id?: string;\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n rescheduleCallIntervalMinutes?: number;\n}\n\nexport enum AgentType {\n HCP = 0,\n General = 1,\n}\n\nexport class StudyResult implements IStudyResult {\n id?: string;\n lumediStudyId?: string | undefined;\n name?: string;\n primaryColor?: string;\n\n constructor(data?: IStudyResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.lumediStudyId = _data[\"lumediStudyId\"];\n this.name = _data[\"name\"];\n this.primaryColor = _data[\"primaryColor\"];\n }\n }\n\n static fromJS(data: any): StudyResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"lumediStudyId\"] = this.lumediStudyId;\n data[\"name\"] = this.name;\n data[\"primaryColor\"] = this.primaryColor;\n return data;\n }\n}\n\nexport interface IStudyResult {\n id?: string;\n lumediStudyId?: string | undefined;\n name?: string;\n primaryColor?: string;\n}\n\nexport class UpdateStudyUserModel implements IUpdateStudyUserModel {\n isEnabled?: boolean;\n cultures?: string[] | undefined;\n mappings?: StudyUserMappingsModel[] | undefined;\n designations?: UpdateDesignationModel[] | undefined;\n\n constructor(data?: IUpdateStudyUserModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isEnabled = _data[\"isEnabled\"];\n if (Array.isArray(_data[\"cultures\"])) {\n this.cultures = [] as any;\n for (let item of _data[\"cultures\"])\n this.cultures!.push(item);\n }\n if (Array.isArray(_data[\"mappings\"])) {\n this.mappings = [] as any;\n for (let item of _data[\"mappings\"])\n this.mappings!.push(StudyUserMappingsModel.fromJS(item));\n }\n if (Array.isArray(_data[\"designations\"])) {\n this.designations = [] as any;\n for (let item of _data[\"designations\"])\n this.designations!.push(UpdateDesignationModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateStudyUserModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateStudyUserModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isEnabled\"] = this.isEnabled;\n if (Array.isArray(this.cultures)) {\n data[\"cultures\"] = [];\n for (let item of this.cultures)\n data[\"cultures\"].push(item);\n }\n if (Array.isArray(this.mappings)) {\n data[\"mappings\"] = [];\n for (let item of this.mappings)\n data[\"mappings\"].push(item.toJSON());\n }\n if (Array.isArray(this.designations)) {\n data[\"designations\"] = [];\n for (let item of this.designations)\n data[\"designations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateStudyUserModel {\n isEnabled?: boolean;\n cultures?: string[] | undefined;\n mappings?: StudyUserMappingsModel[] | undefined;\n designations?: UpdateDesignationModel[] | undefined;\n}\n\nexport class StudyUserMappingsModel implements IStudyUserMappingsModel {\n studyId?: string;\n isHcp?: boolean;\n isActive?: boolean;\n\n constructor(data?: IStudyUserMappingsModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.isHcp = _data[\"isHcp\"];\n this.isActive = _data[\"isActive\"];\n }\n }\n\n static fromJS(data: any): StudyUserMappingsModel {\n data = typeof data === 'object' ? data : {};\n let result = new StudyUserMappingsModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"isHcp\"] = this.isHcp;\n data[\"isActive\"] = this.isActive;\n return data;\n }\n}\n\nexport interface IStudyUserMappingsModel {\n studyId?: string;\n isHcp?: boolean;\n isActive?: boolean;\n}\n\nexport class UpdateDesignationModel implements IUpdateDesignationModel {\n cultureCode?: string | undefined;\n value?: string | undefined;\n\n constructor(data?: IUpdateDesignationModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.cultureCode = _data[\"cultureCode\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): UpdateDesignationModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDesignationModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"cultureCode\"] = this.cultureCode;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IUpdateDesignationModel {\n cultureCode?: string | undefined;\n value?: string | undefined;\n}\n\nexport class StudyEmailConfigurationResult implements IStudyEmailConfigurationResult {\n callRatingEmailTemplateId?: string | undefined;\n callRatingEmailSenderId?: string | undefined;\n videoAppointmentConfirmationEmailTemplateId?: string | undefined;\n phoneAppointmentConfirmationEmailTemplateId?: string | undefined;\n videoAppointmentReminderEmailTemplateId?: string | undefined;\n phoneAppointmentReminderEmailTemplateId?: string | undefined;\n appointmentConfirmationEmailSenderId?: string | undefined;\n appointmentReminderEmailSenderId?: string | undefined;\n\n constructor(data?: IStudyEmailConfigurationResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callRatingEmailTemplateId = _data[\"callRatingEmailTemplateId\"];\n this.callRatingEmailSenderId = _data[\"callRatingEmailSenderId\"];\n this.videoAppointmentConfirmationEmailTemplateId = _data[\"videoAppointmentConfirmationEmailTemplateId\"];\n this.phoneAppointmentConfirmationEmailTemplateId = _data[\"phoneAppointmentConfirmationEmailTemplateId\"];\n this.videoAppointmentReminderEmailTemplateId = _data[\"videoAppointmentReminderEmailTemplateId\"];\n this.phoneAppointmentReminderEmailTemplateId = _data[\"phoneAppointmentReminderEmailTemplateId\"];\n this.appointmentConfirmationEmailSenderId = _data[\"appointmentConfirmationEmailSenderId\"];\n this.appointmentReminderEmailSenderId = _data[\"appointmentReminderEmailSenderId\"];\n }\n }\n\n static fromJS(data: any): StudyEmailConfigurationResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyEmailConfigurationResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callRatingEmailTemplateId\"] = this.callRatingEmailTemplateId;\n data[\"callRatingEmailSenderId\"] = this.callRatingEmailSenderId;\n data[\"videoAppointmentConfirmationEmailTemplateId\"] = this.videoAppointmentConfirmationEmailTemplateId;\n data[\"phoneAppointmentConfirmationEmailTemplateId\"] = this.phoneAppointmentConfirmationEmailTemplateId;\n data[\"videoAppointmentReminderEmailTemplateId\"] = this.videoAppointmentReminderEmailTemplateId;\n data[\"phoneAppointmentReminderEmailTemplateId\"] = this.phoneAppointmentReminderEmailTemplateId;\n data[\"appointmentConfirmationEmailSenderId\"] = this.appointmentConfirmationEmailSenderId;\n data[\"appointmentReminderEmailSenderId\"] = this.appointmentReminderEmailSenderId;\n return data;\n }\n}\n\nexport interface IStudyEmailConfigurationResult {\n callRatingEmailTemplateId?: string | undefined;\n callRatingEmailSenderId?: string | undefined;\n videoAppointmentConfirmationEmailTemplateId?: string | undefined;\n phoneAppointmentConfirmationEmailTemplateId?: string | undefined;\n videoAppointmentReminderEmailTemplateId?: string | undefined;\n phoneAppointmentReminderEmailTemplateId?: string | undefined;\n appointmentConfirmationEmailSenderId?: string | undefined;\n appointmentReminderEmailSenderId?: string | undefined;\n}\n\nexport class UpdateStudyEmailConfigurationModel implements IUpdateStudyEmailConfigurationModel {\n callRatingEmailTemplateId?: string | undefined;\n callRatingEmailSenderId?: string | undefined;\n videoAppointmentConfirmationEmailTemplateId?: string | undefined;\n phoneAppointmentConfirmationEmailTemplateId?: string | undefined;\n videoAppointmentReminderEmailTemplateId?: string | undefined;\n phoneAppointmentReminderEmailTemplateId?: string | undefined;\n appointmentConfirmationEmailSenderId?: string | undefined;\n appointmentReminderEmailSenderId?: string | undefined;\n\n constructor(data?: IUpdateStudyEmailConfigurationModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callRatingEmailTemplateId = _data[\"callRatingEmailTemplateId\"];\n this.callRatingEmailSenderId = _data[\"callRatingEmailSenderId\"];\n this.videoAppointmentConfirmationEmailTemplateId = _data[\"videoAppointmentConfirmationEmailTemplateId\"];\n this.phoneAppointmentConfirmationEmailTemplateId = _data[\"phoneAppointmentConfirmationEmailTemplateId\"];\n this.videoAppointmentReminderEmailTemplateId = _data[\"videoAppointmentReminderEmailTemplateId\"];\n this.phoneAppointmentReminderEmailTemplateId = _data[\"phoneAppointmentReminderEmailTemplateId\"];\n this.appointmentConfirmationEmailSenderId = _data[\"appointmentConfirmationEmailSenderId\"];\n this.appointmentReminderEmailSenderId = _data[\"appointmentReminderEmailSenderId\"];\n }\n }\n\n static fromJS(data: any): UpdateStudyEmailConfigurationModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateStudyEmailConfigurationModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callRatingEmailTemplateId\"] = this.callRatingEmailTemplateId;\n data[\"callRatingEmailSenderId\"] = this.callRatingEmailSenderId;\n data[\"videoAppointmentConfirmationEmailTemplateId\"] = this.videoAppointmentConfirmationEmailTemplateId;\n data[\"phoneAppointmentConfirmationEmailTemplateId\"] = this.phoneAppointmentConfirmationEmailTemplateId;\n data[\"videoAppointmentReminderEmailTemplateId\"] = this.videoAppointmentReminderEmailTemplateId;\n data[\"phoneAppointmentReminderEmailTemplateId\"] = this.phoneAppointmentReminderEmailTemplateId;\n data[\"appointmentConfirmationEmailSenderId\"] = this.appointmentConfirmationEmailSenderId;\n data[\"appointmentReminderEmailSenderId\"] = this.appointmentReminderEmailSenderId;\n return data;\n }\n}\n\nexport interface IUpdateStudyEmailConfigurationModel {\n callRatingEmailTemplateId?: string | undefined;\n callRatingEmailSenderId?: string | undefined;\n videoAppointmentConfirmationEmailTemplateId?: string | undefined;\n phoneAppointmentConfirmationEmailTemplateId?: string | undefined;\n videoAppointmentReminderEmailTemplateId?: string | undefined;\n phoneAppointmentReminderEmailTemplateId?: string | undefined;\n appointmentConfirmationEmailSenderId?: string | undefined;\n appointmentReminderEmailSenderId?: string | undefined;\n}\n\nexport class RootStatusResult implements IRootStatusResult {\n id?: string;\n culture?: StatusCultureResult | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n order?: number;\n subStatuses?: StatusResult[] | undefined;\n duration?: string | undefined;\n\n constructor(data?: IRootStatusResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.culture = _data[\"culture\"] ? StatusCultureResult.fromJS(_data[\"culture\"]) : undefined;\n this.primaryColor = _data[\"primaryColor\"];\n this.secondaryColor = _data[\"secondaryColor\"];\n this.order = _data[\"order\"];\n if (Array.isArray(_data[\"subStatuses\"])) {\n this.subStatuses = [] as any;\n for (let item of _data[\"subStatuses\"])\n this.subStatuses!.push(StatusResult.fromJS(item));\n }\n this.duration = _data[\"duration\"];\n }\n }\n\n static fromJS(data: any): RootStatusResult {\n data = typeof data === 'object' ? data : {};\n let result = new RootStatusResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"culture\"] = this.culture ? this.culture.toJSON() : undefined;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"secondaryColor\"] = this.secondaryColor;\n data[\"order\"] = this.order;\n if (Array.isArray(this.subStatuses)) {\n data[\"subStatuses\"] = [];\n for (let item of this.subStatuses)\n data[\"subStatuses\"].push(item.toJSON());\n }\n data[\"duration\"] = this.duration;\n return data;\n }\n}\n\nexport interface IRootStatusResult {\n id?: string;\n culture?: StatusCultureResult | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n order?: number;\n subStatuses?: StatusResult[] | undefined;\n duration?: string | undefined;\n}\n\nexport class StatusCultureResult implements IStatusCultureResult {\n name?: string | undefined;\n isDefault?: boolean;\n cultureCode?: string | undefined;\n\n constructor(data?: IStatusCultureResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.isDefault = _data[\"isDefault\"];\n this.cultureCode = _data[\"cultureCode\"];\n }\n }\n\n static fromJS(data: any): StatusCultureResult {\n data = typeof data === 'object' ? data : {};\n let result = new StatusCultureResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"isDefault\"] = this.isDefault;\n data[\"cultureCode\"] = this.cultureCode;\n return data;\n }\n}\n\nexport interface IStatusCultureResult {\n name?: string | undefined;\n isDefault?: boolean;\n cultureCode?: string | undefined;\n}\n\nexport class StatusResult implements IStatusResult {\n id?: string;\n culture?: StatusCultureResult | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n order?: number;\n duration?: string | undefined;\n\n constructor(data?: IStatusResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.culture = _data[\"culture\"] ? StatusCultureResult.fromJS(_data[\"culture\"]) : undefined;\n this.primaryColor = _data[\"primaryColor\"];\n this.secondaryColor = _data[\"secondaryColor\"];\n this.order = _data[\"order\"];\n this.duration = _data[\"duration\"];\n }\n }\n\n static fromJS(data: any): StatusResult {\n data = typeof data === 'object' ? data : {};\n let result = new StatusResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"culture\"] = this.culture ? this.culture.toJSON() : undefined;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"secondaryColor\"] = this.secondaryColor;\n data[\"order\"] = this.order;\n data[\"duration\"] = this.duration;\n return data;\n }\n}\n\nexport interface IStatusResult {\n id?: string;\n culture?: StatusCultureResult | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n order?: number;\n duration?: string | undefined;\n}\n\nexport class NewStatusViewModel implements INewStatusViewModel {\n name?: string | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n\n constructor(data?: INewStatusViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.primaryColor = _data[\"primaryColor\"];\n this.secondaryColor = _data[\"secondaryColor\"];\n }\n }\n\n static fromJS(data: any): NewStatusViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new NewStatusViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"primaryColor\"] = this.primaryColor;\n data[\"secondaryColor\"] = this.secondaryColor;\n return data;\n }\n}\n\nexport interface INewStatusViewModel {\n name?: string | undefined;\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n}\n\nexport class UpdateStatusViewModel implements IUpdateStatusViewModel {\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n\n constructor(data?: IUpdateStatusViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.primaryColor = _data[\"primaryColor\"];\n this.secondaryColor = _data[\"secondaryColor\"];\n }\n }\n\n static fromJS(data: any): UpdateStatusViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateStatusViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"primaryColor\"] = this.primaryColor;\n data[\"secondaryColor\"] = this.secondaryColor;\n return data;\n }\n}\n\nexport interface IUpdateStatusViewModel {\n primaryColor?: string | undefined;\n secondaryColor?: string | undefined;\n}\n\nexport class UpdateDurationStatusViewModel extends UpdateStatusViewModel implements IUpdateDurationStatusViewModel {\n duration?: string;\n\n constructor(data?: IUpdateDurationStatusViewModel) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.duration = _data[\"duration\"];\n }\n }\n\n static fromJS(data: any): UpdateDurationStatusViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateDurationStatusViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"duration\"] = this.duration;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUpdateDurationStatusViewModel extends IUpdateStatusViewModel {\n duration?: string;\n}\n\nexport class NewDurationStatusViewModel extends NewStatusViewModel implements INewDurationStatusViewModel {\n duration?: string;\n\n constructor(data?: INewDurationStatusViewModel) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.duration = _data[\"duration\"];\n }\n }\n\n static fromJS(data: any): NewDurationStatusViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new NewDurationStatusViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"duration\"] = this.duration;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface INewDurationStatusViewModel extends INewStatusViewModel {\n duration?: string;\n}\n\nexport class UpdateStatusCultureViewModel implements IUpdateStatusCultureViewModel {\n name?: string | undefined;\n\n constructor(data?: IUpdateStatusCultureViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateStatusCultureViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateStatusCultureViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateStatusCultureViewModel {\n name?: string | undefined;\n}\n\nexport class RoleResult implements IRoleResult {\n id?: string;\n name?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IRoleResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"RoleResult\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): RoleResult {\n data = typeof data === 'object' ? data : {};\n if (data[\"discriminator\"] === \"CallbackRoleResult\") {\n let result = new CallbackRoleResult();\n result.init(data);\n return result;\n }\n let result = new RoleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"discriminator\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IRoleResult {\n id?: string;\n name?: string | undefined;\n}\n\nexport class CallbackRoleResult extends RoleResult implements ICallbackRoleResult {\n studyId?: string;\n permissions?: PermissionResult[];\n\n constructor(data?: ICallbackRoleResult) {\n super(data);\n this._discriminator = \"CallbackRoleResult\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.studyId = _data[\"studyId\"];\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CallbackRoleResult {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackRoleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICallbackRoleResult extends IRoleResult {\n studyId?: string;\n permissions?: PermissionResult[];\n}\n\nexport class PermissionResult implements IPermissionResult {\n name?: string | undefined;\n id?: string;\n permissionType?: PermissionType;\n\n constructor(data?: IPermissionResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.id = _data[\"id\"];\n this.permissionType = _data[\"permissionType\"];\n }\n }\n\n static fromJS(data: any): PermissionResult {\n data = typeof data === 'object' ? data : {};\n let result = new PermissionResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"id\"] = this.id;\n data[\"permissionType\"] = this.permissionType;\n return data;\n }\n}\n\nexport interface IPermissionResult {\n name?: string | undefined;\n id?: string;\n permissionType?: PermissionType;\n}\n\nexport enum PermissionType {\n ScheduleCall = 0,\n ScheduleHCPCall = 1,\n TakeOutboundVideoCall = 2,\n TakeOutboundPhoneCall = 3,\n TakeIncomingVideoCall = 4,\n EditCall = 5,\n ManageEmail = 6,\n SubmitSupportRequest = 7,\n}\n\nexport class CreateRoleModel implements ICreateRoleModel {\n name?: string | undefined;\n studyId?: string;\n permissions?: PermissionResult[] | undefined;\n\n constructor(data?: ICreateRoleModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.studyId = _data[\"studyId\"];\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateRoleModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateRoleModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"studyId\"] = this.studyId;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateRoleModel {\n name?: string | undefined;\n studyId?: string;\n permissions?: PermissionResult[] | undefined;\n}\n\nexport class UpdateRoleModel implements IUpdateRoleModel {\n name?: string | undefined;\n permissions?: PermissionResult[] | undefined;\n\n constructor(data?: IUpdateRoleModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateRoleModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateRoleModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateRoleModel {\n name?: string | undefined;\n permissions?: PermissionResult[] | undefined;\n}\n\nexport class GetSoftphoneUserResponse implements IGetSoftphoneUserResponse {\n profileUserID?: string;\n profileName?: string | undefined;\n profilePicture?: string | undefined;\n wssServer?: string | undefined;\n webSocketPort?: string | undefined;\n serverPath?: string | undefined;\n sipDomain?: string | undefined;\n sipUsername?: string | undefined;\n sipPassword?: string | undefined;\n\n constructor(data?: IGetSoftphoneUserResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.profileUserID = _data[\"profileUserID\"];\n this.profileName = _data[\"profileName\"];\n this.profilePicture = _data[\"profilePicture\"];\n this.wssServer = _data[\"wssServer\"];\n this.webSocketPort = _data[\"webSocketPort\"];\n this.serverPath = _data[\"serverPath\"];\n this.sipDomain = _data[\"sipDomain\"];\n this.sipUsername = _data[\"sipUsername\"];\n this.sipPassword = _data[\"sipPassword\"];\n }\n }\n\n static fromJS(data: any): GetSoftphoneUserResponse {\n data = typeof data === 'object' ? data : {};\n let result = new GetSoftphoneUserResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"profileUserID\"] = this.profileUserID;\n data[\"profileName\"] = this.profileName;\n data[\"profilePicture\"] = this.profilePicture;\n data[\"wssServer\"] = this.wssServer;\n data[\"webSocketPort\"] = this.webSocketPort;\n data[\"serverPath\"] = this.serverPath;\n data[\"sipDomain\"] = this.sipDomain;\n data[\"sipUsername\"] = this.sipUsername;\n data[\"sipPassword\"] = this.sipPassword;\n return data;\n }\n}\n\nexport interface IGetSoftphoneUserResponse {\n profileUserID?: string;\n profileName?: string | undefined;\n profilePicture?: string | undefined;\n wssServer?: string | undefined;\n webSocketPort?: string | undefined;\n serverPath?: string | undefined;\n sipDomain?: string | undefined;\n sipUsername?: string | undefined;\n sipPassword?: string | undefined;\n}\n\nexport class SearchedPatient implements ISearchedPatient {\n patientID?: string;\n status?: PatientStatus;\n uniqueID?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n phoneNumber?: string | undefined;\n email?: string | undefined;\n preferredLanguage?: string | undefined;\n preferredLanguageCode?: string | undefined;\n isVoicemailConsented?: boolean;\n preferredTimeToCall?: string | undefined;\n\n constructor(data?: ISearchedPatient) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientID = _data[\"patientID\"];\n this.status = _data[\"status\"];\n this.uniqueID = _data[\"uniqueID\"];\n this.firstName = _data[\"firstName\"];\n this.lastName = _data[\"lastName\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n this.email = _data[\"email\"];\n this.preferredLanguage = _data[\"preferredLanguage\"];\n this.preferredLanguageCode = _data[\"preferredLanguageCode\"];\n this.isVoicemailConsented = _data[\"isVoicemailConsented\"];\n this.preferredTimeToCall = _data[\"preferredTimeToCall\"];\n }\n }\n\n static fromJS(data: any): SearchedPatient {\n data = typeof data === 'object' ? data : {};\n let result = new SearchedPatient();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientID\"] = this.patientID;\n data[\"status\"] = this.status;\n data[\"uniqueID\"] = this.uniqueID;\n data[\"firstName\"] = this.firstName;\n data[\"lastName\"] = this.lastName;\n data[\"phoneNumber\"] = this.phoneNumber;\n data[\"email\"] = this.email;\n data[\"preferredLanguage\"] = this.preferredLanguage;\n data[\"preferredLanguageCode\"] = this.preferredLanguageCode;\n data[\"isVoicemailConsented\"] = this.isVoicemailConsented;\n data[\"preferredTimeToCall\"] = this.preferredTimeToCall;\n return data;\n }\n}\n\nexport interface ISearchedPatient {\n patientID?: string;\n status?: PatientStatus;\n uniqueID?: string | undefined;\n firstName?: string | undefined;\n lastName?: string | undefined;\n phoneNumber?: string | undefined;\n email?: string | undefined;\n preferredLanguage?: string | undefined;\n preferredLanguageCode?: string | undefined;\n isVoicemailConsented?: boolean;\n preferredTimeToCall?: string | undefined;\n}\n\nexport class IsPatientUnsubscribedModel implements IIsPatientUnsubscribedModel {\n isUnsubscribed?: boolean;\n\n constructor(data?: IIsPatientUnsubscribedModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isUnsubscribed = _data[\"isUnsubscribed\"];\n }\n }\n\n static fromJS(data: any): IsPatientUnsubscribedModel {\n data = typeof data === 'object' ? data : {};\n let result = new IsPatientUnsubscribedModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isUnsubscribed\"] = this.isUnsubscribed;\n return data;\n }\n}\n\nexport interface IIsPatientUnsubscribedModel {\n isUnsubscribed?: boolean;\n}\n\nexport class ValidateFollowUpModel implements IValidateFollowUpModel {\n patientFollowUpId?: string;\n\n constructor(data?: IValidateFollowUpModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientFollowUpId = _data[\"patientFollowUpId\"];\n }\n }\n\n static fromJS(data: any): ValidateFollowUpModel {\n data = typeof data === 'object' ? data : {};\n let result = new ValidateFollowUpModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientFollowUpId\"] = this.patientFollowUpId;\n return data;\n }\n}\n\nexport interface IValidateFollowUpModel {\n patientFollowUpId?: string;\n}\n\nexport class SaxendaAnswerModel implements ISaxendaAnswerModel {\n takingSaxenda?: string | undefined;\n saxendaDose?: string | undefined;\n\n constructor(data?: ISaxendaAnswerModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.takingSaxenda = _data[\"takingSaxenda\"];\n this.saxendaDose = _data[\"saxendaDose\"];\n }\n }\n\n static fromJS(data: any): SaxendaAnswerModel {\n data = typeof data === 'object' ? data : {};\n let result = new SaxendaAnswerModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"takingSaxenda\"] = this.takingSaxenda;\n data[\"saxendaDose\"] = this.saxendaDose;\n return data;\n }\n}\n\nexport interface ISaxendaAnswerModel {\n takingSaxenda?: string | undefined;\n saxendaDose?: string | undefined;\n}\n\nexport class StudyFollowUpScheduleResult implements IStudyFollowUpScheduleResult {\n id?: string;\n studyId?: string;\n followUpType?: FollowUpType;\n name?: string | undefined;\n\n protected _discriminator: string;\n\n constructor(data?: IStudyFollowUpScheduleResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n this._discriminator = \"StudyFollowUpScheduleResult\";\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.studyId = _data[\"studyId\"];\n this.followUpType = _data[\"followUpType\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): StudyFollowUpScheduleResult {\n data = typeof data === 'object' ? data : {};\n if (data[\"discriminator\"] === \"StudyFollowUpEmailScheduleResult\") {\n let result = new StudyFollowUpEmailScheduleResult();\n result.init(data);\n return result;\n }\n if (data[\"discriminator\"] === \"StudyFollowUpCallScheduleResult\") {\n let result = new StudyFollowUpCallScheduleResult();\n result.init(data);\n return result;\n }\n let result = new StudyFollowUpScheduleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"discriminator\"] = this._discriminator;\n data[\"id\"] = this.id;\n data[\"studyId\"] = this.studyId;\n data[\"followUpType\"] = this.followUpType;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IStudyFollowUpScheduleResult {\n id?: string;\n studyId?: string;\n followUpType?: FollowUpType;\n name?: string | undefined;\n}\n\nexport enum FollowUpType {\n Email = 0,\n PhoneCall = 1,\n VideoCall = 2,\n}\n\nexport class StudyFollowUpEmailScheduleResult extends StudyFollowUpScheduleResult implements IStudyFollowUpEmailScheduleResult {\n surveyTitle?: string | undefined;\n sendTickInterval?: number;\n sendIntervalMinutes?: number;\n surveyUrl?: string | undefined;\n lumediInteractionId?: number;\n expiryTicks?: number | undefined;\n emailTemplateId?: string;\n emailTemplateName?: string | undefined;\n emailSenderId?: string;\n emailSenderName?: string | undefined;\n\n constructor(data?: IStudyFollowUpEmailScheduleResult) {\n super(data);\n this._discriminator = \"StudyFollowUpEmailScheduleResult\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.surveyTitle = _data[\"surveyTitle\"];\n this.sendTickInterval = _data[\"sendTickInterval\"];\n this.sendIntervalMinutes = _data[\"sendIntervalMinutes\"];\n this.surveyUrl = _data[\"surveyUrl\"];\n this.lumediInteractionId = _data[\"lumediInteractionId\"];\n this.expiryTicks = _data[\"expiryTicks\"];\n this.emailTemplateId = _data[\"emailTemplateId\"];\n this.emailTemplateName = _data[\"emailTemplateName\"];\n this.emailSenderId = _data[\"emailSenderId\"];\n this.emailSenderName = _data[\"emailSenderName\"];\n }\n }\n\n static fromJS(data: any): StudyFollowUpEmailScheduleResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyFollowUpEmailScheduleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"surveyTitle\"] = this.surveyTitle;\n data[\"sendTickInterval\"] = this.sendTickInterval;\n data[\"sendIntervalMinutes\"] = this.sendIntervalMinutes;\n data[\"surveyUrl\"] = this.surveyUrl;\n data[\"lumediInteractionId\"] = this.lumediInteractionId;\n data[\"expiryTicks\"] = this.expiryTicks;\n data[\"emailTemplateId\"] = this.emailTemplateId;\n data[\"emailTemplateName\"] = this.emailTemplateName;\n data[\"emailSenderId\"] = this.emailSenderId;\n data[\"emailSenderName\"] = this.emailSenderName;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IStudyFollowUpEmailScheduleResult extends IStudyFollowUpScheduleResult {\n surveyTitle?: string | undefined;\n sendTickInterval?: number;\n sendIntervalMinutes?: number;\n surveyUrl?: string | undefined;\n lumediInteractionId?: number;\n expiryTicks?: number | undefined;\n emailTemplateId?: string;\n emailTemplateName?: string | undefined;\n emailSenderId?: string;\n emailSenderName?: string | undefined;\n}\n\nexport class StudyFollowUpCallScheduleResult extends StudyFollowUpScheduleResult implements IStudyFollowUpCallScheduleResult {\n scheduleTicks?: number;\n callLengthTicks?: number;\n callScheduleDays?: number;\n callLengthMinutes?: number;\n interactionTypeOption?: StudyCallDurationOptionResult | undefined;\n\n constructor(data?: IStudyFollowUpCallScheduleResult) {\n super(data);\n this._discriminator = \"StudyFollowUpCallScheduleResult\";\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.scheduleTicks = _data[\"scheduleTicks\"];\n this.callLengthTicks = _data[\"callLengthTicks\"];\n this.callScheduleDays = _data[\"callScheduleDays\"];\n this.callLengthMinutes = _data[\"callLengthMinutes\"];\n this.interactionTypeOption = _data[\"interactionTypeOption\"] ? StudyCallDurationOptionResult.fromJS(_data[\"interactionTypeOption\"]) : undefined;\n }\n }\n\n static fromJS(data: any): StudyFollowUpCallScheduleResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyFollowUpCallScheduleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"scheduleTicks\"] = this.scheduleTicks;\n data[\"callLengthTicks\"] = this.callLengthTicks;\n data[\"callScheduleDays\"] = this.callScheduleDays;\n data[\"callLengthMinutes\"] = this.callLengthMinutes;\n data[\"interactionTypeOption\"] = this.interactionTypeOption ? this.interactionTypeOption.toJSON() : undefined;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IStudyFollowUpCallScheduleResult extends IStudyFollowUpScheduleResult {\n scheduleTicks?: number;\n callLengthTicks?: number;\n callScheduleDays?: number;\n callLengthMinutes?: number;\n interactionTypeOption?: StudyCallDurationOptionResult | undefined;\n}\n\nexport class CallScheduleModel implements ICallScheduleModel {\n name?: string | undefined;\n callIntervalDays?: number;\n callDurationMinutes?: number;\n interactionTypeOptionId?: string;\n\n constructor(data?: ICallScheduleModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.callIntervalDays = _data[\"callIntervalDays\"];\n this.callDurationMinutes = _data[\"callDurationMinutes\"];\n this.interactionTypeOptionId = _data[\"interactionTypeOptionId\"];\n }\n }\n\n static fromJS(data: any): CallScheduleModel {\n data = typeof data === 'object' ? data : {};\n let result = new CallScheduleModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"callIntervalDays\"] = this.callIntervalDays;\n data[\"callDurationMinutes\"] = this.callDurationMinutes;\n data[\"interactionTypeOptionId\"] = this.interactionTypeOptionId;\n return data;\n }\n}\n\nexport interface ICallScheduleModel {\n name?: string | undefined;\n callIntervalDays?: number;\n callDurationMinutes?: number;\n interactionTypeOptionId?: string;\n}\n\nexport class EmailScheduleModel implements IEmailScheduleModel {\n title?: string | undefined;\n name?: string | undefined;\n sendIntervalMinutes?: number;\n surveyUrl?: string | undefined;\n lumediInteractionId?: number;\n emailTemplateId?: string;\n emailSenderId?: string;\n\n constructor(data?: IEmailScheduleModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.name = _data[\"name\"];\n this.sendIntervalMinutes = _data[\"sendIntervalMinutes\"];\n this.surveyUrl = _data[\"surveyUrl\"];\n this.lumediInteractionId = _data[\"lumediInteractionId\"];\n this.emailTemplateId = _data[\"emailTemplateId\"];\n this.emailSenderId = _data[\"emailSenderId\"];\n }\n }\n\n static fromJS(data: any): EmailScheduleModel {\n data = typeof data === 'object' ? data : {};\n let result = new EmailScheduleModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"name\"] = this.name;\n data[\"sendIntervalMinutes\"] = this.sendIntervalMinutes;\n data[\"surveyUrl\"] = this.surveyUrl;\n data[\"lumediInteractionId\"] = this.lumediInteractionId;\n data[\"emailTemplateId\"] = this.emailTemplateId;\n data[\"emailSenderId\"] = this.emailSenderId;\n return data;\n }\n}\n\nexport interface IEmailScheduleModel {\n title?: string | undefined;\n name?: string | undefined;\n sendIntervalMinutes?: number;\n surveyUrl?: string | undefined;\n lumediInteractionId?: number;\n emailTemplateId?: string;\n emailSenderId?: string;\n}\n\nexport class MissedAppointmentEmailFollowupModel implements IMissedAppointmentEmailFollowupModel {\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n emailSenderId?: string;\n emailTemplateId?: string;\n sendInterval?: number;\n\n constructor(data?: IMissedAppointmentEmailFollowupModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.studyId = _data[\"studyId\"];\n this.callType = _data[\"callType\"];\n this.agentType = _data[\"agentType\"];\n this.emailSenderId = _data[\"emailSenderId\"];\n this.emailTemplateId = _data[\"emailTemplateId\"];\n this.sendInterval = _data[\"sendInterval\"];\n }\n }\n\n static fromJS(data: any): MissedAppointmentEmailFollowupModel {\n data = typeof data === 'object' ? data : {};\n let result = new MissedAppointmentEmailFollowupModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"studyId\"] = this.studyId;\n data[\"callType\"] = this.callType;\n data[\"agentType\"] = this.agentType;\n data[\"emailSenderId\"] = this.emailSenderId;\n data[\"emailTemplateId\"] = this.emailTemplateId;\n data[\"sendInterval\"] = this.sendInterval;\n return data;\n }\n}\n\nexport interface IMissedAppointmentEmailFollowupModel {\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n emailSenderId?: string;\n emailTemplateId?: string;\n sendInterval?: number;\n}\n\nexport class MissedAppointmentEmailScheduleResult implements IMissedAppointmentEmailScheduleResult {\n id?: string;\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n callAttemptsBeforeArchive?: number;\n emailTemplateId?: string;\n emailTemplateName?: string | undefined;\n emailSenderId?: string;\n emailSenderAddress?: string | undefined;\n emailFollowUpIntervalMinutes?: number;\n\n constructor(data?: IMissedAppointmentEmailScheduleResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.studyId = _data[\"studyId\"];\n this.callType = _data[\"callType\"];\n this.agentType = _data[\"agentType\"];\n this.callAttemptsBeforeArchive = _data[\"callAttemptsBeforeArchive\"];\n this.emailTemplateId = _data[\"emailTemplateId\"];\n this.emailTemplateName = _data[\"emailTemplateName\"];\n this.emailSenderId = _data[\"emailSenderId\"];\n this.emailSenderAddress = _data[\"emailSenderAddress\"];\n this.emailFollowUpIntervalMinutes = _data[\"emailFollowUpIntervalMinutes\"];\n }\n }\n\n static fromJS(data: any): MissedAppointmentEmailScheduleResult {\n data = typeof data === 'object' ? data : {};\n let result = new MissedAppointmentEmailScheduleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"studyId\"] = this.studyId;\n data[\"callType\"] = this.callType;\n data[\"agentType\"] = this.agentType;\n data[\"callAttemptsBeforeArchive\"] = this.callAttemptsBeforeArchive;\n data[\"emailTemplateId\"] = this.emailTemplateId;\n data[\"emailTemplateName\"] = this.emailTemplateName;\n data[\"emailSenderId\"] = this.emailSenderId;\n data[\"emailSenderAddress\"] = this.emailSenderAddress;\n data[\"emailFollowUpIntervalMinutes\"] = this.emailFollowUpIntervalMinutes;\n return data;\n }\n}\n\nexport interface IMissedAppointmentEmailScheduleResult {\n id?: string;\n name?: string | undefined;\n studyId?: string;\n callType?: CallType;\n agentType?: AgentType;\n callAttemptsBeforeArchive?: number;\n emailTemplateId?: string;\n emailTemplateName?: string | undefined;\n emailSenderId?: string;\n emailSenderAddress?: string | undefined;\n emailFollowUpIntervalMinutes?: number;\n}\n\nexport class MissedAppointmentCallConfigurationModel implements IMissedAppointmentCallConfigurationModel {\n name?: string | undefined;\n callType?: CallType;\n agentType?: AgentType;\n callAttemptsBeforeArchive?: number;\n rescheduleIntervalMinutes?: number;\n\n constructor(data?: IMissedAppointmentCallConfigurationModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.callType = _data[\"callType\"];\n this.agentType = _data[\"agentType\"];\n this.callAttemptsBeforeArchive = _data[\"callAttemptsBeforeArchive\"];\n this.rescheduleIntervalMinutes = _data[\"rescheduleIntervalMinutes\"];\n }\n }\n\n static fromJS(data: any): MissedAppointmentCallConfigurationModel {\n data = typeof data === 'object' ? data : {};\n let result = new MissedAppointmentCallConfigurationModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"callType\"] = this.callType;\n data[\"agentType\"] = this.agentType;\n data[\"callAttemptsBeforeArchive\"] = this.callAttemptsBeforeArchive;\n data[\"rescheduleIntervalMinutes\"] = this.rescheduleIntervalMinutes;\n return data;\n }\n}\n\nexport interface IMissedAppointmentCallConfigurationModel {\n name?: string | undefined;\n callType?: CallType;\n agentType?: AgentType;\n callAttemptsBeforeArchive?: number;\n rescheduleIntervalMinutes?: number;\n}\n\nexport class QueueMetricsModel2 implements IQueueMetricsModel2 {\n averageWaitTime?: string | undefined;\n englishQueuedCallers?: number;\n englishAvailableAgents?: number;\n frenchQueuedCallers?: number;\n frenchAvailableAgents?: number;\n totalAvailableAgents?: number;\n\n constructor(data?: IQueueMetricsModel2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.averageWaitTime = _data[\"averageWaitTime\"];\n this.englishQueuedCallers = _data[\"englishQueuedCallers\"];\n this.englishAvailableAgents = _data[\"englishAvailableAgents\"];\n this.frenchQueuedCallers = _data[\"frenchQueuedCallers\"];\n this.frenchAvailableAgents = _data[\"frenchAvailableAgents\"];\n this.totalAvailableAgents = _data[\"totalAvailableAgents\"];\n }\n }\n\n static fromJS(data: any): QueueMetricsModel2 {\n data = typeof data === 'object' ? data : {};\n let result = new QueueMetricsModel2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"averageWaitTime\"] = this.averageWaitTime;\n data[\"englishQueuedCallers\"] = this.englishQueuedCallers;\n data[\"englishAvailableAgents\"] = this.englishAvailableAgents;\n data[\"frenchQueuedCallers\"] = this.frenchQueuedCallers;\n data[\"frenchAvailableAgents\"] = this.frenchAvailableAgents;\n data[\"totalAvailableAgents\"] = this.totalAvailableAgents;\n return data;\n }\n}\n\nexport interface IQueueMetricsModel2 {\n averageWaitTime?: string | undefined;\n englishQueuedCallers?: number;\n englishAvailableAgents?: number;\n frenchQueuedCallers?: number;\n frenchAvailableAgents?: number;\n totalAvailableAgents?: number;\n}\n\nexport class CallMetricsModel implements ICallMetricsModel {\n dailyInboundVideoCallsCount?: number;\n averageInboundVideoCallsPerAgent?: number;\n averageOutboundVideoCallsPerAgent?: number;\n\n constructor(data?: ICallMetricsModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dailyInboundVideoCallsCount = _data[\"dailyInboundVideoCallsCount\"];\n this.averageInboundVideoCallsPerAgent = _data[\"averageInboundVideoCallsPerAgent\"];\n this.averageOutboundVideoCallsPerAgent = _data[\"averageOutboundVideoCallsPerAgent\"];\n }\n }\n\n static fromJS(data: any): CallMetricsModel {\n data = typeof data === 'object' ? data : {};\n let result = new CallMetricsModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dailyInboundVideoCallsCount\"] = this.dailyInboundVideoCallsCount;\n data[\"averageInboundVideoCallsPerAgent\"] = this.averageInboundVideoCallsPerAgent;\n data[\"averageOutboundVideoCallsPerAgent\"] = this.averageOutboundVideoCallsPerAgent;\n return data;\n }\n}\n\nexport interface ICallMetricsModel {\n dailyInboundVideoCallsCount?: number;\n averageInboundVideoCallsPerAgent?: number;\n averageOutboundVideoCallsPerAgent?: number;\n}\n\nexport class MessageThreadSummaryResult implements IMessageThreadSummaryResult {\n messageId?: string;\n toUserId?: string;\n fromUserId?: string;\n subject?: string | undefined;\n completedOn?: Date | undefined;\n lastMessageCommentCreatedOn?: Date;\n lastMessageComment?: string | undefined;\n isUnread?: boolean;\n\n constructor(data?: IMessageThreadSummaryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageId = _data[\"messageId\"];\n this.toUserId = _data[\"toUserId\"];\n this.fromUserId = _data[\"fromUserId\"];\n this.subject = _data[\"subject\"];\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n this.lastMessageCommentCreatedOn = _data[\"lastMessageCommentCreatedOn\"] ? new Date(_data[\"lastMessageCommentCreatedOn\"].toString()) : undefined;\n this.lastMessageComment = _data[\"lastMessageComment\"];\n this.isUnread = _data[\"isUnread\"];\n }\n }\n\n static fromJS(data: any): MessageThreadSummaryResult {\n data = typeof data === 'object' ? data : {};\n let result = new MessageThreadSummaryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageId\"] = this.messageId;\n data[\"toUserId\"] = this.toUserId;\n data[\"fromUserId\"] = this.fromUserId;\n data[\"subject\"] = this.subject;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n data[\"lastMessageCommentCreatedOn\"] = this.lastMessageCommentCreatedOn ? this.lastMessageCommentCreatedOn.toISOString() : undefined;\n data[\"lastMessageComment\"] = this.lastMessageComment;\n data[\"isUnread\"] = this.isUnread;\n return data;\n }\n}\n\nexport interface IMessageThreadSummaryResult {\n messageId?: string;\n toUserId?: string;\n fromUserId?: string;\n subject?: string | undefined;\n completedOn?: Date | undefined;\n lastMessageCommentCreatedOn?: Date;\n lastMessageComment?: string | undefined;\n isUnread?: boolean;\n}\n\nexport class MessageThreadResult implements IMessageThreadResult {\n messageThreadId?: string;\n createdOn?: Date;\n completedOn?: Date | undefined;\n sendingUserId?: string;\n recipientUserId?: string;\n subject?: string | undefined;\n comments?: MessageThreadCommentResult[] | undefined;\n\n constructor(data?: IMessageThreadResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageThreadId = _data[\"messageThreadId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.completedOn = _data[\"completedOn\"] ? new Date(_data[\"completedOn\"].toString()) : undefined;\n this.sendingUserId = _data[\"sendingUserId\"];\n this.recipientUserId = _data[\"recipientUserId\"];\n this.subject = _data[\"subject\"];\n if (Array.isArray(_data[\"comments\"])) {\n this.comments = [] as any;\n for (let item of _data[\"comments\"])\n this.comments!.push(MessageThreadCommentResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): MessageThreadResult {\n data = typeof data === 'object' ? data : {};\n let result = new MessageThreadResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageThreadId\"] = this.messageThreadId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"completedOn\"] = this.completedOn ? this.completedOn.toISOString() : undefined;\n data[\"sendingUserId\"] = this.sendingUserId;\n data[\"recipientUserId\"] = this.recipientUserId;\n data[\"subject\"] = this.subject;\n if (Array.isArray(this.comments)) {\n data[\"comments\"] = [];\n for (let item of this.comments)\n data[\"comments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IMessageThreadResult {\n messageThreadId?: string;\n createdOn?: Date;\n completedOn?: Date | undefined;\n sendingUserId?: string;\n recipientUserId?: string;\n subject?: string | undefined;\n comments?: MessageThreadCommentResult[] | undefined;\n}\n\nexport class MessageThreadCommentResult implements IMessageThreadCommentResult {\n messageThreadId?: string;\n messageThreadCommentId?: string;\n createdOn?: Date;\n value?: string | undefined;\n commentingUserId?: string;\n\n constructor(data?: IMessageThreadCommentResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageThreadId = _data[\"messageThreadId\"];\n this.messageThreadCommentId = _data[\"messageThreadCommentId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.value = _data[\"value\"];\n this.commentingUserId = _data[\"commentingUserId\"];\n }\n }\n\n static fromJS(data: any): MessageThreadCommentResult {\n data = typeof data === 'object' ? data : {};\n let result = new MessageThreadCommentResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageThreadId\"] = this.messageThreadId;\n data[\"messageThreadCommentId\"] = this.messageThreadCommentId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"value\"] = this.value;\n data[\"commentingUserId\"] = this.commentingUserId;\n return data;\n }\n}\n\nexport interface IMessageThreadCommentResult {\n messageThreadId?: string;\n messageThreadCommentId?: string;\n createdOn?: Date;\n value?: string | undefined;\n commentingUserId?: string;\n}\n\nexport class CreateMessageThreadRequestModel implements ICreateMessageThreadRequestModel {\n subject!: string;\n toUserId?: string;\n initialComment!: string;\n\n constructor(data?: ICreateMessageThreadRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.subject = _data[\"subject\"];\n this.toUserId = _data[\"toUserId\"];\n this.initialComment = _data[\"initialComment\"];\n }\n }\n\n static fromJS(data: any): CreateMessageThreadRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateMessageThreadRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"subject\"] = this.subject;\n data[\"toUserId\"] = this.toUserId;\n data[\"initialComment\"] = this.initialComment;\n return data;\n }\n}\n\nexport interface ICreateMessageThreadRequestModel {\n subject: string;\n toUserId?: string;\n initialComment: string;\n}\n\nexport class CreateCommentForMessageThreadRequestModel implements ICreateCommentForMessageThreadRequestModel {\n messageThreadId?: string;\n comment!: string;\n complete?: boolean;\n\n constructor(data?: ICreateCommentForMessageThreadRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageThreadId = _data[\"messageThreadId\"];\n this.comment = _data[\"comment\"];\n this.complete = _data[\"complete\"];\n }\n }\n\n static fromJS(data: any): CreateCommentForMessageThreadRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCommentForMessageThreadRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageThreadId\"] = this.messageThreadId;\n data[\"comment\"] = this.comment;\n data[\"complete\"] = this.complete;\n return data;\n }\n}\n\nexport interface ICreateCommentForMessageThreadRequestModel {\n messageThreadId?: string;\n comment: string;\n complete?: boolean;\n}\n\nexport class InitialStateEmailResult implements IInitialStateEmailResult {\n infoEmails?: EmailResult[] | undefined;\n faxReceipts?: EmailResult[] | undefined;\n\n constructor(data?: IInitialStateEmailResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"infoEmails\"])) {\n this.infoEmails = [] as any;\n for (let item of _data[\"infoEmails\"])\n this.infoEmails!.push(EmailResult.fromJS(item));\n }\n if (Array.isArray(_data[\"faxReceipts\"])) {\n this.faxReceipts = [] as any;\n for (let item of _data[\"faxReceipts\"])\n this.faxReceipts!.push(EmailResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InitialStateEmailResult {\n data = typeof data === 'object' ? data : {};\n let result = new InitialStateEmailResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.infoEmails)) {\n data[\"infoEmails\"] = [];\n for (let item of this.infoEmails)\n data[\"infoEmails\"].push(item.toJSON());\n }\n if (Array.isArray(this.faxReceipts)) {\n data[\"faxReceipts\"] = [];\n for (let item of this.faxReceipts)\n data[\"faxReceipts\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInitialStateEmailResult {\n infoEmails?: EmailResult[] | undefined;\n faxReceipts?: EmailResult[] | undefined;\n}\n\nexport class EmailResult implements IEmailResult {\n messageId?: string | undefined;\n to?: string | undefined;\n toAll?: string | undefined;\n processed?: boolean;\n from?: string | undefined;\n subject?: string | undefined;\n textBody?: string | undefined;\n htmlBody?: string | undefined;\n date?: Date;\n attachments?: EmailAttachmentResult[] | undefined;\n\n constructor(data?: IEmailResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageId = _data[\"messageId\"];\n this.to = _data[\"to\"];\n this.toAll = _data[\"toAll\"];\n this.processed = _data[\"processed\"];\n this.from = _data[\"from\"];\n this.subject = _data[\"subject\"];\n this.textBody = _data[\"textBody\"];\n this.htmlBody = _data[\"htmlBody\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(EmailAttachmentResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EmailResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageId\"] = this.messageId;\n data[\"to\"] = this.to;\n data[\"toAll\"] = this.toAll;\n data[\"processed\"] = this.processed;\n data[\"from\"] = this.from;\n data[\"subject\"] = this.subject;\n data[\"textBody\"] = this.textBody;\n data[\"htmlBody\"] = this.htmlBody;\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IEmailResult {\n messageId?: string | undefined;\n to?: string | undefined;\n toAll?: string | undefined;\n processed?: boolean;\n from?: string | undefined;\n subject?: string | undefined;\n textBody?: string | undefined;\n htmlBody?: string | undefined;\n date?: Date;\n attachments?: EmailAttachmentResult[] | undefined;\n}\n\nexport class EmailAttachmentResult implements IEmailAttachmentResult {\n fileName?: string | undefined;\n\n constructor(data?: IEmailAttachmentResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): EmailAttachmentResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailAttachmentResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface IEmailAttachmentResult {\n fileName?: string | undefined;\n}\n\nexport class AdministrativeDataResult implements IAdministrativeDataResult {\n userContext?: UserContextResult | undefined;\n cultures?: CultureResult[] | undefined;\n userStudies?: StudyResult[] | undefined;\n statuses?: RootStatusResult[] | undefined;\n agents?: UserResult[] | undefined;\n phoneQueues?: AsteriskQueueResult[] | undefined;\n permissions?: PermissionResult[] | undefined;\n roles?: CallbackRoleResult[] | undefined;\n\n constructor(data?: IAdministrativeDataResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userContext = _data[\"userContext\"] ? UserContextResult.fromJS(_data[\"userContext\"]) : undefined;\n if (Array.isArray(_data[\"cultures\"])) {\n this.cultures = [] as any;\n for (let item of _data[\"cultures\"])\n this.cultures!.push(CultureResult.fromJS(item));\n }\n if (Array.isArray(_data[\"userStudies\"])) {\n this.userStudies = [] as any;\n for (let item of _data[\"userStudies\"])\n this.userStudies!.push(StudyResult.fromJS(item));\n }\n if (Array.isArray(_data[\"statuses\"])) {\n this.statuses = [] as any;\n for (let item of _data[\"statuses\"])\n this.statuses!.push(RootStatusResult.fromJS(item));\n }\n if (Array.isArray(_data[\"agents\"])) {\n this.agents = [] as any;\n for (let item of _data[\"agents\"])\n this.agents!.push(UserResult.fromJS(item));\n }\n if (Array.isArray(_data[\"phoneQueues\"])) {\n this.phoneQueues = [] as any;\n for (let item of _data[\"phoneQueues\"])\n this.phoneQueues!.push(AsteriskQueueResult.fromJS(item));\n }\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionResult.fromJS(item));\n }\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(CallbackRoleResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): AdministrativeDataResult {\n data = typeof data === 'object' ? data : {};\n let result = new AdministrativeDataResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userContext\"] = this.userContext ? this.userContext.toJSON() : undefined;\n if (Array.isArray(this.cultures)) {\n data[\"cultures\"] = [];\n for (let item of this.cultures)\n data[\"cultures\"].push(item.toJSON());\n }\n if (Array.isArray(this.userStudies)) {\n data[\"userStudies\"] = [];\n for (let item of this.userStudies)\n data[\"userStudies\"].push(item.toJSON());\n }\n if (Array.isArray(this.statuses)) {\n data[\"statuses\"] = [];\n for (let item of this.statuses)\n data[\"statuses\"].push(item.toJSON());\n }\n if (Array.isArray(this.agents)) {\n data[\"agents\"] = [];\n for (let item of this.agents)\n data[\"agents\"].push(item.toJSON());\n }\n if (Array.isArray(this.phoneQueues)) {\n data[\"phoneQueues\"] = [];\n for (let item of this.phoneQueues)\n data[\"phoneQueues\"].push(item.toJSON());\n }\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IAdministrativeDataResult {\n userContext?: UserContextResult | undefined;\n cultures?: CultureResult[] | undefined;\n userStudies?: StudyResult[] | undefined;\n statuses?: RootStatusResult[] | undefined;\n agents?: UserResult[] | undefined;\n phoneQueues?: AsteriskQueueResult[] | undefined;\n permissions?: PermissionResult[] | undefined;\n roles?: CallbackRoleResult[] | undefined;\n}\n\nexport class CultureResult implements ICultureResult {\n code?: string;\n\n constructor(data?: ICultureResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n }\n }\n\n static fromJS(data: any): CultureResult {\n data = typeof data === 'object' ? data : {};\n let result = new CultureResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n return data;\n }\n}\n\nexport interface ICultureResult {\n code?: string;\n}\n\nexport class UserResult implements IUserResult {\n id?: string;\n name?: string | undefined;\n fullName?: string | undefined;\n asteriskUsername?: string | undefined;\n isEnabled?: boolean;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n asteriskExtensionNumber?: string | undefined;\n cultures?: CultureResult[];\n status?: UserStatusResult | undefined;\n studies?: StudyUserRoleResult[];\n assignedQueues?: string[];\n temporaryAssignedQueues?: string[];\n designations?: DesignationResult[];\n agentStatus?: AgentStatus | undefined;\n\n constructor(data?: IUserResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.fullName = _data[\"fullName\"];\n this.asteriskUsername = _data[\"asteriskUsername\"];\n this.isEnabled = _data[\"isEnabled\"];\n if (Array.isArray(_data[\"agentProvinces\"])) {\n this.agentProvinces = [] as any;\n for (let item of _data[\"agentProvinces\"])\n this.agentProvinces!.push(ProvinceScheduleSummary.fromJS(item));\n }\n this.agentRole = _data[\"agentRole\"];\n this.asteriskExtensionNumber = _data[\"asteriskExtensionNumber\"];\n if (Array.isArray(_data[\"cultures\"])) {\n this.cultures = [] as any;\n for (let item of _data[\"cultures\"])\n this.cultures!.push(CultureResult.fromJS(item));\n }\n this.status = _data[\"status\"] ? UserStatusResult.fromJS(_data[\"status\"]) : undefined;\n if (Array.isArray(_data[\"studies\"])) {\n this.studies = [] as any;\n for (let item of _data[\"studies\"])\n this.studies!.push(StudyUserRoleResult.fromJS(item));\n }\n if (Array.isArray(_data[\"assignedQueues\"])) {\n this.assignedQueues = [] as any;\n for (let item of _data[\"assignedQueues\"])\n this.assignedQueues!.push(item);\n }\n if (Array.isArray(_data[\"temporaryAssignedQueues\"])) {\n this.temporaryAssignedQueues = [] as any;\n for (let item of _data[\"temporaryAssignedQueues\"])\n this.temporaryAssignedQueues!.push(item);\n }\n if (Array.isArray(_data[\"designations\"])) {\n this.designations = [] as any;\n for (let item of _data[\"designations\"])\n this.designations!.push(DesignationResult.fromJS(item));\n }\n this.agentStatus = _data[\"agentStatus\"];\n }\n }\n\n static fromJS(data: any): UserResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"fullName\"] = this.fullName;\n data[\"asteriskUsername\"] = this.asteriskUsername;\n data[\"isEnabled\"] = this.isEnabled;\n if (Array.isArray(this.agentProvinces)) {\n data[\"agentProvinces\"] = [];\n for (let item of this.agentProvinces)\n data[\"agentProvinces\"].push(item.toJSON());\n }\n data[\"agentRole\"] = this.agentRole;\n data[\"asteriskExtensionNumber\"] = this.asteriskExtensionNumber;\n if (Array.isArray(this.cultures)) {\n data[\"cultures\"] = [];\n for (let item of this.cultures)\n data[\"cultures\"].push(item.toJSON());\n }\n data[\"status\"] = this.status ? this.status.toJSON() : undefined;\n if (Array.isArray(this.studies)) {\n data[\"studies\"] = [];\n for (let item of this.studies)\n data[\"studies\"].push(item.toJSON());\n }\n if (Array.isArray(this.assignedQueues)) {\n data[\"assignedQueues\"] = [];\n for (let item of this.assignedQueues)\n data[\"assignedQueues\"].push(item);\n }\n if (Array.isArray(this.temporaryAssignedQueues)) {\n data[\"temporaryAssignedQueues\"] = [];\n for (let item of this.temporaryAssignedQueues)\n data[\"temporaryAssignedQueues\"].push(item);\n }\n if (Array.isArray(this.designations)) {\n data[\"designations\"] = [];\n for (let item of this.designations)\n data[\"designations\"].push(item.toJSON());\n }\n data[\"agentStatus\"] = this.agentStatus;\n return data;\n }\n}\n\nexport interface IUserResult {\n id?: string;\n name?: string | undefined;\n fullName?: string | undefined;\n asteriskUsername?: string | undefined;\n isEnabled?: boolean;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n asteriskExtensionNumber?: string | undefined;\n cultures?: CultureResult[];\n status?: UserStatusResult | undefined;\n studies?: StudyUserRoleResult[];\n assignedQueues?: string[];\n temporaryAssignedQueues?: string[];\n designations?: DesignationResult[];\n agentStatus?: AgentStatus | undefined;\n}\n\nexport class ProvinceScheduleSummary implements IProvinceScheduleSummary {\n code?: string | undefined;\n name?: string | undefined;\n\n constructor(data?: IProvinceScheduleSummary) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.code = _data[\"code\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): ProvinceScheduleSummary {\n data = typeof data === 'object' ? data : {};\n let result = new ProvinceScheduleSummary();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IProvinceScheduleSummary {\n code?: string | undefined;\n name?: string | undefined;\n}\n\nexport class StudyUserRoleResult implements IStudyUserRoleResult {\n studyUserId?: string;\n studyId?: string;\n studyName?: string | undefined;\n studyColor?: string | undefined;\n isHcp?: boolean;\n roleIds?: string[];\n\n constructor(data?: IStudyUserRoleResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyUserId = _data[\"studyUserId\"];\n this.studyId = _data[\"studyId\"];\n this.studyName = _data[\"studyName\"];\n this.studyColor = _data[\"studyColor\"];\n this.isHcp = _data[\"isHcp\"];\n if (Array.isArray(_data[\"roleIds\"])) {\n this.roleIds = [] as any;\n for (let item of _data[\"roleIds\"])\n this.roleIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): StudyUserRoleResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyUserRoleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyUserId\"] = this.studyUserId;\n data[\"studyId\"] = this.studyId;\n data[\"studyName\"] = this.studyName;\n data[\"studyColor\"] = this.studyColor;\n data[\"isHcp\"] = this.isHcp;\n if (Array.isArray(this.roleIds)) {\n data[\"roleIds\"] = [];\n for (let item of this.roleIds)\n data[\"roleIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IStudyUserRoleResult {\n studyUserId?: string;\n studyId?: string;\n studyName?: string | undefined;\n studyColor?: string | undefined;\n isHcp?: boolean;\n roleIds?: string[];\n}\n\nexport class DesignationResult implements IDesignationResult {\n cultureCode?: string;\n value?: string | undefined;\n\n constructor(data?: IDesignationResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.cultureCode = _data[\"cultureCode\"];\n this.value = _data[\"value\"];\n }\n }\n\n static fromJS(data: any): DesignationResult {\n data = typeof data === 'object' ? data : {};\n let result = new DesignationResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"cultureCode\"] = this.cultureCode;\n data[\"value\"] = this.value;\n return data;\n }\n}\n\nexport interface IDesignationResult {\n cultureCode?: string;\n value?: string | undefined;\n}\n\nexport class AsteriskQueueResult implements IAsteriskQueueResult {\n id?: string;\n queueName?: string;\n disabled?: boolean;\n displayName?: string | undefined;\n studyId?: string | undefined;\n cultureCode?: string | undefined;\n\n constructor(data?: IAsteriskQueueResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.queueName = _data[\"queueName\"];\n this.disabled = _data[\"disabled\"];\n this.displayName = _data[\"displayName\"];\n this.studyId = _data[\"studyId\"];\n this.cultureCode = _data[\"cultureCode\"];\n }\n }\n\n static fromJS(data: any): AsteriskQueueResult {\n data = typeof data === 'object' ? data : {};\n let result = new AsteriskQueueResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"queueName\"] = this.queueName;\n data[\"disabled\"] = this.disabled;\n data[\"displayName\"] = this.displayName;\n data[\"studyId\"] = this.studyId;\n data[\"cultureCode\"] = this.cultureCode;\n return data;\n }\n}\n\nexport interface IAsteriskQueueResult {\n id?: string;\n queueName?: string;\n disabled?: boolean;\n displayName?: string | undefined;\n studyId?: string | undefined;\n cultureCode?: string | undefined;\n}\n\nexport class TaskDataResult implements ITaskDataResult {\n activeTasks?: CallbackTaskResult[] | undefined;\n activeVideos?: IncomingVideoResult[] | undefined;\n inProgressVideos?: InProgressVideoCallResult[] | undefined;\n channelSnapshot?: ChannelsStateSnapshot | undefined;\n queueSnapshot?: QueueSummariesSnapshot | undefined;\n pendingWrapUps?: PhoneWrapUpPendingResult[] | undefined;\n\n constructor(data?: ITaskDataResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"activeTasks\"])) {\n this.activeTasks = [] as any;\n for (let item of _data[\"activeTasks\"])\n this.activeTasks!.push(CallbackTaskResult.fromJS(item));\n }\n if (Array.isArray(_data[\"activeVideos\"])) {\n this.activeVideos = [] as any;\n for (let item of _data[\"activeVideos\"])\n this.activeVideos!.push(IncomingVideoResult.fromJS(item));\n }\n if (Array.isArray(_data[\"inProgressVideos\"])) {\n this.inProgressVideos = [] as any;\n for (let item of _data[\"inProgressVideos\"])\n this.inProgressVideos!.push(InProgressVideoCallResult.fromJS(item));\n }\n this.channelSnapshot = _data[\"channelSnapshot\"] ? ChannelsStateSnapshot.fromJS(_data[\"channelSnapshot\"]) : undefined;\n this.queueSnapshot = _data[\"queueSnapshot\"] ? QueueSummariesSnapshot.fromJS(_data[\"queueSnapshot\"]) : undefined;\n if (Array.isArray(_data[\"pendingWrapUps\"])) {\n this.pendingWrapUps = [] as any;\n for (let item of _data[\"pendingWrapUps\"])\n this.pendingWrapUps!.push(PhoneWrapUpPendingResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): TaskDataResult {\n data = typeof data === 'object' ? data : {};\n let result = new TaskDataResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.activeTasks)) {\n data[\"activeTasks\"] = [];\n for (let item of this.activeTasks)\n data[\"activeTasks\"].push(item.toJSON());\n }\n if (Array.isArray(this.activeVideos)) {\n data[\"activeVideos\"] = [];\n for (let item of this.activeVideos)\n data[\"activeVideos\"].push(item.toJSON());\n }\n if (Array.isArray(this.inProgressVideos)) {\n data[\"inProgressVideos\"] = [];\n for (let item of this.inProgressVideos)\n data[\"inProgressVideos\"].push(item.toJSON());\n }\n data[\"channelSnapshot\"] = this.channelSnapshot ? this.channelSnapshot.toJSON() : undefined;\n data[\"queueSnapshot\"] = this.queueSnapshot ? this.queueSnapshot.toJSON() : undefined;\n if (Array.isArray(this.pendingWrapUps)) {\n data[\"pendingWrapUps\"] = [];\n for (let item of this.pendingWrapUps)\n data[\"pendingWrapUps\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ITaskDataResult {\n activeTasks?: CallbackTaskResult[] | undefined;\n activeVideos?: IncomingVideoResult[] | undefined;\n inProgressVideos?: InProgressVideoCallResult[] | undefined;\n channelSnapshot?: ChannelsStateSnapshot | undefined;\n queueSnapshot?: QueueSummariesSnapshot | undefined;\n pendingWrapUps?: PhoneWrapUpPendingResult[] | undefined;\n}\n\nexport class IncomingVideoResult implements IIncomingVideoResult {\n id?: string;\n studyId?: string;\n createdOn?: Date;\n isArchived?: boolean;\n language?: string | undefined;\n onlineMeetingId?: string | undefined;\n onlineMeetingJoinWebUrl?: string | undefined;\n\n constructor(data?: IIncomingVideoResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.studyId = _data[\"studyId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.isArchived = _data[\"isArchived\"];\n this.language = _data[\"language\"];\n this.onlineMeetingId = _data[\"onlineMeetingId\"];\n this.onlineMeetingJoinWebUrl = _data[\"onlineMeetingJoinWebUrl\"];\n }\n }\n\n static fromJS(data: any): IncomingVideoResult {\n data = typeof data === 'object' ? data : {};\n let result = new IncomingVideoResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"studyId\"] = this.studyId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"isArchived\"] = this.isArchived;\n data[\"language\"] = this.language;\n data[\"onlineMeetingId\"] = this.onlineMeetingId;\n data[\"onlineMeetingJoinWebUrl\"] = this.onlineMeetingJoinWebUrl;\n return data;\n }\n}\n\nexport interface IIncomingVideoResult {\n id?: string;\n studyId?: string;\n createdOn?: Date;\n isArchived?: boolean;\n language?: string | undefined;\n onlineMeetingId?: string | undefined;\n onlineMeetingJoinWebUrl?: string | undefined;\n}\n\nexport class InProgressVideoCallResult implements IInProgressVideoCallResult {\n incomingVideoCallId?: string;\n studyId?: string;\n users?: UserVideoJoinResult[] | undefined;\n\n constructor(data?: IInProgressVideoCallResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.incomingVideoCallId = _data[\"incomingVideoCallId\"];\n this.studyId = _data[\"studyId\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(UserVideoJoinResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): InProgressVideoCallResult {\n data = typeof data === 'object' ? data : {};\n let result = new InProgressVideoCallResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"incomingVideoCallId\"] = this.incomingVideoCallId;\n data[\"studyId\"] = this.studyId;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IInProgressVideoCallResult {\n incomingVideoCallId?: string;\n studyId?: string;\n users?: UserVideoJoinResult[] | undefined;\n}\n\nexport class UserVideoJoinResult implements IUserVideoJoinResult {\n userId?: string;\n createdOn?: Date;\n\n constructor(data?: IUserVideoJoinResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): UserVideoJoinResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserVideoJoinResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IUserVideoJoinResult {\n userId?: string;\n createdOn?: Date;\n}\n\nexport class ChannelsStateSnapshot implements IChannelsStateSnapshot {\n users?: { [key: string]: UserSnapshot; };\n callers?: { [key: string]: CallerSnapshot; };\n\n constructor(data?: IChannelsStateSnapshot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (_data[\"users\"]) {\n this.users = {} as any;\n for (let key in _data[\"users\"]) {\n if (_data[\"users\"].hasOwnProperty(key))\n (this.users)![key] = _data[\"users\"][key] ? UserSnapshot.fromJS(_data[\"users\"][key]) : new UserSnapshot();\n }\n }\n if (_data[\"callers\"]) {\n this.callers = {} as any;\n for (let key in _data[\"callers\"]) {\n if (_data[\"callers\"].hasOwnProperty(key))\n (this.callers)![key] = _data[\"callers\"][key] ? CallerSnapshot.fromJS(_data[\"callers\"][key]) : new CallerSnapshot();\n }\n }\n }\n }\n\n static fromJS(data: any): ChannelsStateSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelsStateSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.users) {\n data[\"users\"] = {};\n for (let key in this.users) {\n if (this.users.hasOwnProperty(key))\n (data[\"users\"])[key] = this.users[key] ? this.users[key].toJSON() : undefined;\n }\n }\n if (this.callers) {\n data[\"callers\"] = {};\n for (let key in this.callers) {\n if (this.callers.hasOwnProperty(key))\n (data[\"callers\"])[key] = this.callers[key] ? this.callers[key].toJSON() : undefined;\n }\n }\n return data;\n }\n}\n\nexport interface IChannelsStateSnapshot {\n users?: { [key: string]: UserSnapshot; };\n callers?: { [key: string]: CallerSnapshot; };\n}\n\nexport class ChannelSnapshot implements IChannelSnapshot {\n status?: ChannelStatus;\n startedOn?: Date;\n snapshotCreated?: Date;\n channel?: string | undefined;\n uniqueId?: string | undefined;\n linkedId?: string | undefined;\n\n constructor(data?: IChannelSnapshot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.status = _data[\"status\"];\n this.startedOn = _data[\"startedOn\"] ? new Date(_data[\"startedOn\"].toString()) : undefined;\n this.snapshotCreated = _data[\"snapshotCreated\"] ? new Date(_data[\"snapshotCreated\"].toString()) : undefined;\n this.channel = _data[\"channel\"];\n this.uniqueId = _data[\"uniqueId\"];\n this.linkedId = _data[\"linkedId\"];\n }\n }\n\n static fromJS(data: any): ChannelSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new ChannelSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"status\"] = this.status;\n data[\"startedOn\"] = this.startedOn ? this.startedOn.toISOString() : undefined;\n data[\"snapshotCreated\"] = this.snapshotCreated ? this.snapshotCreated.toISOString() : undefined;\n data[\"channel\"] = this.channel;\n data[\"uniqueId\"] = this.uniqueId;\n data[\"linkedId\"] = this.linkedId;\n return data;\n }\n}\n\nexport interface IChannelSnapshot {\n status?: ChannelStatus;\n startedOn?: Date;\n snapshotCreated?: Date;\n channel?: string | undefined;\n uniqueId?: string | undefined;\n linkedId?: string | undefined;\n}\n\nexport class UserSnapshot extends ChannelSnapshot implements IUserSnapshot {\n userId?: string;\n isDialedOutbound?: boolean;\n dialedNumber?: string | undefined;\n\n constructor(data?: IUserSnapshot) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"];\n this.isDialedOutbound = _data[\"isDialedOutbound\"];\n this.dialedNumber = _data[\"dialedNumber\"];\n }\n }\n\n static fromJS(data: any): UserSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new UserSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"isDialedOutbound\"] = this.isDialedOutbound;\n data[\"dialedNumber\"] = this.dialedNumber;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserSnapshot extends IChannelSnapshot {\n userId?: string;\n isDialedOutbound?: boolean;\n dialedNumber?: string | undefined;\n}\n\nexport enum ChannelStatus {\n DownAvailable = 0,\n DownReserved = 1,\n OffHook = 2,\n Dialed = 3,\n LineRining = 4,\n RemoteRinging = 5,\n Up = 6,\n Busy = 7,\n}\n\nexport class CallerSnapshot extends ChannelSnapshot implements ICallerSnapshot {\n callerIdName?: string | undefined;\n phoneNumber?: string | undefined;\n\n constructor(data?: ICallerSnapshot) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.callerIdName = _data[\"callerIdName\"];\n this.phoneNumber = _data[\"phoneNumber\"];\n }\n }\n\n static fromJS(data: any): CallerSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new CallerSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callerIdName\"] = this.callerIdName;\n data[\"phoneNumber\"] = this.phoneNumber;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface ICallerSnapshot extends IChannelSnapshot {\n callerIdName?: string | undefined;\n phoneNumber?: string | undefined;\n}\n\nexport class QueueSummariesSnapshot implements IQueueSummariesSnapshot {\n queues?: { [key: string]: QueueSnapshot; };\n userQueues?: { [key: string]: string[]; };\n\n constructor(data?: IQueueSummariesSnapshot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (_data[\"queues\"]) {\n this.queues = {} as any;\n for (let key in _data[\"queues\"]) {\n if (_data[\"queues\"].hasOwnProperty(key))\n (this.queues)![key] = _data[\"queues\"][key] ? QueueSnapshot.fromJS(_data[\"queues\"][key]) : new QueueSnapshot();\n }\n }\n if (_data[\"userQueues\"]) {\n this.userQueues = {} as any;\n for (let key in _data[\"userQueues\"]) {\n if (_data[\"userQueues\"].hasOwnProperty(key))\n (this.userQueues)![key] = _data[\"userQueues\"][key] !== undefined ? _data[\"userQueues\"][key] : [];\n }\n }\n }\n }\n\n static fromJS(data: any): QueueSummariesSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new QueueSummariesSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.queues) {\n data[\"queues\"] = {};\n for (let key in this.queues) {\n if (this.queues.hasOwnProperty(key))\n (data[\"queues\"])[key] = this.queues[key] ? this.queues[key].toJSON() : undefined;\n }\n }\n if (this.userQueues) {\n data[\"userQueues\"] = {};\n for (let key in this.userQueues) {\n if (this.userQueues.hasOwnProperty(key))\n (data[\"userQueues\"])[key] = (this.userQueues)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IQueueSummariesSnapshot {\n queues?: { [key: string]: QueueSnapshot; };\n userQueues?: { [key: string]: string[]; };\n}\n\nexport class QueueSnapshot implements IQueueSnapshot {\n name?: string | undefined;\n holdTime?: string;\n callers?: QueuedCallerSnapshot[];\n\n constructor(data?: IQueueSnapshot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.holdTime = _data[\"holdTime\"];\n if (Array.isArray(_data[\"callers\"])) {\n this.callers = [] as any;\n for (let item of _data[\"callers\"])\n this.callers!.push(QueuedCallerSnapshot.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): QueueSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new QueueSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"holdTime\"] = this.holdTime;\n if (Array.isArray(this.callers)) {\n data[\"callers\"] = [];\n for (let item of this.callers)\n data[\"callers\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IQueueSnapshot {\n name?: string | undefined;\n holdTime?: string;\n callers?: QueuedCallerSnapshot[];\n}\n\nexport class QueuedCallerSnapshot implements IQueuedCallerSnapshot {\n uniqueId?: string | undefined;\n position?: number;\n queuedOn?: Date;\n\n constructor(data?: IQueuedCallerSnapshot) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uniqueId = _data[\"uniqueId\"];\n this.position = _data[\"position\"];\n this.queuedOn = _data[\"queuedOn\"] ? new Date(_data[\"queuedOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): QueuedCallerSnapshot {\n data = typeof data === 'object' ? data : {};\n let result = new QueuedCallerSnapshot();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uniqueId\"] = this.uniqueId;\n data[\"position\"] = this.position;\n data[\"queuedOn\"] = this.queuedOn ? this.queuedOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IQueuedCallerSnapshot {\n uniqueId?: string | undefined;\n position?: number;\n queuedOn?: Date;\n}\n\nexport class IncomingVideoStateResult implements IIncomingVideoStateResult {\n id?: string;\n username?: string | undefined;\n createdOn?: Date;\n note?: string | undefined;\n isArchived?: boolean;\n\n constructor(data?: IIncomingVideoStateResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.username = _data[\"username\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.note = _data[\"note\"];\n this.isArchived = _data[\"isArchived\"];\n }\n }\n\n static fromJS(data: any): IncomingVideoStateResult {\n data = typeof data === 'object' ? data : {};\n let result = new IncomingVideoStateResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"username\"] = this.username;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"note\"] = this.note;\n data[\"isArchived\"] = this.isArchived;\n return data;\n }\n}\n\nexport interface IIncomingVideoStateResult {\n id?: string;\n username?: string | undefined;\n createdOn?: Date;\n note?: string | undefined;\n isArchived?: boolean;\n}\n\nexport class CompleteIncomingVideoModel implements ICompleteIncomingVideoModel {\n incomingVideoId?: string;\n studyId?: string;\n sendSatisfactionSurvey?: boolean;\n patientId?: string;\n\n constructor(data?: ICompleteIncomingVideoModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.incomingVideoId = _data[\"incomingVideoId\"];\n this.studyId = _data[\"studyId\"];\n this.sendSatisfactionSurvey = _data[\"sendSatisfactionSurvey\"];\n this.patientId = _data[\"patientId\"];\n }\n }\n\n static fromJS(data: any): CompleteIncomingVideoModel {\n data = typeof data === 'object' ? data : {};\n let result = new CompleteIncomingVideoModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"incomingVideoId\"] = this.incomingVideoId;\n data[\"studyId\"] = this.studyId;\n data[\"sendSatisfactionSurvey\"] = this.sendSatisfactionSurvey;\n data[\"patientId\"] = this.patientId;\n return data;\n }\n}\n\nexport interface ICompleteIncomingVideoModel {\n incomingVideoId?: string;\n studyId?: string;\n sendSatisfactionSurvey?: boolean;\n patientId?: string;\n}\n\nexport class UpdateIncomingVideoStateModel implements IUpdateIncomingVideoStateModel {\n note?: string | undefined;\n\n constructor(data?: IUpdateIncomingVideoStateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.note = _data[\"note\"];\n }\n }\n\n static fromJS(data: any): UpdateIncomingVideoStateModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateIncomingVideoStateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"note\"] = this.note;\n return data;\n }\n}\n\nexport interface IUpdateIncomingVideoStateModel {\n note?: string | undefined;\n}\n\nexport class EmailTemplateResult implements IEmailTemplateResult {\n id?: string;\n name?: string | undefined;\n emailContents?: EmailContentResult[];\n studyId?: string;\n usedForCallRating?: boolean;\n usedForPhoneConfirmation?: boolean;\n usedForVideoConfirmation?: boolean;\n usedForPhoneReminder?: boolean;\n usedForVideoReminder?: boolean;\n\n constructor(data?: IEmailTemplateResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n if (Array.isArray(_data[\"emailContents\"])) {\n this.emailContents = [] as any;\n for (let item of _data[\"emailContents\"])\n this.emailContents!.push(EmailContentResult.fromJS(item));\n }\n this.studyId = _data[\"studyId\"];\n this.usedForCallRating = _data[\"usedForCallRating\"];\n this.usedForPhoneConfirmation = _data[\"usedForPhoneConfirmation\"];\n this.usedForVideoConfirmation = _data[\"usedForVideoConfirmation\"];\n this.usedForPhoneReminder = _data[\"usedForPhoneReminder\"];\n this.usedForVideoReminder = _data[\"usedForVideoReminder\"];\n }\n }\n\n static fromJS(data: any): EmailTemplateResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailTemplateResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n if (Array.isArray(this.emailContents)) {\n data[\"emailContents\"] = [];\n for (let item of this.emailContents)\n data[\"emailContents\"].push(item.toJSON());\n }\n data[\"studyId\"] = this.studyId;\n data[\"usedForCallRating\"] = this.usedForCallRating;\n data[\"usedForPhoneConfirmation\"] = this.usedForPhoneConfirmation;\n data[\"usedForVideoConfirmation\"] = this.usedForVideoConfirmation;\n data[\"usedForPhoneReminder\"] = this.usedForPhoneReminder;\n data[\"usedForVideoReminder\"] = this.usedForVideoReminder;\n return data;\n }\n}\n\nexport interface IEmailTemplateResult {\n id?: string;\n name?: string | undefined;\n emailContents?: EmailContentResult[];\n studyId?: string;\n usedForCallRating?: boolean;\n usedForPhoneConfirmation?: boolean;\n usedForVideoConfirmation?: boolean;\n usedForPhoneReminder?: boolean;\n usedForVideoReminder?: boolean;\n}\n\nexport class EmailContentResult implements IEmailContentResult {\n id?: string;\n emailTemplateId?: string;\n cultureCode?: string;\n subject?: string | undefined;\n body?: string | undefined;\n isDefault?: boolean;\n attachments?: EmailAttachmentResult2[] | undefined;\n\n constructor(data?: IEmailContentResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.emailTemplateId = _data[\"emailTemplateId\"];\n this.cultureCode = _data[\"cultureCode\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n this.isDefault = _data[\"isDefault\"];\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(EmailAttachmentResult2.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): EmailContentResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailContentResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"emailTemplateId\"] = this.emailTemplateId;\n data[\"cultureCode\"] = this.cultureCode;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n data[\"isDefault\"] = this.isDefault;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IEmailContentResult {\n id?: string;\n emailTemplateId?: string;\n cultureCode?: string;\n subject?: string | undefined;\n body?: string | undefined;\n isDefault?: boolean;\n attachments?: EmailAttachmentResult2[] | undefined;\n}\n\nexport class EmailAttachmentResult2 implements IEmailAttachmentResult2 {\n id?: string;\n fileName?: string | undefined;\n\n constructor(data?: IEmailAttachmentResult2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.fileName = _data[\"fileName\"];\n }\n }\n\n static fromJS(data: any): EmailAttachmentResult2 {\n data = typeof data === 'object' ? data : {};\n let result = new EmailAttachmentResult2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"fileName\"] = this.fileName;\n return data;\n }\n}\n\nexport interface IEmailAttachmentResult2 {\n id?: string;\n fileName?: string | undefined;\n}\n\nexport class CreateEmailTemplateModel implements ICreateEmailTemplateModel {\n name!: string;\n\n constructor(data?: ICreateEmailTemplateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CreateEmailTemplateModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmailTemplateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICreateEmailTemplateModel {\n name: string;\n}\n\nexport class UpdateEmailTemplateModel implements IUpdateEmailTemplateModel {\n name!: string;\n\n constructor(data?: IUpdateEmailTemplateModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): UpdateEmailTemplateModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateEmailTemplateModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface IUpdateEmailTemplateModel {\n name: string;\n}\n\nexport class CreateEmailContentModel implements ICreateEmailContentModel {\n cultureCode?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n\n constructor(data?: ICreateEmailContentModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.cultureCode = _data[\"cultureCode\"];\n this.subject = _data[\"subject\"];\n this.body = _data[\"body\"];\n }\n }\n\n static fromJS(data: any): CreateEmailContentModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateEmailContentModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"cultureCode\"] = this.cultureCode;\n data[\"subject\"] = this.subject;\n data[\"body\"] = this.body;\n return data;\n }\n}\n\nexport interface ICreateEmailContentModel {\n cultureCode?: string | undefined;\n subject?: string | undefined;\n body?: string | undefined;\n}\n\nexport class SentEmailResult implements ISentEmailResult {\n messageId?: string | undefined;\n to?: string | undefined;\n from?: string | undefined;\n subject?: string | undefined;\n textBody?: string | undefined;\n htmlBody?: string | undefined;\n date?: Date;\n attachments?: EmailAttachmentResult[] | undefined;\n\n constructor(data?: ISentEmailResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.messageId = _data[\"messageId\"];\n this.to = _data[\"to\"];\n this.from = _data[\"from\"];\n this.subject = _data[\"subject\"];\n this.textBody = _data[\"textBody\"];\n this.htmlBody = _data[\"htmlBody\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : undefined;\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(EmailAttachmentResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SentEmailResult {\n data = typeof data === 'object' ? data : {};\n let result = new SentEmailResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"messageId\"] = this.messageId;\n data[\"to\"] = this.to;\n data[\"from\"] = this.from;\n data[\"subject\"] = this.subject;\n data[\"textBody\"] = this.textBody;\n data[\"htmlBody\"] = this.htmlBody;\n data[\"date\"] = this.date ? this.date.toISOString() : undefined;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISentEmailResult {\n messageId?: string | undefined;\n to?: string | undefined;\n from?: string | undefined;\n subject?: string | undefined;\n textBody?: string | undefined;\n htmlBody?: string | undefined;\n date?: Date;\n attachments?: EmailAttachmentResult[] | undefined;\n}\n\nexport class ProcessEmailModel implements IProcessEmailModel {\n emailAddress?: string | undefined;\n messageID?: string | undefined;\n\n constructor(data?: IProcessEmailModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailAddress = _data[\"emailAddress\"];\n this.messageID = _data[\"messageID\"];\n }\n }\n\n static fromJS(data: any): ProcessEmailModel {\n data = typeof data === 'object' ? data : {};\n let result = new ProcessEmailModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailAddress\"] = this.emailAddress;\n data[\"messageID\"] = this.messageID;\n return data;\n }\n}\n\nexport interface IProcessEmailModel {\n emailAddress?: string | undefined;\n messageID?: string | undefined;\n}\n\nexport class EmailSenderServiceResult implements IEmailSenderServiceResult {\n emailSenderId?: string;\n emailAddress?: string | undefined;\n\n constructor(data?: IEmailSenderServiceResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.emailSenderId = _data[\"emailSenderId\"];\n this.emailAddress = _data[\"emailAddress\"];\n }\n }\n\n static fromJS(data: any): EmailSenderServiceResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailSenderServiceResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"emailSenderId\"] = this.emailSenderId;\n data[\"emailAddress\"] = this.emailAddress;\n return data;\n }\n}\n\nexport interface IEmailSenderServiceResult {\n emailSenderId?: string;\n emailAddress?: string | undefined;\n}\n\nexport class SurveyUIModel implements ISurveyUIModel {\n id?: string | undefined;\n studyId?: string;\n language?: string | undefined;\n\n constructor(data?: ISurveyUIModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.studyId = _data[\"studyId\"];\n this.language = _data[\"language\"];\n }\n }\n\n static fromJS(data: any): SurveyUIModel {\n data = typeof data === 'object' ? data : {};\n let result = new SurveyUIModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"studyId\"] = this.studyId;\n data[\"language\"] = this.language;\n return data;\n }\n}\n\nexport interface ISurveyUIModel {\n id?: string | undefined;\n studyId?: string;\n language?: string | undefined;\n}\n\nexport class UserScheduleResult implements IUserScheduleResult {\n id?: string;\n userId?: string;\n userName?: string | undefined;\n startOn?: Date;\n endOn?: Date;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n languages?: string[] | undefined;\n studies?: ScheduleStudyAssociationResult[];\n isLocked?: boolean;\n\n constructor(data?: IUserScheduleResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n if (Array.isArray(_data[\"agentProvinces\"])) {\n this.agentProvinces = [] as any;\n for (let item of _data[\"agentProvinces\"])\n this.agentProvinces!.push(ProvinceScheduleSummary.fromJS(item));\n }\n this.agentRole = _data[\"agentRole\"];\n if (Array.isArray(_data[\"languages\"])) {\n this.languages = [] as any;\n for (let item of _data[\"languages\"])\n this.languages!.push(item);\n }\n if (Array.isArray(_data[\"studies\"])) {\n this.studies = [] as any;\n for (let item of _data[\"studies\"])\n this.studies!.push(ScheduleStudyAssociationResult.fromJS(item));\n }\n this.isLocked = _data[\"isLocked\"];\n }\n }\n\n static fromJS(data: any): UserScheduleResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserScheduleResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n if (Array.isArray(this.agentProvinces)) {\n data[\"agentProvinces\"] = [];\n for (let item of this.agentProvinces)\n data[\"agentProvinces\"].push(item.toJSON());\n }\n data[\"agentRole\"] = this.agentRole;\n if (Array.isArray(this.languages)) {\n data[\"languages\"] = [];\n for (let item of this.languages)\n data[\"languages\"].push(item);\n }\n if (Array.isArray(this.studies)) {\n data[\"studies\"] = [];\n for (let item of this.studies)\n data[\"studies\"].push(item.toJSON());\n }\n data[\"isLocked\"] = this.isLocked;\n return data;\n }\n}\n\nexport interface IUserScheduleResult {\n id?: string;\n userId?: string;\n userName?: string | undefined;\n startOn?: Date;\n endOn?: Date;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n languages?: string[] | undefined;\n studies?: ScheduleStudyAssociationResult[];\n isLocked?: boolean;\n}\n\nexport class ScheduleStudyAssociationResult implements IScheduleStudyAssociationResult {\n studyId?: string;\n studyName?: string | undefined;\n studyPrimaryColor?: string | undefined;\n shiftSupervisor?: boolean;\n\n constructor(data?: IScheduleStudyAssociationResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.studyName = _data[\"studyName\"];\n this.studyPrimaryColor = _data[\"studyPrimaryColor\"];\n this.shiftSupervisor = _data[\"shiftSupervisor\"];\n }\n }\n\n static fromJS(data: any): ScheduleStudyAssociationResult {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleStudyAssociationResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"studyName\"] = this.studyName;\n data[\"studyPrimaryColor\"] = this.studyPrimaryColor;\n data[\"shiftSupervisor\"] = this.shiftSupervisor;\n return data;\n }\n}\n\nexport interface IScheduleStudyAssociationResult {\n studyId?: string;\n studyName?: string | undefined;\n studyPrimaryColor?: string | undefined;\n shiftSupervisor?: boolean;\n}\n\nexport class CreateStudyUserScheduleModel implements ICreateStudyUserScheduleModel {\n userId?: string;\n startOn?: Date;\n endOn?: Date;\n notes?: string | undefined;\n studyAssociations?: ScheduleStudyAssociationModel[] | undefined;\n breaks?: StudyUserScheduleBreakModel[] | undefined;\n\n constructor(data?: ICreateStudyUserScheduleModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.notes = _data[\"notes\"];\n if (Array.isArray(_data[\"studyAssociations\"])) {\n this.studyAssociations = [] as any;\n for (let item of _data[\"studyAssociations\"])\n this.studyAssociations!.push(ScheduleStudyAssociationModel.fromJS(item));\n }\n if (Array.isArray(_data[\"breaks\"])) {\n this.breaks = [] as any;\n for (let item of _data[\"breaks\"])\n this.breaks!.push(StudyUserScheduleBreakModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CreateStudyUserScheduleModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateStudyUserScheduleModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"notes\"] = this.notes;\n if (Array.isArray(this.studyAssociations)) {\n data[\"studyAssociations\"] = [];\n for (let item of this.studyAssociations)\n data[\"studyAssociations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breaks)) {\n data[\"breaks\"] = [];\n for (let item of this.breaks)\n data[\"breaks\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICreateStudyUserScheduleModel {\n userId?: string;\n startOn?: Date;\n endOn?: Date;\n notes?: string | undefined;\n studyAssociations?: ScheduleStudyAssociationModel[] | undefined;\n breaks?: StudyUserScheduleBreakModel[] | undefined;\n}\n\nexport class ScheduleStudyAssociationModel implements IScheduleStudyAssociationModel {\n shiftSupervisor?: boolean;\n studyId?: string;\n\n constructor(data?: IScheduleStudyAssociationModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shiftSupervisor = _data[\"shiftSupervisor\"];\n this.studyId = _data[\"studyId\"];\n }\n }\n\n static fromJS(data: any): ScheduleStudyAssociationModel {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleStudyAssociationModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shiftSupervisor\"] = this.shiftSupervisor;\n data[\"studyId\"] = this.studyId;\n return data;\n }\n}\n\nexport interface IScheduleStudyAssociationModel {\n shiftSupervisor?: boolean;\n studyId?: string;\n}\n\nexport class StudyUserScheduleBreakModel implements IStudyUserScheduleBreakModel {\n breakId?: string | undefined;\n startOn?: Date;\n duration?: number;\n deleted?: boolean;\n\n constructor(data?: IStudyUserScheduleBreakModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breakId = _data[\"breakId\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.duration = _data[\"duration\"];\n this.deleted = _data[\"deleted\"];\n }\n }\n\n static fromJS(data: any): StudyUserScheduleBreakModel {\n data = typeof data === 'object' ? data : {};\n let result = new StudyUserScheduleBreakModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breakId\"] = this.breakId;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"duration\"] = this.duration;\n data[\"deleted\"] = this.deleted;\n return data;\n }\n}\n\nexport interface IStudyUserScheduleBreakModel {\n breakId?: string | undefined;\n startOn?: Date;\n duration?: number;\n deleted?: boolean;\n}\n\nexport class UpdateUserScheduleRequestModel implements IUpdateUserScheduleRequestModel {\n studyUserScheduleId?: string;\n startOn?: Date;\n endOn?: Date;\n notes?: string | undefined;\n studyAssociations?: ScheduleStudyAssociationModel[] | undefined;\n breaks?: StudyUserScheduleBreakModel[] | undefined;\n\n constructor(data?: IUpdateUserScheduleRequestModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyUserScheduleId = _data[\"studyUserScheduleId\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.notes = _data[\"notes\"];\n if (Array.isArray(_data[\"studyAssociations\"])) {\n this.studyAssociations = [] as any;\n for (let item of _data[\"studyAssociations\"])\n this.studyAssociations!.push(ScheduleStudyAssociationModel.fromJS(item));\n }\n if (Array.isArray(_data[\"breaks\"])) {\n this.breaks = [] as any;\n for (let item of _data[\"breaks\"])\n this.breaks!.push(StudyUserScheduleBreakModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): UpdateUserScheduleRequestModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserScheduleRequestModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyUserScheduleId\"] = this.studyUserScheduleId;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"notes\"] = this.notes;\n if (Array.isArray(this.studyAssociations)) {\n data[\"studyAssociations\"] = [];\n for (let item of this.studyAssociations)\n data[\"studyAssociations\"].push(item.toJSON());\n }\n if (Array.isArray(this.breaks)) {\n data[\"breaks\"] = [];\n for (let item of this.breaks)\n data[\"breaks\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IUpdateUserScheduleRequestModel {\n studyUserScheduleId?: string;\n startOn?: Date;\n endOn?: Date;\n notes?: string | undefined;\n studyAssociations?: ScheduleStudyAssociationModel[] | undefined;\n breaks?: StudyUserScheduleBreakModel[] | undefined;\n}\n\nexport class ScheduleOpeningResult2 implements IScheduleOpeningResult2 {\n userId?: string;\n start?: Date;\n end?: Date;\n\n constructor(data?: IScheduleOpeningResult2) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): ScheduleOpeningResult2 {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleOpeningResult2();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IScheduleOpeningResult2 {\n userId?: string;\n start?: Date;\n end?: Date;\n}\n\nexport class StudyUserHoursResult implements IStudyUserHoursResult {\n userId?: string;\n userName?: string | undefined;\n hours?: number | undefined;\n adjustedHours?: number | undefined;\n studies?: ScheduleStudyReference[] | undefined;\n\n constructor(data?: IStudyUserHoursResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n this.hours = _data[\"hours\"];\n this.adjustedHours = _data[\"adjustedHours\"];\n if (Array.isArray(_data[\"studies\"])) {\n this.studies = [] as any;\n for (let item of _data[\"studies\"])\n this.studies!.push(ScheduleStudyReference.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): StudyUserHoursResult {\n data = typeof data === 'object' ? data : {};\n let result = new StudyUserHoursResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n data[\"hours\"] = this.hours;\n data[\"adjustedHours\"] = this.adjustedHours;\n if (Array.isArray(this.studies)) {\n data[\"studies\"] = [];\n for (let item of this.studies)\n data[\"studies\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IStudyUserHoursResult {\n userId?: string;\n userName?: string | undefined;\n hours?: number | undefined;\n adjustedHours?: number | undefined;\n studies?: ScheduleStudyReference[] | undefined;\n}\n\nexport class ScheduleStudyReference implements IScheduleStudyReference {\n studyId?: string;\n studyName?: string | undefined;\n role?: string | undefined;\n\n constructor(data?: IScheduleStudyReference) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.studyName = _data[\"studyName\"];\n this.role = _data[\"role\"];\n }\n }\n\n static fromJS(data: any): ScheduleStudyReference {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleStudyReference();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"studyName\"] = this.studyName;\n data[\"role\"] = this.role;\n return data;\n }\n}\n\nexport interface IScheduleStudyReference {\n studyId?: string;\n studyName?: string | undefined;\n role?: string | undefined;\n}\n\nexport class DuplicateScheduleViewModel implements IDuplicateScheduleViewModel {\n sourceStart?: Date;\n sourceEnd?: Date;\n target?: Date;\n\n constructor(data?: IDuplicateScheduleViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sourceStart = _data[\"sourceStart\"] ? new Date(_data[\"sourceStart\"].toString()) : undefined;\n this.sourceEnd = _data[\"sourceEnd\"] ? new Date(_data[\"sourceEnd\"].toString()) : undefined;\n this.target = _data[\"target\"] ? new Date(_data[\"target\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DuplicateScheduleViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new DuplicateScheduleViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sourceStart\"] = this.sourceStart ? this.sourceStart.toISOString() : undefined;\n data[\"sourceEnd\"] = this.sourceEnd ? this.sourceEnd.toISOString() : undefined;\n data[\"target\"] = this.target ? this.target.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDuplicateScheduleViewModel {\n sourceStart?: Date;\n sourceEnd?: Date;\n target?: Date;\n}\n\nexport class PostScheduleViewModel implements IPostScheduleViewModel {\n schedulePostedDate?: Date;\n\n constructor(data?: IPostScheduleViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.schedulePostedDate = _data[\"schedulePostedDate\"] ? new Date(_data[\"schedulePostedDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): PostScheduleViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new PostScheduleViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"schedulePostedDate\"] = this.schedulePostedDate ? this.schedulePostedDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IPostScheduleViewModel {\n schedulePostedDate?: Date;\n}\n\nexport class GridScheduleViewModel implements IGridScheduleViewModel {\n agentId?: string;\n agentName?: string | undefined;\n languages?: string[] | undefined;\n scheduleDetails?: ScheduleDetail[] | undefined;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n\n constructor(data?: IGridScheduleViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.agentId = _data[\"agentId\"];\n this.agentName = _data[\"agentName\"];\n if (Array.isArray(_data[\"languages\"])) {\n this.languages = [] as any;\n for (let item of _data[\"languages\"])\n this.languages!.push(item);\n }\n if (Array.isArray(_data[\"scheduleDetails\"])) {\n this.scheduleDetails = [] as any;\n for (let item of _data[\"scheduleDetails\"])\n this.scheduleDetails!.push(ScheduleDetail.fromJS(item));\n }\n if (Array.isArray(_data[\"agentProvinces\"])) {\n this.agentProvinces = [] as any;\n for (let item of _data[\"agentProvinces\"])\n this.agentProvinces!.push(ProvinceScheduleSummary.fromJS(item));\n }\n this.agentRole = _data[\"agentRole\"];\n }\n }\n\n static fromJS(data: any): GridScheduleViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new GridScheduleViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"agentId\"] = this.agentId;\n data[\"agentName\"] = this.agentName;\n if (Array.isArray(this.languages)) {\n data[\"languages\"] = [];\n for (let item of this.languages)\n data[\"languages\"].push(item);\n }\n if (Array.isArray(this.scheduleDetails)) {\n data[\"scheduleDetails\"] = [];\n for (let item of this.scheduleDetails)\n data[\"scheduleDetails\"].push(item.toJSON());\n }\n if (Array.isArray(this.agentProvinces)) {\n data[\"agentProvinces\"] = [];\n for (let item of this.agentProvinces)\n data[\"agentProvinces\"].push(item.toJSON());\n }\n data[\"agentRole\"] = this.agentRole;\n return data;\n }\n}\n\nexport interface IGridScheduleViewModel {\n agentId?: string;\n agentName?: string | undefined;\n languages?: string[] | undefined;\n scheduleDetails?: ScheduleDetail[] | undefined;\n agentProvinces?: ProvinceScheduleSummary[] | undefined;\n agentRole?: AgentRole | undefined;\n}\n\nexport class ScheduleDetail implements IScheduleDetail {\n shiftId?: string;\n shiftStudies?: ShiftStudy[] | undefined;\n startOn?: Date;\n endOn?: Date;\n isLocked?: boolean;\n breaks?: BreakResult[] | undefined;\n notes?: string | undefined;\n\n constructor(data?: IScheduleDetail) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shiftId = _data[\"shiftId\"];\n if (Array.isArray(_data[\"shiftStudies\"])) {\n this.shiftStudies = [] as any;\n for (let item of _data[\"shiftStudies\"])\n this.shiftStudies!.push(ShiftStudy.fromJS(item));\n }\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.isLocked = _data[\"isLocked\"];\n if (Array.isArray(_data[\"breaks\"])) {\n this.breaks = [] as any;\n for (let item of _data[\"breaks\"])\n this.breaks!.push(BreakResult.fromJS(item));\n }\n this.notes = _data[\"notes\"];\n }\n }\n\n static fromJS(data: any): ScheduleDetail {\n data = typeof data === 'object' ? data : {};\n let result = new ScheduleDetail();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shiftId\"] = this.shiftId;\n if (Array.isArray(this.shiftStudies)) {\n data[\"shiftStudies\"] = [];\n for (let item of this.shiftStudies)\n data[\"shiftStudies\"].push(item.toJSON());\n }\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"isLocked\"] = this.isLocked;\n if (Array.isArray(this.breaks)) {\n data[\"breaks\"] = [];\n for (let item of this.breaks)\n data[\"breaks\"].push(item.toJSON());\n }\n data[\"notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IScheduleDetail {\n shiftId?: string;\n shiftStudies?: ShiftStudy[] | undefined;\n startOn?: Date;\n endOn?: Date;\n isLocked?: boolean;\n breaks?: BreakResult[] | undefined;\n notes?: string | undefined;\n}\n\nexport class ShiftStudy implements IShiftStudy {\n studyId?: string;\n shiftSupervisor?: boolean;\n\n constructor(data?: IShiftStudy) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.studyId = _data[\"studyId\"];\n this.shiftSupervisor = _data[\"shiftSupervisor\"];\n }\n }\n\n static fromJS(data: any): ShiftStudy {\n data = typeof data === 'object' ? data : {};\n let result = new ShiftStudy();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"studyId\"] = this.studyId;\n data[\"shiftSupervisor\"] = this.shiftSupervisor;\n return data;\n }\n}\n\nexport interface IShiftStudy {\n studyId?: string;\n shiftSupervisor?: boolean;\n}\n\nexport class BreakResult implements IBreakResult {\n breakId?: string;\n startOn?: Date;\n duration?: number;\n\n constructor(data?: IBreakResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.breakId = _data[\"breakId\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.duration = _data[\"duration\"];\n }\n }\n\n static fromJS(data: any): BreakResult {\n data = typeof data === 'object' ? data : {};\n let result = new BreakResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"breakId\"] = this.breakId;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"duration\"] = this.duration;\n return data;\n }\n}\n\nexport interface IBreakResult {\n breakId?: string;\n startOn?: Date;\n duration?: number;\n}\n\nexport class AvailabilityResult implements IAvailabilityResult {\n id?: string;\n userId?: string | undefined;\n userName?: string | undefined;\n start?: Date;\n end?: Date;\n\n constructor(data?: IAvailabilityResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.userId = _data[\"userId\"];\n this.userName = _data[\"userName\"];\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AvailabilityResult {\n data = typeof data === 'object' ? data : {};\n let result = new AvailabilityResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"userId\"] = this.userId;\n data[\"userName\"] = this.userName;\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAvailabilityResult {\n id?: string;\n userId?: string | undefined;\n userName?: string | undefined;\n start?: Date;\n end?: Date;\n}\n\nexport class AvailabilityViewModel implements IAvailabilityViewModel {\n id?: string | undefined;\n userId?: string;\n start?: Date;\n end?: Date;\n\n constructor(data?: IAvailabilityViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.userId = _data[\"userId\"];\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AvailabilityViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new AvailabilityViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"userId\"] = this.userId;\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAvailabilityViewModel {\n id?: string | undefined;\n userId?: string;\n start?: Date;\n end?: Date;\n}\n\nexport class DuplicateAvailabilityViewModel implements IDuplicateAvailabilityViewModel {\n sourceStart?: Date;\n sourceEnd?: Date;\n target?: Date;\n\n constructor(data?: IDuplicateAvailabilityViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sourceStart = _data[\"sourceStart\"] ? new Date(_data[\"sourceStart\"].toString()) : undefined;\n this.sourceEnd = _data[\"sourceEnd\"] ? new Date(_data[\"sourceEnd\"].toString()) : undefined;\n this.target = _data[\"target\"] ? new Date(_data[\"target\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): DuplicateAvailabilityViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new DuplicateAvailabilityViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sourceStart\"] = this.sourceStart ? this.sourceStart.toISOString() : undefined;\n data[\"sourceEnd\"] = this.sourceEnd ? this.sourceEnd.toISOString() : undefined;\n data[\"target\"] = this.target ? this.target.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IDuplicateAvailabilityViewModel {\n sourceStart?: Date;\n sourceEnd?: Date;\n target?: Date;\n}\n\nexport class CallHistoryResult implements ICallHistoryResult {\n uniqueId?: string | undefined;\n callStartDate?: Date;\n callEndDate?: Date | undefined;\n callDirection?: CallDirection;\n callerId?: string | undefined;\n callType?: CallType;\n userId?: string | undefined;\n studyId?: string;\n cdrs?: CallEntryResult[];\n\n constructor(data?: ICallHistoryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uniqueId = _data[\"uniqueId\"];\n this.callStartDate = _data[\"callStartDate\"] ? new Date(_data[\"callStartDate\"].toString()) : undefined;\n this.callEndDate = _data[\"callEndDate\"] ? new Date(_data[\"callEndDate\"].toString()) : undefined;\n this.callDirection = _data[\"callDirection\"];\n this.callerId = _data[\"callerId\"];\n this.callType = _data[\"callType\"];\n this.userId = _data[\"userId\"];\n this.studyId = _data[\"studyId\"];\n if (Array.isArray(_data[\"cdrs\"])) {\n this.cdrs = [] as any;\n for (let item of _data[\"cdrs\"])\n this.cdrs!.push(CallEntryResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CallHistoryResult {\n data = typeof data === 'object' ? data : {};\n let result = new CallHistoryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uniqueId\"] = this.uniqueId;\n data[\"callStartDate\"] = this.callStartDate ? this.callStartDate.toISOString() : undefined;\n data[\"callEndDate\"] = this.callEndDate ? this.callEndDate.toISOString() : undefined;\n data[\"callDirection\"] = this.callDirection;\n data[\"callerId\"] = this.callerId;\n data[\"callType\"] = this.callType;\n data[\"userId\"] = this.userId;\n data[\"studyId\"] = this.studyId;\n if (Array.isArray(this.cdrs)) {\n data[\"cdrs\"] = [];\n for (let item of this.cdrs)\n data[\"cdrs\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICallHistoryResult {\n uniqueId?: string | undefined;\n callStartDate?: Date;\n callEndDate?: Date | undefined;\n callDirection?: CallDirection;\n callerId?: string | undefined;\n callType?: CallType;\n userId?: string | undefined;\n studyId?: string;\n cdrs?: CallEntryResult[];\n}\n\nexport enum CallDirection {\n Inbound = 0,\n Outbound = 1,\n}\n\nexport class CallEntryResult implements ICallEntryResult {\n callDate?: Date | undefined;\n dContext?: string | undefined;\n src?: string | undefined;\n userId?: string | undefined;\n destinationUserId?: string | undefined;\n duration?: number | undefined;\n start?: Date | undefined;\n end?: Date | undefined;\n answeredOn?: Date | undefined;\n linkedId?: string | undefined;\n clid?: string | undefined;\n studyId?: string | undefined;\n\n constructor(data?: ICallEntryResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callDate = _data[\"callDate\"] ? new Date(_data[\"callDate\"].toString()) : undefined;\n this.dContext = _data[\"dContext\"];\n this.src = _data[\"src\"];\n this.userId = _data[\"userId\"];\n this.destinationUserId = _data[\"destinationUserId\"];\n this.duration = _data[\"duration\"];\n this.start = _data[\"start\"] ? new Date(_data[\"start\"].toString()) : undefined;\n this.end = _data[\"end\"] ? new Date(_data[\"end\"].toString()) : undefined;\n this.answeredOn = _data[\"answeredOn\"] ? new Date(_data[\"answeredOn\"].toString()) : undefined;\n this.linkedId = _data[\"linkedId\"];\n this.clid = _data[\"clid\"];\n this.studyId = _data[\"studyId\"];\n }\n }\n\n static fromJS(data: any): CallEntryResult {\n data = typeof data === 'object' ? data : {};\n let result = new CallEntryResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callDate\"] = this.callDate ? this.callDate.toISOString() : undefined;\n data[\"dContext\"] = this.dContext;\n data[\"src\"] = this.src;\n data[\"userId\"] = this.userId;\n data[\"destinationUserId\"] = this.destinationUserId;\n data[\"duration\"] = this.duration;\n data[\"start\"] = this.start ? this.start.toISOString() : undefined;\n data[\"end\"] = this.end ? this.end.toISOString() : undefined;\n data[\"answeredOn\"] = this.answeredOn ? this.answeredOn.toISOString() : undefined;\n data[\"linkedId\"] = this.linkedId;\n data[\"clid\"] = this.clid;\n data[\"studyId\"] = this.studyId;\n return data;\n }\n}\n\nexport interface ICallEntryResult {\n callDate?: Date | undefined;\n dContext?: string | undefined;\n src?: string | undefined;\n userId?: string | undefined;\n destinationUserId?: string | undefined;\n duration?: number | undefined;\n start?: Date | undefined;\n end?: Date | undefined;\n answeredOn?: Date | undefined;\n linkedId?: string | undefined;\n clid?: string | undefined;\n studyId?: string | undefined;\n}\n\nexport class UserQueuesResult implements IUserQueuesResult {\n userId?: string;\n queueIds?: string[];\n\n constructor(data?: IUserQueuesResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n if (Array.isArray(_data[\"queueIds\"])) {\n this.queueIds = [] as any;\n for (let item of _data[\"queueIds\"])\n this.queueIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): UserQueuesResult {\n data = typeof data === 'object' ? data : {};\n let result = new UserQueuesResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n if (Array.isArray(this.queueIds)) {\n data[\"queueIds\"] = [];\n for (let item of this.queueIds)\n data[\"queueIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IUserQueuesResult {\n userId?: string;\n queueIds?: string[];\n}\n\nexport class SetUserQueuesModel implements ISetUserQueuesModel {\n asteriskUsername?: string | undefined;\n queueIds?: string[] | undefined;\n\n constructor(data?: ISetUserQueuesModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.asteriskUsername = _data[\"asteriskUsername\"];\n if (Array.isArray(_data[\"queueIds\"])) {\n this.queueIds = [] as any;\n for (let item of _data[\"queueIds\"])\n this.queueIds!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SetUserQueuesModel {\n data = typeof data === 'object' ? data : {};\n let result = new SetUserQueuesModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"asteriskUsername\"] = this.asteriskUsername;\n if (Array.isArray(this.queueIds)) {\n data[\"queueIds\"] = [];\n for (let item of this.queueIds)\n data[\"queueIds\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISetUserQueuesModel {\n asteriskUsername?: string | undefined;\n queueIds?: string[] | undefined;\n}\n\nexport class JoinTempQueueModel implements IJoinTempQueueModel {\n queueName?: string | undefined;\n\n constructor(data?: IJoinTempQueueModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.queueName = _data[\"queueName\"];\n }\n }\n\n static fromJS(data: any): JoinTempQueueModel {\n data = typeof data === 'object' ? data : {};\n let result = new JoinTempQueueModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"queueName\"] = this.queueName;\n return data;\n }\n}\n\nexport interface IJoinTempQueueModel {\n queueName?: string | undefined;\n}\n\nexport class AppointmentResult implements IAppointmentResult {\n id?: string;\n createdOn?: Date;\n studyId?: string | undefined;\n userId?: string;\n createdByUserId?: string | undefined;\n userFullName?: string | undefined;\n appointmentType?: AppointmentType;\n pendingExpiresOn?: Date | undefined;\n startOn?: Date;\n endOn?: Date;\n callbackTaskId?: string | undefined;\n task?: CallbackTaskResult | undefined;\n notes?: string | undefined;\n durationOption?: StudyCallDurationOptionResult | undefined;\n\n constructor(data?: IAppointmentResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\n this.studyId = _data[\"studyId\"];\n this.userId = _data[\"userId\"];\n this.createdByUserId = _data[\"createdByUserId\"];\n this.userFullName = _data[\"userFullName\"];\n this.appointmentType = _data[\"appointmentType\"];\n this.pendingExpiresOn = _data[\"pendingExpiresOn\"] ? new Date(_data[\"pendingExpiresOn\"].toString()) : undefined;\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.callbackTaskId = _data[\"callbackTaskId\"];\n this.task = _data[\"task\"] ? CallbackTaskResult.fromJS(_data[\"task\"]) : undefined;\n this.notes = _data[\"notes\"];\n this.durationOption = _data[\"durationOption\"] ? StudyCallDurationOptionResult.fromJS(_data[\"durationOption\"]) : undefined;\n }\n }\n\n static fromJS(data: any): AppointmentResult {\n data = typeof data === 'object' ? data : {};\n let result = new AppointmentResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\n data[\"studyId\"] = this.studyId;\n data[\"userId\"] = this.userId;\n data[\"createdByUserId\"] = this.createdByUserId;\n data[\"userFullName\"] = this.userFullName;\n data[\"appointmentType\"] = this.appointmentType;\n data[\"pendingExpiresOn\"] = this.pendingExpiresOn ? this.pendingExpiresOn.toISOString() : undefined;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"callbackTaskId\"] = this.callbackTaskId;\n data[\"task\"] = this.task ? this.task.toJSON() : undefined;\n data[\"notes\"] = this.notes;\n data[\"durationOption\"] = this.durationOption ? this.durationOption.toJSON() : undefined;\n return data;\n }\n}\n\nexport interface IAppointmentResult {\n id?: string;\n createdOn?: Date;\n studyId?: string | undefined;\n userId?: string;\n createdByUserId?: string | undefined;\n userFullName?: string | undefined;\n appointmentType?: AppointmentType;\n pendingExpiresOn?: Date | undefined;\n startOn?: Date;\n endOn?: Date;\n callbackTaskId?: string | undefined;\n task?: CallbackTaskResult | undefined;\n notes?: string | undefined;\n durationOption?: StudyCallDurationOptionResult | undefined;\n}\n\nexport enum AppointmentType {\n Other = 0,\n Break = 1,\n ManualBreak = 2,\n Call = 3,\n Pending = 4,\n}\n\nexport class PendingAppointmentCreatedModel implements IPendingAppointmentCreatedModel {\n appointmentId?: string;\n\n constructor(data?: IPendingAppointmentCreatedModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appointmentId = _data[\"appointmentId\"];\n }\n }\n\n static fromJS(data: any): PendingAppointmentCreatedModel {\n data = typeof data === 'object' ? data : {};\n let result = new PendingAppointmentCreatedModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"appointmentId\"] = this.appointmentId;\n return data;\n }\n}\n\nexport interface IPendingAppointmentCreatedModel {\n appointmentId?: string;\n}\n\nexport class CreatePendingAppointmentModel implements ICreatePendingAppointmentModel {\n userId?: string;\n startOn?: Date;\n endOn?: Date;\n\n constructor(data?: ICreatePendingAppointmentModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"];\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): CreatePendingAppointmentModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreatePendingAppointmentModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId;\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface ICreatePendingAppointmentModel {\n userId?: string;\n startOn?: Date;\n endOn?: Date;\n}\n\nexport class UpdateAppointmentTimeModel implements IUpdateAppointmentTimeModel {\n startOn?: Date;\n endOn?: Date;\n appointmentId?: string;\n\n constructor(data?: IUpdateAppointmentTimeModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.appointmentId = _data[\"appointmentId\"];\n }\n }\n\n static fromJS(data: any): UpdateAppointmentTimeModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAppointmentTimeModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"appointmentId\"] = this.appointmentId;\n return data;\n }\n}\n\nexport interface IUpdateAppointmentTimeModel {\n startOn?: Date;\n endOn?: Date;\n appointmentId?: string;\n}\n\nexport class UpdateAppointmentModel implements IUpdateAppointmentModel {\n startOn?: Date;\n endOn?: Date;\n appointmentId?: string;\n label?: string | undefined;\n\n constructor(data?: IUpdateAppointmentModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.startOn = _data[\"startOn\"] ? new Date(_data[\"startOn\"].toString()) : undefined;\n this.endOn = _data[\"endOn\"] ? new Date(_data[\"endOn\"].toString()) : undefined;\n this.appointmentId = _data[\"appointmentId\"];\n this.label = _data[\"label\"];\n }\n }\n\n static fromJS(data: any): UpdateAppointmentModel {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateAppointmentModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"startOn\"] = this.startOn ? this.startOn.toISOString() : undefined;\n data[\"endOn\"] = this.endOn ? this.endOn.toISOString() : undefined;\n data[\"appointmentId\"] = this.appointmentId;\n data[\"label\"] = this.label;\n return data;\n }\n}\n\nexport interface IUpdateAppointmentModel {\n startOn?: Date;\n endOn?: Date;\n appointmentId?: string;\n label?: string | undefined;\n}\n\nexport class FinalizeHcpBreakAppointmentModel implements IFinalizeHcpBreakAppointmentModel {\n appointmentId?: string;\n interactionTypeDurationOptionId?: string;\n studyId?: string;\n notes?: string | undefined;\n\n constructor(data?: IFinalizeHcpBreakAppointmentModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.appointmentId = _data[\"appointmentId\"];\n this.interactionTypeDurationOptionId = _data[\"interactionTypeDurationOptionId\"];\n this.studyId = _data[\"studyId\"];\n this.notes = _data[\"notes\"];\n }\n }\n\n static fromJS(data: any): FinalizeHcpBreakAppointmentModel {\n data = typeof data === 'object' ? data : {};\n let result = new FinalizeHcpBreakAppointmentModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"appointmentId\"] = this.appointmentId;\n data[\"interactionTypeDurationOptionId\"] = this.interactionTypeDurationOptionId;\n data[\"studyId\"] = this.studyId;\n data[\"notes\"] = this.notes;\n return data;\n }\n}\n\nexport interface IFinalizeHcpBreakAppointmentModel {\n appointmentId?: string;\n interactionTypeDurationOptionId?: string;\n studyId?: string;\n notes?: string | undefined;\n}\n\nexport class CreateCallbackViewModel implements ICreateCallbackViewModel {\n patientFirstName?: string | undefined;\n patientLastName?: string | undefined;\n patientEmail?: string | undefined;\n patientPhoneNumber?: string | undefined;\n hasPatientConsentedVoicemail?: boolean | undefined;\n patientLanguageCode?: LanguageCode;\n startDateTime?: Date | undefined;\n patientSelectedTimeZone?: string | undefined;\n callbackType?: CallType;\n studyId?: string;\n isCallbackAsap?: boolean | undefined;\n\n constructor(data?: ICreateCallbackViewModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.patientFirstName = _data[\"patientFirstName\"];\n this.patientLastName = _data[\"patientLastName\"];\n this.patientEmail = _data[\"patientEmail\"];\n this.patientPhoneNumber = _data[\"patientPhoneNumber\"];\n this.hasPatientConsentedVoicemail = _data[\"hasPatientConsentedVoicemail\"];\n this.patientLanguageCode = _data[\"patientLanguageCode\"];\n this.startDateTime = _data[\"startDateTime\"] ? new Date(_data[\"startDateTime\"].toString()) : undefined;\n this.patientSelectedTimeZone = _data[\"patientSelectedTimeZone\"];\n this.callbackType = _data[\"callbackType\"];\n this.studyId = _data[\"studyId\"];\n this.isCallbackAsap = _data[\"isCallbackAsap\"];\n }\n }\n\n static fromJS(data: any): CreateCallbackViewModel {\n data = typeof data === 'object' ? data : {};\n let result = new CreateCallbackViewModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"patientFirstName\"] = this.patientFirstName;\n data[\"patientLastName\"] = this.patientLastName;\n data[\"patientEmail\"] = this.patientEmail;\n data[\"patientPhoneNumber\"] = this.patientPhoneNumber;\n data[\"hasPatientConsentedVoicemail\"] = this.hasPatientConsentedVoicemail;\n data[\"patientLanguageCode\"] = this.patientLanguageCode;\n data[\"startDateTime\"] = this.startDateTime ? this.startDateTime.toISOString() : undefined;\n data[\"patientSelectedTimeZone\"] = this.patientSelectedTimeZone;\n data[\"callbackType\"] = this.callbackType;\n data[\"studyId\"] = this.studyId;\n data[\"isCallbackAsap\"] = this.isCallbackAsap;\n return data;\n }\n}\n\nexport interface ICreateCallbackViewModel {\n patientFirstName?: string | undefined;\n patientLastName?: string | undefined;\n patientEmail?: string | undefined;\n patientPhoneNumber?: string | undefined;\n hasPatientConsentedVoicemail?: boolean | undefined;\n patientLanguageCode?: LanguageCode;\n startDateTime?: Date | undefined;\n patientSelectedTimeZone?: string | undefined;\n callbackType?: CallType;\n studyId?: string;\n isCallbackAsap?: boolean | undefined;\n}\n\nexport enum LanguageCode {\n English = 0,\n French = 1,\n}\n\nexport class ProgramAppointmentAvailabilityReponse implements IProgramAppointmentAvailabilityReponse {\n calculatedFor?: Date;\n openingTime?: Date;\n closedTime?: Date;\n closures?: ProgramClosureConfiguration[] | undefined;\n appointments?: AvailableAppointmentResult[] | undefined;\n\n constructor(data?: IProgramAppointmentAvailabilityReponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.calculatedFor = _data[\"calculatedFor\"] ? new Date(_data[\"calculatedFor\"].toString()) : undefined;\n this.openingTime = _data[\"openingTime\"] ? new Date(_data[\"openingTime\"].toString()) : undefined;\n this.closedTime = _data[\"closedTime\"] ? new Date(_data[\"closedTime\"].toString()) : undefined;\n if (Array.isArray(_data[\"closures\"])) {\n this.closures = [] as any;\n for (let item of _data[\"closures\"])\n this.closures!.push(ProgramClosureConfiguration.fromJS(item));\n }\n if (Array.isArray(_data[\"appointments\"])) {\n this.appointments = [] as any;\n for (let item of _data[\"appointments\"])\n this.appointments!.push(AvailableAppointmentResult.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): ProgramAppointmentAvailabilityReponse {\n data = typeof data === 'object' ? data : {};\n let result = new ProgramAppointmentAvailabilityReponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"calculatedFor\"] = this.calculatedFor ? this.calculatedFor.toISOString() : undefined;\n data[\"openingTime\"] = this.openingTime ? this.openingTime.toISOString() : undefined;\n data[\"closedTime\"] = this.closedTime ? this.closedTime.toISOString() : undefined;\n if (Array.isArray(this.closures)) {\n data[\"closures\"] = [];\n for (let item of this.closures)\n data[\"closures\"].push(item.toJSON());\n }\n if (Array.isArray(this.appointments)) {\n data[\"appointments\"] = [];\n for (let item of this.appointments)\n data[\"appointments\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IProgramAppointmentAvailabilityReponse {\n calculatedFor?: Date;\n openingTime?: Date;\n closedTime?: Date;\n closures?: ProgramClosureConfiguration[] | undefined;\n appointments?: AvailableAppointmentResult[] | undefined;\n}\n\nexport class ProgramClosureConfiguration implements IProgramClosureConfiguration {\n from?: Date;\n to?: Date;\n messageEn?: string;\n messageFr?: string;\n\n constructor(data?: IProgramClosureConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.from = _data[\"from\"] ? new Date(_data[\"from\"].toString()) : undefined;\n this.to = _data[\"to\"] ? new Date(_data[\"to\"].toString()) : undefined;\n this.messageEn = _data[\"messageEn\"];\n this.messageFr = _data[\"messageFr\"];\n }\n }\n\n static fromJS(data: any): ProgramClosureConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new ProgramClosureConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"from\"] = this.from ? this.from.toISOString() : undefined;\n data[\"to\"] = this.to ? this.to.toISOString() : undefined;\n data[\"messageEn\"] = this.messageEn;\n data[\"messageFr\"] = this.messageFr;\n return data;\n }\n}\n\nexport interface IProgramClosureConfiguration {\n from?: Date;\n to?: Date;\n messageEn?: string;\n messageFr?: string;\n}\n\nexport class AvailableAppointmentResult implements IAvailableAppointmentResult {\n label?: string | undefined;\n startOn?: string | undefined;\n group?: string | undefined;\n startDate?: Date;\n\n constructor(data?: IAvailableAppointmentResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.startOn = _data[\"startOn\"];\n this.group = _data[\"group\"];\n this.startDate = _data[\"startDate\"] ? new Date(_data[\"startDate\"].toString()) : undefined;\n }\n }\n\n static fromJS(data: any): AvailableAppointmentResult {\n data = typeof data === 'object' ? data : {};\n let result = new AvailableAppointmentResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"startOn\"] = this.startOn;\n data[\"group\"] = this.group;\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString() : undefined;\n return data;\n }\n}\n\nexport interface IAvailableAppointmentResult {\n label?: string | undefined;\n startOn?: string | undefined;\n group?: string | undefined;\n startDate?: Date;\n}\n\nexport class AvailableTimezoneResult implements IAvailableTimezoneResult {\n label?: string | undefined;\n timezone?: string | undefined;\n\n constructor(data?: IAvailableTimezoneResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"];\n this.timezone = _data[\"timezone\"];\n }\n }\n\n static fromJS(data: any): AvailableTimezoneResult {\n data = typeof data === 'object' ? data : {};\n let result = new AvailableTimezoneResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label;\n data[\"timezone\"] = this.timezone;\n return data;\n }\n}\n\nexport interface IAvailableTimezoneResult {\n label?: string | undefined;\n timezone?: string | undefined;\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}\n\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.showLayout ? 'd-flex flex-column' : '',style:(_vm.showLayout ? 'min-height: 100vh' : ''),attrs:{\"id\":\"app\"}},[(_vm.showLayout)?_c('header',{staticStyle:{\"max-height\":\"100vh\",\"overflow\":\"auto\"}},[_c('nav',{staticClass:\"bg-primary\",attrs:{\"id\":\"nav\"}},[_vm._m(0),_c('div',{staticClass:\"navbar navbar-expand-lg navbar-dark p-0\"},[_c('div',{staticClass:\"navbar-collapse collapse flex-column\",attrs:{\"id\":\"navBar\"}},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row align-items-center justify-content-center justify-content-lg-start bg-primary gy-3 gy-md-1 mx-lg-4 pb-3 py-lg-3\"},[_c('div',{staticClass:\"d-none d-lg-block col-auto\"},[_c('a',{attrs:{\"href\":_vm.homeUrl}},[_vm._m(1)])]),_c('div',{staticClass:\"d-none d-lg-block col-auto text-white ps-0\",staticStyle:{\"line-height\":\"1.25\"}},[_c('a',{staticClass:\"text-decoration-none\",attrs:{\"href\":_vm.homeUrl}},[_vm._m(2),_vm._m(3),_c('div',[_vm._v(\"Centre Of Canada\")])])]),_c('div',{staticClass:\"d-none d-lg-block col p-0\"}),(!_vm.isLoggedIn)?_c('div',{staticClass:\"col-auto\"},[_c('router-link',{staticClass:\"btn btn-outlined text-white text-uppercase\",attrs:{\"to\":{ name: 'login' }}},[_vm._v(\" Log In \")])],1):_vm._e(),(!_vm.isLoggedIn)?_c('div',{staticClass:\"col-auto\"},[_c('a',{staticClass:\"btn bg-white text-primary text-uppercase\",attrs:{\"href\":_vm.marketingRegisterUrl}},[_vm._v(\" Get Started \")])]):_vm._e()])]),(_vm.isLoggedIn)?_c('div',{staticClass:\"bg-light-grey w-100\"},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row py-2 py-sm-0\"},[_c('div',{staticClass:\"col px-lg-5\"},[_c('div',{staticClass:\"row gy-3 gy-lg-2 align-items-center justify-content-center justify-content-lg-evenly text-center text-uppercase py-2\"},[_c('div',{staticClass:\"col-12 col-sm-auto nav-item\"},[_c('router-link',{attrs:{\"to\":{ name: 'my-tasks' }}},[_vm._v(\" My Tasks \")])],1),_c('div',{staticClass:\"col-12 col-sm-auto nav-item\"},[_c('router-link',{attrs:{\"to\":{ name: 'my-tools' }}},[_vm._v(\" My Tools \")])],1),_c('div',{staticClass:\"col-12 col-sm-auto nav-item\"},[_c('router-link',{attrs:{\"to\":{ name: 'patient-contact' }}},[_vm._v(\" Contact \")])],1),_c('div',{staticClass:\"col-12 col-sm-auto nav-item\"},[_c('router-link',{attrs:{\"to\":{ name: 'logout' }}},[_vm._v(\" Logout \")])],1)])])])])]):_vm._e()])])])]):_vm._e(),_c('main',{class:(\"p-0 \" + (_vm.showLayout ? 'bg-white' : '')),style:(_vm.showLayout ? 'min-height: 20rem' : ''),attrs:{\"role\":\"main\"}},[_c('div',{staticClass:\"p-mx-auto mwm-public-registration\"},[_c('router-view')],1)]),(_vm.showLayout)?_c('div',{staticClass:\"flex-grow-1\",class:(\"\" + (_vm.showLayout ? 'bg-white' : ''))}):_vm._e(),(_vm.showLayout)?_c('footer',{staticClass:\"w-100\"},[_c('div',{staticClass:\"container-fluid bg-primary text-white footer-bottom\"},[_vm._m(4),_vm._m(5),_c('div',{staticClass:\"row gy-2 justify-content-center align-items-center mx-4 py-2\"},[_c('div',{staticClass:\"col-auto col-md text-center text-sm-start text-uppercase\"},[_c('div',[_vm._v(\" © \"),_c('strong',[_vm._v(\"2022-\"+_vm._s(_vm.currentYear)+\" Medical Weight Management Centre of Canada Inc.\")])]),_c('div',[_vm._v(\"All Rights Reserved.\")])]),_vm._m(6)])])]):_vm._e()])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-lg-none container-fluid\"},[_c('div',{staticClass:\"row align-items-center bg-primary py-3\"},[_c('div',{staticClass:\"col-auto\"},[_c('button',{staticClass:\"navbar-toggler text-white\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":\"#navBar\",\"aria-controls\":\"navBar\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('em',{staticClass:\"fa-solid fa-bars\"})])]),_c('div',{staticClass:\"col-auto\"},[_c('picture',{staticClass:\"img-fluid\"},[_c('source',{attrs:{\"srcset\":require(\"@/assets/logo/white.webp\"),\"type\":\"image/webp\"}}),_c('img',{staticStyle:{\"height\":\"50px\",\"width\":\"84.09px\"},attrs:{\"src\":require(\"@/assets/logo/white.png\"),\"alt\":\"Medical Weight Management Centre of Canada\",\"title\":\"Medical Weight Management Centre of Canada\"}})])]),_c('div',{staticClass:\"col-auto text-white ps-0\",staticStyle:{\"line-height\":\"1.25\",\"font-size\":\"80%\"}},[_c('div',[_c('strong',[_vm._v(\"Medical Weight\")])]),_c('div',[_c('strong',[_vm._v(\"Management\")])]),_c('div',[_vm._v(\"Centre Of Canada\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('picture',{staticClass:\"img-fluid\"},[_c('source',{attrs:{\"srcset\":require(\"@/assets/logo/white.webp\"),\"type\":\"image/webp\"}}),_c('img',{staticStyle:{\"height\":\"80px\",\"width\":\"134.55px\"},attrs:{\"src\":require(\"@/assets/logo/white.png\"),\"alt\":\"Medical Weight Management Centre of Canada\",\"title\":\"Medical Weight Management Centre of Canada\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('strong',[_vm._v(\"Medical Weight\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('strong',[_vm._v(\"Management\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-center py-2\"},[_c('div',{staticClass:\"col-auto\"},[_vm._v(\" Medical Weight Management Centre of Canada is a part of the \"),_c('a',{attrs:{\"href\":\"https://launchitventures.com/\",\"target\":\"_blank\"}},[_vm._v(\"Launchit Ventures Group\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row justify-content-center py-2\"},[_c('div',{staticClass:\"col-auto\"},[_c('a',{attrs:{\"href\":\"https://launchitventures.com/\",\"target\":\"_blank\",\"aria-label\":\"Launchit Ventures\"}},[_c('img',{staticClass:\"img-fluid img\",staticStyle:{\"width\":\"250px\"},attrs:{\"src\":require(\"@/assets/logo/launchit_white.png\"),\"alt\":\"Launchit Ventures\",\"title\":\"Launchit Ventures\"}})])]),_c('div',{staticClass:\"col-auto\"},[_c('a',{attrs:{\"href\":\"https://lumedi.org/\",\"target\":\"_blank\",\"aria-label\":\"Lumedi\"}},[_c('img',{staticClass:\"img-fluid img\",staticStyle:{\"width\":\"190px\"},attrs:{\"src\":require(\"@/assets/logo/lumedi_white.png\"),\"alt\":\"Lumedi\",\"title\":\"Lumedi\"}})])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"col-auto\"},[_c('div',{staticClass:\"text-uppercase\"},[_c('div',[_c('strong',[_vm._v(\"Real\")]),_vm._v(\" Progress  \")]),_c('div',[_vm._v(\"  That’s \"),_c('strong',[_vm._v(\"Possible\")])])])])}]\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\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 { defineComponent, onMounted, ref } from \"vue-demi\";\nimport router from \"./router\";\nimport { useAuthStore } from \"./stores/authStore\";\n\nexport default defineComponent({\n name: \"PatientSite\",\n components: {},\n props: {},\n setup(props) {\n const authStore = useAuthStore();\n authStore.setupRecaptcha();\n\n const showLayout = ref(true);\n function updateLayoutState() {\n // only show layout if not in an iframe\n showLayout.value = (router.currentRoute.meta?.showLayout ?? true) == true && window.top == window.self;\n }\n router.afterEach(updateLayoutState);\n onMounted(updateLayoutState);\n\n const isLoggedIn = ref(false);\n async function checkIsLoggedIn() {\n isLoggedIn.value = await authStore.isLoggedIn();\n }\n\n router.afterEach(() => checkIsLoggedIn());\n checkIsLoggedIn();\n\n const currentYear = new Date().getFullYear();\n\n const homeUrl = new URL(process.env.VUE_APP_MARKETING_SITE_REGISTER_URL ?? window.location.href).origin;\n\n const marketingRegisterUrl = process.env.VUE_APP_MARKETING_SITE_REGISTER_URL ?? window.location.href;\n\n return {\n showLayout,\n isLoggedIn,\n currentYear,\n homeUrl,\n marketingRegisterUrl,\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.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.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=4be8f527&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=4be8f527&prod&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 null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable vue/multi-word-component-names */\nimport Vue from \"vue\";\n\n// PrimeVue\nimport PrimeVue from \"primevue/config\";\nVue.use(PrimeVue);\n\n// PrimeVue Styles\nimport \"primevue/resources/primevue.min.css\";\nimport \"primeicons/primeicons.css\";\nimport \"primeflex/primeflex.css\";\n\n// PrimeVue Components\nimport Button from \"primevue/button\";\nVue.component(\"Button\", Button);\n\nimport Checkbox from \"primevue/checkbox\";\nVue.component(\"Checkbox\", Checkbox);\n\nimport DataTable from \"primevue/datatable\";\nVue.component(\"DataTable\", DataTable);\n\nimport Column from \"primevue/column\";\nVue.component(\"Column\", Column);\n\nimport ColumnGroup from \"primevue/columngroup\";\nVue.component(\"ColumnGroup\", ColumnGroup);\n\nimport Row from \"primevue/row\";\nVue.component(\"Row\", Row);\n\nimport InputText from \"primevue/inputtext\";\nVue.component(\"InputText\", InputText);\n\nimport Dropdown from \"primevue/dropdown\";\nVue.component(\"Dropdown\", Dropdown);\n\nimport ProgressSpinner from \"primevue/progressspinner\";\nVue.component(\"ProgressSpinner\", ProgressSpinner);\n\nimport Toast from \"primevue/toast\";\nVue.component(\"Toast\", Toast);\n\nimport InlineMessage from \"primevue/inlinemessage\";\nVue.component(\"InlineMessage\", InlineMessage);\n\nimport Card from \"primevue/card\";\nVue.component(\"Card\", Card);\n\nimport InputMask from \"primevue/inputmask\";\nVue.component(\"InputMask\", InputMask);\n\nimport ToastService from \"primevue/toastservice\";\nVue.use(ToastService);\n","import axios from \"axios\";\n/* eslint-disable vue/multi-word-component-names */\nimport Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\n\nVue.config.productionTip = false;\n\n// Axios\naxios.defaults.baseURL = process.env.VUE_APP_PATIENT_API_URL;\n\n// Pinia\nimport { createPinia, PiniaVuePlugin } from \"pinia\";\nVue.use(PiniaVuePlugin);\nconst pinia = createPinia();\n\n// Composition API\nimport VueCompositionAPI from \"@vue/composition-api\";\nVue.use(VueCompositionAPI);\n\n// PrimeVue\nimport \"@/plugins/primevue\";\nimport \"@/assets/mwmcc-primevue.scss\";\n\n// Styles\nimport \"@/assets/mwmcc.scss\";\n\nnew Vue({\n pinia,\n router,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","import { useAuthStore } from \"@/stores/authStore\";\nimport Vue from \"vue\";\nimport VueRouter, { RouteConfig } from \"vue-router\";\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n name: \"dashboard\",\n path: \"/\",\n component: () => import(\"@/views/dashboard/Info.vue\"),\n meta: {},\n },\n {\n name: \"my-tasks\",\n path: \"/my-tasks\",\n component: () => import(\"@/views/dashboard/MyTasks.vue\"),\n meta: {},\n },\n {\n name: \"my-tools\",\n path: \"/my-tools\",\n component: () => import(\"@/views/dashboard/MyTools.vue\"),\n meta: {},\n },\n {\n name: \"patient-contact\",\n path: \"/contact\",\n component: () => import(\"@/views/dashboard/Contact.vue\"),\n meta: {},\n },\n\n {\n name: \"enroll\",\n path: \"/enroll\",\n component: () => import(\"@/views/EnrollView.vue\"),\n meta: {\n allowAnonymous: true,\n showLayout: false,\n },\n },\n {\n name: \"enrolled\",\n path: \"/enrolled\",\n component: () => import(\"@/views/EnrollSuccessView.vue\"),\n meta: {\n allowAnonymous: true,\n showLayout: false,\n },\n },\n {\n name: \"interaction-submitted\",\n path: \"/submitted\",\n component: () => import(\"@/views/SubmitSuccessView.vue\"),\n props: (route) => ({ redirectToUrl: route.query.redirectTo }),\n meta: {\n allowAnonymous: true,\n showLayout: false,\n },\n },\n {\n name: \"patient-interaction\",\n path: \"/invites/:requestKey\",\n component: () => import(\"@/views/InteractionView.vue\"),\n meta: {\n allowAnonymous: true,\n showLayout: true,\n },\n },\n {\n // MwmEmailService.ConfigureMeetingInformation() links here\n name: \"join-meeting\",\n path: \"/join-meeting/:callbackTaskId\",\n component: () => import(\"@/views/JoinVideo.vue\"),\n props: true,\n meta: {\n allowAnonymous: true,\n showLayout: false,\n },\n },\n {\n name: \"login\",\n path: \"/login\",\n component: () => import(\"@/views/auth/Login.vue\"),\n meta: {\n allowAnonymous: true,\n },\n },\n {\n name: \"logout\",\n path: \"/logout\",\n component: () => import(\"@/views/auth/Logout.vue\"),\n meta: {\n allowAnonymous: true,\n },\n },\n {\n name: \"activate-account\",\n path: \"/activate/:token\",\n component: () => import(\"@/views/auth/ActivateAccount.vue\"),\n props: true,\n meta: {\n allowAnonymous: true,\n },\n },\n {\n name: \"forgot-password\",\n path: \"/forgot-password\",\n component: () => import(\"@/views/auth/ForgotPassword.vue\"),\n meta: {\n allowAnonymous: true,\n },\n },\n {\n name: \"reset-password\",\n path: \"/reset-password/:token\",\n component: () => import(\"@/views/auth/ResetForgotPassword.vue\"),\n props: true,\n meta: {\n allowAnonymous: true,\n },\n },\n];\n\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes,\n});\n\nrouter.beforeEach(async (to, from, next) => {\n await Vue.nextTick();\n const authStore = useAuthStore();\n if (!(to.meta?.allowAnonymous ?? false) && !(await authStore.isLoggedIn())) {\n next({ name: \"login\" });\n return { name: \"login\" };\n }\n next();\n return true;\n});\n\nexport default router;\n","import { ApiException, ConfigClient, LoginModel, PatientSiteAuthenticationClient } from \"@/api/LumediPublicClient\";\nimport { ref } from \"@vue/composition-api\";\nimport { defineStore } from \"pinia\";\n\nexport const useAuthStore = defineStore(\"auth\", () => {\n const authCookie = \"mwm.patientsite.auth\";\n\n const authClient = new PatientSiteAuthenticationClient();\n\n async function login(username: string, password: string, recaptchaToken: string) {\n try {\n await authClient.login(new LoginModel({ user: username, pass: password, recaptchaToken }));\n } catch (e) {\n console.error(e);\n throw (e as ApiException).response ?? \"An error occurred. Please try again later.\";\n }\n }\n\n async function logout() {\n document.cookie = `${authCookie}=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;secure;samesite=lax`;\n return true;\n }\n\n async function isLoggedIn() {\n return (Object.fromEntries(document.cookie.split(\"; \").map((x) => x.split(\"=\")))[authCookie] ?? \"\") != \"\";\n }\n\n const recaptchaSiteKey = ref();\n\n async function setupRecaptcha() {\n if ((window as any).grecaptcha != undefined) return;\n\n const configClient = new ConfigClient();\n\n const siteKey = await configClient.getReCaptchaSiteKey();\n recaptchaSiteKey.value = siteKey;\n\n const scriptUrl = new URL(`https://www.google.com/recaptcha/api.js`);\n scriptUrl.searchParams.append(\"render\", siteKey);\n\n const el = document.createElement(\"script\");\n el.setAttribute(\"src\", scriptUrl.toString());\n document.head.appendChild(el);\n\n return siteKey;\n }\n\n function invokeRecaptcha(action: string): Promise {\n const grecaptcha = (window as any).grecaptcha;\n return new Promise((resolve) => {\n grecaptcha.ready(() => grecaptcha.execute(recaptchaSiteKey.value, { action }).then(resolve));\n });\n }\n\n return {\n login,\n logout,\n isLoggedIn,\n setupRecaptcha,\n invokeRecaptcha,\n };\n});\n","// 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","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};","// 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 + \".\" + {\"53\":\"26356642\",\"64\":\"a44c604a\",\"102\":\"df919c99\",\"117\":\"7f6faca9\",\"150\":\"aaa241e9\",\"198\":\"90077df9\",\"210\":\"4101fed7\",\"262\":\"3122a0ba\",\"310\":\"f29e59a3\",\"344\":\"a90e55da\",\"373\":\"9162e72e\",\"495\":\"376e90f4\",\"522\":\"a5848311\",\"692\":\"e6cacfd9\",\"749\":\"eea3bfa3\",\"788\":\"862420cb\",\"927\":\"9b99f368\"}[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 + \".\" + {\"64\":\"7bf97088\",\"262\":\"be50e00f\",\"373\":\"ea088a9b\",\"495\":\"3fb84392\",\"522\":\"7bf97088\",\"749\":\"9c3ec852\"}[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 = \"mwm-public-client:\";\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\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\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 = \"/app/\";","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\t826: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"64\":1,\"262\":1,\"373\":1,\"495\":1,\"522\":1,\"749\":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\t826: 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} else installedChunks[chunkId] = 0;\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[\"webpackChunkmwm_public_client\"] = self[\"webpackChunkmwm_public_client\"] || [];\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, [998], function() { return __webpack_require__(7414); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["AxiosClient","transformResult","_url","response","processor","status","router","name","transformOptions","options","Promise","resolve","CallType","PostEnrollmentInteractionStatus","InteractionType","QuestionType","Score","InteractionNoteType","InteractionRuleOperator","InteractionRuleComparisor","PatientStatus","InteractionType2","QuestionType2","Score2","InteractionNoteType2","InteractionRuleOperator2","InteractionRuleComparisor2","PostEnrollmentInteractionStatus2","InteractionSecurityType","ScoreType","IntervalOptions","AgentFileType","Languages","AgentStatus","DeviceCheck","AgentRole","DeviceStatus","InvoiceFlow","InvoiceStatus","ResourceType","ModuleType","TaskType","AgentTaskCompletionType","SourceType","AppointmentOutcome","AgentType","PermissionType","FollowUpType","ChannelStatus","CallDirection","AppointmentType","LanguageCode","ConfigClient","constructor","baseUrl","instance","super","jsonParseReviver","undefined","this","axios","getReCaptchaSiteKey","cancelToken","url_","replace","options_","method","url","headers","then","transformedOptions_","request","catch","_error","isAxiosError","_response","processGetReCaptchaSiteKey","_headers","k","hasOwnProperty","_responseText","data","result200","resultData200","throwException","getAnalyticsBeforePaymentScript","processGetAnalyticsBeforePaymentScript","PatientInformationClient","getMe","processGetMe","PatientInformationResponse","fromJS","getContactInfo","processGetContactInfo","ContactInfo","PatientInteractionsClient","getPatientInteractionInvitationPendings","processGetPatientInteractionInvitationPendings","Array","isArray","item","push","GetPublicInteractionRequestsInPendingStatusItem","PatientResourcesClient","getPatientResources","processGetPatientResources","GetPatientResourcesResponse","downloadResource","resourceId","Error","encodeURIComponent","responseType","processDownloadResource","contentDisposition","fileNameMatch","exec","fileName","length","decodeURIComponent","Blob","type","PatientSiteAuthenticationClient","login","content_","JSON","stringify","processLogin","confirmAccount","processConfirmAccount","resetPassword","processResetPassword","forgotPassword","processForgotPassword","PublicQuestionnaireEngineClient","postGenericInteraction","publicRequest","processPostGenericInteraction","PostEnrollmentInteractionResponse","getGenericInteraction","requestKey","processGetGenericInteraction","InteractionRenderModel","postEnrollmentInteraction","processPostEnrollmentInteraction","getEnrollmentInteraction","languageCode","processGetEnrollmentInteraction","PublicTasksClient","getJoin","callbackTaskId","processGetJoin","getJoin2","processGetJoin2","property","init","_data","result","toJSON","infoEmail","phoneNumber","niceFormattedPhoneNumber","formattedPhoneNumber","phoneDays","phoneHours","mailAddress","publicInteractionRequestId","interactionName","LoginModel","user","pass","recaptchaToken","ConfirmAccountRequest","email","token","newPass","ResetPasswordRequest","ForgotPasswordRequest","patientIdentifier","errorType","errorDescription","redirectToUrl","PostGenericInteractionPublicRequest","interactionResponse","InteractionResponseModel","iPAddress","saveAsDraft","callBackToken","responses","InteractionResponseQuestion","notes","answers","QuestionAnswerModel","interactionQuestionId","answerValues","QuestionAnswerValue","subCode","value","interactionType","callbackToken","questions","InteractionQuestion","groups","InteractionQuestionGroup","interactionNote","InteractionNoteModel","rules","key","InteractionRulesGroup","uniqueCode","isRepeatable","items","InteractionQuestionItem","questionId","position","questionType","required","readOnly","label","instruction","validationMessage","questionOptions","QuestionOption","extendedOptions","ExtendedOptionsObjectMigration","code","score","optionGroups","OptionGroupMigration","extendedQuestionOptions","ExtendedQuestionOptionMigration","labels","LabelTranslation","QuestionOptionMigration","validationMessages","language","isDefault","scoreOptions","groupId","questionIds","noteType","InteractionRule","comparisor","ruleId","dependOnQuestionId","operator","evaluatedValue","evaluationSubCode","PostEnrollmentInteractionRequest","enrollmentPaymentInformation","EnrollmentPaymentInformation","cardNumber","cvv","expiration","streetNumber","streetName","postalCode","ApiException","message","isApiException","obj","render","_vm","_h","$createElement","_c","_self","class","showLayout","style","attrs","staticStyle","staticClass","_m","homeUrl","_v","isLoggedIn","_e","marketingRegisterUrl","_s","currentYear","staticRenderFns","defineComponent","components","props","setup","authStore","useAuthStore","setupRecaptcha","ref","updateLayoutState","window","top","self","onMounted","async","checkIsLoggedIn","Date","getFullYear","URL","process","origin","component","Vue","PrimeVue","Button","Checkbox","DataTable","Column","ColumnGroup","Row","InputText","Dropdown","ProgressSpinner","Toast","InlineMessage","Card","InputMask","ToastService","PiniaVuePlugin","pinia","createPinia","VueCompositionAPI","h","App","$mount","VueRouter","routes","path","meta","allowAnonymous","route","query","redirectTo","mode","base","beforeEach","to","from","next","defineStore","authCookie","authClient","username","password","e","console","error","logout","document","cookie","Object","fromEntries","split","map","x","recaptchaSiteKey","grecaptcha","configClient","siteKey","scriptUrl","searchParams","append","el","createElement","setAttribute","toString","head","appendChild","invokeRecaptcha","action","ready","execute","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","prop","prototype","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","timeout","nc","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","Symbol","toStringTag","p","createStylesheet","fullhref","reject","linkTag","rel","onLinkComplete","realHref","href","err","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","id","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}