{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/modules/alert.ts","webpack:///./src/store/modules/base.module.ts","webpack:///./src/store/modules/auth.ts","webpack:///./src/store/modules/current.user.ts","webpack:///./src/store/modules/roles.ts","webpack:///./src/store/modules/rights.ts","webpack:///./src/store/modules/users.ts","webpack:///./src/store/modules/audittrail.ts","webpack:///./src/store/modules/instituteWithStudySystem.ts","webpack:///./src/store/modules/study.system.ts","webpack:///./src/store/modules/patient.real.ts","webpack:///./src/store/modules/patient.pseudonymized.ts","webpack:///./src/store/modules/patient.consent.ts","webpack:///./src/store/index.ts","webpack:///./src/extensions/index.ts","webpack:///./src/App.vue?4a25","webpack:///./src/api/tsclient.ts","webpack:///./src/extensions/string.extensions.ts","webpack:///./src/extensions/array.extensions.ts","webpack:///./src/App.vue?009f","webpack:///./src/components/Account.vue?eca8","webpack:///./src/components/common/OkDialog.vue?541c","webpack:///./src/components/common/OkDialog.vue","webpack:///./src/components/common/OkDialog.vue?fda5","webpack:///./src/components/common/OkDialog.vue?4d24","webpack:///./src/components/Account.vue","webpack:///./src/components/Account.vue?43c5","webpack:///./src/components/Account.vue?391f","webpack:///./src/App.vue","webpack:///./src/App.vue?4dbd","webpack:///./src/App.vue?4195","webpack:///./src/router/goto-shim.js","webpack:///./src/router/index.ts","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","AlertType","this","alerts","alert","indexOf","updateValues","info","warning","exception","add","title","JSON","stringify","commit","namespaced","store","_loading","LoginDto","authClient","AuthClient","token","localStorage","getItem","refreshToken","setItem","removeItem","errorMessage","hasFailed","resetLoginFailed","login","tokenDto","setToken","setRefreshToken","context","dispatch","root","loginFailed","removeToken","removeRefreshToken","alertModule","handleException","startLoading","stopLoading","rawError","UserPasswordChangeForCurrentUserDto","userClient","UserClient","rightsClient","RightClient","SUPER_RIGHT","_user","rights","user","getCurrentUser","getAllRightsForCurrentUser","load","payload","currentUserDto","dto","id","oldPasswordString","oldPassword","newPasswordString","newPassword","updatePasswordForCurrentUser","that","right","some","identifier","RoleCreateDto","RoleUpdateDto","roleClient","RoleClient","roles","clear","includeDeactivated","getAllRoles","roleDto","loadAll","roleId","findRole","roleName","findRoleByName","update","delete","count","find","rightClient","getAllRights","rightDto","rightId","findRight","rightName","findRightByName","UserCreateDto","UserUpdateDto","_users","users","sort","u1","u2","displayName","localeCompare","getAll","setUsers","resetUsers","userDto","userId","findUser","deactivate","AuditTrailClient","auditTrailClient","_auditEvents","auditEvents","instituteWithStudySystemClient","InstituteWithStudySystemClient","institutesWithStudySystem","instituteWithStudySystem","instituteWithStudySystemDto","StudySystemCreateDto","StudySystemClient","StudySystemUpdateDto","studySystemClient","studySystems","items","studySystem","RealPatientClient","RealPatientCreateDto","RealPatientUpdateDto","realPatientClient","patients","realPatient","PseudonymizedPatientClient","PseudonymizedPatientCreateDto","PseudonymizedPatientUpdateDto","PseudonymizedPatientVerificationDto","PseudonymizedPatientCheckVerificationDto","pseudonymizedPatientClient","loading","_pseudonymizedPatients","pseudonymizedPatients","findPseudonymizedPatient","patientCreateDto","patientUpdateDto","verificationDto","checkVerification","verify","PatientConsentCreateDto","PatientConsentUpdateDto","consentClient","PatientConsentClient","consents","consent","consentId","findPatientConsent","grantPatientConsent","revokePatientConsent","use","Store","strict","auth","currentUser","auditTrail","patientConsent","pseudonymizedPatient","authModule","currentUserModule","rolesModule","rightsModule","usersModule","auditTrailModule","realPatientModule","instituteWithStudySystemModule","studySystemModule","patientConsentModule","pseudonymizedPatientModule","MdbsIdProvider","BaseClient","transformOptions","options","isRefresh","url","endsWith","headers","Authorization","_baseUrl","location","host","response","processor","status","log","refreshLoginToken","config","isAxiosError","a","refreshLogin","refreshTokenResponse","throwException","REFRESH_TOKEN_EXPIRED_MESSAGE","baseUrl","instance","jsonParseReviver","getBaseUrl","includeDeleted","cancelToken","url_","encodeURIComponent","replace","options_","method","transformedOptions_","catch","_error","_response","processGetMy","_headers","k","_responseText","result200","resultData200","Array","isArray","item","InstituteWithStudySystemShortDto","fromJS","result400","resultData400","ProblemDetails","result401","resultData401","resultdefault","resultDatadefault","processGetMyComplete","InstituteWithStudySystemCompleteDto","processGetAll","instituteDto","content_","processCreate","processGetAllComplete","instituteId","processGetInstitute","InstituteWithStudySystem","instituteUpdateDto","processUpdate","processCount","result404","resultData404","PatientConsentDto","processFindPatientConsent","patientConsentCreateDto","result201","resultData201","patientConsentId","patientConsentUpdateDto","responseType","processDeactivatePatientConsent","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","Blob","processGrantPatientConsent","processRevokePatientConsent","PatientVerificationClient","PatientVerificationsDto","PatientVerificationDto","patientId","processGetByPatientId","PseudonymizedPatientDto","processFindPseudonymizedPatient","alias","processFindPseudonymizedPatientByAlias","pseudonymizedPatientCreateDto","pseudonymizedPatientId","pseudonymizedPatientUpdateDto","processDeactivatePseudonymizedPatient","processVerify","processCheckVerification","PseudonymizedPatientCheckVerificationResponseDto","processForceEmailJob","RealPatientDto","processFindRealPatient","realPatientCreateDto","realPatientId","realPatientUpdateDto","processDeactivateRealPatient","sendMailDto","processSendMailForRealPatient","StudySystemDto","processFindStudySystem","studySystemCreateDto","studySystemId","studySystemUpdateDto","processDeactivateStudySystem","StudySystemUserClient","StudySystemUserDto","SystemClient","processSendPatientReminder","processSendPatientEmail","registerPatientDto","processRegisterPatient","RegisterPatientResultDto","AuditEventDto","processFindAuditTrailEvent","loginDto","processLogin","TokenDto","processRefreshLogin","processLogout","DocumentClient","DocumentShortDto","description","order","tags","fileData","FormData","append","toString","documentId","processUpdateWithContent","processGet","documentUpdateDto","processDelete","result403","resultData403","processGetByIdentifier","docVersion","download","processDownloadVersion","processDownloadLatestVersion","processFindRightByName","RightDto","processFindRight","rightUpdateDto","processGetAllRights","rightCreateDto","processGetAllRightsForCurrentUser","processFindRoleByName","RoleDto","processFindRole","roleUpdateDto","processGetAllRoles","roleCreateDto","SyncClient","processSendPatients","PatientSyncResultDto","content","processReceivePatients","processSendInstitutes","InstituteSyncResultDto","processReceiveInstitutes","processSendUsers","UserSyncResultDto","processReceiveUsers","ShortUserDto","userCreateDto","UserDto","processGetCurrentUser","processFindUser","userUpdateDto","processFindUserComplete","UserCompleteDto","processFindUserByName","processDeactivate","processActivate","userPasswordChangeDto","processUpdatePasswordForCurrentUser","passwordResetDto","processResetPassword","UserPasswordResetResultDto","processUpdatePassword","emailAddress","processSendPasswordRecoveryEmail","UtilityClient","processGetPassword","PasswordDto","processGetEnvironment","processCheckConnectivity","processGetAssemblies","AssembliesDto","_data","detail","json","toJSON","init","BaseIdDto","BaseDto","isDeleted","InstituteShortDto","isDeactivated","ShortStudySystemDto","InstituteCompleteDto","BaseEntity","Entity","userAssignments","InstituteWithStudySystemUserAssignment","patientAssignments","InstituteWithStudySystemPatientAssignment","StudySystem","studySystemUser","StudySystemUser","institute","userName","email","uri","PseudonymizedPatient","patientConsents","PatientConsent","gender","birthYear","registrationDate","Date","RealPatient","toISOString","Gender","foreName","lastName","fullName","birthDate","address","zipOrPostcode","city","telephonePrivate","telephoneBusiness","telephoneMobile","eMailAddress","eMailConfirmed","insuranceNumber","identifiers","Identifier","grantDate","revokeDate","ConsentState","typeCodingCode","typeCodingSystem","system","patient","InstituteCreateDto","InstituteUpdateDto","ShortPatientConsentDto","InstituteWithStudySystemDto","InstituteDto","ShortRealPatientDto","ShortPseudonymizedPatientDto","patientVerifications","creator","created","lastChanged","patientEmailAddress","patientAuthLink","patientAuthKeyExpirationDate","patientVerificationFailedAttempts","patientVerificationDate","isActive","reminderMailCount","logEntries","PatientVerificationLogEntryDto","studySystemName","timeStamp","challengeToken","tooManyAttempts","maxAttempts","tokenExpired","isVerified","portalUri","RealPatientSendMailDto","subject","body","isHtml","SystemPatientSendReminderDto","eMailSubject","eMailBody","SystemPatientSendEmailDto","attachments","EmailAttachmentDto","success","reason","RegisterPatientDto","patientEMail","studyPersonalEmails","EmailAddressInformation","action","reasonOfChange","appUser","changes","AuditChangeDto","previousHash","hash","role","ShortRoleDto","JsonDocument","rootElement","auditEventId","tableName","operation","keyValues","oldValues","newValues","AuditReasonOfChangeDto","objectReason","propertyReasons","refreshTokenExpirationDate","password","currentVersion","contentVersions","DocumentContentShortDto","version","size","mimeType","uploadedOn","comment","DocumentUpdateDto","RightCreateDto","RightUpdateDto","rightsIds","BaseSyncResultDto","createdPatientsCount","updatedPatientsCount","deletedPatientsCount","BaseSyncContentDto","sourceSystem","PatientSyncContentDto","PatientSyncDto","BaseSyncDto","createdInstitutesCount","updatedInstitutesCount","deletedInstitutesCount","patientAssignmentsAddedCount","patientAssignmentsRemovedCount","userAssignmentsAddedCount","userAssignmentsRemovedCount","InstituteSyncContentDto","institutes","InstituteSyncDto","createdUserCount","updatedUserCount","deletedUserCount","UserSyncContentDto","UserSyncDto","passwordHash","passwordChangeDate","emailConfirmed","roleIdentifier","personData","PersonDataSyncDto","giveName","familyName","street","postCode","country","phoneNumber","noLogin","PersonDataDto","passwordString","UserPasswordChangeDto","passwortResetSuccessful","reasonForFailure","UserPasswordResetDto","assemblies","AssemblyEntry","Rights","ApiException","isApiException","obj","String","toCamelCase","charAt","toLowerCase","substring","firstOrDefault","predicate","reduce","accumulator","currentValue","range","start","end","reverse","array","from","v","_vm","_h","$createElement","_c","_self","attrs","model","callback","$$v","drawer","expression","_v","_e","on","logout","$event","stopPropagation","goToHome","staticClass","scopedSlots","_u","fn","ref","_g","_s","_l","index","dismissAlert","staticRenderFns","valid","username","showOldPassword","passwordOld","showNewPassword","rules","required","min","ruleOtherPassword","uppercase","lowercase","number","passwordNew1","ruleSamePassword","passwordNew2","passwordIsOkToChange","changePassword","showOkDialog","okDialogHeadline","okDialogText","domProps","headline","text","$emit","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VIcon","VSpacer","test","components","OkDialog","VCol","VContainer","VDialog","VForm","VRow","VTextField","VToolbar","VToolbarTitle","remove","$router","hasRight","Account","VAlert","VApp","VAppBar","VAppBarNavIcon","VAvatar","VBottomSheet","VChip","VFooter","VList","VListItem","VListItemAvatar","VListItemContent","VListItemTitle","VMain","VNavigationDrawer","VSheet","goTo","routes","path","props","route","params","challenge","query","meta","public","to","savedPosition","y","router","base","scrollBehavior","Vue","Vuetify","theme","themes","light","primary","secondary","accent","lang","locales","de","current","icons","iconfont","productionTip","vuetify","render","h","$mount"],"mappings":"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,IAAI4G,KAAY5G,EACbA,EAAKW,eAAeiG,KACdQ,KAAMR,GAAkB5G,EAAM4G,IAzqa5B,oDA8qanBqY,GACGA,IACA7X,KAAKjC,KAAO8Z,EAAM,QAClB7X,KAAK2f,QAAU9H,EAAM,WACrB7X,KAAKyL,SAAWoM,EAAM,eAlraN,6BA6rajBjf,GAKH,OAJAA,EAAuB,WAAhB,eAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUoH,KAAKjC,KACpBnF,EAAK,WAAaoH,KAAK2f,QACvB/mB,EAAK,YAAcoH,KAAKyL,SACjB7S,IAlsaa,8BAssapB,IAAMmf,EAAO/X,KAAKgY,SACd/d,EAAS,IAAI+oB,EAEjB,OADA/oB,EAAOge,KAAKF,GACL9d,KAzsaa,8BAsraVrB,GACVA,EAAuB,WAAhB,eAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+oB,EAEjB,OADA/oB,EAAOge,KAAKrf,GACLqB,MA1raa,KA6paf,EAAA+oB,cAAa,GA2D1B,SAAYC,GACR,oDACA,wDACA,sCACA,wCACA,gDACA,wCACA,wCACA,0CACA,0DACA,sDACA,iDACA,yDACA,qFACA,6DACA,uDACA,yCACA,+CACA,+CACA,2CACA,2CACA,qCACA,qCACA,uCACA,yCACA,yCACA,yCACA,2CACA,2DACA,yCACA,2CACA,2CACA,6CACA,iDACAA,IAAA,qEACA,2CACA,+CACA,+CACA,+CACA,yCACA,6CACA,6DACA,+CACA,uDACA,iDACA,mDACA,2DACA,mDACA,mDACA,mEACA,6CACA,iDACA,iEACA,mDACA,+EACA,+EACA,yEACA,yEACA,2EACA,mEACA,+DACA,yDACA,iDACA,iDACA,iDACA,mEACA,mDACA,uEACA,mFACA,iDACA,uEACA,qDACA,+BACA,iCACA,6CACA,mDACA,qDACA,uDA7EJ,CAAY,EAAAA,SAAA,EAAAA,OAAM,KAxtaU,IAozafC,GApzae,wDA2zaxB,WAAYplB,EAAiB+N,EAAgBF,EAAkBL,EAAkCrR,GAAW,oCACxG,eASM,EAAAkpB,gBAAiB,EAPvB,EAAKrlB,QAAUA,EACf,EAAK+N,OAASA,E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","file":"js/app.a85567f9.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-01450e7e\":\"ebd885c1\",\"chunk-2d0e1fe1\":\"c28dfd90\",\"chunk-7c9c8140\":\"1a609255\",\"chunk-a1af4902\":\"aa45282a\",\"chunk-e1fbe118\":\"33682b73\",\"chunk-0d99e22a\":\"ccef3506\",\"chunk-30b382d1\":\"ae212faa\",\"chunk-2d0b9be9\":\"093adbdd\",\"chunk-4c837637\":\"9decf198\",\"chunk-4c838c9d\":\"0a85acb1\",\"chunk-784f6cdc\":\"85471110\",\"chunk-7da0fa90\":\"4e4fa011\",\"chunk-7de8692c\":\"564b0e6f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-01450e7e\":1,\"chunk-7c9c8140\":1,\"chunk-e1fbe118\":1,\"chunk-30b382d1\":1,\"chunk-784f6cdc\":1,\"chunk-7da0fa90\":1,\"chunk-7de8692c\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-01450e7e\":\"fba5bb1e\",\"chunk-2d0e1fe1\":\"31d6cfe0\",\"chunk-7c9c8140\":\"8212c874\",\"chunk-a1af4902\":\"31d6cfe0\",\"chunk-e1fbe118\":\"1a1cff27\",\"chunk-0d99e22a\":\"31d6cfe0\",\"chunk-30b382d1\":\"abfcfcfa\",\"chunk-2d0b9be9\":\"31d6cfe0\",\"chunk-4c837637\":\"31d6cfe0\",\"chunk-4c838c9d\":\"31d6cfe0\",\"chunk-784f6cdc\":\"aa35bca3\",\"chunk-7da0fa90\":\"aa35bca3\",\"chunk-7de8692c\":\"aa35bca3\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\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\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\n\r\nexport enum AlertType {\r\n info,\r\n warning,\r\n error\r\n}\r\n\r\nexport class Alert {\r\n public type: AlertType\r\n public message: string;\r\n\r\n constructor(type: AlertType, message: string) {\r\n this.type = type;\r\n this.message = message;\r\n }\r\n}\r\n\r\n@Module({namespaced: true, name: 'alert', store: store})\r\nexport default class AlertModule extends VuexModule {\r\n alerts: Array = [];\r\n\r\n @Mutation\r\n add(alert: Alert) {\r\n this.alerts.push(alert)\r\n }\r\n\r\n @Mutation\r\n remove(alert: Alert) {\r\n this.alerts.splice(this.alerts.indexOf(alert), 1);\r\n }\r\n\r\n @Mutation\r\n removeAll() {\r\n this.alerts.updateValues([]);\r\n }\r\n\r\n @Action({commit: 'add'})\r\n async info(message: string) {\r\n return new Alert(AlertType.info, message)\r\n }\r\n\r\n @Action({commit: 'add'})\r\n async warning(message: string) {\r\n return new Alert(AlertType.warning, message)\r\n }\r\n\r\n @Action({commit: 'add'})\r\n async error(message: string) {\r\n return new Alert(AlertType.error, message)\r\n }\r\n\r\n @Action({commit: 'remove'})\r\n async dismiss(alert: Alert) {\r\n return alert\r\n }\r\n\r\n @Action({commit: 'removeAll'})\r\n async dismissAll() {\r\n }\r\n\r\n @Action\r\n async handleException(exception: any) {\r\n if (exception == null)\r\n return\r\n\r\n console.error(\"Handling excpetion:\", exception);\r\n if (Object.prototype.hasOwnProperty.call(exception, \"message\")) {\r\n this.add(new Alert(AlertType.error, exception.message))\r\n } else if (Object.prototype.hasOwnProperty.call(exception, \"title\")) {\r\n this.add(new Alert(AlertType.error, exception.title))\r\n } else {\r\n this.add(new Alert(AlertType.error, JSON.stringify(exception)))\r\n }\r\n }\r\n}\r\n","import {Mutation, VuexModule} from \"vuex-module-decorators\";\r\n\r\nexport default class BaseModule extends VuexModule {\r\n protected _loading: boolean = false;\r\n\r\n protected get loading() {\r\n return this._loading;\r\n }\r\n\r\n @Mutation\r\n protected startLoading() {\r\n this._loading = true;\r\n }\r\n\r\n @Mutation\r\n protected stopLoading() {\r\n this._loading = false;\r\n }\r\n}","import {Action, getModule, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport AlertModule from \"@/store/modules/alert\";\r\nimport BaseModule from \"@/store/modules/base.module\";\r\nimport ILoginDto = MdbsIdProvider.ILoginDto;\r\nimport LoginDto = MdbsIdProvider.LoginDto;\r\n\r\nconst authClient = new MdbsIdProvider.AuthClient();\r\n\r\n@Module({namespaced: true, name: \"auth\", store: store})\r\nexport default class AuthModule extends BaseModule {\r\n private token: string | undefined = localStorage.getItem('token') ?? undefined;\r\n private refreshToken: string | undefined = localStorage.getItem('refreshToken') ?? undefined;\r\n errorMessage: string | undefined;\r\n\r\n get loggedIn() {\r\n return this.token != null;\r\n }\r\n\r\n get hasFailed() {\r\n return this.errorMessage != null;\r\n }\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n @Mutation\r\n setToken(token: string) {\r\n this.token = token\r\n localStorage.setItem('token', this.token);\r\n }\r\n\r\n @Mutation\r\n setRefreshToken(refreshToken: string) {\r\n this.refreshToken = refreshToken;\r\n localStorage.setItem('refreshToken', this.refreshToken);\r\n }\r\n\r\n @Mutation\r\n removeToken() {\r\n this.token = undefined;\r\n localStorage.removeItem(\"token\");\r\n }\r\n\r\n @Mutation\r\n removeRefreshToken() {\r\n this.refreshToken = undefined;\r\n localStorage.removeItem(\"refreshToken\");\r\n }\r\n\r\n @Mutation\r\n loginFailed(message: string) {\r\n this.errorMessage = message;\r\n }\r\n\r\n @Mutation\r\n resetLoginFailed() {\r\n this.errorMessage = undefined;\r\n }\r\n\r\n @Action({rawError: true})\r\n async login(login: ILoginDto): Promise {\r\n if (this.hasFailed)\r\n this.resetLoginFailed();\r\n try {\r\n const tokenDto = await authClient.login(new LoginDto(login));\r\n if (tokenDto.token != null) {\r\n this.setToken(tokenDto.token);\r\n this.setRefreshToken(tokenDto.refreshToken ?? \"\");\r\n await this.context.dispatch(\"currentUser/load\", null, {root: true});\r\n return true;\r\n } else {\r\n this.loginFailed(\"Kein Token erhalten.\")\r\n this.removeToken();\r\n await this.context.commit(\"currentUser/reset\", null, {root: true});\r\n return false;\r\n }\r\n } catch (e) {\r\n // TODO Error mgmt\r\n this.loginFailed(\"Fehler beim Login aufgetreten: \" + JSON.stringify(e));\r\n this.removeToken();\r\n this.removeRefreshToken();\r\n await this.context.commit(\"currentUser/reset\", null, {root: true});\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n }\r\n return false;\r\n }\r\n\r\n @Action\r\n async logout() {\r\n this.startLoading();\r\n this.removeToken();\r\n this.removeRefreshToken();\r\n await this.context.commit(\"currentUser/reset\", null, {root: true});\r\n this.stopLoading();\r\n }\r\n}\r\n","import {Action, getModule, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport AlertModule from \"@/store/modules/alert\";\r\nimport UserPasswordChangeDto = MdbsIdProvider.UserPasswordChangeDto;\r\n// eslint-disable-next-line\r\nimport RightDto = MdbsIdProvider.RightDto;\r\n// eslint-disable-next-line\r\nimport UserDto = MdbsIdProvider.UserDto;\r\nimport UserPasswordChangeForCurrentUserDto = MdbsIdProvider.UserPasswordChangeForCurrentUserDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst userClient = new MdbsIdProvider.UserClient();\r\nconst rightsClient = new MdbsIdProvider.RightClient();\r\n\r\nconst SUPER_RIGHT = \"SUPER_RIGHT\";\r\n\r\n@Module({namespaced: true, name: \"currentUser\", store: store})\r\nexport default class CurrentUserModule extends BaseModule {\r\n _user: UserDto | null = null;\r\n rights: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n get hasRight() {\r\n const that = this;\r\n return function (right: string) {\r\n return that.rights.some(r => r.identifier == right || r.identifier == SUPER_RIGHT);\r\n }\r\n }\r\n\r\n get user(){\r\n return this._user;\r\n }\r\n\r\n @Mutation\r\n setUser(user: UserDto) {\r\n this._user = user\r\n }\r\n\r\n @Mutation\r\n setRights(rights: Array) {\r\n this.rights.updateValues(rights)\r\n }\r\n\r\n @Mutation\r\n reset() {\r\n this._user = null;\r\n this.rights = [];\r\n }\r\n\r\n @Action\r\n async load() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setUser', await userClient.getCurrentUser());\r\n this.context.commit('setRights', await rightsClient.getAllRightsForCurrentUser());\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"current user: load\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async loadIfEmpty() {\r\n if (this._user != null)\r\n return ;\r\n await this.load();\r\n }\r\n\r\n @Action\r\n async changePassword(payload: { oldPassword: string, newPassword: string }) {\r\n this.context.commit('startLoading')\r\n try {\r\n const currentUserDto = await userClient.getCurrentUser();\r\n const dto = new UserPasswordChangeForCurrentUserDto({\r\n id: currentUserDto.id ?? \"\",\r\n oldPasswordString: payload.oldPassword,\r\n newPasswordString: payload.newPassword\r\n })\r\n await userClient.updatePasswordForCurrentUser(dto);\r\n await this.load();\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n return false;\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport RoleDto = MdbsIdProvider.RoleDto;\r\nimport RoleCreateDto = MdbsIdProvider.RoleCreateDto;\r\nimport RoleUpdateDto = MdbsIdProvider.RoleUpdateDto;\r\nimport IRoleCreateDto = MdbsIdProvider.IRoleCreateDto;\r\nimport IRoleUpdateDto = MdbsIdProvider.IRoleUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst roleClient = new MdbsIdProvider.RoleClient();\r\n\r\n@Module({namespaced: true, name: \"roles\", store: store})\r\nexport default class RolesModule extends BaseModule {\r\n roles: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n get roleById() {\r\n const that = this;\r\n return function (roleId: string | undefined) {\r\n if (!roleId)\r\n return undefined;\r\n return that.roles.find(r => r.id == roleId);\r\n };\r\n }\r\n\r\n @Mutation\r\n setRoles(roles: Array) {\r\n this.roles.updateValues(roles);\r\n }\r\n\r\n @Mutation\r\n resetRoles() {\r\n this.roles.clear();\r\n }\r\n\r\n @Action\r\n async loadAll(includeDeactivated?: boolean) {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setRoles', await roleClient.getAllRoles(includeDeactivated))\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"roles: loadall\", e);\r\n this.context.commit('resetRoles')\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async createRole(roleDto: IRoleCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await roleClient.create(new RoleCreateDto(roleDto));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"role: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async getRoleById(roleId: string) {\r\n try {\r\n return roleClient.findRole(roleId)\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"role: get by id\", e);\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async getRoleByName(roleName: string) {\r\n try {\r\n return roleClient.findRoleByName(roleName)\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"role: get by name\", e);\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async updateRole(roleDto: IRoleUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await roleClient.update(roleDto.id, new RoleUpdateDto(roleDto));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"role: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async deactivateRole(roleId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n await roleClient.delete(roleId);\r\n await this.loadAll();\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"role: deactivate\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await roleClient.count(includeDeactivated);\r\n }\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport RightDto = MdbsIdProvider.RightDto;\r\nimport RightCreateDto = MdbsIdProvider.RightCreateDto;\r\nimport RightUpdateDto = MdbsIdProvider.RightUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst rightClient = new MdbsIdProvider.RightClient();\r\n\r\n@Module({namespaced: true, name: \"rights\", store: store})\r\nexport default class RightsModule extends BaseModule {\r\n rights: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n get rightsForCurrentUser() {\r\n return rightClient.getAllRightsForCurrentUser();\r\n }\r\n\r\n @Mutation\r\n setRights(rights: Array) {\r\n this.rights.updateValues(rights);\r\n }\r\n\r\n @Mutation\r\n resetRights() {\r\n this.rights.clear();\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setRights', await rightClient.getAllRights(false))\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"rights: loadall\", e);\r\n this.context.commit('resetRights')\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async createRight(rightDto: RightCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await rightClient.create(rightDto)\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"right: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async getRightById(rightId: string) {\r\n try {\r\n return rightClient.findRight(rightId)\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"right: get by id\", e);\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async getRightByName(rightName: string) {\r\n try {\r\n return rightClient.findRightByName(rightName)\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"right: get by name\", e);\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async updateRight(rightDto: RightUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await rightClient.update(rightDto.id, rightDto)\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"right: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n}\r\n","import {Action, getModule, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport AlertModule from \"@/store/modules/alert\";\r\nimport UserCreateDto = MdbsIdProvider.UserCreateDto;\r\nimport UserUpdateDto = MdbsIdProvider.UserUpdateDto;\r\nimport IUserUpdateDto = MdbsIdProvider.IUserUpdateDto;\r\nimport IUserCreateDto = MdbsIdProvider.IUserCreateDto;\r\nimport ShortUserDto = MdbsIdProvider.ShortUserDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst userClient = new MdbsIdProvider.UserClient();\r\n\r\n@Module({namespaced: true, name: \"users\", store: store})\r\nexport default class UsersModule extends BaseModule {\r\n _users: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n get users() {\r\n return this._users;\r\n }\r\n\r\n @Mutation\r\n setUsers(users: Array) {\r\n // presort, since in most usecase we want a nicely sorted user list\r\n users.sort((u1, u2) => (u1.displayName ?? \"\").localeCompare(u2.displayName ?? \"\"))\r\n this._users.updateValues(users);\r\n }\r\n\r\n @Mutation\r\n resetUsers() {\r\n this._users.clear();\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.setUsers(await userClient.getAll(false));\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n this.resetUsers();\r\n } finally {\r\n this.stopLoading();\r\n }\r\n }\r\n\r\n @Action\r\n async createUser(userDto: IUserCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await userClient.create(new UserCreateDto(userDto));\r\n await this.loadAll();\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.stopLoading();\r\n }\r\n }\r\n\r\n @Action\r\n async getUserById(userId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n return userClient.findUser(userId)\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async updateUser(userDto: IUserUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await userClient.update(userDto.id, new UserUpdateDto(userDto))\r\n await this.loadAll()\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async deactivateUser(userId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n await userClient.deactivate(userId)\r\n await this.loadAll()\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await userClient.count(includeDeactivated);\r\n }\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport AuditEventDto = MdbsIdProvider.AuditEventDto;\r\nimport AuditTrailClient = MdbsIdProvider.AuditTrailClient;\r\nimport {delay} from \"@/auxillary/delay\";\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst auditTrailClient = new AuditTrailClient();\r\n\r\n@Module({namespaced: true, name: 'auditTrail', store: store})\r\nexport default class AuditTrailModule extends BaseModule {\r\n _auditEvents: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n get auditEvents() {\r\n return this._auditEvents;\r\n }\r\n\r\n @Mutation\r\n setAuditEvents(auditEvents: Array) {\r\n this._auditEvents.updateValues(auditEvents);\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setAuditEvents', await auditTrailClient.getAll());\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"auditTrail: loadAll\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(): Promise {\r\n return await auditTrailClient.count();\r\n }\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport store from \"@/store\";\r\nimport RightDto = MdbsIdProvider.RightDto;\r\nimport RightCreateDto = MdbsIdProvider.RightCreateDto;\r\nimport RightUpdateDto = MdbsIdProvider.RightUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\nimport InstituteWithStudySystemDto = MdbsIdProvider.InstituteWithStudySystemDto;\r\nimport InstituteCreateDto = MdbsIdProvider.InstituteCreateDto;\r\nimport InstituteUpdateDto = MdbsIdProvider.InstituteUpdateDto;\r\n\r\nconst instituteWithStudySystemClient = new MdbsIdProvider.InstituteWithStudySystemClient();\r\n\r\n@Module({namespaced: true, name: \"instituteWithStudySystem\", store: store})\r\nexport default class InstitutesWithStudySystem extends BaseModule {\r\n institutesWithStudySystem: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n @Mutation\r\n reset() {\r\n this.institutesWithStudySystem.clear();\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('getInstitutes', await instituteWithStudySystemClient.getAll(false))\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"institutes: loadall\", e);\r\n this.context.commit('resetRights')\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n //TODO Fix: using dto with study system\r\n async createInstituteWithStudySystem(instituteWithStudySystem: InstituteCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await instituteWithStudySystemClient.create(instituteWithStudySystem)\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"institute: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n //TODO Fix: using dto with study system\r\n async updateInstitute(instituteWithStudySystemDto: InstituteUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await instituteWithStudySystemClient.update(instituteWithStudySystemDto.id, instituteWithStudySystemDto)\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"institute: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await instituteWithStudySystemClient.count(includeDeactivated);\r\n }\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport IStudySystemCreateDto = MdbsIdProvider.IStudySystemCreateDto;\r\nimport StudySystemCreateDto = MdbsIdProvider.StudySystemCreateDto;\r\nimport StudySystemClient = MdbsIdProvider.StudySystemClient;\r\nimport StudySystemDto = MdbsIdProvider.StudySystemDto;\r\nimport IStudySystemUpdateDto = MdbsIdProvider.IStudySystemUpdateDto;\r\nimport StudySystemUpdateDto = MdbsIdProvider.StudySystemUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst studySystemClient = new StudySystemClient();\r\n\r\n@Module({namespaced: true, name: 'studySystem', store: store})\r\nexport default class StudySystemModule extends BaseModule {\r\n\r\n studySystems: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n @Mutation\r\n setStudySystems(studySystems: Array) {\r\n this.studySystems.updateValues(studySystems);\r\n }\r\n\r\n @Action\r\n async loadAll(includeDeactivated?: boolean) {\r\n this.context.commit('startLoading')\r\n try {\r\n const items = await studySystemClient.getAll(includeDeactivated);\r\n this.context.commit('setStudySystems', items);\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"studySystems: loadAll\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await studySystemClient.count(includeDeactivated);\r\n }\r\n\r\n @Action\r\n async createStudySystem(studySystem: IStudySystemCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await studySystemClient.create(new StudySystemCreateDto(studySystem));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"studySystem: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async updateStudySystem(studySystem: IStudySystemUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await studySystemClient.update(studySystem.id, new StudySystemUpdateDto(studySystem));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"studySystem: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async deactivateStudySystem(studySystem: IStudySystemUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await studySystemClient.update(studySystem.id, new StudySystemUpdateDto(studySystem));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"studySystem: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n\r\n}\r\n","import {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport RealPatientClient = MdbsIdProvider.RealPatientClient;\r\nimport RealPatientDto = MdbsIdProvider.RealPatientDto;\r\nimport IRealPatientCreateDto = MdbsIdProvider.IRealPatientCreateDto;\r\nimport RealPatientCreateDto = MdbsIdProvider.RealPatientCreateDto;\r\nimport IRealPatientUpdateDto = MdbsIdProvider.IRealPatientUpdateDto;\r\nimport RealPatientUpdateDto = MdbsIdProvider.RealPatientUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst realPatientClient = new RealPatientClient();\r\n\r\n@Module({namespaced: true, name: 'realPatient', store: store})\r\nexport default class RealPatientModule extends BaseModule {\r\n patients: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n @Mutation\r\n setPatients(patients: Array) {\r\n this.patients.updateValues(patients);\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setPatients', await realPatientClient.getAll(false));\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"realPatients: loadAll\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async createRealPatient(realPatient: IRealPatientCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await realPatientClient.create(new RealPatientCreateDto(realPatient));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"realPatient: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async updateRealPatient(realPatient: IRealPatientUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await realPatientClient.update(realPatient.id, new RealPatientUpdateDto(realPatient));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"realPatient: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await realPatientClient.count(includeDeactivated);\r\n }\r\n}\r\n","import {Action, getModule, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport AlertModule from \"@/store/modules/alert\";\r\nimport PseudonymizedPatientDto = MdbsIdProvider.PseudonymizedPatientDto;\r\nimport PseudonymizedPatientClient = MdbsIdProvider.PseudonymizedPatientClient;\r\nimport IPseudonymizedPatientCreateDto = MdbsIdProvider.IPseudonymizedPatientCreateDto;\r\nimport PseudonymizedPatientCreateDto = MdbsIdProvider.PseudonymizedPatientCreateDto;\r\nimport IPseudonymizedPatientUpdateDto = MdbsIdProvider.IPseudonymizedPatientUpdateDto;\r\nimport PseudonymizedPatientUpdateDto = MdbsIdProvider.PseudonymizedPatientUpdateDto;\r\nimport IPseudonymizedPatientVerificationDto = MdbsIdProvider.IPseudonymizedPatientVerificationDto;\r\nimport PseudonymizedPatientVerificationDto = MdbsIdProvider.PseudonymizedPatientVerificationDto;\r\nimport PseudonymizedPatientCheckVerificationDto = MdbsIdProvider.PseudonymizedPatientCheckVerificationDto;\r\nimport IPseudonymizedPatientCheckVerificationDto = MdbsIdProvider.IPseudonymizedPatientCheckVerificationDto;\r\n\r\nconst pseudonymizedPatientClient = new PseudonymizedPatientClient();\r\n\r\n@Module({namespaced: true, name: 'pseudonymizedPatient', store: store})\r\nexport default class PseudonymizedPatientModule extends VuexModule {\r\n loading: boolean = false;\r\n _pseudonymizedPatients: Array = [];\r\n\r\n get pseudonymizedPatients() {\r\n return this._pseudonymizedPatients;\r\n }\r\n\r\n get isLoading() {\r\n return this.loading;\r\n }\r\n\r\n @Mutation\r\n startLoading() {\r\n this.loading = true;\r\n }\r\n\r\n @Mutation\r\n stopLoading() {\r\n this.loading = false;\r\n }\r\n\r\n @Mutation\r\n setPseudonymizedPatients(pseudonymizedPatients: Array) {\r\n this._pseudonymizedPatients.updateValues(pseudonymizedPatients);\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setPseudonymizedPatients', await pseudonymizedPatientClient.getAll(false));\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"pseudonymizedPatients: loadAll\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async getPseudonymizedPatient(id: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n return await pseudonymizedPatientClient.findPseudonymizedPatient(id);\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"pseudonymizedPatients: get\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async countAsync(includeDeactivated: boolean = false): Promise {\r\n return await pseudonymizedPatientClient.count(includeDeactivated);\r\n }\r\n\r\n @Action\r\n async createPseudonymizedPatient(patientCreateDto: IPseudonymizedPatientCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await pseudonymizedPatientClient.create(new PseudonymizedPatientCreateDto(patientCreateDto));\r\n await this.loadAll();\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.stopLoading();\r\n }\r\n }\r\n\r\n @Action\r\n async updatePseudonymizedPatient(patientUpdateDto: IPseudonymizedPatientUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await pseudonymizedPatientClient.update(patientUpdateDto.id, new PseudonymizedPatientUpdateDto(patientUpdateDto));\r\n await this.loadAll()\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async checkVerification(verificationDto: IPseudonymizedPatientCheckVerificationDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n return await pseudonymizedPatientClient.checkVerification(verificationDto.id, new PseudonymizedPatientCheckVerificationDto(verificationDto));\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async verify(verificationDto: IPseudonymizedPatientVerificationDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n return await pseudonymizedPatientClient.verify(verificationDto.id, new PseudonymizedPatientVerificationDto(verificationDto));\r\n } catch (e) {\r\n const alertModule = getModule(AlertModule, store);\r\n await alertModule.handleException(e);\r\n return null;\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n}\r\n","/**\r\n * Created by harry.preiss on 22 Jun 2020\r\n */\r\n\r\nimport {Action, Module, Mutation, VuexModule} from 'vuex-module-decorators'\r\nimport store from \"@/store\";\r\nimport {MdbsIdProvider} from \"@/api/tsclient\";\r\nimport PatientConsentDto = MdbsIdProvider.PatientConsentDto;\r\nimport IPatientConsentCreateDto = MdbsIdProvider.IPatientConsentCreateDto;\r\nimport PatientConsentCreateDto = MdbsIdProvider.PatientConsentCreateDto;\r\nimport IPatientConsentUpdateDto = MdbsIdProvider.IPatientConsentUpdateDto;\r\nimport PatientConsentUpdateDto = MdbsIdProvider.PatientConsentUpdateDto;\r\nimport BaseModule from \"@/store/modules/base.module\";\r\n\r\nconst consentClient = new MdbsIdProvider.PatientConsentClient();\r\n\r\n@Module({namespaced: true, name: 'patientConsent', store: store})\r\nexport default class PatientConsentModule extends BaseModule {\r\n consents: Array = [];\r\n\r\n get loading() {\r\n return super.loading;\r\n }\r\n\r\n @Mutation\r\n setPatientConsents(consents: Array) {\r\n this.consents.updateValues(consents);\r\n }\r\n\r\n @Mutation\r\n resetPatientConsents() {\r\n this.consents.clear();\r\n }\r\n\r\n @Action\r\n async loadAll() {\r\n this.context.commit('startLoading')\r\n try {\r\n this.context.commit('setPatientConsents', await consentClient.getAll(false))\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"patientConsents: loadAll\", e);\r\n this.context.commit('resetPatientConsents')\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async createConsent(consent: IPatientConsentCreateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await consentClient.create(new PatientConsentCreateDto(consent));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"consent: create\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n }\r\n\r\n @Action\r\n async getPatientConsentById(consentId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n return consentClient.findPatientConsent(consentId)\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"consent: get by id\", e);\r\n } finally {\r\n this.context.commit('stopLoading')\r\n }\r\n return null;\r\n }\r\n\r\n @Action\r\n async updatePatientConsent(consent: IPatientConsentUpdateDto) {\r\n this.context.commit('startLoading')\r\n try {\r\n await consentClient.update(consent.id, new PatientConsentUpdateDto(consent));\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"patientConsent: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async grantPatientConsentAsync(consentId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n await consentClient.grantPatientConsent(consentId);\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"grantPatientConsent: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n\r\n @Action\r\n async revokePatientConsentAsync(consentId: string) {\r\n this.context.commit('startLoading')\r\n try {\r\n await consentClient.revokePatientConsent(consentId);\r\n await this.loadAll()\r\n } catch (e) {\r\n // TODO Error Management\r\n console.error(\"revokePatientConsent: update\", e);\r\n } finally {\r\n this.context.commit('stopLoading');\r\n }\r\n }\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport {getModule} from \"vuex-module-decorators\";\r\nimport AlertModule from \"@/store/modules/alert\";\r\nimport AuthModule from \"@/store/modules/auth\";\r\nimport CurrentUserModule from \"@/store/modules/current.user\";\r\nimport RolesModule from \"@/store/modules/roles\";\r\nimport RightsModule from \"@/store/modules/rights\";\r\nimport UsersModule from \"@/store/modules/users\";\r\nimport AuditTrailModule from \"@/store/modules/audittrail\";\r\nimport InstituteWithStudySystemModule from \"@/store/modules/instituteWithStudySystem\";\r\nimport StudySystemModule from \"@/store/modules/study.system\";\r\nimport RealPatientModule from \"@/store/modules/patient.real\";\r\nimport PseudonymizedPatientModule from \"@/store/modules/patient.pseudonymized\";\r\nimport PatientConsentModule from \"@/store/modules/patient.consent\";\r\n\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n strict: process.env.NODE_ENV !== 'production',\r\n modules: {\r\n alert: AlertModule,\r\n auth: AuthModule,\r\n currentUser: CurrentUserModule,\r\n roles: RolesModule,\r\n rights: RightsModule,\r\n users: UsersModule,\r\n auditTrail: AuditTrailModule,\r\n realPatient: RealPatientModule,\r\n instituteWithStudySystem: InstituteWithStudySystemModule,\r\n studySystem: StudySystemModule,\r\n patientConsent: PatientConsentModule,\r\n pseudonymizedPatient: PseudonymizedPatientModule,\r\n }\r\n})\r\n\r\nexport default store\r\nexport const alertModule = getModule(AlertModule, store);\r\nexport const authModule = getModule(AuthModule, store);\r\nexport const currentUserModule = getModule(CurrentUserModule, store);\r\nexport const rolesModule = getModule(RolesModule, store);\r\nexport const rightsModule = getModule(RightsModule, store);\r\nexport const usersModule = getModule(UsersModule, store);\r\nexport const auditTrailModule = getModule(AuditTrailModule, store);\r\nexport const realPatientModule = getModule(RealPatientModule, store);\r\nexport const instituteWithStudySystemModule = getModule(InstituteWithStudySystemModule, store);\r\nexport const studySystemModule = getModule(StudySystemModule, store);\r\nexport const patientConsentModule = getModule(PatientConsentModule, store);\r\nexport const pseudonymizedPatientModule = getModule(PseudonymizedPatientModule, store);\r\n","require(\"@/extensions/array.extensions\");\r\nrequire(\"@/extensions/string.extensions\");\r\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&scope=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&scope=true&lang=css&\"","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.18.2.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport module MdbsIdProvider {\r\nexport class BaseClient {\r\n private readonly _baseUrl!: string;\r\n public static REFRESH_TOKEN_EXPIRED_MESSAGE: string = \"refresh token expired\";\r\n\r\n protected getBaseUrl(url: string) {\r\n return this._baseUrl;\r\n }\r\n\r\n protected constructor() {\r\n if (process.env.NODE_ENV === \"development\") {\r\n this._baseUrl = \"https://\" + window.location.hostname + \":5001\";\r\n } else {\r\n this._baseUrl = \"https://\" + window.location.host;\r\n }\r\n }\r\n\r\n protected transformOptions = (options: AxiosRequestConfig): Promise < AxiosRequestConfig > => {\r\n const isRefresh = options.url?.endsWith(\"/Auth/refreshLogin\");\r\n const token = isRefresh ? localStorage.getItem(\"refreshToken\") : localStorage.getItem(\"token\");\r\n if (token != null) {\r\n options.headers = {\r\n ...options.headers,\r\n Authorization: 'Bearer ' + token,\r\n };\r\n }\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n protected async transformResult(url : string, response: AxiosResponse, processor: (response: AxiosResponse) => Promise < any > ): Promise < any > {\r\n if (response.status === 401 && !url.endsWith(\"/Auth/refreshLogin\")) {\r\n console.log(\"authentication expired... maybe...\")\r\n try {\r\n response = await this.refreshLoginToken(response.config);\r\n } catch (error) {\r\n if (isAxiosError(error) && error.response) {\r\n return error.response;\r\n } else {\r\n throw error;\r\n }\r\n }\r\n }\r\n\r\n return processor(response);\r\n }\r\n\r\n private async refreshLoginToken(config: AxiosRequestConfig): Promise < any > {\r\n let refreshTokenResponse: TokenDto | undefined;\r\n try {\r\n refreshTokenResponse = await new AuthClient(this._baseUrl, axios).refreshLogin();\r\n\r\n localStorage.setItem('token', refreshTokenResponse?.token ?? \"\");\r\n localStorage.setItem('refreshToken', refreshTokenResponse?.refreshToken ?? \"\");\r\n\r\n config.headers.Authorization = \"Bearer \" + refreshTokenResponse?.token;\r\n\r\n return axios(config);\r\n } catch (e) {\r\n throwException(BaseClient.REFRESH_TOKEN_EXPIRED_MESSAGE, 401, \"\", []);\r\n }\r\n }\r\n}\r\n\r\nexport class InstituteWithStudySystemClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n getMy(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/my?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMy(_response);\r\n });\r\n }\r\n\r\n protected processGetMy(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InstituteWithStudySystemShortDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n getMyComplete(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/my/complete?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMyComplete(_response);\r\n });\r\n }\r\n\r\n protected processGetMyComplete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InstituteWithStudySystemCompleteDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InstituteWithStudySystemShortDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n create(instituteDto: InstituteCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(instituteDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n getAllComplete(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/complete?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAllComplete(_response);\r\n });\r\n }\r\n\r\n protected processGetAllComplete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InstituteWithStudySystemCompleteDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n getInstitute(instituteId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/{instituteId}\";\r\n if (instituteId === undefined || instituteId === null)\r\n throw new Error(\"The parameter 'instituteId' must be defined.\");\r\n url_ = url_.replace(\"{instituteId}\", encodeURIComponent(\"\" + instituteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetInstitute(_response);\r\n });\r\n }\r\n\r\n protected processGetInstitute(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = InstituteWithStudySystem.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n update(instituteId: string, instituteUpdateDto: InstituteUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/{instituteId}\";\r\n if (instituteId === undefined || instituteId === null)\r\n throw new Error(\"The parameter 'instituteId' must be defined.\");\r\n url_ = url_.replace(\"{instituteId}\", encodeURIComponent(\"\" + instituteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(instituteUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/InstituteWithStudySystem/count?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class PatientConsentClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeactivated: boolean | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent?\";\r\n if (includeDeactivated !== undefined && includeDeactivated !== null)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PatientConsentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n findPatientConsent(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindPatientConsent(_response);\r\n });\r\n }\r\n\r\n protected processFindPatientConsent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PatientConsentDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n create(patientConsentCreateDto: PatientConsentCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patientConsentCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = PatientConsentDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n update(patientConsentId: string, patientConsentUpdateDto: PatientConsentUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/{patientConsentId}\";\r\n if (patientConsentId === undefined || patientConsentId === null)\r\n throw new Error(\"The parameter 'patientConsentId' must be defined.\");\r\n url_ = url_.replace(\"{patientConsentId}\", encodeURIComponent(\"\" + patientConsentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patientConsentUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n deactivatePatientConsent(patientConsentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/{patientConsentId}\";\r\n if (patientConsentId === undefined || patientConsentId === null)\r\n throw new Error(\"The parameter 'patientConsentId' must be defined.\");\r\n url_ = url_.replace(\"{patientConsentId}\", encodeURIComponent(\"\" + patientConsentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeactivatePatientConsent(_response);\r\n });\r\n }\r\n\r\n protected processDeactivatePatientConsent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n grantPatientConsent(patientConsentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/{patientConsentId}/grant\";\r\n if (patientConsentId === undefined || patientConsentId === null)\r\n throw new Error(\"The parameter 'patientConsentId' must be defined.\");\r\n url_ = url_.replace(\"{patientConsentId}\", encodeURIComponent(\"\" + patientConsentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGrantPatientConsent(_response);\r\n });\r\n }\r\n\r\n protected processGrantPatientConsent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n revokePatientConsent(patientConsentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientConsent/{patientConsentId}/revoke\";\r\n if (patientConsentId === undefined || patientConsentId === null)\r\n throw new Error(\"The parameter 'patientConsentId' must be defined.\");\r\n url_ = url_.replace(\"{patientConsentId}\", encodeURIComponent(\"\" + patientConsentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRevokePatientConsent(_response);\r\n });\r\n }\r\n\r\n protected processRevokePatientConsent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PatientVerificationClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientVerification?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PatientVerificationsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getMy(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientVerification/my?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMy(_response);\r\n });\r\n }\r\n\r\n protected processGetMy(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PatientVerificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n getByPatientId(patientId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PatientVerification/{patientId}\";\r\n if (patientId === undefined || patientId === null)\r\n throw new Error(\"The parameter 'patientId' must be defined.\");\r\n url_ = url_.replace(\"{patientId}\", encodeURIComponent(\"\" + patientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetByPatientId(_response);\r\n });\r\n }\r\n\r\n protected processGetByPatientId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PatientVerificationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class PseudonymizedPatientClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeactivated: boolean | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient?\";\r\n if (includeDeactivated !== undefined && includeDeactivated !== null)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PseudonymizedPatientDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n findPseudonymizedPatient(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindPseudonymizedPatient(_response);\r\n });\r\n }\r\n\r\n protected processFindPseudonymizedPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PseudonymizedPatientDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n findPseudonymizedPatientByAlias(alias: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{alias}\";\r\n if (alias === undefined || alias === null)\r\n throw new Error(\"The parameter 'alias' must be defined.\");\r\n url_ = url_.replace(\"{alias}\", encodeURIComponent(\"\" + alias));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindPseudonymizedPatientByAlias(_response);\r\n });\r\n }\r\n\r\n protected processFindPseudonymizedPatientByAlias(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PseudonymizedPatientDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n create(pseudonymizedPatientCreateDto: PseudonymizedPatientCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pseudonymizedPatientCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = PseudonymizedPatientDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n update(pseudonymizedPatientId: string, pseudonymizedPatientUpdateDto: PseudonymizedPatientUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{pseudonymizedPatientId}\";\r\n if (pseudonymizedPatientId === undefined || pseudonymizedPatientId === null)\r\n throw new Error(\"The parameter 'pseudonymizedPatientId' must be defined.\");\r\n url_ = url_.replace(\"{pseudonymizedPatientId}\", encodeURIComponent(\"\" + pseudonymizedPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pseudonymizedPatientUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n deactivatePseudonymizedPatient(pseudonymizedPatientId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{pseudonymizedPatientId}\";\r\n if (pseudonymizedPatientId === undefined || pseudonymizedPatientId === null)\r\n throw new Error(\"The parameter 'pseudonymizedPatientId' must be defined.\");\r\n url_ = url_.replace(\"{pseudonymizedPatientId}\", encodeURIComponent(\"\" + pseudonymizedPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeactivatePseudonymizedPatient(_response);\r\n });\r\n }\r\n\r\n protected processDeactivatePseudonymizedPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n verify(pseudonymizedPatientId: string, verificationDto: PseudonymizedPatientVerificationDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{pseudonymizedPatientId}/verify\";\r\n if (pseudonymizedPatientId === undefined || pseudonymizedPatientId === null)\r\n throw new Error(\"The parameter 'pseudonymizedPatientId' must be defined.\");\r\n url_ = url_.replace(\"{pseudonymizedPatientId}\", encodeURIComponent(\"\" + pseudonymizedPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(verificationDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processVerify(_response);\r\n });\r\n }\r\n\r\n protected processVerify(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201 !== undefined ? resultData201 : null;\r\n \r\n return Promise.resolve(result201);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n checkVerification(pseudonymizedPatientId: string, dto: PseudonymizedPatientCheckVerificationDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/{pseudonymizedPatientId}/check_verification\";\r\n if (pseudonymizedPatientId === undefined || pseudonymizedPatientId === null)\r\n throw new Error(\"The parameter 'pseudonymizedPatientId' must be defined.\");\r\n url_ = url_.replace(\"{pseudonymizedPatientId}\", encodeURIComponent(\"\" + pseudonymizedPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCheckVerification(_response);\r\n });\r\n }\r\n\r\n protected processCheckVerification(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PseudonymizedPatientCheckVerificationResponseDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/count?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n forceEmailJob( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/PseudonymizedPatient/forcereminderemailjob\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processForceEmailJob(_response);\r\n });\r\n }\r\n\r\n protected processForceEmailJob(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class RealPatientClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RealPatientDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n findRealPatient(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindRealPatient(_response);\r\n });\r\n }\r\n\r\n protected processFindRealPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RealPatientDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n create(realPatientCreateDto: RealPatientCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(realPatientCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = RealPatientDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n update(realPatientId: string, realPatientUpdateDto: RealPatientUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/{realPatientId}\";\r\n if (realPatientId === undefined || realPatientId === null)\r\n throw new Error(\"The parameter 'realPatientId' must be defined.\");\r\n url_ = url_.replace(\"{realPatientId}\", encodeURIComponent(\"\" + realPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(realPatientUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n deactivateRealPatient(realPatientId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/{realPatientId}\";\r\n if (realPatientId === undefined || realPatientId === null)\r\n throw new Error(\"The parameter 'realPatientId' must be defined.\");\r\n url_ = url_.replace(\"{realPatientId}\", encodeURIComponent(\"\" + realPatientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeactivateRealPatient(_response);\r\n });\r\n }\r\n\r\n protected processDeactivateRealPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/count?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n sendMailForRealPatient(sendMailDto: RealPatientSendMailDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/RealPatient/mail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(sendMailDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendMailForRealPatient(_response);\r\n });\r\n }\r\n\r\n protected processSendMailForRealPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class StudySystemClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeactivated: boolean | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem?\";\r\n if (includeDeactivated !== undefined && includeDeactivated !== null)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StudySystemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n findStudySystem(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindStudySystem(_response);\r\n });\r\n }\r\n\r\n protected processFindStudySystem(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = StudySystemDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Object created successfully\r\n */\r\n create(studySystemCreateDto: StudySystemCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(studySystemCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = StudySystemDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request successfully processed\r\n */\r\n update(studySystemId: string, studySystemUpdateDto: StudySystemUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem/{studySystemId}\";\r\n if (studySystemId === undefined || studySystemId === null)\r\n throw new Error(\"The parameter 'studySystemId' must be defined.\");\r\n url_ = url_.replace(\"{studySystemId}\", encodeURIComponent(\"\" + studySystemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(studySystemUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n deactivateStudySystem(studySystemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem/{studySystemId}\";\r\n if (studySystemId === undefined || studySystemId === null)\r\n throw new Error(\"The parameter 'studySystemId' must be defined.\");\r\n url_ = url_.replace(\"{studySystemId}\", encodeURIComponent(\"\" + studySystemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeactivateStudySystem(_response);\r\n });\r\n }\r\n\r\n protected processDeactivateStudySystem(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param includeDeactivated (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeactivated: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystem/count?\";\r\n if (includeDeactivated === null)\r\n throw new Error(\"The parameter 'includeDeactivated' cannot be null.\");\r\n else if (includeDeactivated !== undefined)\r\n url_ += \"includeDeactivated=\" + encodeURIComponent(\"\" + includeDeactivated) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class StudySystemUserClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/StudySystemUser?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StudySystemUserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class SystemClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n * @deprecated\r\n */\r\n sendPatientReminder(dto: SystemPatientSendReminderDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/System/sendPatientReminder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendPatientReminder(_response);\r\n });\r\n }\r\n\r\n protected processSendPatientReminder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n sendPatientEmail(dto: SystemPatientSendEmailDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/System/sendPatientEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendPatientEmail(_response);\r\n });\r\n }\r\n\r\n protected processSendPatientEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Request completed successfully\r\n */\r\n registerPatient(registerPatientDto: RegisterPatientDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/System/registerPatient\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(registerPatientDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRegisterPatient(_response);\r\n });\r\n }\r\n\r\n protected processRegisterPatient(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RegisterPatientResultDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AuditTrailClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Fetches a list of all audit trail events\r\n * @return Request completed successfully\r\n */\r\n getAll( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/AuditTrail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AuditEventDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the audit trail event identified by its id\r\n * @param id Id of the audit trail event\r\n * @return Request completed successfully\r\n */\r\n findAuditTrailEvent(id: number , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/AuditTrail/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindAuditTrailEvent(_response);\r\n });\r\n }\r\n\r\n protected processFindAuditTrailEvent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AuditEventDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Counts all audit trail entries\r\n * @return Request completed successfully\r\n */\r\n count( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/AuditTrail/count\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class AuthClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Login token generation for users with credentials\r\n * @param loginDto login credentials\r\n * @return Request completed successfully\r\n */\r\n login(loginDto: LoginDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Auth\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loginDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n\r\n protected processLogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TokenDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 202) {\r\n const _responseText = response.data;\r\n return throwException(\"A login token for bearer authentication\", status, _responseText, _headers);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Refreshes the login with the refresh token\r\n * @return Request completed successfully\r\n */\r\n refreshLogin( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Auth/refreshLogin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRefreshLogin(_response);\r\n });\r\n }\r\n\r\n protected processRefreshLogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = TokenDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 202) {\r\n const _responseText = response.data;\r\n return throwException(\"the new token dto\", status, _responseText, _headers);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Informs the service about the user's logout\r\n * @return Request completed successfully\r\n */\r\n logout(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Auth/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n\r\n protected processLogout(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DocumentClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Gets all documents\r\n * @param includeDeleted (optional) The include deleted\r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DocumentShortDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Creates a document\r\n * @param identifier (optional) \r\n * @param title (optional) \r\n * @param description (optional) \r\n * @param order (optional) \r\n * @param tags (optional) \r\n * @param fileData (optional) \r\n * @return Object created successfully\r\n */\r\n create(identifier: string | null | undefined, title: string | null | undefined, description: string | null | undefined, order: number | undefined, tags: string | null | undefined, fileData: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (identifier !== null && identifier !== undefined)\r\n content_.append(\"Identifier\", identifier.toString());\r\n if (title !== null && title !== undefined)\r\n content_.append(\"Title\", title.toString());\r\n if (description !== null && description !== undefined)\r\n content_.append(\"Description\", description.toString());\r\n if (order === null || order === undefined)\r\n throw new Error(\"The parameter 'order' cannot be null.\");\r\n else\r\n content_.append(\"Order\", order.toString());\r\n if (tags !== null && tags !== undefined)\r\n content_.append(\"Tags\", tags.toString());\r\n if (fileData !== null && fileData !== undefined)\r\n content_.append(\"FileData\", fileData.data, fileData.fileName ? fileData.fileName : \"FileData\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = DocumentShortDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Updates a document with content\r\n * @param documentId (optional) The document id\r\n * @param identifier (optional) \r\n * @param title (optional) \r\n * @param description (optional) \r\n * @param order (optional) \r\n * @param tags (optional) \r\n * @param fileData (optional) \r\n * @return Request successfully processed\r\n */\r\n updateWithContent(documentId: string | undefined, identifier: string | null | undefined, title: string | null | undefined, description: string | null | undefined, order: number | undefined, tags: string | null | undefined, fileData: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document?\";\r\n if (documentId === null)\r\n throw new Error(\"The parameter 'documentId' cannot be null.\");\r\n else if (documentId !== undefined)\r\n url_ += \"documentId=\" + encodeURIComponent(\"\" + documentId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (identifier !== null && identifier !== undefined)\r\n content_.append(\"Identifier\", identifier.toString());\r\n if (title !== null && title !== undefined)\r\n content_.append(\"Title\", title.toString());\r\n if (description !== null && description !== undefined)\r\n content_.append(\"Description\", description.toString());\r\n if (order === null || order === undefined)\r\n throw new Error(\"The parameter 'order' cannot be null.\");\r\n else\r\n content_.append(\"Order\", order.toString());\r\n if (tags !== null && tags !== undefined)\r\n content_.append(\"Tags\", tags.toString());\r\n if (fileData !== null && fileData !== undefined)\r\n content_.append(\"FileData\", fileData.data, fileData.fileName ? fileData.fileName : \"FileData\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateWithContent(_response);\r\n });\r\n }\r\n\r\n protected processUpdateWithContent(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Gets a document by id\r\n * @param documentId The document id\r\n * @return Request completed successfully\r\n */\r\n get(documentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{documentId}\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGet(_response);\r\n });\r\n }\r\n\r\n protected processGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DocumentShortDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Updates a document\r\n * @param documentId The document id\r\n * @param documentUpdateDto The document update dto\r\n * @return Request successfully processed\r\n */\r\n update(documentId: string, documentUpdateDto: DocumentUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{documentId}\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(documentUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Deletes a document\r\n * @param documentId The document id\r\n */\r\n delete(documentId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{documentId}\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"Forbidden Request\", status, _responseText, _headers, result403);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return Promise.resolve(resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Gets a document the by it's identifier\r\n * @param identifier The identifier\r\n * @return Request completed successfully\r\n */\r\n getByIdentifier(identifier: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{identifier}\";\r\n if (identifier === undefined || identifier === null)\r\n throw new Error(\"The parameter 'identifier' must be defined.\");\r\n url_ = url_.replace(\"{identifier}\", encodeURIComponent(\"\" + identifier));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetByIdentifier(_response);\r\n });\r\n }\r\n\r\n protected processGetByIdentifier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DocumentShortDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Downloads the specified version of a document\r\n * @param documentId The document id\r\n * @param docVersion The doc version\r\n * @param download (optional) The download\r\n * @return Request completed successfully\r\n */\r\n downloadVersion(documentId: string, docVersion: number, download: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{documentId}/content/{docVersion}?\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n if (docVersion === undefined || docVersion === null)\r\n throw new Error(\"The parameter 'docVersion' must be defined.\");\r\n url_ = url_.replace(\"{docVersion}\", encodeURIComponent(\"\" + docVersion));\r\n if (download === null)\r\n throw new Error(\"The parameter 'download' cannot be null.\");\r\n else if (download !== undefined)\r\n url_ += \"download=\" + encodeURIComponent(\"\" + download) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadVersion(_response);\r\n });\r\n }\r\n\r\n protected processDownloadVersion(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Downloads the latest version of a document\r\n * @param documentId The document id\r\n * @param download (optional) The download\r\n * @return Request completed successfully\r\n */\r\n downloadLatestVersion(documentId: string, download: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Document/{documentId}/content/latest?\";\r\n if (documentId === undefined || documentId === null)\r\n throw new Error(\"The parameter 'documentId' must be defined.\");\r\n url_ = url_.replace(\"{documentId}\", encodeURIComponent(\"\" + documentId));\r\n if (download === null)\r\n throw new Error(\"The parameter 'download' cannot be null.\");\r\n else if (download !== undefined)\r\n url_ += \"download=\" + encodeURIComponent(\"\" + download) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadLatestVersion(_response);\r\n });\r\n }\r\n\r\n protected processDownloadLatestVersion(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RightClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Returns a right by its rightName\r\n * @param rightName The name of the right to be returned\r\n * @return Request completed successfully\r\n */\r\n findRightByName(rightName: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right/{rightName}\";\r\n if (rightName === undefined || rightName === null)\r\n throw new Error(\"The parameter 'rightName' must be defined.\");\r\n url_ = url_.replace(\"{rightName}\", encodeURIComponent(\"\" + rightName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindRightByName(_response);\r\n });\r\n }\r\n\r\n protected processFindRightByName(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RightDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Returns a right by its rightId\r\n * @param rightId The id of the right to be returned\r\n * @return Request completed successfully\r\n */\r\n findRight(rightId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right/{rightId}\";\r\n if (rightId === undefined || rightId === null)\r\n throw new Error(\"The parameter 'rightId' must be defined.\");\r\n url_ = url_.replace(\"{rightId}\", encodeURIComponent(\"\" + rightId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindRight(_response);\r\n });\r\n }\r\n\r\n protected processFindRight(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RightDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Updates a right based on the rightUpdateDto\r\n * @param rightId The id of the right to be updated\r\n * @param rightUpdateDto The data transfer object containing the properties of the right to be updated\r\n * @return Request successfully processed\r\n */\r\n update(rightId: string, rightUpdateDto: RightUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right/{rightId}\";\r\n if (rightId === undefined || rightId === null)\r\n throw new Error(\"The parameter 'rightId' must be defined.\");\r\n url_ = url_.replace(\"{rightId}\", encodeURIComponent(\"\" + rightId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(rightUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Returns all rights.\r\n * @param includeDeleted (optional) Indicates if deleted rights should be returned\r\n * @return Request completed successfully\r\n */\r\n getAllRights(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAllRights(_response);\r\n });\r\n }\r\n\r\n protected processGetAllRights(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RightDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Creates a right based on the rightCreateDto\r\n * @param rightCreateDto The data transfer object containing the properties of the right to be created\r\n * @return Object created successfully\r\n */\r\n create(rightCreateDto: RightCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(rightCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = RightDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Returns all rights for current user.\r\n * @return Request completed successfully\r\n */\r\n getAllRightsForCurrentUser( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Right/currentUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAllRightsForCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetAllRightsForCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RightDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class RoleClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Returns a role by its roleName\r\n * @param roleName The name of the role to be returned\r\n * @return Request completed successfully\r\n */\r\n findRoleByName(roleName: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role/{roleName}\";\r\n if (roleName === undefined || roleName === null)\r\n throw new Error(\"The parameter 'roleName' must be defined.\");\r\n url_ = url_.replace(\"{roleName}\", encodeURIComponent(\"\" + roleName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindRoleByName(_response);\r\n });\r\n }\r\n\r\n protected processFindRoleByName(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RoleDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Returns a role by its roleId\r\n * @param roleId The roleId of the role to be returned\r\n * @return Request completed successfully\r\n */\r\n findRole(roleId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role/{roleId}\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined.\");\r\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindRole(_response);\r\n });\r\n }\r\n\r\n protected processFindRole(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RoleDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Deletes a role identified by its roleId\r\n * @param roleId Id of the role to be deleted\r\n */\r\n delete(roleId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role/{roleId}\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined.\");\r\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"Forbidden Request\", status, _responseText, _headers, result403);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return Promise.resolve(resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Updates a role based on the roleUpdateDto\r\n * @param roleId The roleId of the role to be updated\r\n * @param roleUpdateDto The data transfer object containing the properties of the role to be updated\r\n * @return Request successfully processed\r\n */\r\n update(roleId: string, roleUpdateDto: RoleUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role/{roleId}\";\r\n if (roleId === undefined || roleId === null)\r\n throw new Error(\"The parameter 'roleId' must be defined.\");\r\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(roleUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Returns all roles.\r\n * @param includeDeleted (optional) Indicates if deleted roles should be returned\r\n * @return Request completed successfully\r\n */\r\n getAllRoles(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAllRoles(_response);\r\n });\r\n }\r\n\r\n protected processGetAllRoles(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RoleDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Creates a role based on the roleCreateDto\r\n * @param roleCreateDto roleCreateDto: The data transfer object containing the properties of the role to be created\r\n * @return Object created successfully\r\n */\r\n create(roleCreateDto: RoleCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(roleCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = RoleDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Counts all roles\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Role/count?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class SyncClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Sync all patients with depending systems\r\n * @return Request completed successfully\r\n */\r\n sendPatients( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/patient/send\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendPatients(_response);\r\n });\r\n }\r\n\r\n protected processSendPatients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PatientSyncResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Receives the patients to sync locally\r\n * @param content The content\r\n * @return Request completed successfully\r\n */\r\n receivePatients(content: PatientSyncContentDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/patient/receive\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(content);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReceivePatients(_response);\r\n });\r\n }\r\n\r\n protected processReceivePatients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PatientSyncResultDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Sync all institutes with depending systems\r\n * @return Request completed successfully\r\n */\r\n sendInstitutes( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/institute/send\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendInstitutes(_response);\r\n });\r\n }\r\n\r\n protected processSendInstitutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InstituteSyncResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Receives the institutes to sync locally\r\n * @param content The content\r\n * @return Request completed successfully\r\n */\r\n receiveInstitutes(content: InstituteSyncContentDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/institute/receive\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(content);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReceiveInstitutes(_response);\r\n });\r\n }\r\n\r\n protected processReceiveInstitutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = InstituteSyncResultDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Sync all users with depending systems\r\n * @return Request completed successfully\r\n */\r\n sendUsers( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/user/send\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendUsers(_response);\r\n });\r\n }\r\n\r\n protected processSendUsers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserSyncResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Receives the users to sync locally\r\n * @param content The content\r\n * @return Request completed successfully\r\n */\r\n receiveUsers(content: UserSyncContentDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/system/sync/user/receive\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(content);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReceiveUsers(_response);\r\n });\r\n }\r\n\r\n protected processReceiveUsers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserSyncResultDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Fetches a list of all users\r\n * @param includeDeleted (optional) Indicates if deleted users should be returned\r\n * @return Request completed successfully\r\n */\r\n getAll(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAll(_response);\r\n });\r\n }\r\n\r\n protected processGetAll(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ShortUserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Creates a user based on the userCreateDto\r\n * @param userCreateDto The data transfer object containing the properties of the user to be created\r\n * @return Object created successfully\r\n */\r\n create(userCreateDto: UserCreateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userCreateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = UserDto.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the current logged in user.\r\n * @return Request completed successfully\r\n */\r\n getCurrentUser( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/current\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the user identified by its userId\r\n * @param userId Id of the user\r\n * @return Request completed successfully\r\n */\r\n findUser(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindUser(_response);\r\n });\r\n }\r\n\r\n protected processFindUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Updates a user based on the userUpdateDto\r\n * @param userId The userId of the user to be updated\r\n * @param userUpdateDto The data transfer object containing the properties of the user to be updated\r\n * @return Request successfully processed\r\n */\r\n update(userId: string, userUpdateDto: UserUpdateDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userUpdateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Deletes a user based on its userId\r\n * @param userId The userId of the user to be deleted\r\n */\r\n delete(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"Forbidden Request\", status, _responseText, _headers, result403);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return Promise.resolve(resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the user identified by its userId and add personal data\r\n * @param userId Id of the user\r\n * @return Request completed successfully\r\n */\r\n findUserComplete(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}/complete\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindUserComplete(_response);\r\n });\r\n }\r\n\r\n protected processFindUserComplete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserCompleteDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Fetches the user identified by its name\r\n * @return Request completed successfully\r\n */\r\n findUserByName(name: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{name}\";\r\n if (name === undefined || name === null)\r\n throw new Error(\"The parameter 'name' must be defined.\");\r\n url_ = url_.replace(\"{name}\", encodeURIComponent(\"\" + name));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFindUserByName(_response);\r\n });\r\n }\r\n\r\n protected processFindUserByName(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Deactivates a user based on its userId\r\n * @param userId The userId of the user to be deactivated\r\n * @return Request successfully processed\r\n */\r\n deactivate(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}/deactivate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeactivate(_response);\r\n });\r\n }\r\n\r\n protected processDeactivate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Activates a user based on its userId\r\n * @param userId The userId of the user to be activated\r\n * @return Request successfully processed\r\n */\r\n activate(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}/activate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActivate(_response);\r\n });\r\n }\r\n\r\n protected processActivate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Changes the password for the current logged in user\r\n * @param userPasswordChangeDto Data transfer object containing old and new password of the current user\r\n * @return Request successfully processed\r\n */\r\n updatePasswordForCurrentUser(userPasswordChangeDto: UserPasswordChangeForCurrentUserDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/password\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userPasswordChangeDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdatePasswordForCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePasswordForCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Resets the password for the current logged in user\r\n * @param passwordResetDto Data transfer object containing new password of the current user\r\n * @return Request completed successfully\r\n */\r\n resetPassword(passwordResetDto: UserPasswordResetDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/passwordReset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(passwordResetDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetPassword(_response);\r\n });\r\n }\r\n\r\n protected processResetPassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserPasswordResetResultDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Changes the password for the user identified by its userId\r\n * @param userId Id of the user whose password should be changed\r\n * @param userPasswordChangeDto Data transfer object containing the new password to be set\r\n * @return Request successfully processed\r\n */\r\n updatePassword(userId: string, userPasswordChangeDto: UserPasswordChangeDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/{userId}/password\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userPasswordChangeDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdatePassword(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Count all users\r\n * @param includeDeleted (optional) \r\n * @return Request completed successfully\r\n */\r\n count(includeDeleted: boolean | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/count?\";\r\n if (includeDeleted === null)\r\n throw new Error(\"The parameter 'includeDeleted' cannot be null.\");\r\n else if (includeDeleted !== undefined)\r\n url_ += \"includeDeleted=\" + encodeURIComponent(\"\" + includeDeleted) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCount(_response);\r\n });\r\n }\r\n\r\n protected processCount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"Resource was not found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Sends password recovery email\r\n * @param emailAddress (optional) \r\n * @return Request completed successfully\r\n */\r\n sendPasswordRecoveryEmail(emailAddress: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/User/sendPasswordRecoveryEmail?\";\r\n if (emailAddress !== undefined && emailAddress !== null)\r\n url_ += \"emailAddress=\" + encodeURIComponent(\"\" + emailAddress) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendPasswordRecoveryEmail(_response);\r\n });\r\n }\r\n\r\n protected processSendPasswordRecoveryEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UtilityClient extends BaseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * Returns a random generated password string\r\n * @return Request completed successfully\r\n */\r\n getPassword( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Utility/password\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPassword(_response);\r\n });\r\n }\r\n\r\n protected processGetPassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PasswordDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * returns current server environment \"ASPNETCORE_ENVIRONMENT\"\r\n * @return Request completed successfully\r\n */\r\n getEnvironment( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Utility/environment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEnvironment(_response);\r\n });\r\n }\r\n\r\n protected processGetEnvironment(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n /**\r\n * Return Status 200 to check if this system is reachable\r\n * @return Request completed successfully\r\n */\r\n checkConnectivity( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Utility/connectivity\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"HEAD\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCheckConnectivity(_response);\r\n });\r\n }\r\n\r\n protected processCheckConnectivity(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * return list of loaded DLLs\r\n * @return Request completed successfully\r\n */\r\n getAssemblies( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1.0/Utility/assemblies\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAssemblies(_response);\r\n });\r\n }\r\n\r\n protected processGetAssemblies(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AssembliesDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"Unauthorized request\", status, _responseText, _headers, result401);\r\n\r\n } else if (status === 500) {\r\n const _responseText = response.data;\r\n return throwException(\"An internal error occured\", status, _responseText, _headers);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n\r\n [key: string]: any;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n for (var property in _data) {\r\n if (_data.hasOwnProperty(property))\r\n this[property] = _data[property];\r\n }\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n for (var property in this) {\r\n if (this.hasOwnProperty(property))\r\n data[property] = this[property];\r\n }\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n return data;\r\n }\r\n\r\n clone(): ProblemDetails {\r\n const json = this.toJSON();\r\n let result = new ProblemDetails();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n\r\n [key: string]: any;\r\n}\r\n\r\n/** Abstract base class containing an id property */\r\nexport abstract class BaseIdDto implements IBaseIdDto {\r\n /** Identifies the object uniquely */\r\n id!: string;\r\n\r\n constructor(data?: IBaseIdDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseIdDto {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'BaseIdDto' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n\r\n clone(): BaseIdDto {\r\n throw new Error(\"The abstract class 'BaseIdDto' cannot be instantiated.\");\r\n }\r\n}\r\n\r\n/** Abstract base class containing an id property */\r\nexport interface IBaseIdDto {\r\n /** Identifies the object uniquely */\r\n id: string;\r\n}\r\n\r\n/** Abstract base class representing a Dto with id an IsDeleted property */\r\nexport abstract class BaseDto extends BaseIdDto implements IBaseDto {\r\n /** Indicates if object is deactivated or not. */\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IBaseDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseDto {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'BaseDto' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isDeleted\"] = this.isDeleted;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): BaseDto {\r\n throw new Error(\"The abstract class 'BaseDto' cannot be instantiated.\");\r\n }\r\n}\r\n\r\n/** Abstract base class representing a Dto with id an IsDeleted property */\r\nexport interface IBaseDto extends IBaseIdDto {\r\n /** Indicates if object is deactivated or not. */\r\n isDeleted?: boolean;\r\n}\r\n\r\n/** The institute short dto class */\r\nexport class InstituteShortDto extends BaseDto implements IInstituteShortDto {\r\n /** Identifies an institute. */\r\n identifier?: string | undefined;\r\n /** Name of the institute displayed in UIs */\r\n displayName?: string | undefined;\r\n /** Activation state of the institute. */\r\n isDeactivated?: boolean;\r\n\r\n constructor(data?: IInstituteShortDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.isDeactivated = _data[\"isDeactivated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteShortDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteShortDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"isDeactivated\"] = this.isDeactivated;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteShortDto {\r\n const json = this.toJSON();\r\n let result = new InstituteShortDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The institute short dto class */\r\nexport interface IInstituteShortDto extends IBaseDto {\r\n /** Identifies an institute. */\r\n identifier?: string | undefined;\r\n /** Name of the institute displayed in UIs */\r\n displayName?: string | undefined;\r\n /** Activation state of the institute. */\r\n isDeactivated?: boolean;\r\n}\r\n\r\nexport class InstituteWithStudySystemShortDto extends InstituteShortDto implements IInstituteWithStudySystemShortDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n\r\n constructor(data?: IInstituteWithStudySystemShortDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.studySystem = _data[\"studySystem\"] ? ShortStudySystemDto.fromJS(_data[\"studySystem\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystemShortDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystemShortDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystemShortDto {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystemShortDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystemShortDto extends IInstituteShortDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n}\r\n\r\nexport class ShortStudySystemDto implements IShortStudySystemDto {\r\n id?: string;\r\n displayName?: string | undefined;\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IShortStudySystemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortStudySystemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortStudySystemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n\r\n clone(): ShortStudySystemDto {\r\n const json = this.toJSON();\r\n let result = new ShortStudySystemDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShortStudySystemDto {\r\n id?: string;\r\n displayName?: string | undefined;\r\n isDeleted?: boolean;\r\n}\r\n\r\n/** The institute complete dto class */\r\nexport class InstituteCompleteDto extends InstituteShortDto implements IInstituteCompleteDto {\r\n /** Ids of all institute assigned users */\r\n users?: string[] | undefined;\r\n /** Ids of all institute assigned patients */\r\n patients?: string[] | undefined;\r\n\r\n constructor(data?: IInstituteCompleteDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(item);\r\n }\r\n if (Array.isArray(_data[\"patients\"])) {\r\n this.patients = [] as any;\r\n for (let item of _data[\"patients\"])\r\n this.patients!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteCompleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteCompleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item);\r\n }\r\n if (Array.isArray(this.patients)) {\r\n data[\"patients\"] = [];\r\n for (let item of this.patients)\r\n data[\"patients\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteCompleteDto {\r\n const json = this.toJSON();\r\n let result = new InstituteCompleteDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The institute complete dto class */\r\nexport interface IInstituteCompleteDto extends IInstituteShortDto {\r\n /** Ids of all institute assigned users */\r\n users?: string[] | undefined;\r\n /** Ids of all institute assigned patients */\r\n patients?: string[] | undefined;\r\n}\r\n\r\nexport class InstituteWithStudySystemCompleteDto extends InstituteCompleteDto implements IInstituteWithStudySystemCompleteDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n\r\n constructor(data?: IInstituteWithStudySystemCompleteDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.studySystem = _data[\"studySystem\"] ? ShortStudySystemDto.fromJS(_data[\"studySystem\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystemCompleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystemCompleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystemCompleteDto {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystemCompleteDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystemCompleteDto extends IInstituteCompleteDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n}\r\n\r\n/** Represents a base entity */\r\nexport abstract class BaseEntity implements IBaseEntity {\r\n /** Id entity can be uniquely identified by */\r\n id?: string;\r\n\r\n constructor(data?: IBaseEntity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseEntity {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'BaseEntity' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n\r\n clone(): BaseEntity {\r\n throw new Error(\"The abstract class 'BaseEntity' cannot be instantiated.\");\r\n }\r\n}\r\n\r\n/** Represents a base entity */\r\nexport interface IBaseEntity {\r\n /** Id entity can be uniquely identified by */\r\n id?: string;\r\n}\r\n\r\n/** Abstract base class representing an deletable entity. */\r\nexport abstract class Entity extends BaseEntity implements IEntity {\r\n /** Indicates if entity is marked as deleted */\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IEntity) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Entity {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'Entity' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isDeleted\"] = this.isDeleted;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): Entity {\r\n throw new Error(\"The abstract class 'Entity' cannot be instantiated.\");\r\n }\r\n}\r\n\r\n/** Abstract base class representing an deletable entity. */\r\nexport interface IEntity extends IBaseEntity {\r\n /** Indicates if entity is marked as deleted */\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class InstituteWithStudySystem extends Entity implements IInstituteWithStudySystem {\r\n identifier!: string;\r\n displayName!: string;\r\n userAssignments?: InstituteWithStudySystemUserAssignment[] | undefined;\r\n patientAssignments?: InstituteWithStudySystemPatientAssignment[] | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n isDeactivated?: boolean;\r\n\r\n constructor(data?: IInstituteWithStudySystem) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n if (Array.isArray(_data[\"userAssignments\"])) {\r\n this.userAssignments = [] as any;\r\n for (let item of _data[\"userAssignments\"])\r\n this.userAssignments!.push(InstituteWithStudySystemUserAssignment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"patientAssignments\"])) {\r\n this.patientAssignments = [] as any;\r\n for (let item of _data[\"patientAssignments\"])\r\n this.patientAssignments!.push(InstituteWithStudySystemPatientAssignment.fromJS(item));\r\n }\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystem.fromJS(_data[\"studySystem\"]) : undefined;\r\n this.isDeactivated = _data[\"isDeactivated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n if (Array.isArray(this.userAssignments)) {\r\n data[\"userAssignments\"] = [];\r\n for (let item of this.userAssignments)\r\n data[\"userAssignments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.patientAssignments)) {\r\n data[\"patientAssignments\"] = [];\r\n for (let item of this.patientAssignments)\r\n data[\"patientAssignments\"].push(item.toJSON());\r\n }\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n data[\"isDeactivated\"] = this.isDeactivated;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystem {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystem();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystem extends IEntity {\r\n identifier: string;\r\n displayName: string;\r\n userAssignments?: InstituteWithStudySystemUserAssignment[] | undefined;\r\n patientAssignments?: InstituteWithStudySystemPatientAssignment[] | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n isDeactivated?: boolean;\r\n}\r\n\r\nexport class InstituteWithStudySystemUserAssignment implements IInstituteWithStudySystemUserAssignment {\r\n userId?: string;\r\n studySystemUser?: StudySystemUser | undefined;\r\n instituteId?: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n\r\n constructor(data?: IInstituteWithStudySystemUserAssignment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.studySystemUser = _data[\"studySystemUser\"] ? StudySystemUser.fromJS(_data[\"studySystemUser\"]) : undefined;\r\n this.instituteId = _data[\"instituteId\"];\r\n this.institute = _data[\"institute\"] ? InstituteWithStudySystem.fromJS(_data[\"institute\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystemUserAssignment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystemUserAssignment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"studySystemUser\"] = this.studySystemUser ? this.studySystemUser.toJSON() : undefined;\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"institute\"] = this.institute ? this.institute.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystemUserAssignment {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystemUserAssignment();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystemUserAssignment {\r\n userId?: string;\r\n studySystemUser?: StudySystemUser | undefined;\r\n instituteId?: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n}\r\n\r\nexport class StudySystemUser extends Entity implements IStudySystemUser {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n email?: string | undefined;\r\n roleName?: string | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n\r\n constructor(data?: IStudySystemUser) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.email = _data[\"email\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystem.fromJS(_data[\"studySystem\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystemUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystemUser();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"email\"] = this.email;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): StudySystemUser {\r\n const json = this.toJSON();\r\n let result = new StudySystemUser();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystemUser extends IEntity {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n email?: string | undefined;\r\n roleName?: string | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n}\r\n\r\nexport class StudySystem extends Entity implements IStudySystem {\r\n identifier?: string | undefined;\r\n displayName?: string | undefined;\r\n uri?: string | undefined;\r\n pseudonymizedPatients?: PseudonymizedPatient[] | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n\r\n constructor(data?: IStudySystem) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.uri = _data[\"uri\"];\r\n if (Array.isArray(_data[\"pseudonymizedPatients\"])) {\r\n this.pseudonymizedPatients = [] as any;\r\n for (let item of _data[\"pseudonymizedPatients\"])\r\n this.pseudonymizedPatients!.push(PseudonymizedPatient.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"patientConsents\"])) {\r\n this.patientConsents = [] as any;\r\n for (let item of _data[\"patientConsents\"])\r\n this.patientConsents!.push(PatientConsent.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"uri\"] = this.uri;\r\n if (Array.isArray(this.pseudonymizedPatients)) {\r\n data[\"pseudonymizedPatients\"] = [];\r\n for (let item of this.pseudonymizedPatients)\r\n data[\"pseudonymizedPatients\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.patientConsents)) {\r\n data[\"patientConsents\"] = [];\r\n for (let item of this.patientConsents)\r\n data[\"patientConsents\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): StudySystem {\r\n const json = this.toJSON();\r\n let result = new StudySystem();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystem extends IEntity {\r\n identifier?: string | undefined;\r\n displayName?: string | undefined;\r\n uri?: string | undefined;\r\n pseudonymizedPatients?: PseudonymizedPatient[] | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n}\r\n\r\nexport class PseudonymizedPatient extends Entity implements IPseudonymizedPatient {\r\n alias!: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date;\r\n realPatientId?: string | undefined;\r\n realPatient?: RealPatient | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n\r\n constructor(data?: IPseudonymizedPatient) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.registrationDate = _data[\"registrationDate\"] ? new Date(_data[\"registrationDate\"].toString()) : undefined;\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.realPatient = _data[\"realPatient\"] ? RealPatient.fromJS(_data[\"realPatient\"]) : undefined;\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystem.fromJS(_data[\"studySystem\"]) : undefined;\r\n if (Array.isArray(_data[\"patientConsents\"])) {\r\n this.patientConsents = [] as any;\r\n for (let item of _data[\"patientConsents\"])\r\n this.patientConsents!.push(PatientConsent.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatient {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatient();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : undefined;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"realPatient\"] = this.realPatient ? this.realPatient.toJSON() : undefined;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n if (Array.isArray(this.patientConsents)) {\r\n data[\"patientConsents\"] = [];\r\n for (let item of this.patientConsents)\r\n data[\"patientConsents\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatient {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatient();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatient extends IEntity {\r\n alias: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date;\r\n realPatientId?: string | undefined;\r\n realPatient?: RealPatient | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystem | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n}\r\n\r\nexport enum Gender {\r\n Undefined = \"nicht definiert\",\r\n Male = \"männlich\",\r\n Female = \"weiblich\",\r\n Unknown = \"unbekannt\",\r\n}\r\n\r\nexport class RealPatient extends Entity implements IRealPatient {\r\n foreName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n birthDate?: Date;\r\n gender?: Gender;\r\n address?: string | undefined;\r\n zipOrPostcode?: string | undefined;\r\n city?: string | undefined;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress?: string | undefined;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber?: string | undefined;\r\n pseudonymizedPatients?: PseudonymizedPatient[] | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n identifiers?: Identifier[] | undefined;\r\n\r\n constructor(data?: IRealPatient) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.foreName = _data[\"foreName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\r\n this.gender = _data[\"gender\"];\r\n this.address = _data[\"address\"];\r\n this.zipOrPostcode = _data[\"zipOrPostcode\"];\r\n this.city = _data[\"city\"];\r\n this.telephonePrivate = _data[\"telephonePrivate\"];\r\n this.telephoneBusiness = _data[\"telephoneBusiness\"];\r\n this.telephoneMobile = _data[\"telephoneMobile\"];\r\n this.eMailAddress = _data[\"eMailAddress\"];\r\n this.eMailConfirmed = _data[\"eMailConfirmed\"];\r\n this.insuranceNumber = _data[\"insuranceNumber\"];\r\n if (Array.isArray(_data[\"pseudonymizedPatients\"])) {\r\n this.pseudonymizedPatients = [] as any;\r\n for (let item of _data[\"pseudonymizedPatients\"])\r\n this.pseudonymizedPatients!.push(PseudonymizedPatient.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"patientConsents\"])) {\r\n this.patientConsents = [] as any;\r\n for (let item of _data[\"patientConsents\"])\r\n this.patientConsents!.push(PatientConsent.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"identifiers\"])) {\r\n this.identifiers = [] as any;\r\n for (let item of _data[\"identifiers\"])\r\n this.identifiers!.push(Identifier.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealPatient {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealPatient();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"foreName\"] = this.foreName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"gender\"] = this.gender;\r\n data[\"address\"] = this.address;\r\n data[\"zipOrPostcode\"] = this.zipOrPostcode;\r\n data[\"city\"] = this.city;\r\n data[\"telephonePrivate\"] = this.telephonePrivate;\r\n data[\"telephoneBusiness\"] = this.telephoneBusiness;\r\n data[\"telephoneMobile\"] = this.telephoneMobile;\r\n data[\"eMailAddress\"] = this.eMailAddress;\r\n data[\"eMailConfirmed\"] = this.eMailConfirmed;\r\n data[\"insuranceNumber\"] = this.insuranceNumber;\r\n if (Array.isArray(this.pseudonymizedPatients)) {\r\n data[\"pseudonymizedPatients\"] = [];\r\n for (let item of this.pseudonymizedPatients)\r\n data[\"pseudonymizedPatients\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.patientConsents)) {\r\n data[\"patientConsents\"] = [];\r\n for (let item of this.patientConsents)\r\n data[\"patientConsents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.identifiers)) {\r\n data[\"identifiers\"] = [];\r\n for (let item of this.identifiers)\r\n data[\"identifiers\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RealPatient {\r\n const json = this.toJSON();\r\n let result = new RealPatient();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRealPatient extends IEntity {\r\n foreName?: string | undefined;\r\n lastName?: string | undefined;\r\n fullName?: string | undefined;\r\n birthDate?: Date;\r\n gender?: Gender;\r\n address?: string | undefined;\r\n zipOrPostcode?: string | undefined;\r\n city?: string | undefined;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress?: string | undefined;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber?: string | undefined;\r\n pseudonymizedPatients?: PseudonymizedPatient[] | undefined;\r\n patientConsents?: PatientConsent[] | undefined;\r\n identifiers?: Identifier[] | undefined;\r\n}\r\n\r\nexport class PatientConsent extends Entity implements IPatientConsent {\r\n instituteId!: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n studySystemId!: string;\r\n studySystem?: StudySystem | undefined;\r\n realPatientId!: string;\r\n realPatient?: RealPatient | undefined;\r\n grantDate!: Date;\r\n revokeDate?: Date | undefined;\r\n status?: ConsentState;\r\n\r\n constructor(data?: IPatientConsent) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.instituteId = _data[\"instituteId\"];\r\n this.institute = _data[\"institute\"] ? InstituteWithStudySystem.fromJS(_data[\"institute\"]) : undefined;\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystem.fromJS(_data[\"studySystem\"]) : undefined;\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.realPatient = _data[\"realPatient\"] ? RealPatient.fromJS(_data[\"realPatient\"]) : undefined;\r\n this.grantDate = _data[\"grantDate\"] ? new Date(_data[\"grantDate\"].toString()) : undefined;\r\n this.revokeDate = _data[\"revokeDate\"] ? new Date(_data[\"revokeDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientConsent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientConsent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"institute\"] = this.institute ? this.institute.toJSON() : undefined;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"realPatient\"] = this.realPatient ? this.realPatient.toJSON() : undefined;\r\n data[\"grantDate\"] = this.grantDate ? this.grantDate.toISOString() : undefined;\r\n data[\"revokeDate\"] = this.revokeDate ? this.revokeDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientConsent {\r\n const json = this.toJSON();\r\n let result = new PatientConsent();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientConsent extends IEntity {\r\n instituteId: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n studySystemId: string;\r\n studySystem?: StudySystem | undefined;\r\n realPatientId: string;\r\n realPatient?: RealPatient | undefined;\r\n grantDate: Date;\r\n revokeDate?: Date | undefined;\r\n status?: ConsentState;\r\n}\r\n\r\nexport enum ConsentState {\r\n Pending = \"Pending\",\r\n Proposed = \"Proposed\",\r\n Active = \"Aktive\",\r\n Rejected = \"Rejected\",\r\n Inactive = \"Inaktive\",\r\n EnteredInError = \"EnteredInError\",\r\n}\r\n\r\nexport class Identifier extends BaseEntity implements IIdentifier {\r\n typeCodingCode?: string | undefined;\r\n typeCodingSystem?: string | undefined;\r\n system?: string | undefined;\r\n value?: string | undefined;\r\n use?: string | undefined;\r\n\r\n constructor(data?: IIdentifier) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.typeCodingCode = _data[\"typeCodingCode\"];\r\n this.typeCodingSystem = _data[\"typeCodingSystem\"];\r\n this.system = _data[\"system\"];\r\n this.value = _data[\"value\"];\r\n this.use = _data[\"use\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Identifier {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Identifier();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"typeCodingCode\"] = this.typeCodingCode;\r\n data[\"typeCodingSystem\"] = this.typeCodingSystem;\r\n data[\"system\"] = this.system;\r\n data[\"value\"] = this.value;\r\n data[\"use\"] = this.use;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): Identifier {\r\n const json = this.toJSON();\r\n let result = new Identifier();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IIdentifier extends IBaseEntity {\r\n typeCodingCode?: string | undefined;\r\n typeCodingSystem?: string | undefined;\r\n system?: string | undefined;\r\n value?: string | undefined;\r\n use?: string | undefined;\r\n}\r\n\r\nexport class InstituteWithStudySystemPatientAssignment implements IInstituteWithStudySystemPatientAssignment {\r\n patientId?: string;\r\n patient?: PseudonymizedPatient | undefined;\r\n instituteId?: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n\r\n constructor(data?: IInstituteWithStudySystemPatientAssignment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.patientId = _data[\"patientId\"];\r\n this.patient = _data[\"patient\"] ? PseudonymizedPatient.fromJS(_data[\"patient\"]) : undefined;\r\n this.instituteId = _data[\"instituteId\"];\r\n this.institute = _data[\"institute\"] ? InstituteWithStudySystem.fromJS(_data[\"institute\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystemPatientAssignment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystemPatientAssignment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"patientId\"] = this.patientId;\r\n data[\"patient\"] = this.patient ? this.patient.toJSON() : undefined;\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"institute\"] = this.institute ? this.institute.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystemPatientAssignment {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystemPatientAssignment();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystemPatientAssignment {\r\n patientId?: string;\r\n patient?: PseudonymizedPatient | undefined;\r\n instituteId?: string;\r\n institute?: InstituteWithStudySystem | undefined;\r\n}\r\n\r\n/** Domain Transfer Object for creating an institute */\r\nexport class InstituteCreateDto implements IInstituteCreateDto {\r\n /** Identifies an institute. Must be unique */\r\n identifier!: string;\r\n /** Name of the institute displayed in UIs */\r\n displayName!: string;\r\n\r\n constructor(data?: IInstituteCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n\r\n clone(): InstituteCreateDto {\r\n const json = this.toJSON();\r\n let result = new InstituteCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object for creating an institute */\r\nexport interface IInstituteCreateDto {\r\n /** Identifies an institute. Must be unique */\r\n identifier: string;\r\n /** Name of the institute displayed in UIs */\r\n displayName: string;\r\n}\r\n\r\n/** Domain Transfer Object for creating an institute */\r\nexport class InstituteUpdateDto extends BaseIdDto implements IInstituteUpdateDto {\r\n /** Identifies an institute. Must be unique */\r\n identifier!: string;\r\n /** Name of the institute displayed in UIs */\r\n displayName!: string;\r\n\r\n constructor(data?: IInstituteUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteUpdateDto {\r\n const json = this.toJSON();\r\n let result = new InstituteUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object for creating an institute */\r\nexport interface IInstituteUpdateDto extends IBaseIdDto {\r\n /** Identifies an institute. Must be unique */\r\n identifier: string;\r\n /** Name of the institute displayed in UIs */\r\n displayName: string;\r\n}\r\n\r\nexport class ShortPatientConsentDto implements IShortPatientConsentDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IShortPatientConsentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortPatientConsentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortPatientConsentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n\r\n clone(): ShortPatientConsentDto {\r\n const json = this.toJSON();\r\n let result = new ShortPatientConsentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShortPatientConsentDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class PatientConsentDto extends ShortPatientConsentDto implements IPatientConsentDto {\r\n instituteId!: string;\r\n institute?: InstituteWithStudySystemDto | undefined;\r\n realPatientId!: string;\r\n realPatient?: RealPatientDto | undefined;\r\n studySystemId!: string;\r\n studySystem?: StudySystemDto | undefined;\r\n grantDate!: Date;\r\n revokeDate?: Date | undefined;\r\n status!: ConsentState;\r\n\r\n constructor(data?: IPatientConsentDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.instituteId = _data[\"instituteId\"];\r\n this.institute = _data[\"institute\"] ? InstituteWithStudySystemDto.fromJS(_data[\"institute\"]) : undefined;\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.realPatient = _data[\"realPatient\"] ? RealPatientDto.fromJS(_data[\"realPatient\"]) : undefined;\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystemDto.fromJS(_data[\"studySystem\"]) : undefined;\r\n this.grantDate = _data[\"grantDate\"] ? new Date(_data[\"grantDate\"].toString()) : undefined;\r\n this.revokeDate = _data[\"revokeDate\"] ? new Date(_data[\"revokeDate\"].toString()) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientConsentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientConsentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"institute\"] = this.institute ? this.institute.toJSON() : undefined;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"realPatient\"] = this.realPatient ? this.realPatient.toJSON() : undefined;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n data[\"grantDate\"] = this.grantDate ? this.grantDate.toISOString() : undefined;\r\n data[\"revokeDate\"] = this.revokeDate ? this.revokeDate.toISOString() : undefined;\r\n data[\"status\"] = this.status;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientConsentDto {\r\n const json = this.toJSON();\r\n let result = new PatientConsentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientConsentDto extends IShortPatientConsentDto {\r\n instituteId: string;\r\n institute?: InstituteWithStudySystemDto | undefined;\r\n realPatientId: string;\r\n realPatient?: RealPatientDto | undefined;\r\n studySystemId: string;\r\n studySystem?: StudySystemDto | undefined;\r\n grantDate: Date;\r\n revokeDate?: Date | undefined;\r\n status: ConsentState;\r\n}\r\n\r\n/** Domain Transfer Object representing an institute */\r\nexport class InstituteDto extends BaseDto implements IInstituteDto {\r\n /** Identifies an institute. */\r\n identifier?: string | undefined;\r\n /** Name of the institute displayed in UIs */\r\n displayName?: string | undefined;\r\n /** Ids of all institute assigned users */\r\n users?: string[] | undefined;\r\n /** Ids of all institute assigned patients */\r\n patients?: string[] | undefined;\r\n /** Activation state of the institute. */\r\n isDeactivated?: boolean;\r\n\r\n constructor(data?: IInstituteDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(item);\r\n }\r\n if (Array.isArray(_data[\"patients\"])) {\r\n this.patients = [] as any;\r\n for (let item of _data[\"patients\"])\r\n this.patients!.push(item);\r\n }\r\n this.isDeactivated = _data[\"isDeactivated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item);\r\n }\r\n if (Array.isArray(this.patients)) {\r\n data[\"patients\"] = [];\r\n for (let item of this.patients)\r\n data[\"patients\"].push(item);\r\n }\r\n data[\"isDeactivated\"] = this.isDeactivated;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteDto {\r\n const json = this.toJSON();\r\n let result = new InstituteDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object representing an institute */\r\nexport interface IInstituteDto extends IBaseDto {\r\n /** Identifies an institute. */\r\n identifier?: string | undefined;\r\n /** Name of the institute displayed in UIs */\r\n displayName?: string | undefined;\r\n /** Ids of all institute assigned users */\r\n users?: string[] | undefined;\r\n /** Ids of all institute assigned patients */\r\n patients?: string[] | undefined;\r\n /** Activation state of the institute. */\r\n isDeactivated?: boolean;\r\n}\r\n\r\nexport class InstituteWithStudySystemDto extends InstituteDto implements IInstituteWithStudySystemDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n\r\n constructor(data?: IInstituteWithStudySystemDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.studySystem = _data[\"studySystem\"] ? ShortStudySystemDto.fromJS(_data[\"studySystem\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteWithStudySystemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteWithStudySystemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteWithStudySystemDto {\r\n const json = this.toJSON();\r\n let result = new InstituteWithStudySystemDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteWithStudySystemDto extends IInstituteDto {\r\n studySystem?: ShortStudySystemDto | undefined;\r\n}\r\n\r\nexport class ShortRealPatientDto implements IShortRealPatientDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IShortRealPatientDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortRealPatientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortRealPatientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n\r\n clone(): ShortRealPatientDto {\r\n const json = this.toJSON();\r\n let result = new ShortRealPatientDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShortRealPatientDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class RealPatientDto extends ShortRealPatientDto implements IRealPatientDto {\r\n foreName?: string | undefined;\r\n lastName?: string | undefined;\r\n birthDate?: Date;\r\n gender?: Gender;\r\n address?: string | undefined;\r\n zipOrPostcode?: string | undefined;\r\n city?: string | undefined;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress?: string | undefined;\r\n insuranceNumber?: string | undefined;\r\n\r\n constructor(data?: IRealPatientDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.foreName = _data[\"foreName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\r\n this.gender = _data[\"gender\"];\r\n this.address = _data[\"address\"];\r\n this.zipOrPostcode = _data[\"zipOrPostcode\"];\r\n this.city = _data[\"city\"];\r\n this.telephonePrivate = _data[\"telephonePrivate\"];\r\n this.telephoneBusiness = _data[\"telephoneBusiness\"];\r\n this.telephoneMobile = _data[\"telephoneMobile\"];\r\n this.eMailAddress = _data[\"eMailAddress\"];\r\n this.insuranceNumber = _data[\"insuranceNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealPatientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealPatientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"foreName\"] = this.foreName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"gender\"] = this.gender;\r\n data[\"address\"] = this.address;\r\n data[\"zipOrPostcode\"] = this.zipOrPostcode;\r\n data[\"city\"] = this.city;\r\n data[\"telephonePrivate\"] = this.telephonePrivate;\r\n data[\"telephoneBusiness\"] = this.telephoneBusiness;\r\n data[\"telephoneMobile\"] = this.telephoneMobile;\r\n data[\"eMailAddress\"] = this.eMailAddress;\r\n data[\"insuranceNumber\"] = this.insuranceNumber;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RealPatientDto {\r\n const json = this.toJSON();\r\n let result = new RealPatientDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRealPatientDto extends IShortRealPatientDto {\r\n foreName?: string | undefined;\r\n lastName?: string | undefined;\r\n birthDate?: Date;\r\n gender?: Gender;\r\n address?: string | undefined;\r\n zipOrPostcode?: string | undefined;\r\n city?: string | undefined;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress?: string | undefined;\r\n insuranceNumber?: string | undefined;\r\n}\r\n\r\nexport class StudySystemDto extends ShortStudySystemDto implements IStudySystemDto {\r\n identifier?: string | undefined;\r\n uri?: string | undefined;\r\n\r\n constructor(data?: IStudySystemDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.uri = _data[\"uri\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"uri\"] = this.uri;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): StudySystemDto {\r\n const json = this.toJSON();\r\n let result = new StudySystemDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystemDto extends IShortStudySystemDto {\r\n identifier?: string | undefined;\r\n uri?: string | undefined;\r\n}\r\n\r\nexport class PatientConsentCreateDto implements IPatientConsentCreateDto {\r\n instituteId!: string;\r\n realPatientId!: string;\r\n studySystemId!: string;\r\n grantDate!: Date;\r\n revokeDate?: Date | undefined;\r\n\r\n constructor(data?: IPatientConsentCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.instituteId = _data[\"instituteId\"];\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.grantDate = _data[\"grantDate\"] ? new Date(_data[\"grantDate\"].toString()) : undefined;\r\n this.revokeDate = _data[\"revokeDate\"] ? new Date(_data[\"revokeDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientConsentCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientConsentCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"grantDate\"] = this.grantDate ? this.grantDate.toISOString() : undefined;\r\n data[\"revokeDate\"] = this.revokeDate ? this.revokeDate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): PatientConsentCreateDto {\r\n const json = this.toJSON();\r\n let result = new PatientConsentCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientConsentCreateDto {\r\n instituteId: string;\r\n realPatientId: string;\r\n studySystemId: string;\r\n grantDate: Date;\r\n revokeDate?: Date | undefined;\r\n}\r\n\r\nexport class PatientConsentUpdateDto extends BaseIdDto implements IPatientConsentUpdateDto {\r\n grantDate!: Date;\r\n instituteId!: string;\r\n realPatientId!: string;\r\n studySystemId!: string;\r\n\r\n constructor(data?: IPatientConsentUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.grantDate = _data[\"grantDate\"] ? new Date(_data[\"grantDate\"].toString()) : undefined;\r\n this.instituteId = _data[\"instituteId\"];\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.studySystemId = _data[\"studySystemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientConsentUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientConsentUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"grantDate\"] = this.grantDate ? this.grantDate.toISOString() : undefined;\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientConsentUpdateDto {\r\n const json = this.toJSON();\r\n let result = new PatientConsentUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientConsentUpdateDto extends IBaseIdDto {\r\n grantDate: Date;\r\n instituteId: string;\r\n realPatientId: string;\r\n studySystemId: string;\r\n}\r\n\r\nexport class PatientVerificationsDto implements IPatientVerificationsDto {\r\n pseudonymizedPatient?: ShortPseudonymizedPatientDto | undefined;\r\n patientVerifications?: PatientVerificationDto[] | undefined;\r\n\r\n constructor(data?: IPatientVerificationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pseudonymizedPatient = _data[\"pseudonymizedPatient\"] ? ShortPseudonymizedPatientDto.fromJS(_data[\"pseudonymizedPatient\"]) : undefined;\r\n if (Array.isArray(_data[\"patientVerifications\"])) {\r\n this.patientVerifications = [] as any;\r\n for (let item of _data[\"patientVerifications\"])\r\n this.patientVerifications!.push(PatientVerificationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientVerificationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientVerificationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pseudonymizedPatient\"] = this.pseudonymizedPatient ? this.pseudonymizedPatient.toJSON() : undefined;\r\n if (Array.isArray(this.patientVerifications)) {\r\n data[\"patientVerifications\"] = [];\r\n for (let item of this.patientVerifications)\r\n data[\"patientVerifications\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PatientVerificationsDto {\r\n const json = this.toJSON();\r\n let result = new PatientVerificationsDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientVerificationsDto {\r\n pseudonymizedPatient?: ShortPseudonymizedPatientDto | undefined;\r\n patientVerifications?: PatientVerificationDto[] | undefined;\r\n}\r\n\r\nexport class ShortPseudonymizedPatientDto implements IShortPseudonymizedPatientDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n alias!: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date | undefined;\r\n\r\n constructor(data?: IShortPseudonymizedPatientDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.alias = _data[\"alias\"];\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.registrationDate = _data[\"registrationDate\"] ? new Date(_data[\"registrationDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortPseudonymizedPatientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortPseudonymizedPatientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"alias\"] = this.alias;\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): ShortPseudonymizedPatientDto {\r\n const json = this.toJSON();\r\n let result = new ShortPseudonymizedPatientDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IShortPseudonymizedPatientDto {\r\n id?: string;\r\n isDeleted?: boolean;\r\n alias: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date | undefined;\r\n}\r\n\r\nexport class PatientVerificationDto implements IPatientVerificationDto {\r\n creator?: StudySystemUserDto | undefined;\r\n created?: Date;\r\n lastChanged?: Date;\r\n patientEmailAddress?: string | undefined;\r\n patientAuthLink?: string | undefined;\r\n patientAuthKeyExpirationDate?: Date;\r\n patientVerificationFailedAttempts?: number;\r\n patientVerificationDate?: Date | undefined;\r\n isActive?: boolean;\r\n status?: string | undefined;\r\n reminderMailCount?: number;\r\n logEntries?: PatientVerificationLogEntryDto[] | undefined;\r\n\r\n constructor(data?: IPatientVerificationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.creator = _data[\"creator\"] ? StudySystemUserDto.fromJS(_data[\"creator\"]) : undefined;\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.lastChanged = _data[\"lastChanged\"] ? new Date(_data[\"lastChanged\"].toString()) : undefined;\r\n this.patientEmailAddress = _data[\"patientEmailAddress\"];\r\n this.patientAuthLink = _data[\"patientAuthLink\"];\r\n this.patientAuthKeyExpirationDate = _data[\"patientAuthKeyExpirationDate\"] ? new Date(_data[\"patientAuthKeyExpirationDate\"].toString()) : undefined;\r\n this.patientVerificationFailedAttempts = _data[\"patientVerificationFailedAttempts\"];\r\n this.patientVerificationDate = _data[\"patientVerificationDate\"] ? new Date(_data[\"patientVerificationDate\"].toString()) : undefined;\r\n this.isActive = _data[\"isActive\"];\r\n this.status = _data[\"status\"];\r\n this.reminderMailCount = _data[\"reminderMailCount\"];\r\n if (Array.isArray(_data[\"logEntries\"])) {\r\n this.logEntries = [] as any;\r\n for (let item of _data[\"logEntries\"])\r\n this.logEntries!.push(PatientVerificationLogEntryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientVerificationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientVerificationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"creator\"] = this.creator ? this.creator.toJSON() : undefined;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"lastChanged\"] = this.lastChanged ? this.lastChanged.toISOString() : undefined;\r\n data[\"patientEmailAddress\"] = this.patientEmailAddress;\r\n data[\"patientAuthLink\"] = this.patientAuthLink;\r\n data[\"patientAuthKeyExpirationDate\"] = this.patientAuthKeyExpirationDate ? this.patientAuthKeyExpirationDate.toISOString() : undefined;\r\n data[\"patientVerificationFailedAttempts\"] = this.patientVerificationFailedAttempts;\r\n data[\"patientVerificationDate\"] = this.patientVerificationDate ? this.patientVerificationDate.toISOString() : undefined;\r\n data[\"isActive\"] = this.isActive;\r\n data[\"status\"] = this.status;\r\n data[\"reminderMailCount\"] = this.reminderMailCount;\r\n if (Array.isArray(this.logEntries)) {\r\n data[\"logEntries\"] = [];\r\n for (let item of this.logEntries)\r\n data[\"logEntries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): PatientVerificationDto {\r\n const json = this.toJSON();\r\n let result = new PatientVerificationDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientVerificationDto {\r\n creator?: StudySystemUserDto | undefined;\r\n created?: Date;\r\n lastChanged?: Date;\r\n patientEmailAddress?: string | undefined;\r\n patientAuthLink?: string | undefined;\r\n patientAuthKeyExpirationDate?: Date;\r\n patientVerificationFailedAttempts?: number;\r\n patientVerificationDate?: Date | undefined;\r\n isActive?: boolean;\r\n status?: string | undefined;\r\n reminderMailCount?: number;\r\n logEntries?: PatientVerificationLogEntryDto[] | undefined;\r\n}\r\n\r\nexport class StudySystemUserDto implements IStudySystemUserDto {\r\n id?: string;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n email?: string | undefined;\r\n roleName?: string | undefined;\r\n studySystemName?: string | undefined;\r\n\r\n constructor(data?: IStudySystemUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.email = _data[\"email\"];\r\n this.roleName = _data[\"roleName\"];\r\n this.studySystemName = _data[\"studySystemName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystemUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystemUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"email\"] = this.email;\r\n data[\"roleName\"] = this.roleName;\r\n data[\"studySystemName\"] = this.studySystemName;\r\n return data;\r\n }\r\n\r\n clone(): StudySystemUserDto {\r\n const json = this.toJSON();\r\n let result = new StudySystemUserDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystemUserDto {\r\n id?: string;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n email?: string | undefined;\r\n roleName?: string | undefined;\r\n studySystemName?: string | undefined;\r\n}\r\n\r\nexport class PatientVerificationLogEntryDto implements IPatientVerificationLogEntryDto {\r\n timeStamp?: Date;\r\n message?: string | undefined;\r\n status?: string | undefined;\r\n\r\n constructor(data?: IPatientVerificationLogEntryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timeStamp = _data[\"timeStamp\"] ? new Date(_data[\"timeStamp\"].toString()) : undefined;\r\n this.message = _data[\"message\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientVerificationLogEntryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientVerificationLogEntryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timeStamp\"] = this.timeStamp ? this.timeStamp.toISOString() : undefined;\r\n data[\"message\"] = this.message;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n\r\n clone(): PatientVerificationLogEntryDto {\r\n const json = this.toJSON();\r\n let result = new PatientVerificationLogEntryDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientVerificationLogEntryDto {\r\n timeStamp?: Date;\r\n message?: string | undefined;\r\n status?: string | undefined;\r\n}\r\n\r\nexport class PseudonymizedPatientDto extends ShortPseudonymizedPatientDto implements IPseudonymizedPatientDto {\r\n realPatientId?: string;\r\n realPatient?: RealPatientDto | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystemDto | undefined;\r\n\r\n constructor(data?: IPseudonymizedPatientDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.realPatient = _data[\"realPatient\"] ? RealPatientDto.fromJS(_data[\"realPatient\"]) : undefined;\r\n this.studySystemId = _data[\"studySystemId\"];\r\n this.studySystem = _data[\"studySystem\"] ? StudySystemDto.fromJS(_data[\"studySystem\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"realPatient\"] = this.realPatient ? this.realPatient.toJSON() : undefined;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n data[\"studySystem\"] = this.studySystem ? this.studySystem.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientDto extends IShortPseudonymizedPatientDto {\r\n realPatientId?: string;\r\n realPatient?: RealPatientDto | undefined;\r\n studySystemId?: string;\r\n studySystem?: StudySystemDto | undefined;\r\n}\r\n\r\nexport class PseudonymizedPatientCreateDto implements IPseudonymizedPatientCreateDto {\r\n alias!: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date;\r\n instituteId?: string;\r\n realPatientId?: string;\r\n studySystemId?: string;\r\n\r\n constructor(data?: IPseudonymizedPatientCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.registrationDate = _data[\"registrationDate\"] ? new Date(_data[\"registrationDate\"].toString()) : undefined;\r\n this.instituteId = _data[\"instituteId\"];\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.studySystemId = _data[\"studySystemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : undefined;\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientCreateDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientCreateDto {\r\n alias: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date;\r\n instituteId?: string;\r\n realPatientId?: string;\r\n studySystemId?: string;\r\n}\r\n\r\nexport class PseudonymizedPatientUpdateDto extends BaseIdDto implements IPseudonymizedPatientUpdateDto {\r\n alias!: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date | undefined;\r\n instituteId?: string;\r\n realPatientId?: string;\r\n studySystemId?: string;\r\n\r\n constructor(data?: IPseudonymizedPatientUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.alias = _data[\"alias\"];\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.registrationDate = _data[\"registrationDate\"] ? new Date(_data[\"registrationDate\"].toString()) : undefined;\r\n this.instituteId = _data[\"instituteId\"];\r\n this.realPatientId = _data[\"realPatientId\"];\r\n this.studySystemId = _data[\"studySystemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"alias\"] = this.alias;\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : undefined;\r\n data[\"instituteId\"] = this.instituteId;\r\n data[\"realPatientId\"] = this.realPatientId;\r\n data[\"studySystemId\"] = this.studySystemId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientUpdateDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientUpdateDto extends IBaseIdDto {\r\n alias: string;\r\n gender?: Gender;\r\n birthYear?: number | undefined;\r\n registrationDate?: Date | undefined;\r\n instituteId?: string;\r\n realPatientId?: string;\r\n studySystemId?: string;\r\n}\r\n\r\nexport class PseudonymizedPatientVerificationDto extends BaseIdDto implements IPseudonymizedPatientVerificationDto {\r\n gender!: string;\r\n birthYear!: number;\r\n userId!: string;\r\n challengeToken!: string;\r\n\r\n constructor(data?: IPseudonymizedPatientVerificationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.userId = _data[\"userId\"];\r\n this.challengeToken = _data[\"challengeToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientVerificationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientVerificationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"userId\"] = this.userId;\r\n data[\"challengeToken\"] = this.challengeToken;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientVerificationDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientVerificationDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientVerificationDto extends IBaseIdDto {\r\n gender: string;\r\n birthYear: number;\r\n userId: string;\r\n challengeToken: string;\r\n}\r\n\r\nexport class PseudonymizedPatientCheckVerificationResponseDto implements IPseudonymizedPatientCheckVerificationResponseDto {\r\n isActive?: boolean;\r\n tooManyAttempts?: boolean;\r\n maxAttempts?: number;\r\n tokenExpired?: boolean;\r\n isVerified?: boolean;\r\n portalUri?: string | undefined;\r\n\r\n constructor(data?: IPseudonymizedPatientCheckVerificationResponseDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isActive = _data[\"isActive\"];\r\n this.tooManyAttempts = _data[\"tooManyAttempts\"];\r\n this.maxAttempts = _data[\"maxAttempts\"];\r\n this.tokenExpired = _data[\"tokenExpired\"];\r\n this.isVerified = _data[\"isVerified\"];\r\n this.portalUri = _data[\"portalUri\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientCheckVerificationResponseDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientCheckVerificationResponseDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isActive\"] = this.isActive;\r\n data[\"tooManyAttempts\"] = this.tooManyAttempts;\r\n data[\"maxAttempts\"] = this.maxAttempts;\r\n data[\"tokenExpired\"] = this.tokenExpired;\r\n data[\"isVerified\"] = this.isVerified;\r\n data[\"portalUri\"] = this.portalUri;\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientCheckVerificationResponseDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientCheckVerificationResponseDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientCheckVerificationResponseDto {\r\n isActive?: boolean;\r\n tooManyAttempts?: boolean;\r\n maxAttempts?: number;\r\n tokenExpired?: boolean;\r\n isVerified?: boolean;\r\n portalUri?: string | undefined;\r\n}\r\n\r\nexport class PseudonymizedPatientCheckVerificationDto extends BaseIdDto implements IPseudonymizedPatientCheckVerificationDto {\r\n userId!: string;\r\n challengeToken!: string;\r\n\r\n constructor(data?: IPseudonymizedPatientCheckVerificationDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.challengeToken = _data[\"challengeToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PseudonymizedPatientCheckVerificationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PseudonymizedPatientCheckVerificationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"challengeToken\"] = this.challengeToken;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PseudonymizedPatientCheckVerificationDto {\r\n const json = this.toJSON();\r\n let result = new PseudonymizedPatientCheckVerificationDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPseudonymizedPatientCheckVerificationDto extends IBaseIdDto {\r\n userId: string;\r\n challengeToken: string;\r\n}\r\n\r\nexport class RealPatientCreateDto implements IRealPatientCreateDto {\r\n foreName!: string;\r\n lastName!: string;\r\n birthDate!: Date;\r\n gender!: Gender;\r\n address!: string;\r\n zipOrPostcode!: string;\r\n city!: string;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress!: string;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber!: string;\r\n\r\n constructor(data?: IRealPatientCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.foreName = _data[\"foreName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\r\n this.gender = _data[\"gender\"];\r\n this.address = _data[\"address\"];\r\n this.zipOrPostcode = _data[\"zipOrPostcode\"];\r\n this.city = _data[\"city\"];\r\n this.telephonePrivate = _data[\"telephonePrivate\"];\r\n this.telephoneBusiness = _data[\"telephoneBusiness\"];\r\n this.telephoneMobile = _data[\"telephoneMobile\"];\r\n this.eMailAddress = _data[\"eMailAddress\"];\r\n this.eMailConfirmed = _data[\"eMailConfirmed\"];\r\n this.insuranceNumber = _data[\"insuranceNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealPatientCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealPatientCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"foreName\"] = this.foreName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"gender\"] = this.gender;\r\n data[\"address\"] = this.address;\r\n data[\"zipOrPostcode\"] = this.zipOrPostcode;\r\n data[\"city\"] = this.city;\r\n data[\"telephonePrivate\"] = this.telephonePrivate;\r\n data[\"telephoneBusiness\"] = this.telephoneBusiness;\r\n data[\"telephoneMobile\"] = this.telephoneMobile;\r\n data[\"eMailAddress\"] = this.eMailAddress;\r\n data[\"eMailConfirmed\"] = this.eMailConfirmed;\r\n data[\"insuranceNumber\"] = this.insuranceNumber;\r\n return data;\r\n }\r\n\r\n clone(): RealPatientCreateDto {\r\n const json = this.toJSON();\r\n let result = new RealPatientCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRealPatientCreateDto {\r\n foreName: string;\r\n lastName: string;\r\n birthDate: Date;\r\n gender: Gender;\r\n address: string;\r\n zipOrPostcode: string;\r\n city: string;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress: string;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber: string;\r\n}\r\n\r\nexport class RealPatientUpdateDto extends BaseIdDto implements IRealPatientUpdateDto {\r\n foreName!: string;\r\n lastName!: string;\r\n birthDate!: Date;\r\n gender!: Gender;\r\n address!: string;\r\n zipOrPostcode!: string;\r\n city!: string;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress!: string;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber!: string;\r\n\r\n constructor(data?: IRealPatientUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.foreName = _data[\"foreName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.birthDate = _data[\"birthDate\"] ? new Date(_data[\"birthDate\"].toString()) : undefined;\r\n this.gender = _data[\"gender\"];\r\n this.address = _data[\"address\"];\r\n this.zipOrPostcode = _data[\"zipOrPostcode\"];\r\n this.city = _data[\"city\"];\r\n this.telephonePrivate = _data[\"telephonePrivate\"];\r\n this.telephoneBusiness = _data[\"telephoneBusiness\"];\r\n this.telephoneMobile = _data[\"telephoneMobile\"];\r\n this.eMailAddress = _data[\"eMailAddress\"];\r\n this.eMailConfirmed = _data[\"eMailConfirmed\"];\r\n this.insuranceNumber = _data[\"insuranceNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealPatientUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealPatientUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"foreName\"] = this.foreName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"birthDate\"] = this.birthDate ? this.birthDate.toISOString() : undefined;\r\n data[\"gender\"] = this.gender;\r\n data[\"address\"] = this.address;\r\n data[\"zipOrPostcode\"] = this.zipOrPostcode;\r\n data[\"city\"] = this.city;\r\n data[\"telephonePrivate\"] = this.telephonePrivate;\r\n data[\"telephoneBusiness\"] = this.telephoneBusiness;\r\n data[\"telephoneMobile\"] = this.telephoneMobile;\r\n data[\"eMailAddress\"] = this.eMailAddress;\r\n data[\"eMailConfirmed\"] = this.eMailConfirmed;\r\n data[\"insuranceNumber\"] = this.insuranceNumber;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RealPatientUpdateDto {\r\n const json = this.toJSON();\r\n let result = new RealPatientUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRealPatientUpdateDto extends IBaseIdDto {\r\n foreName: string;\r\n lastName: string;\r\n birthDate: Date;\r\n gender: Gender;\r\n address: string;\r\n zipOrPostcode: string;\r\n city: string;\r\n telephonePrivate?: string | undefined;\r\n telephoneBusiness?: string | undefined;\r\n telephoneMobile?: string | undefined;\r\n eMailAddress: string;\r\n eMailConfirmed?: boolean;\r\n insuranceNumber: string;\r\n}\r\n\r\nexport class RealPatientSendMailDto implements IRealPatientSendMailDto {\r\n id?: string;\r\n subject?: string | undefined;\r\n body?: string | undefined;\r\n isHtml?: boolean;\r\n\r\n constructor(data?: IRealPatientSendMailDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n this.isHtml = _data[\"isHtml\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RealPatientSendMailDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RealPatientSendMailDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n data[\"isHtml\"] = this.isHtml;\r\n return data;\r\n }\r\n\r\n clone(): RealPatientSendMailDto {\r\n const json = this.toJSON();\r\n let result = new RealPatientSendMailDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRealPatientSendMailDto {\r\n id?: string;\r\n subject?: string | undefined;\r\n body?: string | undefined;\r\n isHtml?: boolean;\r\n}\r\n\r\nexport class StudySystemCreateDto implements IStudySystemCreateDto {\r\n identifier!: string;\r\n displayName!: string;\r\n uri!: string;\r\n\r\n constructor(data?: IStudySystemCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.uri = _data[\"uri\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystemCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystemCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"uri\"] = this.uri;\r\n return data;\r\n }\r\n\r\n clone(): StudySystemCreateDto {\r\n const json = this.toJSON();\r\n let result = new StudySystemCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystemCreateDto {\r\n identifier: string;\r\n displayName: string;\r\n uri: string;\r\n}\r\n\r\nexport class StudySystemUpdateDto extends BaseIdDto implements IStudySystemUpdateDto {\r\n identifier!: string;\r\n displayName!: string;\r\n uri!: string;\r\n\r\n constructor(data?: IStudySystemUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.uri = _data[\"uri\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StudySystemUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StudySystemUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"uri\"] = this.uri;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): StudySystemUpdateDto {\r\n const json = this.toJSON();\r\n let result = new StudySystemUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IStudySystemUpdateDto extends IBaseIdDto {\r\n identifier: string;\r\n displayName: string;\r\n uri: string;\r\n}\r\n\r\nexport class SystemPatientSendReminderDto extends BaseIdDto implements ISystemPatientSendReminderDto {\r\n eMailSubject?: string | undefined;\r\n eMailBody?: string | undefined;\r\n isHtml?: boolean;\r\n\r\n constructor(data?: ISystemPatientSendReminderDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.eMailSubject = _data[\"eMailSubject\"];\r\n this.eMailBody = _data[\"eMailBody\"];\r\n this.isHtml = _data[\"isHtml\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SystemPatientSendReminderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SystemPatientSendReminderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"eMailSubject\"] = this.eMailSubject;\r\n data[\"eMailBody\"] = this.eMailBody;\r\n data[\"isHtml\"] = this.isHtml;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): SystemPatientSendReminderDto {\r\n const json = this.toJSON();\r\n let result = new SystemPatientSendReminderDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISystemPatientSendReminderDto extends IBaseIdDto {\r\n eMailSubject?: string | undefined;\r\n eMailBody?: string | undefined;\r\n isHtml?: boolean;\r\n}\r\n\r\nexport class SystemPatientSendEmailDto extends BaseIdDto implements ISystemPatientSendEmailDto {\r\n eMailSubject?: string | undefined;\r\n eMailBody?: string | undefined;\r\n attachments?: EmailAttachmentDto[] | undefined;\r\n isHtml?: boolean;\r\n\r\n constructor(data?: ISystemPatientSendEmailDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.eMailSubject = _data[\"eMailSubject\"];\r\n this.eMailBody = _data[\"eMailBody\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(EmailAttachmentDto.fromJS(item));\r\n }\r\n this.isHtml = _data[\"isHtml\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SystemPatientSendEmailDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SystemPatientSendEmailDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"eMailSubject\"] = this.eMailSubject;\r\n data[\"eMailBody\"] = this.eMailBody;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n data[\"isHtml\"] = this.isHtml;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): SystemPatientSendEmailDto {\r\n const json = this.toJSON();\r\n let result = new SystemPatientSendEmailDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface ISystemPatientSendEmailDto extends IBaseIdDto {\r\n eMailSubject?: string | undefined;\r\n eMailBody?: string | undefined;\r\n attachments?: EmailAttachmentDto[] | undefined;\r\n isHtml?: boolean;\r\n}\r\n\r\nexport class EmailAttachmentDto implements IEmailAttachmentDto {\r\n content?: string | undefined;\r\n fileName?: string | undefined;\r\n\r\n constructor(data?: IEmailAttachmentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailAttachmentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"content\"] = this.content;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n\r\n clone(): EmailAttachmentDto {\r\n const json = this.toJSON();\r\n let result = new EmailAttachmentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEmailAttachmentDto {\r\n content?: string | undefined;\r\n fileName?: string | undefined;\r\n}\r\n\r\nexport class RegisterPatientResultDto implements IRegisterPatientResultDto {\r\n success?: boolean;\r\n reason?: string | undefined;\r\n\r\n constructor(data?: IRegisterPatientResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterPatientResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterPatientResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n\r\n clone(): RegisterPatientResultDto {\r\n const json = this.toJSON();\r\n let result = new RegisterPatientResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterPatientResultDto {\r\n success?: boolean;\r\n reason?: string | undefined;\r\n}\r\n\r\nexport class RegisterPatientDto implements IRegisterPatientDto {\r\n userId?: string;\r\n patientId?: string;\r\n patientEMail?: string | undefined;\r\n studySystemName?: string | undefined;\r\n studyPersonalEmails?: EmailAddressInformation[] | undefined;\r\n\r\n constructor(data?: IRegisterPatientDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.patientId = _data[\"patientId\"];\r\n this.patientEMail = _data[\"patientEMail\"];\r\n this.studySystemName = _data[\"studySystemName\"];\r\n if (Array.isArray(_data[\"studyPersonalEmails\"])) {\r\n this.studyPersonalEmails = [] as any;\r\n for (let item of _data[\"studyPersonalEmails\"])\r\n this.studyPersonalEmails!.push(EmailAddressInformation.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegisterPatientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegisterPatientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"patientId\"] = this.patientId;\r\n data[\"patientEMail\"] = this.patientEMail;\r\n data[\"studySystemName\"] = this.studySystemName;\r\n if (Array.isArray(this.studyPersonalEmails)) {\r\n data[\"studyPersonalEmails\"] = [];\r\n for (let item of this.studyPersonalEmails)\r\n data[\"studyPersonalEmails\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): RegisterPatientDto {\r\n const json = this.toJSON();\r\n let result = new RegisterPatientDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IRegisterPatientDto {\r\n userId?: string;\r\n patientId?: string;\r\n patientEMail?: string | undefined;\r\n studySystemName?: string | undefined;\r\n studyPersonalEmails?: EmailAddressInformation[] | undefined;\r\n}\r\n\r\nexport class EmailAddressInformation implements IEmailAddressInformation {\r\n name?: string | undefined;\r\n address?: string | undefined;\r\n\r\n constructor(data?: IEmailAddressInformation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailAddressInformation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailAddressInformation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n\r\n clone(): EmailAddressInformation {\r\n const json = this.toJSON();\r\n let result = new EmailAddressInformation();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IEmailAddressInformation {\r\n name?: string | undefined;\r\n address?: string | undefined;\r\n}\r\n\r\n/** The audit event dto class */\r\nexport class AuditEventDto implements IAuditEventDto {\r\n /** id */\r\n id?: number;\r\n /** action */\r\n action?: string | undefined;\r\n /** user id */\r\n userId?: string;\r\n /** time stamp */\r\n timeStamp?: Date;\r\n /** reason of change */\r\n reasonOfChange?: string | undefined;\r\n /** app user */\r\n appUser?: ShortUserDto | undefined;\r\n /** changes */\r\n changes?: AuditChangeDto[] | undefined;\r\n /** previous hash */\r\n previousHash?: string | undefined;\r\n /** hash */\r\n hash?: string | undefined;\r\n\r\n constructor(data?: IAuditEventDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.action = _data[\"action\"];\r\n this.userId = _data[\"userId\"];\r\n this.timeStamp = _data[\"timeStamp\"] ? new Date(_data[\"timeStamp\"].toString()) : undefined;\r\n this.reasonOfChange = _data[\"reasonOfChange\"];\r\n this.appUser = _data[\"appUser\"] ? ShortUserDto.fromJS(_data[\"appUser\"]) : undefined;\r\n if (Array.isArray(_data[\"changes\"])) {\r\n this.changes = [] as any;\r\n for (let item of _data[\"changes\"])\r\n this.changes!.push(AuditChangeDto.fromJS(item));\r\n }\r\n this.previousHash = _data[\"previousHash\"];\r\n this.hash = _data[\"hash\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditEventDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuditEventDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"action\"] = this.action;\r\n data[\"userId\"] = this.userId;\r\n data[\"timeStamp\"] = this.timeStamp ? this.timeStamp.toISOString() : undefined;\r\n data[\"reasonOfChange\"] = this.reasonOfChange;\r\n data[\"appUser\"] = this.appUser ? this.appUser.toJSON() : undefined;\r\n if (Array.isArray(this.changes)) {\r\n data[\"changes\"] = [];\r\n for (let item of this.changes)\r\n data[\"changes\"].push(item.toJSON());\r\n }\r\n data[\"previousHash\"] = this.previousHash;\r\n data[\"hash\"] = this.hash;\r\n return data;\r\n }\r\n\r\n clone(): AuditEventDto {\r\n const json = this.toJSON();\r\n let result = new AuditEventDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The audit event dto class */\r\nexport interface IAuditEventDto {\r\n /** id */\r\n id?: number;\r\n /** action */\r\n action?: string | undefined;\r\n /** user id */\r\n userId?: string;\r\n /** time stamp */\r\n timeStamp?: Date;\r\n /** reason of change */\r\n reasonOfChange?: string | undefined;\r\n /** app user */\r\n appUser?: ShortUserDto | undefined;\r\n /** changes */\r\n changes?: AuditChangeDto[] | undefined;\r\n /** previous hash */\r\n previousHash?: string | undefined;\r\n /** hash */\r\n hash?: string | undefined;\r\n}\r\n\r\n/** The short user dto class */\r\nexport class ShortUserDto extends BaseDto implements IShortUserDto {\r\n /** user name */\r\n userName?: string | undefined;\r\n /** display name */\r\n displayName?: string | undefined;\r\n /** email */\r\n email?: string | undefined;\r\n /** role */\r\n role?: ShortRoleDto | undefined;\r\n /** is deactivated */\r\n isDeactivated?: boolean;\r\n /** Tags for User */\r\n tags?: JsonDocument | undefined;\r\n\r\n constructor(data?: IShortUserDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.email = _data[\"email\"];\r\n this.role = _data[\"role\"] ? ShortRoleDto.fromJS(_data[\"role\"]) : undefined;\r\n this.isDeactivated = _data[\"isDeactivated\"];\r\n this.tags = _data[\"tags\"] ? JsonDocument.fromJS(_data[\"tags\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"email\"] = this.email;\r\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\r\n data[\"isDeactivated\"] = this.isDeactivated;\r\n data[\"tags\"] = this.tags ? this.tags.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): ShortUserDto {\r\n const json = this.toJSON();\r\n let result = new ShortUserDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The short user dto class */\r\nexport interface IShortUserDto extends IBaseDto {\r\n /** user name */\r\n userName?: string | undefined;\r\n /** display name */\r\n displayName?: string | undefined;\r\n /** email */\r\n email?: string | undefined;\r\n /** role */\r\n role?: ShortRoleDto | undefined;\r\n /** is deactivated */\r\n isDeactivated?: boolean;\r\n /** Tags for User */\r\n tags?: JsonDocument | undefined;\r\n}\r\n\r\n/** The short role dto class */\r\nexport class ShortRoleDto extends BaseIdDto implements IShortRoleDto {\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** display name */\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: IShortRoleDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShortRoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShortRoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): ShortRoleDto {\r\n const json = this.toJSON();\r\n let result = new ShortRoleDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The short role dto class */\r\nexport interface IShortRoleDto extends IBaseIdDto {\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** display name */\r\n displayName?: string | undefined;\r\n}\r\n\r\n/** Provides a mechanism for examining the structural content of a JSON value without automatically instantiating data values. */\r\nexport class JsonDocument implements IJsonDocument {\r\n /** Gets the root element of this JSON document. */\r\n rootElement?: any;\r\n\r\n constructor(data?: IJsonDocument) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rootElement = _data[\"rootElement\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): JsonDocument {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new JsonDocument();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rootElement\"] = this.rootElement;\r\n return data;\r\n }\r\n\r\n clone(): JsonDocument {\r\n const json = this.toJSON();\r\n let result = new JsonDocument();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Provides a mechanism for examining the structural content of a JSON value without automatically instantiating data values. */\r\nexport interface IJsonDocument {\r\n /** Gets the root element of this JSON document. */\r\n rootElement?: any;\r\n}\r\n\r\n/** The audit change dto class */\r\nexport class AuditChangeDto implements IAuditChangeDto {\r\n /** id */\r\n id?: number;\r\n /** audit event id */\r\n auditEventId?: number;\r\n /** table name */\r\n tableName?: string | undefined;\r\n /** operation */\r\n operation?: string | undefined;\r\n /** key values */\r\n keyValues?: JsonDocument | undefined;\r\n /** old values */\r\n oldValues?: JsonDocument | undefined;\r\n /** new values */\r\n newValues?: JsonDocument | undefined;\r\n /** reason of change */\r\n reasonOfChange?: AuditReasonOfChangeDto | undefined;\r\n /** previous hash */\r\n previousHash?: string | undefined;\r\n /** hash */\r\n hash?: string | undefined;\r\n\r\n constructor(data?: IAuditChangeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.auditEventId = _data[\"auditEventId\"];\r\n this.tableName = _data[\"tableName\"];\r\n this.operation = _data[\"operation\"];\r\n this.keyValues = _data[\"keyValues\"] ? JsonDocument.fromJS(_data[\"keyValues\"]) : undefined;\r\n this.oldValues = _data[\"oldValues\"] ? JsonDocument.fromJS(_data[\"oldValues\"]) : undefined;\r\n this.newValues = _data[\"newValues\"] ? JsonDocument.fromJS(_data[\"newValues\"]) : undefined;\r\n this.reasonOfChange = _data[\"reasonOfChange\"] ? AuditReasonOfChangeDto.fromJS(_data[\"reasonOfChange\"]) : undefined;\r\n this.previousHash = _data[\"previousHash\"];\r\n this.hash = _data[\"hash\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditChangeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuditChangeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"auditEventId\"] = this.auditEventId;\r\n data[\"tableName\"] = this.tableName;\r\n data[\"operation\"] = this.operation;\r\n data[\"keyValues\"] = this.keyValues ? this.keyValues.toJSON() : undefined;\r\n data[\"oldValues\"] = this.oldValues ? this.oldValues.toJSON() : undefined;\r\n data[\"newValues\"] = this.newValues ? this.newValues.toJSON() : undefined;\r\n data[\"reasonOfChange\"] = this.reasonOfChange ? this.reasonOfChange.toJSON() : undefined;\r\n data[\"previousHash\"] = this.previousHash;\r\n data[\"hash\"] = this.hash;\r\n return data;\r\n }\r\n\r\n clone(): AuditChangeDto {\r\n const json = this.toJSON();\r\n let result = new AuditChangeDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The audit change dto class */\r\nexport interface IAuditChangeDto {\r\n /** id */\r\n id?: number;\r\n /** audit event id */\r\n auditEventId?: number;\r\n /** table name */\r\n tableName?: string | undefined;\r\n /** operation */\r\n operation?: string | undefined;\r\n /** key values */\r\n keyValues?: JsonDocument | undefined;\r\n /** old values */\r\n oldValues?: JsonDocument | undefined;\r\n /** new values */\r\n newValues?: JsonDocument | undefined;\r\n /** reason of change */\r\n reasonOfChange?: AuditReasonOfChangeDto | undefined;\r\n /** previous hash */\r\n previousHash?: string | undefined;\r\n /** hash */\r\n hash?: string | undefined;\r\n}\r\n\r\n/** The audit reason of change dto class */\r\nexport class AuditReasonOfChangeDto implements IAuditReasonOfChangeDto {\r\n /** Reason why the object was changed */\r\n objectReason?: string | undefined;\r\n /** Reasons why a specific property was changed */\r\n propertyReasons?: { [key: string]: string; } | undefined;\r\n\r\n constructor(data?: IAuditReasonOfChangeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.objectReason = _data[\"objectReason\"];\r\n if (_data[\"propertyReasons\"]) {\r\n this.propertyReasons = {} as any;\r\n for (let key in _data[\"propertyReasons\"]) {\r\n if (_data[\"propertyReasons\"].hasOwnProperty(key))\r\n (this.propertyReasons)![key] = _data[\"propertyReasons\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuditReasonOfChangeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuditReasonOfChangeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"objectReason\"] = this.objectReason;\r\n if (this.propertyReasons) {\r\n data[\"propertyReasons\"] = {};\r\n for (let key in this.propertyReasons) {\r\n if (this.propertyReasons.hasOwnProperty(key))\r\n (data[\"propertyReasons\"])[key] = (this.propertyReasons)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n clone(): AuditReasonOfChangeDto {\r\n const json = this.toJSON();\r\n let result = new AuditReasonOfChangeDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The audit reason of change dto class */\r\nexport interface IAuditReasonOfChangeDto {\r\n /** Reason why the object was changed */\r\n objectReason?: string | undefined;\r\n /** Reasons why a specific property was changed */\r\n propertyReasons?: { [key: string]: string; } | undefined;\r\n}\r\n\r\n/** The token dto class */\r\nexport class TokenDto implements ITokenDto {\r\n /** token */\r\n token?: string | undefined;\r\n /** refresh token */\r\n refreshToken?: string | undefined;\r\n /** refresh token expiration date */\r\n refreshTokenExpirationDate?: Date;\r\n\r\n constructor(data?: ITokenDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.token = _data[\"token\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.refreshTokenExpirationDate = _data[\"refreshTokenExpirationDate\"] ? new Date(_data[\"refreshTokenExpirationDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TokenDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TokenDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"token\"] = this.token;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"refreshTokenExpirationDate\"] = this.refreshTokenExpirationDate ? this.refreshTokenExpirationDate.toISOString() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): TokenDto {\r\n const json = this.toJSON();\r\n let result = new TokenDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The token dto class */\r\nexport interface ITokenDto {\r\n /** token */\r\n token?: string | undefined;\r\n /** refresh token */\r\n refreshToken?: string | undefined;\r\n /** refresh token expiration date */\r\n refreshTokenExpirationDate?: Date;\r\n}\r\n\r\n/** Represents login credential information as data transfer object */\r\nexport class LoginDto implements ILoginDto {\r\n /** user name */\r\n userName!: string;\r\n /** password */\r\n password!: string;\r\n\r\n constructor(data?: ILoginDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n\r\n clone(): LoginDto {\r\n const json = this.toJSON();\r\n let result = new LoginDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Represents login credential information as data transfer object */\r\nexport interface ILoginDto {\r\n /** user name */\r\n userName: string;\r\n /** password */\r\n password: string;\r\n}\r\n\r\n/** The document short dto class */\r\nexport class DocumentShortDto extends BaseDto implements IDocumentShortDto {\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** title */\r\n title?: string | undefined;\r\n /** description */\r\n description?: string | undefined;\r\n /** Gets or sets the value of the order */\r\n order?: number;\r\n /** current version */\r\n currentVersion?: number;\r\n /** content versions */\r\n contentVersions?: DocumentContentShortDto[] | undefined;\r\n /** tags */\r\n tags?: JsonDocument | undefined;\r\n\r\n constructor(data?: IDocumentShortDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.order = _data[\"order\"];\r\n this.currentVersion = _data[\"currentVersion\"];\r\n if (Array.isArray(_data[\"contentVersions\"])) {\r\n this.contentVersions = [] as any;\r\n for (let item of _data[\"contentVersions\"])\r\n this.contentVersions!.push(DocumentContentShortDto.fromJS(item));\r\n }\r\n this.tags = _data[\"tags\"] ? JsonDocument.fromJS(_data[\"tags\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentShortDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentShortDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"order\"] = this.order;\r\n data[\"currentVersion\"] = this.currentVersion;\r\n if (Array.isArray(this.contentVersions)) {\r\n data[\"contentVersions\"] = [];\r\n for (let item of this.contentVersions)\r\n data[\"contentVersions\"].push(item.toJSON());\r\n }\r\n data[\"tags\"] = this.tags ? this.tags.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): DocumentShortDto {\r\n const json = this.toJSON();\r\n let result = new DocumentShortDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The document short dto class */\r\nexport interface IDocumentShortDto extends IBaseDto {\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** title */\r\n title?: string | undefined;\r\n /** description */\r\n description?: string | undefined;\r\n /** Gets or sets the value of the order */\r\n order?: number;\r\n /** current version */\r\n currentVersion?: number;\r\n /** content versions */\r\n contentVersions?: DocumentContentShortDto[] | undefined;\r\n /** tags */\r\n tags?: JsonDocument | undefined;\r\n}\r\n\r\n/** The document content short dto class */\r\nexport class DocumentContentShortDto implements IDocumentContentShortDto {\r\n /** version */\r\n version?: number;\r\n /** size */\r\n size?: number;\r\n /** file name */\r\n fileName?: string | undefined;\r\n /** mime type */\r\n mimeType?: string | undefined;\r\n /** uploaded on */\r\n uploadedOn?: Date;\r\n /** comment */\r\n comment?: string | undefined;\r\n\r\n constructor(data?: IDocumentContentShortDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.version = _data[\"version\"];\r\n this.size = _data[\"size\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.mimeType = _data[\"mimeType\"];\r\n this.uploadedOn = _data[\"uploadedOn\"] ? new Date(_data[\"uploadedOn\"].toString()) : undefined;\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentContentShortDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentContentShortDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"version\"] = this.version;\r\n data[\"size\"] = this.size;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"mimeType\"] = this.mimeType;\r\n data[\"uploadedOn\"] = this.uploadedOn ? this.uploadedOn.toISOString() : undefined;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n\r\n clone(): DocumentContentShortDto {\r\n const json = this.toJSON();\r\n let result = new DocumentContentShortDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The document content short dto class */\r\nexport interface IDocumentContentShortDto {\r\n /** version */\r\n version?: number;\r\n /** size */\r\n size?: number;\r\n /** file name */\r\n fileName?: string | undefined;\r\n /** mime type */\r\n mimeType?: string | undefined;\r\n /** uploaded on */\r\n uploadedOn?: Date;\r\n /** comment */\r\n comment?: string | undefined;\r\n}\r\n\r\n/** The document update dto class */\r\nexport class DocumentUpdateDto extends BaseIdDto implements IDocumentUpdateDto {\r\n /** Gets or sets the value of the identifier */\r\n identifier?: string | undefined;\r\n /** title */\r\n title?: string | undefined;\r\n /** description */\r\n description?: string | undefined;\r\n /** Gets or sets the value of the order */\r\n order?: number;\r\n /** tags */\r\n tags?: JsonDocument | undefined;\r\n\r\n constructor(data?: IDocumentUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.order = _data[\"order\"];\r\n this.tags = _data[\"tags\"] ? JsonDocument.fromJS(_data[\"tags\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"order\"] = this.order;\r\n data[\"tags\"] = this.tags ? this.tags.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): DocumentUpdateDto {\r\n const json = this.toJSON();\r\n let result = new DocumentUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The document update dto class */\r\nexport interface IDocumentUpdateDto extends IBaseIdDto {\r\n /** Gets or sets the value of the identifier */\r\n identifier?: string | undefined;\r\n /** title */\r\n title?: string | undefined;\r\n /** description */\r\n description?: string | undefined;\r\n /** Gets or sets the value of the order */\r\n order?: number;\r\n /** tags */\r\n tags?: JsonDocument | undefined;\r\n}\r\n\r\n/** Domain Transfer Object representing a right */\r\nexport class RightDto extends BaseDto implements IRightDto {\r\n /** Identifies a right. Must be unique */\r\n identifier?: string | undefined;\r\n /** Name of the right displayed in UIs */\r\n displayName?: Rights | undefined;\r\n\r\n constructor(data?: IRightDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RightDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RightDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RightDto {\r\n const json = this.toJSON();\r\n let result = new RightDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object representing a right */\r\nexport interface IRightDto extends IBaseDto {\r\n /** Identifies a right. Must be unique */\r\n identifier?: string | undefined;\r\n /** Name of the right displayed in UIs */\r\n displayName?: Rights | undefined;\r\n}\r\n\r\n/** Domain Transfer Object for creating a right */\r\nexport class RightCreateDto implements IRightCreateDto {\r\n /** Identifies a right. Must be unique */\r\n identifier!: string;\r\n /** Name of the right displayed in UIs */\r\n displayName!: string;\r\n\r\n constructor(data?: IRightCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RightCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RightCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n\r\n clone(): RightCreateDto {\r\n const json = this.toJSON();\r\n let result = new RightCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object for creating a right */\r\nexport interface IRightCreateDto {\r\n /** Identifies a right. Must be unique */\r\n identifier: string;\r\n /** Name of the right displayed in UIs */\r\n displayName: string;\r\n}\r\n\r\n/** Domain Transfer Object for updating a right */\r\nexport class RightUpdateDto extends BaseIdDto implements IRightUpdateDto {\r\n /** Identifies a right. Must be unique - optional */\r\n identifier?: string | undefined;\r\n /** Name of the right displayed in UIs - optional */\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: IRightUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RightUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RightUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RightUpdateDto {\r\n const json = this.toJSON();\r\n let result = new RightUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** Domain Transfer Object for updating a right */\r\nexport interface IRightUpdateDto extends IBaseIdDto {\r\n /** Identifies a right. Must be unique - optional */\r\n identifier?: string | undefined;\r\n /** Name of the right displayed in UIs - optional */\r\n displayName?: string | undefined;\r\n}\r\n\r\n/** The role dto class */\r\nexport class RoleDto extends BaseDto implements IRoleDto {\r\n /** display name */\r\n displayName?: string | undefined;\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** rights */\r\n rights?: RightDto[] | undefined;\r\n\r\n constructor(data?: IRoleDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.displayName = _data[\"displayName\"];\r\n this.identifier = _data[\"identifier\"];\r\n if (Array.isArray(_data[\"rights\"])) {\r\n this.rights = [] as any;\r\n for (let item of _data[\"rights\"])\r\n this.rights!.push(RightDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayName\"] = this.displayName;\r\n data[\"identifier\"] = this.identifier;\r\n if (Array.isArray(this.rights)) {\r\n data[\"rights\"] = [];\r\n for (let item of this.rights)\r\n data[\"rights\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RoleDto {\r\n const json = this.toJSON();\r\n let result = new RoleDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The role dto class */\r\nexport interface IRoleDto extends IBaseDto {\r\n /** display name */\r\n displayName?: string | undefined;\r\n /** identifier */\r\n identifier?: string | undefined;\r\n /** rights */\r\n rights?: RightDto[] | undefined;\r\n}\r\n\r\n/** The role create dto class */\r\nexport class RoleCreateDto implements IRoleCreateDto {\r\n /** identifier */\r\n identifier!: string;\r\n /** display name */\r\n displayName!: string;\r\n /** rights ids */\r\n rightsIds?: string[] | undefined;\r\n\r\n constructor(data?: IRoleCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n if (Array.isArray(_data[\"rightsIds\"])) {\r\n this.rightsIds = [] as any;\r\n for (let item of _data[\"rightsIds\"])\r\n this.rightsIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n if (Array.isArray(this.rightsIds)) {\r\n data[\"rightsIds\"] = [];\r\n for (let item of this.rightsIds)\r\n data[\"rightsIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n\r\n clone(): RoleCreateDto {\r\n const json = this.toJSON();\r\n let result = new RoleCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The role create dto class */\r\nexport interface IRoleCreateDto {\r\n /** identifier */\r\n identifier: string;\r\n /** display name */\r\n displayName: string;\r\n /** rights ids */\r\n rightsIds?: string[] | undefined;\r\n}\r\n\r\n/** The role update dto class */\r\nexport class RoleUpdateDto extends BaseIdDto implements IRoleUpdateDto {\r\n /** identifier */\r\n identifier!: string;\r\n /** display name */\r\n displayName!: string;\r\n /** rights ids */\r\n rightsIds?: string[] | undefined;\r\n\r\n constructor(data?: IRoleUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n if (Array.isArray(_data[\"rightsIds\"])) {\r\n this.rightsIds = [] as any;\r\n for (let item of _data[\"rightsIds\"])\r\n this.rightsIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n if (Array.isArray(this.rightsIds)) {\r\n data[\"rightsIds\"] = [];\r\n for (let item of this.rightsIds)\r\n data[\"rightsIds\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): RoleUpdateDto {\r\n const json = this.toJSON();\r\n let result = new RoleUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The role update dto class */\r\nexport interface IRoleUpdateDto extends IBaseIdDto {\r\n /** identifier */\r\n identifier: string;\r\n /** display name */\r\n displayName: string;\r\n /** rights ids */\r\n rightsIds?: string[] | undefined;\r\n}\r\n\r\nexport class BaseSyncResultDto implements IBaseSyncResultDto {\r\n system?: string | undefined;\r\n\r\n constructor(data?: IBaseSyncResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.system = _data[\"system\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseSyncResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseSyncResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"system\"] = this.system;\r\n return data;\r\n }\r\n\r\n clone(): BaseSyncResultDto {\r\n const json = this.toJSON();\r\n let result = new BaseSyncResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IBaseSyncResultDto {\r\n system?: string | undefined;\r\n}\r\n\r\nexport class PatientSyncResultDto extends BaseSyncResultDto implements IPatientSyncResultDto {\r\n createdPatientsCount?: number;\r\n updatedPatientsCount?: number;\r\n deletedPatientsCount?: number;\r\n\r\n constructor(data?: IPatientSyncResultDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.createdPatientsCount = _data[\"createdPatientsCount\"];\r\n this.updatedPatientsCount = _data[\"updatedPatientsCount\"];\r\n this.deletedPatientsCount = _data[\"deletedPatientsCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientSyncResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientSyncResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdPatientsCount\"] = this.createdPatientsCount;\r\n data[\"updatedPatientsCount\"] = this.updatedPatientsCount;\r\n data[\"deletedPatientsCount\"] = this.deletedPatientsCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientSyncResultDto {\r\n const json = this.toJSON();\r\n let result = new PatientSyncResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientSyncResultDto extends IBaseSyncResultDto {\r\n createdPatientsCount?: number;\r\n updatedPatientsCount?: number;\r\n deletedPatientsCount?: number;\r\n}\r\n\r\n/** The base sync content dto class */\r\nexport abstract class BaseSyncContentDto implements IBaseSyncContentDto {\r\n /** source system */\r\n sourceSystem?: string;\r\n\r\n constructor(data?: IBaseSyncContentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceSystem = _data[\"sourceSystem\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseSyncContentDto {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'BaseSyncContentDto' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceSystem\"] = this.sourceSystem;\r\n return data;\r\n }\r\n\r\n clone(): BaseSyncContentDto {\r\n throw new Error(\"The abstract class 'BaseSyncContentDto' cannot be instantiated.\");\r\n }\r\n}\r\n\r\n/** The base sync content dto class */\r\nexport interface IBaseSyncContentDto {\r\n /** source system */\r\n sourceSystem?: string;\r\n}\r\n\r\nexport class PatientSyncContentDto extends BaseSyncContentDto implements IPatientSyncContentDto {\r\n patients?: PatientSyncDto[] | undefined;\r\n\r\n constructor(data?: IPatientSyncContentDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"patients\"])) {\r\n this.patients = [] as any;\r\n for (let item of _data[\"patients\"])\r\n this.patients!.push(PatientSyncDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientSyncContentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientSyncContentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.patients)) {\r\n data[\"patients\"] = [];\r\n for (let item of this.patients)\r\n data[\"patients\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientSyncContentDto {\r\n const json = this.toJSON();\r\n let result = new PatientSyncContentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientSyncContentDto extends IBaseSyncContentDto {\r\n patients?: PatientSyncDto[] | undefined;\r\n}\r\n\r\nexport abstract class BaseSyncDto implements IBaseSyncDto {\r\n id!: string;\r\n isDeleted?: boolean;\r\n\r\n constructor(data?: IBaseSyncDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseSyncDto {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'BaseSyncDto' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n\r\n clone(): BaseSyncDto {\r\n throw new Error(\"The abstract class 'BaseSyncDto' cannot be instantiated.\");\r\n }\r\n}\r\n\r\nexport interface IBaseSyncDto {\r\n id: string;\r\n isDeleted?: boolean;\r\n}\r\n\r\nexport class PatientSyncDto extends BaseSyncDto implements IPatientSyncDto {\r\n identifier?: string | undefined;\r\n name?: string | undefined;\r\n gender?: string | undefined;\r\n birthYear?: number | undefined;\r\n tags?: JsonDocument | undefined;\r\n registrationDate?: Date | undefined;\r\n\r\n constructor(data?: IPatientSyncDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.name = _data[\"name\"];\r\n this.gender = _data[\"gender\"];\r\n this.birthYear = _data[\"birthYear\"];\r\n this.tags = _data[\"tags\"] ? JsonDocument.fromJS(_data[\"tags\"]) : undefined;\r\n this.registrationDate = _data[\"registrationDate\"] ? new Date(_data[\"registrationDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PatientSyncDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PatientSyncDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"name\"] = this.name;\r\n data[\"gender\"] = this.gender;\r\n data[\"birthYear\"] = this.birthYear;\r\n data[\"tags\"] = this.tags ? this.tags.toJSON() : undefined;\r\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PatientSyncDto {\r\n const json = this.toJSON();\r\n let result = new PatientSyncDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPatientSyncDto extends IBaseSyncDto {\r\n identifier?: string | undefined;\r\n name?: string | undefined;\r\n gender?: string | undefined;\r\n birthYear?: number | undefined;\r\n tags?: JsonDocument | undefined;\r\n registrationDate?: Date | undefined;\r\n}\r\n\r\nexport class InstituteSyncResultDto extends BaseSyncResultDto implements IInstituteSyncResultDto {\r\n createdInstitutesCount?: number;\r\n updatedInstitutesCount?: number;\r\n deletedInstitutesCount?: number;\r\n patientAssignmentsAddedCount?: number;\r\n patientAssignmentsRemovedCount?: number;\r\n userAssignmentsAddedCount?: number;\r\n userAssignmentsRemovedCount?: number;\r\n\r\n constructor(data?: IInstituteSyncResultDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.createdInstitutesCount = _data[\"createdInstitutesCount\"];\r\n this.updatedInstitutesCount = _data[\"updatedInstitutesCount\"];\r\n this.deletedInstitutesCount = _data[\"deletedInstitutesCount\"];\r\n this.patientAssignmentsAddedCount = _data[\"patientAssignmentsAddedCount\"];\r\n this.patientAssignmentsRemovedCount = _data[\"patientAssignmentsRemovedCount\"];\r\n this.userAssignmentsAddedCount = _data[\"userAssignmentsAddedCount\"];\r\n this.userAssignmentsRemovedCount = _data[\"userAssignmentsRemovedCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteSyncResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteSyncResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdInstitutesCount\"] = this.createdInstitutesCount;\r\n data[\"updatedInstitutesCount\"] = this.updatedInstitutesCount;\r\n data[\"deletedInstitutesCount\"] = this.deletedInstitutesCount;\r\n data[\"patientAssignmentsAddedCount\"] = this.patientAssignmentsAddedCount;\r\n data[\"patientAssignmentsRemovedCount\"] = this.patientAssignmentsRemovedCount;\r\n data[\"userAssignmentsAddedCount\"] = this.userAssignmentsAddedCount;\r\n data[\"userAssignmentsRemovedCount\"] = this.userAssignmentsRemovedCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteSyncResultDto {\r\n const json = this.toJSON();\r\n let result = new InstituteSyncResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteSyncResultDto extends IBaseSyncResultDto {\r\n createdInstitutesCount?: number;\r\n updatedInstitutesCount?: number;\r\n deletedInstitutesCount?: number;\r\n patientAssignmentsAddedCount?: number;\r\n patientAssignmentsRemovedCount?: number;\r\n userAssignmentsAddedCount?: number;\r\n userAssignmentsRemovedCount?: number;\r\n}\r\n\r\nexport class InstituteSyncContentDto extends BaseSyncContentDto implements IInstituteSyncContentDto {\r\n institutes?: InstituteSyncDto[] | undefined;\r\n\r\n constructor(data?: IInstituteSyncContentDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"institutes\"])) {\r\n this.institutes = [] as any;\r\n for (let item of _data[\"institutes\"])\r\n this.institutes!.push(InstituteSyncDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteSyncContentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteSyncContentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.institutes)) {\r\n data[\"institutes\"] = [];\r\n for (let item of this.institutes)\r\n data[\"institutes\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteSyncContentDto {\r\n const json = this.toJSON();\r\n let result = new InstituteSyncContentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteSyncContentDto extends IBaseSyncContentDto {\r\n institutes?: InstituteSyncDto[] | undefined;\r\n}\r\n\r\nexport class InstituteSyncDto extends BaseSyncDto implements IInstituteSyncDto {\r\n identifier?: string | undefined;\r\n displayName?: string | undefined;\r\n users?: string[] | undefined;\r\n patients?: string[] | undefined;\r\n\r\n constructor(data?: IInstituteSyncDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.identifier = _data[\"identifier\"];\r\n this.displayName = _data[\"displayName\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(item);\r\n }\r\n if (Array.isArray(_data[\"patients\"])) {\r\n this.patients = [] as any;\r\n for (let item of _data[\"patients\"])\r\n this.patients!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InstituteSyncDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InstituteSyncDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"identifier\"] = this.identifier;\r\n data[\"displayName\"] = this.displayName;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item);\r\n }\r\n if (Array.isArray(this.patients)) {\r\n data[\"patients\"] = [];\r\n for (let item of this.patients)\r\n data[\"patients\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): InstituteSyncDto {\r\n const json = this.toJSON();\r\n let result = new InstituteSyncDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IInstituteSyncDto extends IBaseSyncDto {\r\n identifier?: string | undefined;\r\n displayName?: string | undefined;\r\n users?: string[] | undefined;\r\n patients?: string[] | undefined;\r\n}\r\n\r\nexport class UserSyncResultDto extends BaseSyncResultDto implements IUserSyncResultDto {\r\n createdUserCount?: number;\r\n updatedUserCount?: number;\r\n deletedUserCount?: number;\r\n\r\n constructor(data?: IUserSyncResultDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.createdUserCount = _data[\"createdUserCount\"];\r\n this.updatedUserCount = _data[\"updatedUserCount\"];\r\n this.deletedUserCount = _data[\"deletedUserCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSyncResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSyncResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdUserCount\"] = this.createdUserCount;\r\n data[\"updatedUserCount\"] = this.updatedUserCount;\r\n data[\"deletedUserCount\"] = this.deletedUserCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserSyncResultDto {\r\n const json = this.toJSON();\r\n let result = new UserSyncResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSyncResultDto extends IBaseSyncResultDto {\r\n createdUserCount?: number;\r\n updatedUserCount?: number;\r\n deletedUserCount?: number;\r\n}\r\n\r\nexport class UserSyncContentDto extends BaseSyncContentDto implements IUserSyncContentDto {\r\n users?: UserSyncDto[] | undefined;\r\n\r\n constructor(data?: IUserSyncContentDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(UserSyncDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSyncContentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSyncContentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserSyncContentDto {\r\n const json = this.toJSON();\r\n let result = new UserSyncContentDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSyncContentDto extends IBaseSyncContentDto {\r\n users?: UserSyncDto[] | undefined;\r\n}\r\n\r\nexport class UserSyncDto extends BaseSyncDto implements IUserSyncDto {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n passwordHash?: string | undefined;\r\n passwordChangeDate?: Date | undefined;\r\n email?: string | undefined;\r\n emailConfirmed?: boolean;\r\n isDeactivated?: boolean;\r\n roleIdentifier?: string | undefined;\r\n personData?: PersonDataSyncDto | undefined;\r\n tags?: JsonDocument | undefined;\r\n\r\n constructor(data?: IUserSyncDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.passwordHash = _data[\"passwordHash\"];\r\n this.passwordChangeDate = _data[\"passwordChangeDate\"] ? new Date(_data[\"passwordChangeDate\"].toString()) : undefined;\r\n this.email = _data[\"email\"];\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.isDeactivated = _data[\"isDeactivated\"];\r\n this.roleIdentifier = _data[\"roleIdentifier\"];\r\n this.personData = _data[\"personData\"] ? PersonDataSyncDto.fromJS(_data[\"personData\"]) : undefined;\r\n this.tags = _data[\"tags\"] ? JsonDocument.fromJS(_data[\"tags\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserSyncDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserSyncDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"passwordHash\"] = this.passwordHash;\r\n data[\"passwordChangeDate\"] = this.passwordChangeDate ? this.passwordChangeDate.toISOString() : undefined;\r\n data[\"email\"] = this.email;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"isDeactivated\"] = this.isDeactivated;\r\n data[\"roleIdentifier\"] = this.roleIdentifier;\r\n data[\"personData\"] = this.personData ? this.personData.toJSON() : undefined;\r\n data[\"tags\"] = this.tags ? this.tags.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserSyncDto {\r\n const json = this.toJSON();\r\n let result = new UserSyncDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IUserSyncDto extends IBaseSyncDto {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n passwordHash?: string | undefined;\r\n passwordChangeDate?: Date | undefined;\r\n email?: string | undefined;\r\n emailConfirmed?: boolean;\r\n isDeactivated?: boolean;\r\n roleIdentifier?: string | undefined;\r\n personData?: PersonDataSyncDto | undefined;\r\n tags?: JsonDocument | undefined;\r\n}\r\n\r\nexport class PersonDataSyncDto extends BaseSyncDto implements IPersonDataSyncDto {\r\n title?: string | undefined;\r\n giveName?: string | undefined;\r\n familyName?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n postCode?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n\r\n constructor(data?: IPersonDataSyncDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.giveName = _data[\"giveName\"];\r\n this.familyName = _data[\"familyName\"];\r\n this.street = _data[\"street\"];\r\n this.city = _data[\"city\"];\r\n this.postCode = _data[\"postCode\"];\r\n this.country = _data[\"country\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PersonDataSyncDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PersonDataSyncDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"giveName\"] = this.giveName;\r\n data[\"familyName\"] = this.familyName;\r\n data[\"street\"] = this.street;\r\n data[\"city\"] = this.city;\r\n data[\"postCode\"] = this.postCode;\r\n data[\"country\"] = this.country;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PersonDataSyncDto {\r\n const json = this.toJSON();\r\n let result = new PersonDataSyncDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\nexport interface IPersonDataSyncDto extends IBaseSyncDto {\r\n title?: string | undefined;\r\n giveName?: string | undefined;\r\n familyName?: string | undefined;\r\n street?: string | undefined;\r\n city?: string | undefined;\r\n postCode?: string | undefined;\r\n country?: string | undefined;\r\n phoneNumber?: string | undefined;\r\n}\r\n\r\n/** The user dto class */\r\nexport class UserDto extends ShortUserDto implements IUserDto {\r\n /** password change date */\r\n passwordChangeDate?: Date | undefined;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n\r\n constructor(data?: IUserDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.passwordChangeDate = _data[\"passwordChangeDate\"] ? new Date(_data[\"passwordChangeDate\"].toString()) : undefined;\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.noLogin = _data[\"noLogin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"passwordChangeDate\"] = this.passwordChangeDate ? this.passwordChangeDate.toISOString() : undefined;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"noLogin\"] = this.noLogin;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserDto {\r\n const json = this.toJSON();\r\n let result = new UserDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user dto class */\r\nexport interface IUserDto extends IShortUserDto {\r\n /** password change date */\r\n passwordChangeDate?: Date | undefined;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n}\r\n\r\n/** The user complete dto class */\r\nexport class UserCompleteDto extends ShortUserDto implements IUserCompleteDto {\r\n /** password change date */\r\n passwordChangeDate?: Date | undefined;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n\r\n constructor(data?: IUserCompleteDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.passwordChangeDate = _data[\"passwordChangeDate\"] ? new Date(_data[\"passwordChangeDate\"].toString()) : undefined;\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.noLogin = _data[\"noLogin\"];\r\n this.personData = _data[\"personData\"] ? PersonDataDto.fromJS(_data[\"personData\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserCompleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserCompleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"passwordChangeDate\"] = this.passwordChangeDate ? this.passwordChangeDate.toISOString() : undefined;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"noLogin\"] = this.noLogin;\r\n data[\"personData\"] = this.personData ? this.personData.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserCompleteDto {\r\n const json = this.toJSON();\r\n let result = new UserCompleteDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user complete dto class */\r\nexport interface IUserCompleteDto extends IShortUserDto {\r\n /** password change date */\r\n passwordChangeDate?: Date | undefined;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n}\r\n\r\n/** The person data dto class */\r\nexport class PersonDataDto extends BaseDto implements IPersonDataDto {\r\n /** title */\r\n title?: string | undefined;\r\n /** give name */\r\n giveName?: string | undefined;\r\n /** family name */\r\n familyName?: string | undefined;\r\n /** street */\r\n street?: string | undefined;\r\n /** city */\r\n city?: string | undefined;\r\n /** post code */\r\n postCode?: string | undefined;\r\n /** country */\r\n country?: string | undefined;\r\n /** phone number */\r\n phoneNumber?: string | undefined;\r\n\r\n constructor(data?: IPersonDataDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.giveName = _data[\"giveName\"];\r\n this.familyName = _data[\"familyName\"];\r\n this.street = _data[\"street\"];\r\n this.city = _data[\"city\"];\r\n this.postCode = _data[\"postCode\"];\r\n this.country = _data[\"country\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PersonDataDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PersonDataDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"giveName\"] = this.giveName;\r\n data[\"familyName\"] = this.familyName;\r\n data[\"street\"] = this.street;\r\n data[\"city\"] = this.city;\r\n data[\"postCode\"] = this.postCode;\r\n data[\"country\"] = this.country;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): PersonDataDto {\r\n const json = this.toJSON();\r\n let result = new PersonDataDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The person data dto class */\r\nexport interface IPersonDataDto extends IBaseDto {\r\n /** title */\r\n title?: string | undefined;\r\n /** give name */\r\n giveName?: string | undefined;\r\n /** family name */\r\n familyName?: string | undefined;\r\n /** street */\r\n street?: string | undefined;\r\n /** city */\r\n city?: string | undefined;\r\n /** post code */\r\n postCode?: string | undefined;\r\n /** country */\r\n country?: string | undefined;\r\n /** phone number */\r\n phoneNumber?: string | undefined;\r\n}\r\n\r\n/** The user create dto class */\r\nexport class UserCreateDto implements IUserCreateDto {\r\n /** user name */\r\n userName!: string;\r\n /** display name */\r\n displayName!: string;\r\n /** email */\r\n email!: string;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** role id */\r\n roleId!: string;\r\n /** is deleted */\r\n isDeleted?: boolean;\r\n /** password string */\r\n passwordString!: string;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n\r\n constructor(data?: IUserCreateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.email = _data[\"email\"];\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.passwordString = _data[\"passwordString\"];\r\n this.noLogin = _data[\"noLogin\"];\r\n this.personData = _data[\"personData\"] ? PersonDataDto.fromJS(_data[\"personData\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"email\"] = this.email;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"passwordString\"] = this.passwordString;\r\n data[\"noLogin\"] = this.noLogin;\r\n data[\"personData\"] = this.personData ? this.personData.toJSON() : undefined;\r\n return data;\r\n }\r\n\r\n clone(): UserCreateDto {\r\n const json = this.toJSON();\r\n let result = new UserCreateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user create dto class */\r\nexport interface IUserCreateDto {\r\n /** user name */\r\n userName: string;\r\n /** display name */\r\n displayName: string;\r\n /** email */\r\n email: string;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** role id */\r\n roleId: string;\r\n /** is deleted */\r\n isDeleted?: boolean;\r\n /** password string */\r\n passwordString: string;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n}\r\n\r\n/** The user update dto class */\r\nexport class UserUpdateDto extends BaseIdDto implements IUserUpdateDto {\r\n /** user name */\r\n userName!: string;\r\n /** display name */\r\n displayName!: string;\r\n /** email */\r\n email!: string;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** role id */\r\n roleId!: string;\r\n /** is deleted */\r\n isDeleted?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n\r\n constructor(data?: IUserUpdateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.email = _data[\"email\"];\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.noLogin = _data[\"noLogin\"];\r\n this.personData = _data[\"personData\"] ? PersonDataDto.fromJS(_data[\"personData\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"email\"] = this.email;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"noLogin\"] = this.noLogin;\r\n data[\"personData\"] = this.personData ? this.personData.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserUpdateDto {\r\n const json = this.toJSON();\r\n let result = new UserUpdateDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user update dto class */\r\nexport interface IUserUpdateDto extends IBaseIdDto {\r\n /** user name */\r\n userName: string;\r\n /** display name */\r\n displayName: string;\r\n /** email */\r\n email: string;\r\n /** email confirmed */\r\n emailConfirmed?: boolean;\r\n /** role id */\r\n roleId: string;\r\n /** is deleted */\r\n isDeleted?: boolean;\r\n /** no login */\r\n noLogin?: boolean;\r\n /** person data */\r\n personData?: PersonDataDto | undefined;\r\n}\r\n\r\n/** The user password change dto class */\r\nexport class UserPasswordChangeDto extends BaseIdDto implements IUserPasswordChangeDto {\r\n /** new password string */\r\n newPasswordString!: string;\r\n\r\n constructor(data?: IUserPasswordChangeDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.newPasswordString = _data[\"newPasswordString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPasswordChangeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPasswordChangeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"newPasswordString\"] = this.newPasswordString;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserPasswordChangeDto {\r\n const json = this.toJSON();\r\n let result = new UserPasswordChangeDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user password change dto class */\r\nexport interface IUserPasswordChangeDto extends IBaseIdDto {\r\n /** new password string */\r\n newPasswordString: string;\r\n}\r\n\r\n/** The user password change for current user dto class */\r\nexport class UserPasswordChangeForCurrentUserDto extends UserPasswordChangeDto implements IUserPasswordChangeForCurrentUserDto {\r\n /** old password string */\r\n oldPasswordString!: string;\r\n\r\n constructor(data?: IUserPasswordChangeForCurrentUserDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.oldPasswordString = _data[\"oldPasswordString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPasswordChangeForCurrentUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPasswordChangeForCurrentUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"oldPasswordString\"] = this.oldPasswordString;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserPasswordChangeForCurrentUserDto {\r\n const json = this.toJSON();\r\n let result = new UserPasswordChangeForCurrentUserDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user password change for current user dto class */\r\nexport interface IUserPasswordChangeForCurrentUserDto extends IUserPasswordChangeDto {\r\n /** old password string */\r\n oldPasswordString: string;\r\n}\r\n\r\n/** The user password reset result dto class */\r\nexport class UserPasswordResetResultDto implements IUserPasswordResetResultDto {\r\n /** user */\r\n user?: UserDto | undefined;\r\n /** passwort reset successful */\r\n passwortResetSuccessful?: boolean;\r\n /** Set if PasswortResetSuccessful is false */\r\n reasonForFailure?: string | undefined;\r\n\r\n constructor(data?: IUserPasswordResetResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.user = _data[\"user\"] ? UserDto.fromJS(_data[\"user\"]) : undefined;\r\n this.passwortResetSuccessful = _data[\"passwortResetSuccessful\"];\r\n this.reasonForFailure = _data[\"reasonForFailure\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPasswordResetResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPasswordResetResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"passwortResetSuccessful\"] = this.passwortResetSuccessful;\r\n data[\"reasonForFailure\"] = this.reasonForFailure;\r\n return data;\r\n }\r\n\r\n clone(): UserPasswordResetResultDto {\r\n const json = this.toJSON();\r\n let result = new UserPasswordResetResultDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user password reset result dto class */\r\nexport interface IUserPasswordResetResultDto {\r\n /** user */\r\n user?: UserDto | undefined;\r\n /** passwort reset successful */\r\n passwortResetSuccessful?: boolean;\r\n /** Set if PasswortResetSuccessful is false */\r\n reasonForFailure?: string | undefined;\r\n}\r\n\r\n/** The user password reset dto class */\r\nexport class UserPasswordResetDto extends BaseIdDto implements IUserPasswordResetDto {\r\n /** new password string */\r\n newPasswordString!: string;\r\n\r\n constructor(data?: IUserPasswordResetDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.newPasswordString = _data[\"newPasswordString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPasswordResetDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPasswordResetDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"newPasswordString\"] = this.newPasswordString;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n\r\n clone(): UserPasswordResetDto {\r\n const json = this.toJSON();\r\n let result = new UserPasswordResetDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The user password reset dto class */\r\nexport interface IUserPasswordResetDto extends IBaseIdDto {\r\n /** new password string */\r\n newPasswordString: string;\r\n}\r\n\r\n/** The password dto class */\r\nexport class PasswordDto implements IPasswordDto {\r\n /** password string */\r\n passwordString!: string;\r\n\r\n constructor(data?: IPasswordDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.passwordString = _data[\"passwordString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PasswordDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PasswordDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"passwordString\"] = this.passwordString;\r\n return data;\r\n }\r\n\r\n clone(): PasswordDto {\r\n const json = this.toJSON();\r\n let result = new PasswordDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The password dto class */\r\nexport interface IPasswordDto {\r\n /** password string */\r\n passwordString: string;\r\n}\r\n\r\n/** The assemblies dto class */\r\nexport class AssembliesDto implements IAssembliesDto {\r\n /** assemblies */\r\n assemblies?: AssemblyEntry[] | undefined;\r\n\r\n constructor(data?: IAssembliesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"assemblies\"])) {\r\n this.assemblies = [] as any;\r\n for (let item of _data[\"assemblies\"])\r\n this.assemblies!.push(AssemblyEntry.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AssembliesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AssembliesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.assemblies)) {\r\n data[\"assemblies\"] = [];\r\n for (let item of this.assemblies)\r\n data[\"assemblies\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n\r\n clone(): AssembliesDto {\r\n const json = this.toJSON();\r\n let result = new AssembliesDto();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The assemblies dto class */\r\nexport interface IAssembliesDto {\r\n /** assemblies */\r\n assemblies?: AssemblyEntry[] | undefined;\r\n}\r\n\r\n/** The assembly entry class */\r\nexport class AssemblyEntry implements IAssemblyEntry {\r\n /** name */\r\n name?: string | undefined;\r\n /** version */\r\n version?: string | undefined;\r\n /** location */\r\n location?: string | undefined;\r\n\r\n constructor(data?: IAssemblyEntry) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.version = _data[\"version\"];\r\n this.location = _data[\"location\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AssemblyEntry {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AssemblyEntry();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"version\"] = this.version;\r\n data[\"location\"] = this.location;\r\n return data;\r\n }\r\n\r\n clone(): AssemblyEntry {\r\n const json = this.toJSON();\r\n let result = new AssemblyEntry();\r\n result.init(json);\r\n return result;\r\n }\r\n}\r\n\r\n/** The assembly entry class */\r\nexport interface IAssemblyEntry {\r\n /** name */\r\n name?: string | undefined;\r\n /** version */\r\n version?: string | undefined;\r\n /** location */\r\n location?: string | undefined;\r\n}\r\n\r\n/** Enumeration of all available rights */\r\nexport enum Rights {\r\n AssembliesGetAllCmd = 0,\r\n UtilityGetPasswordCmd = 1,\r\n UserCountCmd = 2,\r\n UserCreateCmd = 3,\r\n UserDeactivateCmd = 4,\r\n UserDeleteCmd = 5,\r\n UserGetAllCmd = 6,\r\n UserGetByIdCmd = 7,\r\n UserGetByIdCompleteCmd = 8,\r\n UserGetByUsernameCmd = 9,\r\n UserGetCurrentCmd = 10,\r\n UserPasswordChangeCmd = 11,\r\n UserPasswordChangeForCurrentUserCmd = 12,\r\n UserPasswordRecoveryCmd = 13,\r\n UserPasswordResetCmd = 14,\r\n UserUpdateCmd = 15,\r\n InstituteSendCmd = 16,\r\n InstituteSyncCmd = 17,\r\n PatientSendCmd = 18,\r\n PatientSyncCmd = 19,\r\n UserSendCmd = 20,\r\n UserSyncCmd = 21,\r\n RoleCountCmd = 22,\r\n RoleCreateCmd = 23,\r\n RoleDeleteCmd = 24,\r\n RoleGetAllCmd = 25,\r\n RoleGetByIdCmd = 26,\r\n RoleGetByIdentifierCmd = 27,\r\n RoleUpdateCmd = 28,\r\n RightCreateCmd = 29,\r\n RightGetAllCmd = 30,\r\n RightGetByIdCmd = 31,\r\n RightGetByNameCmd = 32,\r\n RightsGetAllForCurrentUserCmd = 33,\r\n RightUpdateCmd = 34,\r\n PatientCreateCmd = 35,\r\n PatientDeleteCmd = 36,\r\n PatientGetAllCmd = 37,\r\n PatientGetCmd = 38,\r\n PatientGetMyCmd = 39,\r\n PatientLinkLoginUserCmd = 40,\r\n PatientUpdateCmd = 41,\r\n InstituteActivateCmd = 42,\r\n InstituteCountCmd = 43,\r\n InstituteCreateCmd = 44,\r\n InstituteDeactivateCmd = 45,\r\n InstituteDeleteCmd = 46,\r\n InstituteGetAllCmd = 47,\r\n InstituteGetAllCompleteCmd = 48,\r\n InstituteGetCmd = 49,\r\n InstituteGetMyCmd = 50,\r\n InstituteGetMyCompleteCmd = 51,\r\n InstituteUpdateCmd = 52,\r\n PatientsToInstituteAssignmentCmd = 53,\r\n PatientToInstitutesAssignmentCmd = 54,\r\n UsersToInstituteAssignmentCmd = 55,\r\n UserToInstitutesAssignmentCmd = 56,\r\n IdProviderCheckConnectivityCmd = 57,\r\n IdProviderInstituteSyncCmd = 58,\r\n IdProviderPatientSyncCmd = 59,\r\n IdProviderUserSyncCmd = 60,\r\n DocumentCreateCmd = 61,\r\n DocumentDeleteCmd = 62,\r\n DocumentGetAllCmd = 63,\r\n DocumentGetByIdentifierCmd = 64,\r\n DocumentGetByIdCmd = 65,\r\n DocumentGetContentVersionCmd = 66,\r\n DocumentGetLatestContentVersionCmd = 67,\r\n DocumentUpdateCmd = 68,\r\n DocumentUpdateWithContentCmd = 69,\r\n CheckCredentialsCmd = 70,\r\n LoginCmd = 71,\r\n LogoutCmd = 72,\r\n RefreshTokenCmd = 73,\r\n AuditTrailCountCmd = 74,\r\n AuditTrailGetAllCmd = 75,\r\n AuditTrailGetByIdCmd = 76,\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}\r\n\r\n}","interface String {\r\n toCamelCase(): String;\r\n}\r\n\r\nString.prototype.toCamelCase = function (): String {\r\n return this.charAt(0).toLowerCase() + this.substring(1);\r\n};\r\n","// extension methods\r\n\r\ntype predicate = (arg: T) => boolean;\r\n\r\ninterface Array {\r\n updateValues(newValues: Array): void;\r\n\r\n firstOrDefault(predicate: predicate): T;\r\n\r\n clear(): void;\r\n}\r\n\r\nArray.prototype.updateValues = function (newValues: Array): void {\r\n this.splice(0, this.length, ...newValues);\r\n};\r\n\r\nArray.prototype.firstOrDefault = function(predicate: predicate){\r\n return this.reduce((accumulator: T, currentValue: T) => {\r\n if(!accumulator && predicate(currentValue))\r\n accumulator = currentValue;\r\n\r\n return accumulator;\r\n }, null);\r\n}\r\n\r\nArray.prototype.clear = function (): void {\r\n this.splice(0, this.length);\r\n}\r\n\r\n// static methods\r\ninterface ArrayConstructor {\r\n range(start: number, end: number, reverse?: boolean): Array;\r\n}\r\n\r\nArray.range = function (start: number, end: number, reverse?: boolean): Array {\r\n const array = Array.from({length: (end - start + 1)}, (v, k) => k + start);\r\n return reverse ? array.reverse() : array;\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[(_vm.currentUser != null)?_c('v-navigation-drawer',{attrs:{\"app\":\"\",\"width\":\"260\",\"expand-on-hover\":\"\",\"permanent\":\"\",\"clipped\":true},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'home'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-tachometer-alt\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Dashboard\")])],1)],1),(_vm.canEditStudySystems)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'studysystems'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-notes-medical\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Studien\")])],1)],1):_vm._e(),(_vm.canSeePatients)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'realpatients'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-user-injured\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Patienten\")])],1)],1):_vm._e(),(_vm.canSeePatientConsents)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'patientconsents'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-clipboard-check\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Patienten-Consents\")])],1)],1):_vm._e(),(_vm.canSeePseudonymizedPatients)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'pseudonymizedpatients'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-user-secret\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" Pseundonymisierte Patienten \")])],1)],1):_vm._e(),(_vm.canEditInstitutes)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'institutes'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-hospital\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Zentren\")])],1)],1):_vm._e(),(_vm.canEditUsers)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'usersadmin'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-user-cog\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Nutzer\")])],1)],1):_vm._e(),(_vm.canSeeAuditTrail)?_c('v-list-item',{attrs:{\"link\":\"\",\"to\":{ name: 'audittrail'}}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-list\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"AuditTrail\")])],1)],1):_vm._e(),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":_vm.logout}},[_c('v-list-item-avatar',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-sign-out-alt\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Logout\")])],1)],1)],1)],1):_vm._e(),_c('v-app-bar',{attrs:{\"app\":\"\",\"color\":\"primary\",\"dark\":\"\",\"clipped-left\":\"\"}},[(_vm.currentUser != null)?_c('v-app-bar-nav-icon',{on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}):_vm._e(),_c('v-toolbar-title',{on:{\"click\":function($event){return _vm.goToHome()}}},[_c('span',{staticClass:\"font-weight-black\"},[_vm._v(\"ID\")]),_c('span',[_vm._v(\" Provider\")])]),_c('v-spacer'),(_vm.currentUser != null)?_c('v-bottom-sheet',{attrs:{\"inset\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({staticClass:\"ma-1\"},on),[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',[_vm._v(\"fa-user-circle\")])],1),_c('span',{staticClass:\"hidden-xs-only\"},[_vm._v(_vm._s(_vm.currentUser.displayName))])],1)]}}],null,false,924204264)},[_c('v-sheet',{staticClass:\"text-center\"},[_c('account')],1)],1):_vm._e()],1),_c('v-main',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_vm._l((_vm.alerts),function(alert,index){return _c('v-alert',{key:index,attrs:{\"prominent\":\"\",\"type\":\"error\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"grow\"},[_vm._v(_vm._s(alert.message))]),_c('v-col',{staticClass:\"shrink\"},[_c('v-btn',{attrs:{\"fab\":\"\",\"dark\":\"\",\"small\":\"\",\"color\":\"black\"},on:{\"click\":function($event){return _vm.dismissAlert(alert)}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"fa-times\")])],1)],1)],1)],1)}),_c('router-view')],2)],1),_c('v-footer',{attrs:{\"color\":\"primary\",\"app\":\"\",\"padless\":\"\"}},[_c('span',{staticClass:\"white--text overline px-2\"},[_vm._v(\"IdProvider 2.0.1 - © KGTec 2022\")]),_c('v-spacer'),_c('router-link',{staticClass:\"white--text overline px-2\",attrs:{\"to\":\"/impressum\"}},[_vm._v(\"Impressum\")]),_c('router-link',{staticClass:\"white--text overline px-2\",attrs:{\"to\":\"/impressum/#privacy\"}},[_vm._v(\"Datenschutz\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"flat\":\"\",\"color\":\"primary\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-user-circle\")]),_c('v-toolbar-title',[_vm._v(\"Account\")])],1),_c('v-card',[_c('v-card-text',[_c('form',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-text-field',{attrs:{\"readonly\":\"\",\"label\":\"Anzeigename\"},model:{value:(_vm.displayName),callback:function ($$v) {_vm.displayName=$$v},expression:\"displayName\"}}),_c('v-text-field',{attrs:{\"readonly\":\"\",\"label\":\"Benutzername\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('v-text-field',{attrs:{\"readonly\":\"\",\"label\":\"Rolle\"},model:{value:(_vm.role),callback:function ($$v) {_vm.role=$$v},expression:\"role\"}}),_c('v-text-field',{attrs:{\"label\":\"Altes Passwort\",\"append-icon\":_vm.showOldPassword ? 'fa-eye-slash' : 'fa-eye',\"type\":_vm.showOldPassword ? 'text' : 'password',\"required\":\"\"},on:{\"click:append\":function($event){_vm.showOldPassword = !_vm.showOldPassword}},model:{value:(_vm.passwordOld),callback:function ($$v) {_vm.passwordOld=$$v},expression:\"passwordOld\"}}),_c('v-text-field',{attrs:{\"label\":\"Neues Passwort\",\"hint\":\"Das Passwort muss mindestens 6 Zeichen lang sein und muss mindestens einen Großbuchstaben, Kleinbuchstaben und eine Ziffer enthalten\",\"append-icon\":_vm.showNewPassword ? 'fa-eye-slash' : 'fa-eye',\"type\":_vm.showNewPassword ? 'text' : 'password',\"rules\":[_vm.rules.required, _vm.rules.min, _vm.ruleOtherPassword, _vm.rules.uppercase, _vm.rules.lowercase, _vm.rules.number],\"counter\":\"\",\"required\":\"\"},on:{\"click:append\":function($event){_vm.showNewPassword = !_vm.showNewPassword}},model:{value:(_vm.passwordNew1),callback:function ($$v) {_vm.passwordNew1=$$v},expression:\"passwordNew1\"}}),(!_vm.showNewPassword)?_c('v-text-field',{attrs:{\"label\":\"Neues Passwort wiederholen\",\"hint\":\"Das Passwort muss mindestens 6 Zeichen lang sein und muss mindestens einen Großbuchstaben, Kleinbuchstaben und eine Ziffer enthalten\",\"type\":\"password\",\"rules\":[_vm.rules.required, _vm.ruleSamePassword, _vm.rules.min, _vm.rules.uppercase, _vm.rules.lowercase, _vm.rules.number],\"counter\":\"\",\"required\":\"\"},model:{value:(_vm.passwordNew2),callback:function ($$v) {_vm.passwordNew2=$$v},expression:\"passwordNew2\"}}):_vm._e(),_c('v-btn',{attrs:{\"disabled\":!_vm.passwordIsOkToChange,\"color\":\"primary\"},on:{\"click\":function($event){return _vm.changePassword()}}},[_vm._v(\" Passwort ändern \")])],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.showOkDialog),callback:function ($$v) {_vm.showOkDialog=$$v},expression:\"showOkDialog\"}},[_c('ok-dialog',{attrs:{\"headline\":_vm.okDialogHeadline,\"text\":_vm.okDialogText},on:{\"ok\":function($event){_vm.showOkDialog = false}}})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[(_vm.headline)?_c('v-card-title',{staticClass:\"headline\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.headline)}})]):_vm._e(),(_vm.text)?_c('v-card-text',[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.text)}})]):_vm._e(),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":function($event){return _vm.$emit('ok')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" OK \")],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from \"vue-property-decorator\";\n\n@Component\nexport default class OkDialog extends Vue {\n @Prop({required: true})\n headline!: String;\n @Prop({required: true})\n text!: String;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OkDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OkDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./OkDialog.vue?vue&type=template&id=127b098b&\"\nimport script from \"./OkDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./OkDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VIcon,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from \"vue-property-decorator\";\nimport {currentUserModule} from \"@/store\";\nimport OkDialog from \"@/components/common/OkDialog.vue\";\n\n@Component({\n name: 'Account',\n components: {\n OkDialog\n },\n})\nexport default class Account extends Vue {\n passwordOld: string = \"\";\n passwordNew1: string = \"\";\n passwordNew2: string = \"\";\n showOldPassword: boolean = false;\n showNewPassword: boolean = false;\n valid: boolean = false;\n rules: any = {\n required: (v: any) => !!v || 'Wird Benötigt.',\n min: (v: any) => v.length >= 6 || 'Mindestens 6 Zeichen',\n uppercase: (v: any) => (/[A-Z]/.test(v)) || 'Mindestens 1 Großbuchstaben',\n lowercase: (v: any) => (/[a-z]/.test(v)) || 'Mindestens 1 Kleinbuchstabe',\n number: (v: any) => (/[0-9]/.test(v)) || 'Mindestens eine Zahl',\n };\n showOkDialog: boolean = false;\n okDialogHeadline: string = \"\";\n okDialogText: string = \"\";\n\n get passwordIsOkToChange() {\n // TODO fancy password change rules\n return this.valid &&\n this.passwordOld != null && this.passwordOld.length > 0 &&\n this.passwordNew1 != null && this.passwordNew1.length > 0 &&\n this.passwordOld !== this.passwordNew1 &&\n (this.showNewPassword ||\n (this.passwordNew2 != null && this.passwordNew2.length > 0 &&\n this.passwordNew1 === this.passwordNew2));\n }\n\n get username() {\n return currentUserModule.user?.userName;\n }\n\n\n get displayName() {\n return currentUserModule.user?.displayName;\n }\n\n\n get role() {\n return currentUserModule.user?.role?.displayName;\n }\n\n async mounted() {\n await currentUserModule.load()\n }\n\n\n ruleOtherPassword(value: any) {\n return value !== this.passwordOld || 'Das alte und neue Passwort muss unterschiedlich sein'\n }\n\n ruleSamePassword(value: any) {\n return value === this.passwordNew1 || 'Neue Passwörter müssen gleich sein'\n }\n\n async changePassword() {\n console.log(this.passwordNew1)\n const result = await currentUserModule.changePassword({\n oldPassword: this.passwordOld,\n newPassword: this.passwordNew1\n });\n\n if (result) {\n this.okDialogHeadline = \"Passwortänderung erfolgreich\"\n this.okDialogText = \"Sie haben ihr Passwort erfolgreich geändert und können es bei der nächsten Anmeldung verwenden.\"\n } else {\n this.okDialogHeadline = \"Passwortänderung fehlgeschlagen\"\n this.okDialogText = \"Bitte überprüfen sie Ihr eingegebens Passwort.\"\n }\n this.showOkDialog = true;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Account.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Account.vue?vue&type=template&id=658b6b6f&scoped=true&\"\nimport script from \"./Account.vue?vue&type=script&lang=ts&\"\nexport * from \"./Account.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"658b6b6f\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VDialog,VForm,VIcon,VRow,VTextField,VToolbar,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Vue} from \"vue-property-decorator\";\r\nimport Account from './components/Account.vue';\r\nimport {alertModule, authModule, currentUserModule} from \"@/store\";\r\nimport {Alert} from \"@/store/modules/alert\";\r\n\r\n@Component({\r\n components: {\r\n Account\r\n },\r\n})\r\nexport default class App extends Vue {\r\n\r\n drawer: any = null;\r\n\r\n get canEditStudySystems() {\r\n return currentUserModule.hasRight(\"StudySystemUpdateCmd\");\r\n }\r\n\r\n get canEditUsers() {\r\n return currentUserModule.hasRight(\"UserGetAllCmd\");\r\n }\r\n\r\n get canEditInstitutes() {\r\n return currentUserModule.hasRight(\"InstituteGetAllCmd\");\r\n }\r\n\r\n get canSeePatients() {\r\n return currentUserModule.hasRight(\"PatientGetAllCmd\");\r\n }\r\n\r\n get canSeePatientConsents() {\r\n return currentUserModule.hasRight(\"PatientConsentGetAllCmd\");\r\n }\r\n\r\n get canSeePseudonymizedPatients() {\r\n return currentUserModule.hasRight(\"PseudonymizedPatientGetAllCmd\");\r\n }\r\n\r\n get canSeeAuditTrail() {\r\n return currentUserModule.hasRight(\"AuditTrailGetAllCmd\");\r\n }\r\n\r\n get alerts() {\r\n return alertModule.alerts || []\r\n }\r\n\r\n get currentUser() {\r\n return currentUserModule.user;\r\n }\r\n\r\n async mounted() {\r\n await currentUserModule.load();\r\n }\r\n\r\n async dismissAlert(alert: Alert) {\r\n alertModule.remove(alert)\r\n }\r\n\r\n async logout() {\r\n await authModule.logout();\r\n await currentUserModule.load();\r\n this.$router.push(\"/\")\r\n }\r\n\r\n async goToHome() {\r\n if (currentUserModule.user != null)\r\n this.$router.push({name: 'home'});\r\n else\r\n this.$router.push(\"/\")\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=22fdcc9c&\"\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&scope=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBottomSheet } from 'vuetify/lib/components/VBottomSheet';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VApp,VAppBar,VAppBarNavIcon,VAvatar,VBottomSheet,VBtn,VChip,VCol,VContainer,VFooter,VIcon,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VMain,VNavigationDrawer,VRow,VSheet,VSpacer,VToolbarTitle})\n","import goTo from 'vuetify/es5/services/goto'\r\n\r\nexport default function(value){\r\n return goTo(value);\r\n}\r\n","import Vue from 'vue'\r\nimport VueRouter, {Route, RouteConfig} from 'vue-router'\r\nimport goTo from './goto-shim'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'login',\r\n component: () => import('@/views/LoginView.vue')\r\n },\r\n {\r\n path: '/impressum',\r\n name: 'impressum',\r\n component: () => import('@/views/ImpressumView.vue')\r\n },\r\n {\r\n path: '/home',\r\n name: 'home',\r\n component: () => import('@/views/HomeView.vue')\r\n },\r\n {\r\n path: '/admin/usersadmin',\r\n name: 'usersadmin',\r\n component: () => import('@/views/admin/UsersAdmin.vue')\r\n },\r\n {\r\n path: '/admin/audittrail',\r\n name: 'audittrail',\r\n component: () => import('@/views/admin/AuditTrail.vue')\r\n },\r\n {\r\n path: '/patientconsents',\r\n name: 'patientconsents',\r\n component: () => import('@/views/PatientConsents.vue')\r\n },\r\n {\r\n path: '/realpatients',\r\n name: 'realpatients',\r\n component: () => import('@/views/RealPatients.vue')\r\n },\r\n {\r\n path: '/pseudonymizedpatients',\r\n name: 'pseudonymizedpatients',\r\n component: () => import('@/views/PseudonymizedPatients.vue')\r\n },\r\n {\r\n path: '/institutes',\r\n name: 'institutes',\r\n component: () => import('@/views/Institutes.vue')\r\n },\r\n {\r\n path: '/studysystems',\r\n name: 'studysystems',\r\n component: () => import('@/views/StudySystems.vue')\r\n },\r\n {\r\n path: '/patientregistration/:patientId',\r\n name: 'patientregistration',\r\n component: () => import('@/views/PatientRegistration.vue'),\r\n props: route => ({\r\n patientId: route.params.patientId,\r\n challenge: route.query.challenge,\r\n userId: route.query.userId,\r\n }),\r\n meta: {\r\n public: true\r\n }\r\n }\r\n]\r\n\r\nconst scrollBehavior = function (to: Route, from: Route, savedPosition: any) {\r\n if (to.hash) {\r\n return goTo(to.hash)\r\n } else if (savedPosition) {\r\n return goTo(savedPosition.y)\r\n }\r\n return goTo(0)\r\n};\r\n\r\nconst router = new VueRouter({\r\n base: process.env.BASE_URL,\r\n scrollBehavior,\r\n routes\r\n})\r\n\r\nexport default router\r\n","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\nimport de from 'vuetify/es5/locale/de';\r\nimport colors from 'vuetify/lib/util/colors'\r\nimport '@fortawesome/fontawesome-free/css/all.css'\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n theme: {\r\n themes: {\r\n light: {\r\n primary: \"#16728c\",\r\n secondary: \"#fc884a\",\r\n accent: \"#9c27b0\",\r\n error: \"#f44336\",\r\n warning: \"#ffc107\",\r\n info: \"#00B8D4\",\r\n success: \"#4caf50\"\r\n },\r\n },\r\n },\r\n lang: {\r\n locales: {de},\r\n current: 'de',\r\n },\r\n icons: {\r\n iconfont: 'fa',\r\n },\r\n});\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\n\r\nimport vuetify from './plugins/vuetify'\r\nimport 'vuetify/dist/vuetify.min.css'\r\n\r\nimport 'roboto-fontface/css/roboto/roboto-fontface.css'\r\n/*\r\nimport {dom, library} from '@fortawesome/fontawesome-svg-core'\r\n\r\nimport {\r\n faArrowSquareLeft,\r\n faArrowSquareRight,\r\n faBan,\r\n faBars,\r\n faBookMedical,\r\n faCalendarAlt,\r\n faCalendarCheck,\r\n faCaretDown,\r\n faCaretLeft,\r\n faChevronDown,\r\n faChevronLeft,\r\n faChevronRight,\r\n faCircle, faDotCircle,\r\n faDownload,\r\n faEdit,\r\n faExclamationTriangle,\r\n faEye,\r\n faEyeSlash,\r\n faFileAlt,\r\n faFileChartLine,\r\n faFilePdf,\r\n faFilesMedical,\r\n faHospital,\r\n faList,\r\n faLock,\r\n faPlus,\r\n faPlusSquare,\r\n faSave,\r\n faSearch,\r\n faSignOutAlt,\r\n faSortUp,\r\n faTachometerAlt,\r\n faTimes,\r\n faTimesCircle,\r\n faTrash,\r\n faUndo,\r\n faUser,\r\n faUserCircle,\r\n faUserCog,\r\n faUserInjured\r\n} from \"@fortawesome/pro-solid-svg-icons\";\r\n\r\nimport {\r\n\r\n} from \"@fortawesome/fontawesome-free\";\r\n\r\nimport {\r\n faBookMedical as fadBookMedical,\r\n faCalendarAlt as fadCalendarAlt,\r\n faFileChartLine as fadFileChartLine,\r\n faFilesMedical as fadFilesMedical,\r\n faHospital as fadHospital,\r\n faList as fadList,\r\n faPaperPlane as fadPaperPlane,\r\n faQuestion as fadQuestion,\r\n faSignOutAlt as fadSignOutAlt,\r\n faTachometerAlt as fadTachometerAlt,\r\n faUserCog as fadUserCog,\r\n faUserInjured as fadUserInjured\r\n} from '@fortawesome/pro-duotone-svg-icons';\r\n\r\nimport {FontAwesomeIcon} from '@fortawesome/vue-fontawesome'\r\n\r\nlibrary.add(faDownload, faFileChartLine, faEyeSlash, faFileAlt, faFilePdf, faExclamationTriangle, faTimes, faTimesCircle, faArrowSquareLeft, faArrowSquareRight, faBan, faBars, faBookMedical, faCalendarAlt, faCalendarCheck, faCaretDown, faCaretLeft, faChevronDown, faChevronLeft, faChevronRight, faEdit, faEye, faFilesMedical, faHospital, faList, faLock, faPlus, faPlusSquare, faSave, faSearch, faSignOutAlt, faSortUp, faTachometerAlt, faTrash, faUndo, faUser, faUserCircle, faUserCog, faUserInjured, faCircle, faDotCircle);\r\nlibrary.add(fadCalendarAlt, fadBookMedical, fadFileChartLine, fadFilesMedical, fadQuestion, fadSignOutAlt, fadTachometerAlt, fadUserCog, fadUserInjured, fadList, fadHospital, fadPaperPlane);\r\n\r\ndom.watch()\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n*/\r\nVue.config.productionTip = false;\r\nrequire('@/extensions');\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n"],"sourceRoot":""}