{"version":3,"sources":["webpack:///./src/views/App/Tools/UserManagement/UsersTable.vue?3e01","webpack:///./src/views/App/Tools/UserManagement/UserMFASwitch.vue?419e","webpack:///./src/model/communication/users/MFA/GetMFAStatusResData.ts","webpack:///./src/model/communication/users/MFA/GetMFAStatusCommand.ts","webpack:///./src/model/communication/ApiResponse.ts","webpack:///./src/model/communication/users/MFA/EnableMFACommand.ts","webpack:///./src/model/communication/users/MFA/DisableMFACommand.ts","webpack:///./src/model/communication/users/MFA/DownloadMFAInstructions.ts","webpack:///./src/views/App/Tools/UserManagement/UserMFASwitch.vue","webpack:///./src/views/App/Tools/UserManagement/UserMFASwitch.vue?1d36","webpack:///./src/views/App/Tools/UserManagement/UserMFASwitch.vue?8e6b","webpack:///./src/views/App/Tools/UserManagement/EditClientUserModal.vue?d0c1","webpack:///./src/model/communication/users/CreateClientUserReqData.ts","webpack:///./src/model/communication/users/CreateClientUserCommand.ts","webpack:///./src/model/communication/users/EditClientUserCommand.ts","webpack:///./src/views/App/Tools/UserManagement/EditClientUserModal.vue","webpack:///./src/views/App/Tools/UserManagement/EditClientUserModal.vue?4a6d","webpack:///./src/views/App/Tools/UserManagement/EditClientUserModal.vue?d28f","webpack:///./src/views/App/Tools/UserManagement/DeleteClientUserModal.vue?7131","webpack:///./src/views/App/Tools/UserManagement/DeleteClientUserModal.vue","webpack:///./src/views/App/Tools/UserManagement/DeleteClientUserModal.vue?53ec","webpack:///./src/views/App/Tools/UserManagement/DeleteClientUserModal.vue?e66c","webpack:///./src/model/communication/users/FetchClientUsersResponse.ts","webpack:///./src/model/communication/users/FetchClientUsersCommand.ts","webpack:///./src/views/App/Tools/UserManagement/UsersTable.vue","webpack:///./src/views/App/Tools/UserManagement/UsersTable.vue?a91e","webpack:///./src/views/App/Tools/UserManagement/UsersTable.vue?d590","webpack:///./src/views/App/Tools/UserManagement/index.vue?884a","webpack:///./src/views/App/Tools/UserManagement/index.vue","webpack:///./src/views/App/Tools/UserManagement/index.vue?6701","webpack:///./src/views/App/Tools/UserManagement/index.vue?24e0","webpack:///./src/model/communication/users/FetchClientProfilesResponse.ts","webpack:///./src/components/DeviceFolderTree.vue?fb6b","webpack:///./src/components/DeviceFolderTree.vue","webpack:///./src/components/DeviceFolderTree.vue?bb2b","webpack:///./src/components/DeviceFolderTree.vue?fd44","webpack:///./src/model/communication/users/DeleteClientProfileReqData.ts","webpack:///./src/views/App/Tools/UserManagement/ProfilesTable.vue?de72","webpack:///./src/views/App/Tools/UserManagement/EditClientProfileModal.vue?9c30","webpack:///./src/model/communication/users/CreateClientProfileCommand.ts","webpack:///./src/model/communication/users/CreateClientProfileReqData.ts","webpack:///./src/model/communication/users/FetchWindowsGroupsResponse.ts","webpack:///./src/model/communication/users/FetchWindowsGroupsCommand.ts","webpack:///./src/model/communication/users/GetAnyAuthPluginCommand.ts","webpack:///./src/model/communication/users/UpdateClientProfileCommand.ts","webpack:///./src/views/App/Tools/UserManagement/EditClientProfileModal.vue","webpack:///./src/views/App/Tools/UserManagement/EditClientProfileModal.vue?81ee","webpack:///./src/views/App/Tools/UserManagement/EditClientProfileModal.vue?dbfb","webpack:///./src/views/App/Tools/UserManagement/DeleteClientProfileModal.vue?a0a3","webpack:///./src/views/App/Tools/UserManagement/DeleteClientProfileModal.vue","webpack:///./src/views/App/Tools/UserManagement/DeleteClientProfileModal.vue?1cd1","webpack:///./src/views/App/Tools/UserManagement/DeleteClientProfileModal.vue?7515","webpack:///./src/views/App/Tools/UserManagement/EditOrganizationProfiles.vue?978e","webpack:///./src/views/App/Tools/UserManagement/EditOrganizationProfiles.vue","webpack:///./src/views/App/Tools/UserManagement/EditOrganizationProfiles.vue?cbf2","webpack:///./src/views/App/Tools/UserManagement/EditOrganizationProfiles.vue?ac87","webpack:///./src/model/communication/organizations/EditOrganizationProfilesCommand.ts","webpack:///./src/views/App/Tools/UserManagement/ProfilesTable.vue","webpack:///./src/views/App/Tools/UserManagement/ProfilesTable.vue?70de","webpack:///./src/views/App/Tools/UserManagement/ProfilesTable.vue?defd","webpack:///./src/model/communication/users/DeleteClientUserReqData.ts","webpack:///./src/model/communication/users/FetchClientProfilesCommand.ts","webpack:///./src/model/communication/users/DeleteClientUserCommand.ts","webpack:///./src/model/communication/application/GetAvailableLanguagesResponse.ts","webpack:///./src/model/communication/application/GetAvailableLanguagesCommand.ts","webpack:///./src/model/communication/users/DeleteClientProfileCommand.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","model","value","callback","$$v","showErrorAlert","expression","_v","_s","$t","organization","on","$event","filterUsersByProfile","domProps","_e","search","openEditUserDialog","headers","users","filter","u","profile","name","selectedProfileName","loading","length","scopedSlots","_u","key","fn","ref","authUser","includes","profileNameInternalString","substring","lastIndexOf","item","_l","folder","id","associatedHierarchyList","openDeleteUserDialog","$vuetify","breakpoint","mdAndDown","getUsers","showEditUserDialog","userToEdit","$emit","showDeleteUserDialog","userToDelete","deleteUser","staticRenderFns","downloadLoading","onSwitchChange","mfaEnabled","response","isEnabled","data","Payload","IsEnabled","ApiGenericResponse","username","endPoint","httpVerb","executeCommand","res","Command","message","payload","ApiResponse","Response","Message","FromAxiosResponse","responseType","extend","disabled","props","String","watch","handler","fetchMFAStatus","immediate","methods","downloadInstructions","execute","fileURL","window","URL","createObjectURL","Blob","fileLink","document","createElement","href","setAttribute","body","appendChild","click","val","component","VSwitch","justSaved","clientUser","canSave","saving","onSaveClick","onCloseClick","email","lang","copyEmailTemplate","emailTemplateAlert","errorMessage","usernameRules","availableProfiles","availableLanguages","selectedLanguage","availableDateFormat","selectedDateFormat","availableTimeFormat","selectedTimeFormat","secureLength","showPassword","onScoreChange","onFeedbackChange","password1","password2","suggestions","warning","ENDPOINT","clientUserReqData","ServiceResponseData","minScoreKey","minCharactersKey","defaultMinScore","defaultMinCharacters","components","Password","v","currentScore","text","computed","passwordPolicy","state","application","configurationEntries","c","section","currentUser","authMod","every","r","undefined","minScoreRequired","samePassword","Number","find","error","console","ClientUser","newValue","reset","user","localeFromOptions","userConfig","dateFormat","timeFormat","language","trim","getProfiles","FetchClientProfilesCommand","responseStatus","ApiResponseStatusEnum","Success","clientProfiles","map","p","f","replace","join","log","getLanguages","GetAvailableLanguagesCommand","reqData","password","profileName","responseString","0","score","toCopy","1","2","3","location","origin","$te","navigator","clipboard","writeText","mounted","VAlert","VAutocomplete","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDivider","VSelect","VSpacer","VTextField","type","required","clientUsers","forEach","push","parseFrom","UserMFASwitch","EditClientUserModal","DeleteClientUserModal","sortable","width","Object","filterUsersTable","$refs","editClientUserModal","some","organizationId","DeleteClientUserCommand","DeleteClientUserReqData","VDataTable","VDialog","VToolbar","VToolbarTitle","AppPage","ProfilesTable","UsersTable","profilesTable","usersTable","VCol","VRow","FetchClientProfilesResponse","ClientProfileExtended","Name","windowsGroup","WindowsGroup","authPluginGroup","AuthPluginGroup","privileges","Privileges","PrivilegeName","associatedUsersCount","AssociatedUsersCount","associatedExternalUsersCount","AssociatedExternalUsersCount","AssociatedHierarchyList","OrganizationId","reload","editedFolderTree","leaf","openAll","open","K","FOLDER_COLOR","selectedFolder","disabledNode","$store","getters","folderNames","get","set","folderTree","JSON","parse","stringify","node","root","stack","found","pop","toString","disableChildren","children","child","deep","currNode","VTreeview","DeleteClientProfileReqData","isOrganizationManagementEnabled","showAddProfilesToTheOrganizationDialog","openEditProfileDialog","profiles","header","_g","availableOrganizations","o","isUserSuperAdminComp","$tc","count","openDeleteProfileDialog","showEditProfileDialog","profileToEdit","showDeleteProfileDialog","profileToDelete","deleteProfile","editOrganizationProfiles","clientProfile","profileNameMaxLength","startupData","isWSFedAuthenticationEnabledComp","wsFedProfile","selectedOrganization","azureADLoginEnabled","profileOrganization","loginModes","l","LoginModeType","AzureAD","enabled","azureGroup","availableWindowsGroups","windowsGroupsLoading","selectedPrivilegesLength","e","reduce","a","b","availablePrivilegesForThisProfile","unselectAllPrivileges","selectAllPrivileges","licenseModule","getLicenseModuleIconAndColor","color","icon","selectedPrivileges","requiredLicense","getLicenseModuleLabel","namei18n","index","s","$set","staticStyle","selectedFolders","clientProfileReqData","groups","any","Any","DeviceFolderTree","LoginMode","showAuthPluginGroupInput","ClientProfile","Array","default","licenseData","license","licenseModules","isUserSuperAdmin","isWSFedAuthenticationEnabled","privilegeName","OrganizationsManagement","flat","availableLicenseModules","defaultLicenseModuleEnumSorting","modules","m","module","LicenseModuleEnum","None","isAvailable","SuperAdmin","sort","availableLicenseModule","selectedPrivilegesSingleModule","tempOrganization","tempLoginModes","loginMode","ADLegacy","getWindowsGroups","firstLevelMenu","menu","ServiceAndUpdatesManagement","CashFlowManagement","FitnessStatistics","SecurityManagement","PredictiveMaintenance","RemoteLink","OneTimeCode","requiredLicenseModules","element","availablePrivilegeForThisProfile","group","getAnyAuthPlugin","then","associatedFoldersIds","VAvatar","VChip","VCombobox","VIcon","selectedProfiles","profileNames","folderId","EditClientProfileModal","DeleteClientProfileModal","EditOrganizationProfiles","DeleteClientProfileCommand","getOrganizations","GetOrganizationsCommand","organizations","selectedProfile","VTooltip","blacklistedLanguages","store"],"mappings":"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","file":"js/chunk_app_user_management_view.3a3a86fe.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"px-4 pb-6\",attrs:{\"outlined\":\"\"}},[_c('v-alert',{staticClass:\"mt-3\",attrs:{\"type\":\"error\",\"text\":\"\",\"dismissible\":\"\"},model:{value:(_vm.showErrorAlert),callback:function ($$v) {_vm.showErrorAlert=$$v},expression:\"showErrorAlert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.error_deleting\"))+\" \")]),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"list\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.organization != null ? _vm.$t(\"organizationsManagement.organizationUsers\") : _vm.$t(\"organizationsManagement.users\"))+\" \")]),_c('v-spacer'),(_vm.filterUsersByProfile)?_c('v-btn',{staticClass:\"mx-5\",attrs:{\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.filterUsersByProfile = false}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"times\",\"small\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.resetFilters'))}})],1):_vm._e(),_c('v-card',{attrs:{\"flat\":\"\",\"width\":\"30%\"}},[_c('v-text-field',{attrs:{\"append-icon\":\"fa-search\",\"label\":_vm.$t('common.search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),(!_vm.organization)?_c('v-btn',{staticClass:\"ml-2\",attrs:{\"icon\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.openEditUserDialog(null)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"plus\"}})],1):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"px-4 mt-2\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filterUsersByProfile ? _vm.users.filter(function (u) { return u.profile.name == _vm.selectedProfileName; }) : _vm.users,\"dense\":\"\",\"loading\":_vm.loading,\"hide-default-footer\":_vm.organization != null && _vm.users.length < 20,\"search\":_vm.search},scopedSlots:_vm._u([{key:\"item.name\",fn:function(ref){\nvar value = ref.value;\nreturn [(value == _vm.authUser.name)?_c('b',{domProps:{\"textContent\":_vm._s(value + ' (' + _vm.$t('user_management.your_user') + ')')}}):_c('span',{domProps:{\"textContent\":_vm._s(value)}})]}},{key:\"item.profile.name\",fn:function(ref){\nvar value = ref.value;\nreturn [(value.includes(_vm.profileNameInternalString))?_c('span',[(value == _vm.authUser.profile.name)?_c('span',{domProps:{\"textContent\":_vm._s(value.substring(0, value.lastIndexOf(_vm.profileNameInternalString)) + ' (' + _vm.$t('user_management.your_profile') + ')')}}):_c('span',{domProps:{\"textContent\":_vm._s(value.substring(0, value.lastIndexOf(_vm.profileNameInternalString)))}})]):_c('span',[(value == _vm.authUser.profile.name)?_c('span',{domProps:{\"textContent\":_vm._s(value + ' (' + _vm.$t('user_management.your_profile') + ')')}}):_c('span',{domProps:{\"textContent\":_vm._s(value)}})])]}},{key:\"item.visibility\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._l((item.profile.associatedHierarchyList),function(folder){return _c('span',{key:folder.id},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"folder\",\"small\":\"\",\"color\":\"primary\"}}),_c('span',{staticClass:\"mr-4\",domProps:{\"textContent\":_vm._s(folder.name)}}),_c('br')],1)}),(!item.profile.associatedHierarchyList || !item.profile.associatedHierarchyList.length)?_c('div',[_c('v-fa-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"exclamation-triangle\",\"color\":\"warning\",\"small\":\"\"}}),_vm._v(\" \"),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.noFolder'))}})],1):_vm._e()]}},{key:\"item.action\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.authUser == null || item.name != _vm.authUser.name)?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.openEditUserDialog(item)}}},[_c('v-fa-icon',{attrs:{\"color\":\"warning\",\"icon\":\"edit\"}})],1):_vm._e(),(_vm.authUser == null || item.name != _vm.authUser.name)?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.openDeleteUserDialog(item)}}},[_c('v-fa-icon',{attrs:{\"color\":\"error\",\"icon\":\"trash\"}})],1):_vm._e()]}},{key:\"item.mfa\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('UserMFASwitch',{attrs:{\"username\":item.name}})]}}],null,true)}),_c('v-dialog',{attrs:{\"width\":_vm.$vuetify.breakpoint.mdAndDown ? '90%' : '40%'},on:{\"click:outside\":function($event){return _vm.getUsers()}},model:{value:(_vm.showEditUserDialog),callback:function ($$v) {_vm.showEditUserDialog=$$v},expression:\"showEditUserDialog\"}},[_c('EditClientUserModal',{ref:\"editClientUserModal\",attrs:{\"clientUser\":_vm.userToEdit,\"availableProfiles\":[]},on:{\"close\":function($event){_vm.getUsers();\n _vm.$emit('getProfiles');}}})],1),_c('v-dialog',{attrs:{\"width\":\"40%\"},on:{\"click:outside\":function($event){_vm.showDeleteUserDialog = false}},model:{value:(_vm.showDeleteUserDialog),callback:function ($$v) {_vm.showDeleteUserDialog=$$v},expression:\"showDeleteUserDialog\"}},[(_vm.userToDelete)?_c('DeleteClientUserModal',{attrs:{\"clientUser\":_vm.userToDelete},on:{\"close\":function($event){_vm.showDeleteUserDialog = false},\"confirm\":function($event){return _vm.deleteUser()}}}):_vm._e()],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-switch',{staticClass:\"ma-0 pa-0\",attrs:{\"disabled\":_vm.downloadLoading,\"loading\":_vm.loading,\"hide-details\":\"\"},on:{\"change\":_vm.onSwitchChange},model:{value:(_vm.mfaEnabled),callback:function ($$v) {_vm.mfaEnabled=$$v},expression:\"mfaEnabled\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../../ApiGenericResponse\";\r\n\r\nexport class GetMFAStatusResData extends ApiGenericResponse {\r\n isEnabled: boolean = false;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response.data && response.data.Payload) {\r\n this.isEnabled = response.data.Payload.IsEnabled;\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../../Command\";\r\nimport { GetMFAStatusResData } from \"./GetMFAStatusResData\";\r\n\r\nexport class GetMFAStatusCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + \"/usermanagement\";\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor(username: string) {\r\n super();\r\n this.endPoint += `/${username}/mfa`;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new GetMFAStatusResData(res);\r\n }\r\n}\r\n","import { ApiResponseCodeEnum } from \"./ApiResponseCodeEnum\";\r\n\r\nexport class ApiResponse {\r\n response: ApiResponseCodeEnum;\r\n message: string;\r\n payload: object;\r\n\r\n constructor(response: ApiResponseCodeEnum, message: string, payload: object) {\r\n this.response = response;\r\n this.message = message;\r\n this.payload = payload;\r\n }\r\n\r\n public static FromAxiosResponse(res: any) {\r\n return new ApiResponse(res.data.Response as ApiResponseCodeEnum, res.data.Message, res.data.Payload);\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../../ApiGenericResponse\";\r\nimport { ApiResponse } from \"../../ApiResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../../Command\";\r\n\r\nexport class EnableMFACommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + \"/usermanagement\";\r\n httpVerb: HttpVerbType = \"post\";\r\n username: string;\r\n\r\n constructor(username: string) {\r\n super();\r\n this.endPoint += `/${username}/mfa`;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return ApiResponse.FromAxiosResponse(res);\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../../ApiGenericResponse\";\r\nimport { ApiResponse } from \"../../ApiResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../../Command\";\r\n\r\nexport class DisableMFACommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + \"/usermanagement\";\r\n httpVerb: HttpVerbType = \"delete\";\r\n username: string;\r\n\r\n constructor(username: string) {\r\n super();\r\n this.endPoint += `/${username}/mfa`;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return ApiResponse.FromAxiosResponse(res);\r\n }\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../../ApiGenericResponse\";\r\nimport { ApiResponse } from \"../../ApiResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../../Command\";\r\n\r\nexport class DownloadMFAInstructions extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + \"/usermanagement\";\r\n httpVerb: HttpVerbType = \"get\";\r\n username: string;\r\n\r\n constructor(username: string) {\r\n super();\r\n this.responseType = \"blob\";\r\n this.endPoint += `/${username}/mfa/download`;\r\n }\r\n\r\n public async execute(): Promise {\r\n return await this.executeCommand();\r\n }\r\n}\r\n","\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nimport { GetMFAStatusCommand } from \"@/model/communication/users/MFA/GetMFAStatusCommand\";\r\nimport { EnableMFACommand } from \"@/model/communication/users/MFA/EnableMFACommand\";\r\nimport { DisableMFACommand } from \"@/model/communication/users/MFA/DisableMFACommand\";\r\nimport { DownloadMFAInstructions } from \"@/model/communication/users/MFA/DownloadMFAInstructions\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n loading: false,\r\n mfaEnabled: false,\r\n disabled: false,\r\n downloadLoading: false,\r\n };\r\n },\r\n props: {\r\n username: String,\r\n },\r\n watch: {\r\n username: {\r\n handler() {\r\n this.fetchMFAStatus();\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n async downloadInstructions() {\r\n this.downloadLoading = true;\r\n const res = await new DownloadMFAInstructions(this.username).execute();\r\n\r\n let fileURL = window.URL.createObjectURL(new Blob([res.data]));\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", res.headers[\"content-disposition\"].substring(\"attachment; filename=\".length));\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n this.downloadLoading = false;\r\n },\r\n async onSwitchChange(val: boolean) {\r\n this.loading = true;\r\n if (val) {\r\n await new EnableMFACommand(this.username).execute();\r\n this.downloadInstructions();\r\n } else await new DisableMFACommand(this.username).execute();\r\n this.fetchMFAStatus();\r\n this.loading = false;\r\n },\r\n async fetchMFAStatus() {\r\n this.loading = true;\r\n const res = await new GetMFAStatusCommand(this.username).execute();\r\n this.mfaEnabled = res.isEnabled;\r\n this.loading = false;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMFASwitch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMFASwitch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMFASwitch.vue?vue&type=template&id=3aa592c8&\"\nimport script from \"./UserMFASwitch.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMFASwitch.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 { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pb-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":_vm.justSaved ? 'thumbs-up' : 'edit',\"color\":_vm.justSaved ? 'success' : ''}}),(_vm.justSaved)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.user_saved'))}}):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.clientUser != null ? \"user_management.edit_user\" : \"user_management.add_new_user\"))+\" \")]),_c('v-spacer'),(!_vm.justSaved)?_c('v-btn',{staticClass:\"px-8 mr-2\",attrs:{\"color\":\"success\",\"disabled\":!_vm.canSave,\"loading\":_vm.saving},on:{\"click\":function($event){return _vm.onSaveClick()}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"save\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"common.save\"))+\" \")],1):_vm._e(),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.onCloseClick()}}},[_c('v-fa-icon',{attrs:{\"icon\":\"times\"}})],1)],1),_c('v-divider',{staticClass:\"mx-6\"}),(_vm.justSaved)?_c('v-card',{staticClass:\"mt-4 mx-6 pt-4\",attrs:{\"outlined\":\"\"}},[(_vm.email)?_c('span',{staticClass:\"px-4\",domProps:{\"textContent\":_vm._s(_vm.$t('user_management.user_email') + ': ' + _vm.email)}}):_vm._e(),_c('v-card-actions',{staticClass:\"px-4 pt-0 mt-2\"},[_c('span',{staticClass:\"ma-0 pa-0 mr-3\",domProps:{\"textContent\":_vm._s(_vm.$t('user_management.email_template') + ':')}}),_vm._l((_vm.availableLanguages),function(lang){return _c('v-btn',{key:lang,staticClass:\"ma-1 py-1 px-4 mx-1\",attrs:{\"small\":\"\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.copyEmailTemplate(lang)}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"copy\",\"small\":\"\"}}),_vm._v(\" \"+_vm._s(lang)+\" \")],1)}),_c('v-spacer'),_c('v-alert',{staticClass:\"ma-0 py-1 px-4\",attrs:{\"text\":\"\",\"color\":\"success\",\"dense\":\"\",\"dismissible\":\"\"},model:{value:(_vm.emailTemplateAlert),callback:function ($$v) {_vm.emailTemplateAlert=$$v},expression:\"emailTemplateAlert\"}},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.copiedToClipboard'))}})])],2)],1):_c('v-card',{staticClass:\"mt-4 mx-6\",attrs:{\"outlined\":\"\"}},[(_vm.errorMessage)?_c('v-alert',{staticClass:\"ma-2\",attrs:{\"type\":\"error\"}},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.errorMessage)}})]):_vm._e(),_c('v-card-text',[_c('form',[_c('v-text-field',{attrs:{\"label\":_vm.$t('user_management.name'),\"disabled\":_vm.clientUser != null,\"autocomplete\":\"username\",\"rules\":_vm.usernameRules},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('v-autocomplete',{attrs:{\"items\":_vm.availableProfiles,\"label\":_vm.$t('user_management.profile')},model:{value:(_vm.selectedProfileName),callback:function ($$v) {_vm.selectedProfileName=$$v},expression:\"selectedProfileName\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('user_preferences.email'),\"autocomplete\":\"email\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1),_c('v-select',{attrs:{\"items\":_vm.availableLanguages,\"label\":_vm.$t('options.language')},model:{value:(_vm.selectedLanguage),callback:function ($$v) {_vm.selectedLanguage=$$v},expression:\"selectedLanguage\"}}),_c('v-select',{attrs:{\"items\":_vm.availableDateFormat,\"label\":_vm.$t('options.dateFormat')},model:{value:(_vm.selectedDateFormat),callback:function ($$v) {_vm.selectedDateFormat=$$v},expression:\"selectedDateFormat\"}}),_c('v-select',{attrs:{\"items\":_vm.availableTimeFormat,\"label\":_vm.$t('options.timeFormat')},model:{value:(_vm.selectedTimeFormat),callback:function ($$v) {_vm.selectedTimeFormat=$$v},expression:\"selectedTimeFormat\"}})],1),_c('v-card-text',{staticClass:\"py-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"login.new_password\"))+\" \")]),_c('Password',{attrs:{\"toggle\":true,\"secureLength\":_vm.secureLength,\"showPassword\":_vm.showPassword},on:{\"score\":_vm.onScoreChange,\"feedback\":_vm.onFeedbackChange,\"show\":function($event){_vm.showPassword = true},\"hide\":function($event){_vm.showPassword = false}},model:{value:(_vm.password1),callback:function ($$v) {_vm.password1=$$v},expression:\"password1\"}}),_c('v-card-text',{staticClass:\"py-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"login.confirm_new_password\"))+\" \"),(_vm.samePassword)?_c('v-fa-icon',{attrs:{\"icon\":\"check-circle\",\"small\":\"\",\"color\":\"success\"}}):_vm._e()],1),_c('Password',{staticClass:\"mb-4\",attrs:{\"toggle\":false,\"showStrengthMeter\":false,\"badge\":false,\"showPassword\":_vm.showPassword},model:{value:(_vm.password2),callback:function ($$v) {_vm.password2=$$v},expression:\"password2\"}}),(_vm.suggestions && _vm.suggestions.length > 0)?_c('v-alert',{staticClass:\"mx-5\",attrs:{\"type\":\"success\",\"text\":\"\",\"dense\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.suggestions[0])+\" \")]):_vm._e(),(_vm.warning)?_c('v-alert',{staticClass:\"mx-5\",attrs:{\"type\":\"error\",\"text\":\"\",\"dense\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.warning)+\" \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class CreateClientUserReqData {\r\n username: string;\r\n password: string;\r\n profileName: string;\r\n language: string;\r\n dateFormat: string;\r\n timeFormat: string;\r\n email: string;\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { CreateClientUserReqData } from \"./CreateClientUserReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/createuser\";\r\n\r\nexport class CreateClientUserCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n clientUserReqData: CreateClientUserReqData;\r\n\r\n constructor(clientUserReqData: CreateClientUserReqData) {\r\n super();\r\n this.clientUserReqData = clientUserReqData;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.clientUserReqData);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { CreateClientUserReqData } from \"./CreateClientUserReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/edituser\";\r\n\r\nexport class EditClientUserCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n clientUserReqData: CreateClientUserReqData;\r\n\r\n constructor(clientUserReqData: CreateClientUserReqData) {\r\n super();\r\n this.clientUserReqData = clientUserReqData;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.clientUserReqData);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from \"vue\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport { ApplicationState } from \"@/store/modules/ApplicationModule\";\r\n\r\n// Vue components\r\nimport Password from \"vue-password-strength-meter\";\r\n\r\n// Model\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\nimport { CreateClientUserReqData } from \"@/model/communication/users/CreateClientUserReqData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { ConfigurationEntry } from \"@/model/communication/application/GetServerConfigurationResponse\";\r\nimport { GetAvailableLanguagesCommand } from \"@/model/communication/application/GetAvailableLanguagesCommand\";\r\nimport { FetchClientProfilesCommand } from \"@/model/communication/users/FetchClientProfilesCommand\";\r\nimport { CreateClientUserCommand } from \"@/model/communication/users/CreateClientUserCommand\";\r\nimport { EditClientUserCommand } from \"@/model/communication/users/EditClientUserCommand\";\r\nimport { ServiceResponseData } from \"@/model/communication/ServiceResponseData\";\r\n\r\nconst minScoreKey: string = \"minScore\";\r\nconst minCharactersKey: string = \"minCharacters\";\r\n\r\nconst defaultMinScore: number = 3;\r\nconst defaultMinCharacters: number = 8;\r\n\r\nexport default Vue.extend({\r\n components: { Password },\r\n data() {\r\n return {\r\n profileNameInternalString: \"@$\",\r\n loading: false,\r\n saving: false,\r\n showPassword: false,\r\n justSaved: false,\r\n emailTemplateAlert: false,\r\n\r\n username: \"\",\r\n availableProfiles: [],\r\n selectedProfileName: \"\",\r\n email: \"\",\r\n password1: \"\",\r\n password2: \"\",\r\n availableLanguages: [],\r\n selectedLanguage: \"\",\r\n selectedDateFormat: \"YYYY-MM-DD\",\r\n selectedTimeFormat: \"ampm\",\r\n\r\n usernameRules: [(v: string) => v.length > 3 || \"Min 4 characters\"],\r\n\r\n errorMessage: \"\",\r\n currentScore: 0,\r\n suggestions: null,\r\n warning: null,\r\n\r\n availableTimeFormat: [\r\n {\r\n text: `AM/PM (${this.$t(\"options.forExample\")} 2:52 PM)`,\r\n value: \"ampm\",\r\n },\r\n {\r\n text: `24 ${this.$t(\"options.hours\")} (${this.$t(\"options.forExample\")} 14:52)`,\r\n value: \"24hr\",\r\n },\r\n ],\r\n availableDateFormat: [\r\n {\r\n text: `${this.$t(\"options.day\")}-${this.$t(\"options.month\")}-${this.$t(\"options.year\")} (${this.$t(\"options.forExample\")} 31-12-2022)`,\r\n value: \"DD-MM-YYYY\",\r\n },\r\n {\r\n text: `${this.$t(\"options.year\")}-${this.$t(\"options.month\")}-${this.$t(\"options.day\")} (${this.$t(\"options.forExample\")} 2022-12-31)`,\r\n value: \"YYYY-MM-DD\",\r\n },\r\n {\r\n text: `${this.$t(\"options.month\")}-${this.$t(\"options.day\")}-${this.$t(\"options.year\")} (${this.$t(\"options.forExample\")} 12-31-2022)`,\r\n value: \"MM-DD-YYYY\",\r\n },\r\n ],\r\n };\r\n },\r\n\r\n computed: {\r\n ...mapGetters([\"localeFromOptions\"]),\r\n ...mapState({\r\n passwordPolicy: function (state: RootState): ConfigurationEntry[] {\r\n return (state.application as ApplicationState).configurationEntries.filter((c) => c.section == \"PASSWORD_POLICY\");\r\n },\r\n currentUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n\r\n canSave() {\r\n if (!this.usernameRules.every((r) => r(this.username))) return false;\r\n if (this.username.length <= 0 || this.selectedProfileName.length <= 0) return false;\r\n if (this.minScoreRequired == undefined) return false;\r\n if (this.clientUser != null && (this.password1 == null || this.password1.length == 0) && (this.password2 == null || this.password2.length == 0)) return true;\r\n if (!(this.samePassword && this.currentScore >= this.minScoreRequired && this.password1.length >= this.secureLength)) return false;\r\n return true;\r\n },\r\n\r\n minScoreRequired() {\r\n try {\r\n let value = Number((this.passwordPolicy.find((c: ConfigurationEntry) => c.key == minScoreKey) as ConfigurationEntry).value);\r\n return value >= 0 ? value : defaultMinScore;\r\n } catch (error) {\r\n console.error(\"Cannot read \", minScoreKey, \" value from server pw policy configuration. Set it to \", defaultMinScore, \" as default.\");\r\n return defaultMinScore;\r\n }\r\n },\r\n\r\n secureLength() {\r\n try {\r\n let value = Number((this.passwordPolicy.find((c: ConfigurationEntry) => c.key == minCharactersKey) as ConfigurationEntry).value);\r\n return value >= 0 ? value : defaultMinCharacters;\r\n } catch (error) {\r\n console.error(\"Cannot read \", minCharactersKey, \" value from server pw policy configuration. Set it to \", defaultMinCharacters, \" as default.\");\r\n return defaultMinCharacters;\r\n }\r\n },\r\n\r\n samePassword() {\r\n return this.password1 != null && this.password2 != null && this.password1.length > 0 && this.password2 == this.password1;\r\n },\r\n },\r\n props: {\r\n clientUser: ClientUser,\r\n },\r\n watch: {\r\n clientUser(newValue) {\r\n this.reset(newValue);\r\n },\r\n },\r\n methods: {\r\n async reset(user: ClientUser) {\r\n this.errorMessage = \"\";\r\n this.currentScore = 0;\r\n this.suggestions = null;\r\n this.warning = null;\r\n this.justSaved = false;\r\n this.emailTemplateAlert = false;\r\n\r\n this.username = \"\";\r\n this.email = \"\";\r\n this.selectedProfileName = this.availableProfiles.length > 0 ? this.availableProfiles[0].value : [];\r\n if (this.localeFromOptions != null) this.selectedLanguage = this.localeFromOptions;\r\n else if (this.availableLanguages.length > 0) this.selectedLanguage = this.availableLanguages[0];\r\n else this.selectedLanguage = \"\";\r\n this.password1 = \"\";\r\n this.password2 = \"\";\r\n\r\n this.selectedDateFormat = \"YYYY-MM-DD\";\r\n this.selectedTimeFormat = \"ampm\";\r\n if (this.currentUser != null && this.currentUser.userConfig != null) {\r\n if (this.currentUser.userConfig.dateFormat != null && this.currentUser.userConfig.dateFormat != undefined)\r\n this.selectedDateFormat = this.currentUser.userConfig.dateFormat;\r\n if (this.currentUser.userConfig.timeFormat != null && this.currentUser.userConfig.timeFormat != undefined)\r\n this.selectedTimeFormat = this.currentUser.userConfig.timeFormat;\r\n }\r\n\r\n if (this.clientUser) {\r\n this.username = this.clientUser.name;\r\n this.selectedProfileName = this.clientUser.profile.name;\r\n this.email = this.clientUser.email;\r\n\r\n if (this.clientUser.userConfig != null) {\r\n if (this.clientUser.userConfig.language != null && this.clientUser.userConfig.language != undefined && this.clientUser.userConfig.language.trim() != \"\")\r\n this.selectedLanguage = this.clientUser.userConfig.language;\r\n if (this.clientUser.userConfig.dateFormat != null && this.clientUser.userConfig.dateFormat != undefined)\r\n this.selectedDateFormat = this.clientUser.userConfig.dateFormat;\r\n if (this.clientUser.userConfig.timeFormat != null && this.clientUser.userConfig.timeFormat != undefined)\r\n this.selectedTimeFormat = this.clientUser.userConfig.timeFormat;\r\n }\r\n }\r\n },\r\n\r\n async getProfiles() {\r\n try {\r\n this.reset(null);\r\n let res = await new FetchClientProfilesCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.availableProfiles = res.clientProfiles.map((p) => ({\r\n text: `${p.name.includes(this.profileNameInternalString) ? p.name.substring(0, p.name.lastIndexOf(this.profileNameInternalString)) : p.name} (${\r\n p.associatedHierarchyList.length\r\n ? p.associatedHierarchyList.map((f) => \"📁 \" + f.name.replace(\"/\", \"Root\")).join(\", \")\r\n : this.$t(\"user_management.noFolder\")\r\n })`,\r\n value: p.name,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(\"Something went wrong during FetchClientProfilesCommand execution: \", error);\r\n }\r\n },\r\n\r\n async getLanguages() {\r\n try {\r\n let res = await new GetAvailableLanguagesCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) this.availableLanguages = res.availableLanguages;\r\n else this.availableLanguages = [\"en\", \"it\"];\r\n } catch (error) {\r\n console.log(\"Something went wrong during GetAvailableLanguagesCommand execution: \", error);\r\n }\r\n },\r\n\r\n onCloseClick() {\r\n this.$emit(\"close\");\r\n this.reset(null);\r\n },\r\n\r\n async onSaveClick() {\r\n if (this.canSave && !this.saving) {\r\n try {\r\n this.saving = true;\r\n\r\n const reqData = new CreateClientUserReqData();\r\n reqData.username = this.username;\r\n reqData.email = this.email;\r\n reqData.password = this.password1;\r\n reqData.profileName = this.selectedProfileName;\r\n reqData.language = this.selectedLanguage;\r\n reqData.dateFormat = this.selectedDateFormat;\r\n reqData.timeFormat = this.selectedTimeFormat;\r\n let res: ServiceResponseData;\r\n if (this.clientUser != null) res = await new EditClientUserCommand(reqData).execute();\r\n else res = await new CreateClientUserCommand(reqData).execute();\r\n\r\n if (res.responseStatus == ApiResponseStatusEnum.Success && res.responseString != \"GenericError\") {\r\n if (this.password1 != null && this.password1.length > 0) this.justSaved = true;\r\n else this.onCloseClick();\r\n } else if (this.clientUser != null) this.errorMessage = this.$t(\"user_management.error_editing\", { 0: this.username });\r\n else {\r\n this.errorMessage = this.$t(\"user_management.error_adding\", { 0: this.username });\r\n this.reset(null);\r\n }\r\n this.saving = false;\r\n } catch (error) {\r\n console.log(\"Something went wrong during CreateClientUserCommand/EditClientUserCommand execution: \", error);\r\n this.saving = false;\r\n }\r\n }\r\n },\r\n\r\n onScoreChange(score) {\r\n this.currentScore = score;\r\n },\r\n\r\n onFeedbackChange({ suggestions, warning }) {\r\n this.suggestions = suggestions;\r\n this.warning = warning;\r\n },\r\n\r\n copyEmailTemplate(lang: string) {\r\n if (this.availableLanguages.includes(lang)) {\r\n let toCopy = this.$t(\"user_management.email_template_en\", { 0: this.selectedProfileName, 1: this.username, 2: this.password1, 3: window.location.origin });\r\n if (this.$te(\"user_management.email_template_\" + lang))\r\n toCopy = this.$t(\"user_management.email_template_\" + lang, { 0: this.selectedProfileName, 1: this.username, 2: this.password1, 3: window.location.origin });\r\n navigator.clipboard.writeText(toCopy);\r\n this.emailTemplateAlert = true;\r\n console.log(\"Copied to the clipboard: \", toCopy);\r\n } else {\r\n console.error(\"Email template not available in the selected language\");\r\n }\r\n },\r\n },\r\n async mounted() {\r\n await this.getProfiles();\r\n await this.getLanguages();\r\n this.reset(this.clientUser);\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditClientUserModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditClientUserModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditClientUserModal.vue?vue&type=template&id=a0cafa30&\"\nimport script from \"./EditClientUserModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditClientUserModal.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCardTitle,VDivider,VSelect,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.clientUser)?_c('v-card',{staticClass:\"pa-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"ma-0 pa-0 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.delete_profile_title\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-fa-icon',{attrs:{\"icon\":\"times\"}})],1)],1),_c('v-divider',{staticClass:\"mb-4\"}),_c('v-card-text',{staticClass:\"ma-0 pa-0 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.delete_user_text\", [_vm.clientUser.name]))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.confirm_to_delete_user\"))+\" \")]),_c('v-spacer')],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n clientUser: {\r\n type: ClientUser,\r\n required: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteClientUserModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteClientUserModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeleteClientUserModal.vue?vue&type=template&id=589a2576&\"\nimport script from \"./DeleteClientUserModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeleteClientUserModal.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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDivider,VSpacer})\n","import { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class FetchClientUsersResponse extends ServiceResponseData {\r\n clientUsers: ClientUser[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response && response.data.Payload) {\r\n response.data.Payload.forEach((u) => {\r\n this.clientUsers.push(ClientUser.parseFrom(u));\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { FetchClientUsersResponse } from \"./FetchClientUsersResponse\";\r\n\r\nconst ENDPOINT = \"/usermanagement/users\";\r\n\r\nexport class FetchClientUsersCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new FetchClientUsersResponse(res);\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Vue components\r\nimport UserMFASwitch from \"@/views/App/Tools/UserManagement/UserMFASwitch.vue\";\r\nimport EditClientUserModal from \"@/views/App/Tools/UserManagement/EditClientUserModal.vue\";\r\nimport DeleteClientUserModal from \"@/views/App/Tools/UserManagement/DeleteClientUserModal.vue\";\r\n\r\n// Model\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { FetchClientUsersCommand } from \"@/model/communication/users/FetchClientUsersCommand\";\r\nimport { DeleteClientUserCommand } from \"@/model/communication/users/DeleteClientUserCommand\";\r\nimport { DeleteClientUserReqData } from \"@/model/communication/users/DeleteClientUserReqData\";\r\nimport { Organization } from \"@/model/data/organizations/Organization\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n UserMFASwitch,\r\n EditClientUserModal,\r\n DeleteClientUserModal,\r\n },\r\n data() {\r\n return {\r\n profileNameInternalString: \"@$\",\r\n loading: false,\r\n showErrorAlert: false,\r\n search: \"\",\r\n users: [],\r\n showEditUserDialog: false,\r\n showDeleteUserDialog: false,\r\n userToEdit: null,\r\n userToDelete: null,\r\n filterUsersByProfile: false,\r\n selectedProfileName: null,\r\n };\r\n },\r\n computed: {\r\n ...mapState({ authUser: (state: RootState) => state.authMod.currentUser }),\r\n\r\n headers() {\r\n let res = [];\r\n\r\n res.push({ text: this.$t(\"common.name\"), value: \"name\" });\r\n res.push({ text: this.$t(\"user_management.profile\"), value: \"profile.name\" });\r\n res.push({ text: this.$t(\"user_management.visibility\"), value: \"visibility\", sortable: false });\r\n if (this.organization == null) res.push({ text: this.$t(\"common.actions\"), value: \"action\", sortable: false });\r\n if (this.organization == null) res.push({ text: this.$t(\"login.mfa\"), value: \"mfa\", sortable: false, width: \"1\" });\r\n return res;\r\n },\r\n },\r\n props: {\r\n organization: { type: Object as () => Organization, required: false },\r\n },\r\n watch: {\r\n organization() {\r\n this.getUsers();\r\n },\r\n },\r\n methods: {\r\n openEditUserDialog(user: ClientUser) {\r\n this.userToEdit = user;\r\n this.showEditUserDialog = true;\r\n },\r\n\r\n openDeleteUserDialog(user: ClientUser) {\r\n this.userToDelete = user;\r\n this.showDeleteUserDialog = true;\r\n },\r\n\r\n filterUsersTable(profileName: string) {\r\n this.filterUsersByProfile = true;\r\n this.selectedProfileName = profileName;\r\n },\r\n\r\n async getUsers() {\r\n this.showEditUserDialog = false;\r\n this.userToEdit = null;\r\n this.userToDelete = null;\r\n this.filterUsersByProfile = false;\r\n this.selectedProfileName = null;\r\n\r\n if (this.$refs.editClientUserModal) this.$refs.editClientUserModal.getProfiles();\r\n\r\n if (!this.loading) {\r\n try {\r\n this.loading = true;\r\n let res = await new FetchClientUsersCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (this.organization != null)\r\n if (res.clientUsers.some((u) => u.profile.organizationId && u.profile.organizationId == (this.organization as Organization).id))\r\n this.users = res.clientUsers.filter((u) => u.profile.organizationId && u.profile.organizationId == (this.organization as Organization).id);\r\n else this.users = [];\r\n else this.users = res.clientUsers;\r\n }\r\n this.loading = false;\r\n } catch (error) {\r\n console.log(\"Something went wrong during FetchClientUsersCommand execution: \", error);\r\n this.loading = false;\r\n }\r\n }\r\n },\r\n\r\n async deleteUser() {\r\n try {\r\n this.showDeleteUserDialog = false;\r\n const res = await new DeleteClientUserCommand(new DeleteClientUserReqData(this.userToDelete.name)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.getUsers();\r\n this.$emit(\"getProfiles\");\r\n } else this.showErrorAlert = true;\r\n } catch (error) {\r\n console.log(\"Something went wrong during DeleteClientUserCommand execution: \", error);\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.getUsers();\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UsersTable.vue?vue&type=template&id=c208b2b4&\"\nimport script from \"./UsersTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./UsersTable.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } 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, {VAlert,VBtn,VCard,VDataTable,VDialog,VDivider,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AppPage',{attrs:{\"pageTitle\":_vm.$t('user_management.page_title'),\"icon\":\"fa-users\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"10\",\"xl\":\"9\"}},[_c('ProfilesTable',{ref:\"profilesTable\",staticClass:\"mt-3\",on:{\"getUsers\":function($event){return _vm.getUsers()},\"filterUsersTable\":function($event){return _vm.filterUsersTable($event)}}})],1)],1),_c('v-row',{staticClass:\"mt-8\",attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"10\",\"xl\":\"9\"}},[_c('UsersTable',{ref:\"usersTable\",on:{\"getProfiles\":function($event){return _vm.getProfiles()}}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport AppPage from \"@/components/AppPage.vue\";\r\nimport ProfilesTable from \"@/views/App/Tools/UserManagement/ProfilesTable.vue\";\r\nimport UsersTable from \"@/views/App/Tools/UserManagement/UsersTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AppPage,\r\n ProfilesTable,\r\n UsersTable,\r\n },\r\n methods: {\r\n getProfiles() {\r\n this.$refs.profilesTable.getProfiles();\r\n },\r\n getUsers() {\r\n this.$refs.usersTable.getUsers();\r\n },\r\n filterUsersTable(profileName: string) {\r\n this.$refs.usersTable.filterUsersTable(profileName);\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=315b6566&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.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 { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","import { FolderHierarchy } from \"@/model/data/FolderHierarchy\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport { ClientProfile } from \"@/model/data/authentication/ClientProfile\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class FetchClientProfilesResponse extends ServiceResponseData {\r\n clientProfiles: ClientProfileExtended[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response && response.data && response.data.Payload) {\r\n response.data.Payload.forEach((u) => {\r\n this.clientProfiles.push(ClientProfileExtended.parseFrom(u));\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport class ClientProfileExtended extends ClientProfile {\r\n associatedUsersCount: number;\r\n associatedExternalUsersCount: number;\r\n\r\n static parseFrom(data: any): ClientProfileExtended {\r\n let res = new ClientProfileExtended();\r\n res.name = data.Name;\r\n res.windowsGroup = data.WindowsGroup;\r\n res.authPluginGroup = data.AuthPluginGroup;\r\n res.privileges = new ClientPrivileges(data.Privileges.PrivilegeName);\r\n res.associatedUsersCount = data.AssociatedUsersCount;\r\n res.associatedExternalUsersCount = data.AssociatedExternalUsersCount;\r\n res.associatedHierarchyList = [];\r\n if (data.AssociatedHierarchyList) {\r\n data.AssociatedHierarchyList.forEach((c) => {\r\n res.associatedHierarchyList.push(FolderHierarchy.parseFrom(c));\r\n });\r\n }\r\n if (data.OrganizationId != null) res.organizationId = data.OrganizationId;\r\n\r\n return res;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-treeview',{key:_vm.reload,attrs:{\"items\":_vm.editedFolderTree,\"selectable\":\"\",\"selection-type\":_vm.leaf ? 'leaf' : 'independent',\"open-all\":_vm.openAll,\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(ref){\nvar open = ref.open;\nreturn [_c('v-fa-icon',{staticClass:\"ml-1\",attrs:{\"small\":\"\",\"color\":_vm.K.FOLDER_COLOR,\"icon\":open ? 'folder-open' : 'folder'}})]}}],null,true),model:{value:(_vm.selectedFolder),callback:function ($$v) {_vm.selectedFolder=$$v},expression:\"selectedFolder\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { DEVICE_TREE_CONSTANTS as K } from \"@/utility/Constants\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return { K, reload: 0, disabledNode: [] };\r\n },\r\n props: [\"value\", \"leaf\", \"disabled\"],\r\n computed: {\r\n ...mapGetters([\"folderTree\"]),\r\n openAll() {\r\n return this.$store.getters.folderNames.length < 200;\r\n },\r\n\r\n selectedFolder: {\r\n get: function () {\r\n return this.value;\r\n },\r\n set: function (newValue: any) {\r\n this.$emit(\"input\", newValue);\r\n },\r\n },\r\n editedFolderTree() {\r\n if (this.folderTree) return JSON.parse(JSON.stringify(this.folderTree));\r\n return null;\r\n },\r\n },\r\n watch: {\r\n disabled: {\r\n handler() {\r\n if (this.disabled && this.disabled.length && this.folderTree) {\r\n for (let node of this.disabledNode) {\r\n node.disabled = false;\r\n }\r\n this.disabledNode = [];\r\n for (let root of this.editedFolderTree) {\r\n let stack = [];\r\n stack.push(root);\r\n let found = false;\r\n while (stack.length > 0 && !found) {\r\n let node = stack.pop();\r\n if (!node) continue;\r\n if (this.disabled.includes(node.id.toString())) {\r\n this.disabledNode.push(node);\r\n node.disabled = true;\r\n this.disableChildren(node);\r\n found = true;\r\n }\r\n\r\n if (node.children) {\r\n for (let child of node.children) {\r\n if (this.disabled.includes(child.id.toString())) {\r\n this.disabledNode.push(node);\r\n node.disabled = true;\r\n }\r\n stack.push(child);\r\n }\r\n }\r\n }\r\n }\r\n this.reload += 1;\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n disableChildren(node) {\r\n let stack = [];\r\n stack.push(node);\r\n\r\n while (stack.length > 0) {\r\n let currNode = stack.pop();\r\n\r\n if (currNode.children) {\r\n for (let child of currNode.children) {\r\n this.disabledNode.push(child);\r\n child.disabled = true;\r\n stack.push(child);\r\n }\r\n }\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFolderTree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviceFolderTree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeviceFolderTree.vue?vue&type=template&id=9b7d1ec6&\"\nimport script from \"./DeviceFolderTree.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeviceFolderTree.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 { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VTreeview})\n","export class DeleteClientProfileReqData {\r\n name: string;\r\n\r\n constructor(name: string) {\r\n this.name = name;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"px-4 pb-2\",attrs:{\"outlined\":\"\"}},[_c('v-alert',{staticClass:\"mt-3\",attrs:{\"type\":\"error\",\"text\":\"\",\"dismissible\":\"\"},model:{value:(_vm.showErrorAlert),callback:function ($$v) {_vm.showErrorAlert=$$v},expression:\"showErrorAlert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.error_deleting_profile\"))+\" \")]),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"list\",\"medium\":\"\",\"color\":\"primary\"}}),(!_vm.organization)?_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"organizationsManagement.profiles\"))+\" \")]):_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"organizationsManagement.organizationProfiles\"))+\" \")]),(_vm.isOrganizationManagementEnabled && _vm.organization)?_c('v-btn',{staticClass:\"mx-6\",attrs:{\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.showAddProfilesToTheOrganizationDialog = true}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"organizationsManagement.addProfiles\"))+\" \")]):_vm._e(),_c('v-spacer'),_c('v-card',{attrs:{\"flat\":\"\",\"width\":\"30%\"}},[_c('v-text-field',{attrs:{\"append-icon\":\"fa-search\",\"label\":_vm.$t('common.search'),\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),(!_vm.organization)?_c('v-btn',{staticClass:\"ml-2\",attrs:{\"icon\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.openEditProfileDialog(null)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"plus\"}})],1):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"px-4 mt-2\",attrs:{\"headers\":_vm.headers,\"items\":_vm.organization == null ? _vm.profiles : _vm.profiles.filter(function (p) { return p.organizationId == _vm.organization.id; }),\"dense\":\"\",\"loading\":_vm.loading,\"item-key\":\"name\",\"search\":_vm.search,\"hide-default-footer\":_vm.organization != null && _vm.profiles.filter(function (p) { return p.organizationId == _vm.organization.id; }).length < 10},scopedSlots:_vm._u([{key:\"header.associatedExternalUsersCount\",fn:function(ref){\nvar header = ref.header;\nreturn [_c('v-tooltip',{staticClass:\"opaque-tooltip\",attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('span',{domProps:{\"textContent\":_vm._s(header.text)}}),_vm._v(\" \"),_c('v-fa-icon',{staticClass:\"ml-1\",attrs:{\"icon\":\"info-circle\",\"small\":\"\"}})],1)]}}],null,true)},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.externalUserTooltip'))}})])]}},{key:\"item.name\",fn:function(ref){\nvar value = ref.value;\nreturn [(value.includes(_vm.profileNameInternalString))?_c('span',[(value == _vm.authUser.profile.name)?_c('b',{domProps:{\"textContent\":_vm._s(value.substring(0, value.lastIndexOf(_vm.profileNameInternalString)) + ' (' + _vm.$t('user_management.your_profile') + ')')}}):_c('span',{domProps:{\"textContent\":_vm._s(value.substring(0, value.lastIndexOf(_vm.profileNameInternalString)))}})]):_c('span',[(value == _vm.authUser.profile.name)?_c('b',{domProps:{\"textContent\":_vm._s(value + ' (' + _vm.$t('user_management.your_profile') + ')')}}):_c('span',{domProps:{\"textContent\":_vm._s(value)}})])]}},{key:\"item.organizationId\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',{domProps:{\"textContent\":_vm._s(value != null ? (_vm.availableOrganizations.some(function (o) { return o.id == value; }) ? _vm.availableOrganizations.filter(function (o) { return o.id == value; })[0].name : '-') : '-')}})]}},{key:\"item.visibility\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._l((item.associatedHierarchyList),function(folder){return _c('span',{key:folder.id},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"folder\",\"small\":\"\",\"color\":\"primary\"}}),_c('span',{staticClass:\"mr-4\",domProps:{\"textContent\":_vm._s(folder.name)}}),_c('br')],1)}),(!item.associatedHierarchyList || !item.associatedHierarchyList.length)?_c('div',[_c('v-fa-icon',{staticClass:\"mr-1\",attrs:{\"icon\":\"exclamation-triangle\",\"color\":\"warning\",\"small\":\"\"}}),_vm._v(\" \"),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.noFolder'))}})],1):_vm._e()]}},{key:\"item.associatedUsersCount\",fn:function(ref){\nvar item = ref.item;\nvar value = ref.value;\nreturn [(item.name != _vm.authUser.profile.name || _vm.isUserSuperAdminComp == true)?_c('span',[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$tc('common.users', value, { count: value }))}}),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('filterUsersTable', item.name)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"filter\",\"small\":\"\"}})],1)],1):_vm._e()]}},{key:\"item.associatedExternalUsersCount\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',{domProps:{\"textContent\":_vm._s(_vm.$tc('common.users', value, { count: value }))}})]}},{key:\"item.action\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.name != _vm.authUser.profile.name || _vm.isUserSuperAdminComp == true)?_c('span',[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.openEditProfileDialog(item)}}},[_c('v-fa-icon',{attrs:{\"color\":\"warning\",\"icon\":\"edit\"}})],1),_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.openDeleteProfileDialog(item)}}},[_c('v-fa-icon',{attrs:{\"color\":\"error\",\"icon\":\"trash\"}})],1)],1):_vm._e()]}}],null,true)}),_c('v-dialog',{attrs:{\"width\":\"90%\"},on:{\"click:outside\":function($event){return _vm.getProfiles()}},model:{value:(_vm.showEditProfileDialog),callback:function ($$v) {_vm.showEditProfileDialog=$$v},expression:\"showEditProfileDialog\"}},[_c('EditClientProfileModal',{attrs:{\"clientProfile\":_vm.profileToEdit,\"availableOrganizations\":_vm.availableOrganizations},on:{\"close\":function($event){return _vm.getProfiles()}}})],1),_c('v-dialog',{attrs:{\"width\":\"40%\"},on:{\"click:outside\":function($event){_vm.showDeleteProfileDialog = false}},model:{value:(_vm.showDeleteProfileDialog),callback:function ($$v) {_vm.showDeleteProfileDialog=$$v},expression:\"showDeleteProfileDialog\"}},[(_vm.profileToDelete)?_c('DeleteClientProfileModal',{attrs:{\"clientProfile\":_vm.profileToDelete},on:{\"close\":function($event){_vm.showDeleteProfileDialog = false},\"confirm\":function($event){return _vm.deleteProfile()}}}):_vm._e()],1),_c('v-dialog',{attrs:{\"width\":\"70%\"},on:{\"click:outside\":function($event){_vm.showAddProfilesToTheOrganizationDialog = false}},model:{value:(_vm.showAddProfilesToTheOrganizationDialog),callback:function ($$v) {_vm.showAddProfilesToTheOrganizationDialog=$$v},expression:\"showAddProfilesToTheOrganizationDialog\"}},[_c('EditOrganizationProfiles',{attrs:{\"organization\":_vm.organization,\"profiles\":_vm.profiles},on:{\"save\":function($event){return _vm.editOrganizationProfiles($event)}}})],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',{staticClass:\"pb-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"edit\"}}),_vm._v(\" \"+_vm._s(_vm.$t(_vm.clientProfile != null ? \"user_management.edit_profile\" : \"user_management.add_new_profile\"))+\" \"),_c('v-spacer'),_c('v-btn',{staticClass:\"px-8 mr-2\",attrs:{\"color\":\"success\",\"disabled\":!_vm.canSave,\"loading\":_vm.saving},on:{\"click\":function($event){return _vm.onSaveClick()}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"save\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"common.save\"))+\" \")],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-fa-icon',{attrs:{\"icon\":\"times\"}})],1)],1),_c('v-divider',{staticClass:\"mx-6\"}),(_vm.errorMessage)?_c('v-alert',{staticClass:\"ma-2\",attrs:{\"type\":\"error\"}},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.errorMessage)}})]):_vm._e(),_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 7}},[_c('v-card',{staticClass:\"px-4\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"text-h6 ma-0 pa-0 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.options\"))+\" \")]),_c('v-divider',{staticClass:\"mb-8 mt-2\"}),(_vm.clientProfile != null && _vm.clientProfile.name.includes(_vm.profileNameInternalString))?_c('v-text-field',{attrs:{\"value\":_vm.clientProfile.name.substring(0, _vm.clientProfile.name.lastIndexOf(_vm.profileNameInternalString)),\"label\":_vm.$t('user_management.name'),\"disabled\":_vm.clientProfile != null}}):_c('v-text-field',{attrs:{\"label\":_vm.$t('user_management.name'),\"disabled\":_vm.clientProfile != null,\"maxlength\":_vm.profileNameMaxLength},model:{value:(_vm.profileName),callback:function ($$v) {_vm.profileName=$$v},expression:\"profileName\"}}),(_vm.startupData != null && _vm.isWSFedAuthenticationEnabledComp)?_c('v-text-field',{attrs:{\"label\":_vm.$t('user_management.wsfed_profile_name')},model:{value:(_vm.wsFedProfile),callback:function ($$v) {_vm.wsFedProfile=$$v},expression:\"wsFedProfile\"}}):_vm._e(),(_vm.isOrganizationManagementEnabled)?_c('v-combobox',{attrs:{\"items\":_vm.availableOrganizations.map(function (o) { return ({ text: o.name, value: o.id }); }),\"label\":_vm.$t('organizationsManagement.organization'),\"clearable\":\"\"},model:{value:(_vm.selectedOrganization),callback:function ($$v) {_vm.selectedOrganization=$$v},expression:\"selectedOrganization\"}}):_vm._e(),(\n _vm.startupData.azureADLoginEnabled ||\n (_vm.profileOrganization != null &&\n _vm.profileOrganization.loginModes != null &&\n _vm.profileOrganization.loginModes.some(function (l) { return l.type == _vm.LoginModeType.AzureAD && l.enabled; }))\n )?_c('v-text-field',{attrs:{\"label\":_vm.$t('user_management.azure_group_id'),\"messages\":_vm.$t('user_management.info_azure_group')},model:{value:(_vm.azureGroup),callback:function ($$v) {_vm.azureGroup=$$v},expression:\"azureGroup\"}}):(_vm.availableWindowsGroups != null && _vm.availableWindowsGroups.length > 0)?_c('v-combobox',{attrs:{\"items\":_vm.availableWindowsGroups,\"label\":_vm.$t('user_management.windows_group'),\"clearable\":\"\",\"readonly\":_vm.windowsGroupsLoading,\"loading\":_vm.windowsGroupsLoading},model:{value:(_vm.windowsGroup),callback:function ($$v) {_vm.windowsGroup=$$v},expression:\"windowsGroup\"}}):_vm._e(),(_vm.showAuthPluginGroupInput)?_c('v-text-field',{attrs:{\"label\":_vm.$t('user_management.auth_plugin_group')},model:{value:(_vm.authPluginGroup),callback:function ($$v) {_vm.authPluginGroup=$$v},expression:\"authPluginGroup\"}}):_vm._e()],1),_c('v-card',{staticClass:\"px-4 mt-4\",attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"text-h6 ma-0 pa-0 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.priviliges\"))+\" \"),_c('span',{staticClass:\"ml-2 mt-1 text-body-2\"},[_vm._v(\" (\"+_vm._s(_vm.selectedPrivilegesLength.map(function (e) { return e.length; }).reduce(function (a, b) { return a + b; }))+\"/\"+_vm._s(_vm.availablePrivilegesForThisProfile.length)+\") \")]),_c('v-spacer'),_c('span',{staticClass:\"mr-2 mt-1 text-body-2\",domProps:{\"textContent\":_vm._s(_vm.$t('common.select_all') + ':')}}),(_vm.selectedPrivilegesLength.map(function (e) { return e.length; }).reduce(function (a, b) { return a + b; }) == _vm.availablePrivilegesForThisProfile.length)?_c('v-btn',{staticClass:\"pt-1\",attrs:{\"icon\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.unselectAllPrivileges(null)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"check-square\"}})],1):(_vm.selectedPrivilegesLength.map(function (e) { return e.length; }).reduce(function (a, b) { return a + b; }) == 0)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectAllPrivileges(null)}}},[_c('v-icon',[_vm._v(\"far fa-square\")])],1):_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectAllPrivileges(null)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"minus-square\"}})],1)],1),_c('v-divider',{staticClass:\"mb-8 mt-2\"}),_vm._l((_vm.availableLicenseModules),function(licenseModule){return _c('v-row',{key:licenseModule,staticClass:\"pl-6 pr-2\"},[_c('v-col',{staticClass:\"ma-0 pa-0\",attrs:{\"cols\":\"auto\"}},[_c('v-avatar',{staticClass:\"mr-2\",attrs:{\"min-width\":\"24px\"}},[_c('v-icon',{attrs:{\"color\":_vm.getLicenseModuleIconAndColor(licenseModule).color}},[_vm._v(\" \"+_vm._s(_vm.getLicenseModuleIconAndColor(licenseModule).icon)+\" \")])],1)],1),(_vm.selectedPrivileges != null && _vm.selectedPrivileges.length > 0)?_c('v-col',{staticClass:\"pa-0 ma-1\",attrs:{\"cols\":\"\"}},[_c('v-select',{attrs:{\"items\":_vm.availablePrivilegesForThisProfile.filter(function (p) { return p.requiredLicense == licenseModule; }),\"label\":_vm.$t(_vm.getLicenseModuleLabel(licenseModule)),\"item-text\":function (v) { return _vm.$t(v.namei18n); },\"item-value\":\"name.privilegeName\",\"chips\":\"\",\"multiple\":\"\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\n var item = ref.item;\n var index = ref.index;\nreturn [(index == 0)?_c('v-chip',{staticClass:\"my-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(item.namei18n))+\" \")]):_vm._e(),(index == 1)?_c('v-chip',{staticClass:\"my-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(item.namei18n))+\" \")]):_vm._e(),(index == 2)?_c('span',{staticClass:\"grey--text text-caption\"},[_vm._v(\" (+\"+_vm._s(_vm.selectedPrivileges.find(function (s) { return s.licenseModule == licenseModule; }).privileges.length - 2)+\" \"+_vm._s(_vm.$t(\"common.others\"))+\") \")]):_vm._e()]}}],null,true),model:{value:(_vm.selectedPrivileges.find(function (s) { return s.licenseModule == licenseModule; }).privileges),callback:function ($$v) {_vm.$set(_vm.selectedPrivileges.find(function (s) { return s.licenseModule == licenseModule; }), \"privileges\", $$v)},expression:\"selectedPrivileges.find((s) => s.licenseModule == licenseModule).privileges\"}})],1):_vm._e(),(_vm.selectedPrivileges != null && _vm.selectedPrivileges.length > 0)?_c('v-col',{staticClass:\"pa-0 ma-1 ml-6 mt-2\",attrs:{\"cols\":\"auto\"}},[(\n _vm.selectedPrivilegesLength.find(function (s) { return s.licenseModule == licenseModule; }).length ==\n _vm.availablePrivilegesForThisProfile.filter(function (p) { return p.requiredLicense == licenseModule; }).length\n )?_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.unselectAllPrivileges(licenseModule)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"check-square\"}})],1):(_vm.selectedPrivilegesLength.find(function (s) { return s.licenseModule == licenseModule; }).length == 0)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectAllPrivileges(licenseModule)}}},[_c('v-icon',[_vm._v(\"far fa-square\")])],1):_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.selectAllPrivileges(licenseModule)}}},[_c('v-fa-icon',{attrs:{\"icon\":\"minus-square\"}})],1)],1):_vm._e()],1)})],2)],1),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.mdAndDown ? 12 : 5}},[_c('v-card',{staticClass:\"px-4\",attrs:{\"outlined\":\"\",\"max-height\":\"700\"}},[_c('v-card-title',{staticClass:\"text-h6 ma-0 pa-0 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.enabled_folders\"))+\" \")]),_c('v-divider',{staticClass:\"mt-2\"}),_c('v-card-text',{staticClass:\"fill-height\"},[_c('DeviceFolderTree',{staticStyle:{\"max-height\":\"600px\",\"overflow\":\"auto\"},attrs:{\"leaf\":false,\"title\":_vm.$t('common.select_folder'),\"multiple-active\":\"\"},model:{value:(_vm.selectedFolders),callback:function ($$v) {_vm.selectedFolders=$$v},expression:\"selectedFolders\"}})],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { CreateClientProfileReqData } from \"./CreateClientProfileReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/profiles\";\r\n\r\nexport class CreateClientProfileCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n clientProfileReqData: CreateClientProfileReqData;\r\n\r\n constructor(clientProfileReqData: CreateClientProfileReqData) {\r\n super();\r\n this.clientProfileReqData = clientProfileReqData;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.clientProfileReqData);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","import { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\n\r\nexport class CreateClientProfileReqData {\r\n name: string;\r\n organizationId: number;\r\n windowsGroup: string;\r\n authPluginGroup: string;\r\n privileges: ClientPrivileges;\r\n associatedFoldersIds: number[];\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class FetchWindowsGruoupsResponse extends ServiceResponseData {\r\n groups: string[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n if (response && response.data.Payload) {\r\n response.data.Payload.forEach((u) => {\r\n this.groups.push(u);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { FetchWindowsGruoupsResponse } from \"./FetchWindowsGroupsResponse\";\r\n\r\nconst ENDPOINT = \"/usermanagement/windows_groups\";\r\n\r\nexport class FetchWindowsGroupsCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new FetchWindowsGruoupsResponse(res);\r\n }\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { FetchWindowsGruoupsResponse } from \"./FetchWindowsGroupsResponse\";\r\n\r\nconst ENDPOINT = \"/usermanagement/any_auth_plugin\";\r\n\r\nexport class GetAnyAuthPluginCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new GetAnyAuthPluginResData(res);\r\n }\r\n}\r\n\r\nexport class GetAnyAuthPluginResData extends ServiceResponseData {\r\n any: boolean = false;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n // console.log(\"response\", response);\r\n if (response && response.data.Payload) {\r\n this.any = response.data.Payload.Any;\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { CreateClientProfileReqData } from \"./CreateClientProfileReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/profiles\";\r\n\r\nexport class UpdateClientProfileCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"patch\";\r\n clientProfileReqData: CreateClientProfileReqData;\r\n\r\n constructor(clientProfileReqData: CreateClientProfileReqData) {\r\n super();\r\n this.clientProfileReqData = clientProfileReqData;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.clientProfileReqData);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { RootState } from \"@/store\";\r\nimport Vue from \"vue\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\n\r\n// Vue components\r\nimport DeviceFolderTree from \"@/components/DeviceFolderTree.vue\";\r\n\r\n// Model\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { ServiceResponseData } from \"@/model/communication/ServiceResponseData\";\r\nimport { CreateClientProfileCommand } from \"@/model/communication/users/CreateClientProfileCommand\";\r\nimport { CreateClientProfileReqData } from \"@/model/communication/users/CreateClientProfileReqData\";\r\nimport { FetchWindowsGroupsCommand } from \"@/model/communication/users/FetchWindowsGroupsCommand\";\r\nimport { GetAnyAuthPluginCommand } from \"@/model/communication/users/GetAnyAuthPluginCommand\";\r\nimport { UpdateClientProfileCommand } from \"@/model/communication/users/UpdateClientProfileCommand\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport { ClientProfile } from \"@/model/data/authentication/ClientProfile\";\r\nimport { LicenseData } from \"@/model/data/License/LicenseData\";\r\nimport { defaultLicenseModuleEnumSorting, getLicenseModuleLabel, LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { LoginMode, LoginModeType } from \"@/model/data/organizations/LoginMode\";\r\nimport { Organization } from \"@/model/data/organizations/Organization\";\r\nimport menu from \"@/store/modules/ApplicationModule/data/menu\";\r\nimport Privileges, { SinglePrivilege } from \"@/utility/UserPrivileges\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeviceFolderTree,\r\n },\r\n data() {\r\n return {\r\n LoginModeType,\r\n profileNameMaxLength: 58,\r\n profileNameInternalString: \"@$\",\r\n profileName: \"\",\r\n windowsGroup: \"\",\r\n authPluginGroup: \"\",\r\n selectedPrivileges: [],\r\n selectedFolders: [],\r\n errorMessage: \"\",\r\n windowsGroupsLoading: false,\r\n availableWindowsGroups: [],\r\n showAuthPluginGroupInput: false,\r\n azureGroup: \"\",\r\n wsFedProfile: \"\",\r\n\r\n selectedOrganization: null,\r\n saving: false,\r\n };\r\n },\r\n props: {\r\n clientProfile: ClientProfile,\r\n availableOrganizations: { type: Array as () => Organization[], default: [] },\r\n },\r\n computed: {\r\n ...mapState({\r\n licenseData: (state: RootState) => state.license.licenseModules,\r\n startupData: (state: RootState) => state.application.startupData,\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n\r\n ...mapGetters([\"isUserSuperAdmin\"]),\r\n\r\n isUserSuperAdminComp() {\r\n return this.isUserSuperAdmin;\r\n },\r\n\r\n isWSFedAuthenticationEnabledComp() {\r\n return this.startupData.isWSFedAuthenticationEnabled;\r\n },\r\n\r\n isOrganizationManagementEnabled() {\r\n if (\r\n this.authUser != null &&\r\n this.authUser.profile != null &&\r\n this.authUser.profile.privileges != null &&\r\n this.authUser.profile.privileges.privilegeName != null &&\r\n this.authUser.profile.privileges.privilegeName.includes(ClientPrivileges.OrganizationsManagement.privilegeName)\r\n )\r\n return true;\r\n else return false;\r\n },\r\n\r\n canSave(): boolean {\r\n if (this.profileName == null || this.profileName.length == 0 || this.profileName.length > this.profileNameMaxLength) return false;\r\n if (this.selectedFolders == null || this.selectedFolders.length == 0) return false;\r\n if (this.selectedPrivileges == null || this.selectedPrivileges.length == 0 || this.selectedPrivileges.map((p) => p.privileges).flat().length == 0) return false;\r\n return true;\r\n },\r\n\r\n availableLicenseModules() {\r\n let res = this.defaultLicenseModuleEnumSorting();\r\n res = res.filter((v) => this.licenseData.modules.map((m) => m.module).includes(v));\r\n res.push(LicenseModuleEnum.None);\r\n // filtro in base ai privilegi del profilo dell'utente loggato\r\n res = res.filter((l) => this.availablePrivilegesForThisProfile.map((p) => p.requiredLicense).includes(l));\r\n return res;\r\n },\r\n\r\n availablePrivilegesForThisProfile(): SinglePrivilege[] {\r\n let res: SinglePrivilege[];\r\n // filtro per moduli di licenza (sul cloud comunque ci sono tutti)\r\n res = Privileges.filter((v) => (this.licenseData as LicenseData).isAvailable(v.requiredLicense));\r\n // privilegi esclusi dall'UI\r\n res = res.filter((v) => v.name != ClientPrivileges.None && v.name != ClientPrivileges.SuperAdmin);\r\n // un utente può associare a un profilo un subset dei privilegi (o tutti) associati al profilo a cui esso appartiene (tranne il super admin)\r\n if (\r\n this.authUser != null &&\r\n this.authUser.profile != null &&\r\n this.authUser.profile.privileges != null &&\r\n this.authUser.profile.privileges.privilegeName != null &&\r\n !this.isUserSuperAdminComp\r\n )\r\n res = res.filter((p) => this.authUser.profile.privileges.privilegeName.includes(p.name));\r\n\r\n // ordino in ordine alfabetico\r\n res.sort((a, b) => {\r\n if (this.$t(a.namei18n) < this.$t(b.namei18n)) return -1;\r\n if (this.$t(a.namei18n) > this.$t(b.namei18n)) return 1;\r\n return 0;\r\n });\r\n return res;\r\n },\r\n\r\n profileOrganization() {\r\n let res = null;\r\n if (this.selectedOrganization != null && this.availableOrganizations != null && this.availableOrganizations.length > 0)\r\n if (this.availableOrganizations.some((o) => o.id == this.selectedOrganization.value))\r\n res = this.availableOrganizations.filter((o) => o.id == this.selectedOrganization.value)[0];\r\n return res;\r\n },\r\n\r\n selectedPrivilegesLength() {\r\n let res = [];\r\n this.availableLicenseModules.forEach((availableLicenseModule) => {\r\n res.push({ licenseModule: availableLicenseModule, length: 0 });\r\n });\r\n\r\n this.selectedPrivileges.forEach((selectedPrivilegesSingleModule) => {\r\n res.find((s) => s.licenseModule == selectedPrivilegesSingleModule.licenseModule).length += selectedPrivilegesSingleModule.privileges.length;\r\n });\r\n\r\n return res;\r\n },\r\n },\r\n watch: {\r\n clientProfile(newValue) {\r\n this.reset(newValue);\r\n },\r\n\r\n selectedOrganization(newValue) {\r\n console.log(\"selectedOrganization changed\", newValue);\r\n this.availableWindowsGroups = [];\r\n if (newValue != null && this.availableOrganizations.some((o) => o.id == newValue.value)) {\r\n let tempOrganization = this.availableOrganizations.filter((o) => o.id == newValue.value)[0];\r\n let tempLoginModes = tempOrganization.loginModes;\r\n if (tempLoginModes != null && tempLoginModes.some((l) => l.enabled)) {\r\n tempLoginModes\r\n .filter((l) => l.enabled)\r\n .forEach(async (loginMode: LoginMode) => {\r\n switch (loginMode.type) {\r\n case LoginModeType.ADLegacy:\r\n console.log(\"Try to get the Windoes groups for the organization: \", tempOrganization);\r\n await this.getWindowsGroups();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n }\r\n },\r\n },\r\n methods: {\r\n getLicenseModuleLabel,\r\n defaultLicenseModuleEnumSorting,\r\n\r\n getLicenseModuleIconAndColor(licenseModule: LicenseModuleEnum): any {\r\n let firstLevelMenu = menu.filter((m) => m.children.length > 0);\r\n switch (licenseModule) {\r\n case LicenseModuleEnum.ServiceAndUpdatesManagement:\r\n case LicenseModuleEnum.CashFlowManagement:\r\n case LicenseModuleEnum.FitnessStatistics:\r\n case LicenseModuleEnum.SecurityManagement:\r\n case LicenseModuleEnum.PredictiveMaintenance:\r\n case LicenseModuleEnum.RemoteLink:\r\n case LicenseModuleEnum.OneTimeCode:\r\n return {\r\n icon: firstLevelMenu.find((m) => m.requiredLicenseModules.includes(licenseModule)).icon,\r\n color: firstLevelMenu.find((m) => m.requiredLicenseModules.includes(licenseModule)).color,\r\n };\r\n case LicenseModuleEnum.None:\r\n return {\r\n icon: firstLevelMenu.find((m) => m.requiredLicenseModules.length == 0).icon,\r\n color: firstLevelMenu.find((m) => m.requiredLicenseModules.length == 0).color,\r\n };\r\n default:\r\n return \"\";\r\n }\r\n },\r\n\r\n unselectAllPrivileges(licenseModule: LicenseModuleEnum) {\r\n if (licenseModule == null) {\r\n this.selectedPrivileges = [];\r\n this.availableLicenseModules.forEach((element) => {\r\n this.selectedPrivileges.push({ licenseModule: element, privileges: [] });\r\n });\r\n } else if (this.selectedPrivileges.some((p) => p.licenseModule == licenseModule)) this.selectedPrivileges.find((p) => p.licenseModule == licenseModule).privileges = [];\r\n },\r\n\r\n selectAllPrivileges(licenseModule: LicenseModuleEnum) {\r\n if (licenseModule == null) {\r\n this.selectedPrivileges = [];\r\n this.availableLicenseModules.forEach((element) => {\r\n this.selectedPrivileges.push({ licenseModule: element, privileges: [] });\r\n });\r\n this.availablePrivilegesForThisProfile.forEach((availablePrivilegeForThisProfile) => {\r\n this.selectedPrivileges\r\n .find((s) => s.licenseModule == availablePrivilegeForThisProfile.requiredLicense)\r\n .privileges.push(availablePrivilegeForThisProfile.name.privilegeName);\r\n });\r\n } else if (this.selectedPrivileges.some((p) => p.licenseModule == licenseModule))\r\n this.selectedPrivileges.find((p) => p.licenseModule == licenseModule).privileges = this.availablePrivilegesForThisProfile\r\n .filter((p) => p.requiredLicense == licenseModule)\r\n .map((p) => p.name.privilegeName);\r\n },\r\n\r\n onCloseClick() {\r\n this.reset(null);\r\n this.$emit(\"close\");\r\n },\r\n\r\n async getWindowsGroups() {\r\n try {\r\n if (!this.windowsGroupsLoading) {\r\n this.windowsGroupsLoading = true;\r\n const res = await new FetchWindowsGroupsCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (res.groups != null && res.groups.length > 0) {\r\n this.availableWindowsGroups = [];\r\n res.groups.forEach((group) => {\r\n this.availableWindowsGroups.push(group);\r\n });\r\n }\r\n }\r\n this.windowsGroupsLoading = false;\r\n }\r\n } catch (error) {\r\n console.log(\"Something went wrong during FetchWindowsGroupsCommand execution: \", error);\r\n this.windowsGroupsLoading = false;\r\n }\r\n },\r\n\r\n async getAnyAuthPlugin() {\r\n try {\r\n // check if any authplugin group\r\n new GetAnyAuthPluginCommand().execute().then((res) => {\r\n this.showAuthPluginGroupInput = res.any;\r\n });\r\n } catch (error) {\r\n console.log(\"Something went wrong during GetAnyAuthPluginCommand execution: \", error);\r\n }\r\n },\r\n\r\n async reset(profile: ClientProfile) {\r\n this.profileName = \"\";\r\n this.windowsGroup = \"\";\r\n this.azureGroup = \"\";\r\n this.wsFedProfile = \"\";\r\n this.authPluginGroup = \"\";\r\n this.availableWindowsGroups = [];\r\n this.showAuthPluginGroupInput = false;\r\n\r\n this.errorMessage = \"\";\r\n this.selectedFolders = [];\r\n this.selectedOrganization = null;\r\n\r\n // console.log(\"profile: \", profile);\r\n\r\n this.selectedPrivileges = [];\r\n this.availableLicenseModules.forEach((element) => {\r\n this.selectedPrivileges.push({ licenseModule: element, privileges: [] });\r\n });\r\n\r\n // await this.getWindowsGroups();\r\n await this.getAnyAuthPlugin();\r\n\r\n if (profile != null) {\r\n this.profileName = profile.name;\r\n\r\n // Profile organization\r\n if (profile.organizationId != null)\r\n this.selectedOrganization = this.availableOrganizations.map((o) => ({ text: o.name, value: o.id })).filter((o) => o.value == profile.organizationId)[0];\r\n\r\n // if (this.profileOrganization != null && this.profileOrganization.loginModes != null && this.profileOrganization.loginModes.length > 0)\r\n // await this.getWindowsGroups();\r\n // await this.getAnyAuthPlugin();\r\n\r\n // SSO login\r\n this.windowsGroup = profile.windowsGroup;\r\n if (this.startupData != null && this.isWSFedAuthenticationEnabledComp) {\r\n this.wsFedProfile = profile.windowsGroup;\r\n this.windowsGroup = \"\";\r\n } else if (\r\n (this.startupData != null && this.startupData.azureADLoginEnabled) ||\r\n (this.profileOrganization != null &&\r\n this.profileOrganization.loginModes != null &&\r\n this.profileOrganization.loginModes.some((l) => l.type == LoginModeType.AzureAD && l.enabled))\r\n ) {\r\n this.azureGroup = profile.windowsGroup;\r\n this.windowsGroup = \"\";\r\n }\r\n this.authPluginGroup = profile.authPluginGroup;\r\n\r\n // Preselect privileges\r\n try {\r\n this.availablePrivilegesForThisProfile.forEach((availablePrivilegeForThisProfile) => {\r\n if (profile.privileges.privilegeName.includes(availablePrivilegeForThisProfile.name))\r\n this.selectedPrivileges\r\n .find((s) => s.licenseModule == availablePrivilegeForThisProfile.requiredLicense)\r\n .privileges.push(availablePrivilegeForThisProfile.name.privilegeName);\r\n });\r\n } catch {\r\n this.selectedPrivileges = [];\r\n this.availableLicenseModules.forEach((element) => {\r\n this.selectedPrivileges.push({ licenseModule: element, privileges: [] });\r\n });\r\n }\r\n\r\n // Folders visibility\r\n if (profile.associatedHierarchyList != null && profile.associatedHierarchyList.length > 0) this.selectedFolders = profile.associatedHierarchyList.map((c) => c.id);\r\n else this.selectedFolders = [];\r\n }\r\n },\r\n\r\n async onSaveClick() {\r\n if (this.canSave && !this.saving) {\r\n try {\r\n this.saving = true;\r\n\r\n const reqData = new CreateClientProfileReqData();\r\n reqData.name = this.profileName;\r\n reqData.organizationId = null;\r\n if (this.selectedOrganization != null) reqData.organizationId = this.selectedOrganization.value;\r\n reqData.privileges = new ClientPrivileges(\r\n this.selectedPrivileges\r\n .map((p) => p.privileges)\r\n .flat()\r\n .join(\",\")\r\n );\r\n reqData.windowsGroup =\r\n this.windowsGroup != null && this.windowsGroup.length > 0\r\n ? this.windowsGroup\r\n : this.azureGroup != null && this.azureGroup.length > 0\r\n ? this.azureGroup\r\n : this.wsFedProfile;\r\n reqData.authPluginGroup = this.authPluginGroup;\r\n reqData.associatedFoldersIds = this.selectedFolders;\r\n\r\n let res: ServiceResponseData;\r\n if (this.clientProfile != null) res = await new UpdateClientProfileCommand(reqData).execute();\r\n else res = await new CreateClientProfileCommand(reqData).execute();\r\n\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) this.onCloseClick();\r\n else this.errorMessage = this.$t(\"user_management.error_editing\", this.profileName);\r\n\r\n this.saving = false;\r\n } catch (error) {\r\n console.log(\"Something went wrong during CreateClientProfileCommand or UpdateClientProfileCommand execution: \", error);\r\n this.saving = false;\r\n }\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.reset(this.clientProfile);\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditClientProfileModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditClientProfileModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditClientProfileModal.vue?vue&type=template&id=ec7c2bf6&\"\nimport script from \"./EditClientProfileModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditClientProfileModal.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VAvatar,VBtn,VCard,VCardText,VCardTitle,VChip,VCol,VCombobox,VDivider,VIcon,VRow,VSelect,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.clientProfile)?_c('v-card',{staticClass:\"pa-4\",attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"ma-0 pa-0 mb-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.delete_profile_title\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-fa-icon',{attrs:{\"icon\":\"times\"}})],1)],1),_c('v-divider',{staticClass:\"mb-4\"}),_c('v-card-text',{staticClass:\"ma-0 pa-0 mb-2\"},[(_vm.clientProfile.name.includes(_vm.profileNameInternalString))?_c('span',[(_vm.clientProfile.associatedUsersCount > 0)?_c('span',{domProps:{\"textContent\":_vm._s(\n _vm.$t('user_management.delete_profile_text', [\n _vm.clientProfile.name.substring(0, _vm.clientProfile.name.lastIndexOf(_vm.profileNameInternalString)),\n _vm.clientProfile.associatedUsersCount ])\n )}}):_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.delete_profile_no_users_text', [_vm.clientProfile.name.substring(0, _vm.clientProfile.name.lastIndexOf(_vm.profileNameInternalString))]))}})]):_c('span',[(_vm.clientProfile.associatedUsersCount > 0)?_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.delete_profile_text', [_vm.clientProfile.name, _vm.clientProfile.associatedUsersCount]))}}):_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('user_management.delete_profile_no_users_text', [_vm.clientProfile.name.substring(0, _vm.clientProfile.name.lastIndexOf(_vm.profileNameInternalString))]))}})])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"user_management.confirm_to_delete\"))+\" \")]),_c('v-spacer')],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ClientProfileExtended } from \"@/model/communication/users/FetchClientProfilesResponse\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n profileNameInternalString: \"@$\",\r\n };\r\n },\r\n props: {\r\n clientProfile: {\r\n type: ClientProfileExtended,\r\n required: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteClientProfileModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteClientProfileModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeleteClientProfileModal.vue?vue&type=template&id=6449b958&\"\nimport script from \"./DeleteClientProfileModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeleteClientProfileModal.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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDivider,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',{domProps:{\"textContent\":_vm._s(_vm.$t('organizationsManagement.addProfilesSubtitle', [_vm.organization.name]))}}),_c('v-divider',{staticClass:\"mx-6 mb-4\"}),_c('v-combobox',{staticClass:\"mx-6\",attrs:{\"multiple\":\"\",\"items\":_vm.availableProfiles,\"label\":_vm.$t('organizationsManagement.organizationProfiles'),\"small-chips\":\"\"},model:{value:(_vm.selectedProfiles),callback:function ($$v) {_vm.selectedProfiles=$$v},expression:\"selectedProfiles\"}}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"px-4 mb-4\",attrs:{\"color\":\"success\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.save'))},on:{\"click\":function($event){_vm.$emit(\n 'save',\n _vm.selectedProfiles.map(function (p) { return p.value; })\n )}}}),_c('v-spacer')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Model\r\nimport { ClientProfileExtended } from \"@/model/communication/users/FetchClientProfilesResponse\";\r\nimport { Organization } from \"@/model/data/organizations/Organization\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n selectedProfiles: [],\r\n };\r\n },\r\n props: {\r\n organization: { type: Object as () => Organization, required: true },\r\n profiles: { type: Array as () => ClientProfileExtended[], required: true },\r\n },\r\n computed: {\r\n availableProfiles() {\r\n return this.profiles.map((p) => ({\r\n text: (p.name.includes(this.profileNameInternalString) ? p.name.substring(0, p.name.lastIndexOf(this.profileNameInternalString)) : p.name) + \" (\" + p.associatedHierarchyList.map((f) => \"📁 \" + f.name.replace(\"/\", \"Root\")).join(\", \") + \")\",\r\n value: p.name,\r\n }));\r\n },\r\n },\r\n watch: {\r\n organization(newValue) {\r\n this.reset();\r\n },\r\n },\r\n methods: {\r\n reset() {\r\n this.selectedProfiles = this.profiles\r\n .filter((p) => p.organizationId == this.organization.id)\r\n .map((p) => ({\r\n text: (p.name.includes(this.profileNameInternalString) ? p.name.substring(0, p.name.lastIndexOf(this.profileNameInternalString)) : p.name) + \" (\" + p.associatedHierarchyList.map((f) => \"📁 \" + f.name.replace(\"/\", \"Root\")).join(\", \") + \")\",\r\n value: p.name,\r\n }));\r\n },\r\n },\r\n mounted() {\r\n this.reset();\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditOrganizationProfiles.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditOrganizationProfiles.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditOrganizationProfiles.vue?vue&type=template&id=757a397c&\"\nimport script from \"./EditOrganizationProfiles.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditOrganizationProfiles.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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VCombobox,VDivider,VSpacer})\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/organizations/editOrganizationProfiles\";\r\n\r\nexport class EditOrganizationProfilesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n data: EditOrganizationProfilesReqData;\r\n\r\n constructor(data: EditOrganizationProfilesReqData) {\r\n super();\r\n this.data = data;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.data);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n\r\nexport class EditOrganizationProfilesReqData {\r\n folderId: number;\r\n profileNames: string[];\r\n\r\n constructor(profileNames: string[], folderId: number) {\r\n this.profileNames = profileNames;\r\n this.folderId = folderId;\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from \"vue\";\r\nimport { mapState, mapGetters } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Vue components\r\nimport EditClientProfileModal from \"@/views/App/Tools/UserManagement/EditClientProfileModal.vue\";\r\nimport DeleteClientProfileModal from \"@/views/App/Tools/UserManagement/DeleteClientProfileModal.vue\";\r\nimport EditOrganizationProfiles from \"@/views/App/Tools/UserManagement/EditOrganizationProfiles.vue\";\r\n\r\n// Model\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { FetchClientProfilesCommand } from \"@/model/communication/users/FetchClientProfilesCommand\";\r\nimport { Organization } from \"@/model/data/organizations/Organization\";\r\nimport { DeleteClientProfileReqData } from \"@/model/communication/users/DeleteClientProfileReqData\";\r\nimport { DeleteClientProfileCommand } from \"@/model/communication/users/DeleteClientProfileCommand\";\r\nimport { GetOrganizationsCommand } from \"@/model/communication/organizations/GetOrganizationsCommand\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport { EditOrganizationProfilesCommand, EditOrganizationProfilesReqData } from \"@/model/communication/organizations/EditOrganizationProfilesCommand\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n EditClientProfileModal,\r\n DeleteClientProfileModal,\r\n EditOrganizationProfiles,\r\n },\r\n data() {\r\n return {\r\n profileNameInternalString: \"@$\",\r\n loading: false,\r\n showErrorAlert: false,\r\n search: \"\",\r\n profiles: [],\r\n availableOrganizations: [],\r\n showEditProfileDialog: false,\r\n showDeleteProfileDialog: false,\r\n profileToEdit: null,\r\n profileToDelete: null,\r\n showAddProfilesToTheOrganizationDialog: false,\r\n };\r\n },\r\n props: {\r\n organization: { type: Object as () => Organization, required: false },\r\n },\r\n computed: {\r\n ...mapState({ authUser: (state: RootState) => state.authMod.currentUser }),\r\n ...mapGetters([\"isUserSuperAdmin\"]),\r\n\r\n isUserSuperAdminComp() {\r\n return this.isUserSuperAdmin;\r\n },\r\n\r\n isOrganizationManagementEnabled() {\r\n if (\r\n this.authUser != null &&\r\n this.authUser.profile != null &&\r\n this.authUser.profile.privileges != null &&\r\n this.authUser.profile.privileges.privilegeName != null &&\r\n this.authUser.profile.privileges.privilegeName.includes(ClientPrivileges.OrganizationsManagement.privilegeName)\r\n )\r\n return true;\r\n else return false;\r\n },\r\n\r\n headers() {\r\n let res = [];\r\n res.push({ text: this.$t(\"common.name\"), value: \"name\" });\r\n if (this.isOrganizationManagementEnabled && !this.organization) res.push({ text: this.$t(\"user_management.organization\"), value: \"organizationId\", sortable: false });\r\n res.push({ text: this.$t(\"user_management.visibility\"), value: \"visibility\", sortable: false });\r\n res.push({ text: this.$t(\"organizationsManagement.users\"), value: \"associatedUsersCount\", sortable: false });\r\n res.push({ text: this.$t(\"organizationsManagement.externalUsers\"), value: \"associatedExternalUsersCount\", sortable: false });\r\n if (!this.organization) res.push({ text: this.$t(\"common.actions\"), value: \"action\", sortable: false });\r\n return res;\r\n },\r\n },\r\n watch: {\r\n organization() {\r\n this.getProfiles();\r\n },\r\n },\r\n methods: {\r\n openEditProfileDialog(profile: any) {\r\n this.profileToEdit = profile;\r\n this.showEditProfileDialog = true;\r\n },\r\n\r\n openDeleteProfileDialog(profile: any) {\r\n this.profileToDelete = profile;\r\n this.showDeleteProfileDialog = true;\r\n },\r\n\r\n async getProfiles() {\r\n this.showEditProfileDialog = false;\r\n this.showDeleteProfileDialog = false;\r\n this.profileToEdit = null;\r\n this.profileToDelete = null;\r\n if (!this.loading) {\r\n try {\r\n this.loading = true;\r\n let res = await new FetchClientProfilesCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.profiles = res.clientProfiles;\r\n }\r\n this.$emit(\"getUsers\");\r\n this.loading = false;\r\n } catch (error) {\r\n console.log(\"Something went wrong during FetchClientProfilesCommand execution: \", error);\r\n this.loading = false;\r\n }\r\n }\r\n },\r\n\r\n async deleteProfile() {\r\n try {\r\n this.showDeleteProfileDialog = false;\r\n const res = await new DeleteClientProfileCommand(new DeleteClientProfileReqData(this.profileToDelete.name)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.getProfiles();\r\n } else this.showErrorAlert = true;\r\n } catch (error) {\r\n console.log(\"Something went wrong during DeleteClientProfileCommand execution: \", error);\r\n }\r\n },\r\n\r\n async getOrganizations() {\r\n try {\r\n const res = await new GetOrganizationsCommand().execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) this.availableOrganizations = res.organizations;\r\n } catch (e) {\r\n console.error(\"Something went wrong during GetOrganizationsCommand execution: \", e);\r\n }\r\n },\r\n\r\n async editOrganizationProfiles(selectedProfile: string[]) {\r\n try {\r\n this.showAddProfilesToTheOrganizationDialog = false;\r\n const res = await new EditOrganizationProfilesCommand(new EditOrganizationProfilesReqData(selectedProfile, this.organization.folderId)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n console.log(\"this.$emit('getOrganizations');\");\r\n this.$emit(\"getOrganizations\");\r\n } else console.error(\"Something went wrong during editOrganizationProfiles execution: \");\r\n } catch (error) {\r\n console.error(\"Something went wrong during editOrganizationProfiles execution: \", error);\r\n }\r\n },\r\n },\r\n async mounted() {\r\n if (this.isOrganizationManagementEnabled) await this.getOrganizations();\r\n this.getProfiles();\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProfilesTable.vue?vue&type=template&id=15f64538&\"\nimport script from \"./ProfilesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProfilesTable.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 { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } 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';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VBtn,VCard,VDataTable,VDialog,VDivider,VSpacer,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","export class DeleteClientUserReqData {\r\n name: string;\r\n\r\n constructor(name: string) {\r\n this.name = name;\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { FetchClientProfilesResponse } from \"./FetchClientProfilesResponse\";\r\n\r\nconst ENDPOINT = \"/usermanagement/profiles\";\r\n\r\nexport class FetchClientProfilesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new FetchClientProfilesResponse(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { DeleteClientUserReqData } from \"./DeleteClientUserReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/users\";\r\n\r\nexport class DeleteClientUserCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"delete\";\r\n data: DeleteClientUserReqData;\r\n\r\n constructor(data: DeleteClientUserReqData) {\r\n super();\r\n this.data = data;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.data);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n","import store from \"@/store\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\n\r\nexport class GetAvailableLanguagesResponse extends ApiGenericResponse {\r\n availableLanguages: string[];\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.availableLanguages = [];\r\n let blacklistedLanguages = store.state.application.startupData.blacklistedLanguages;\r\n if (response.data && response.data.Payload && response.data.Payload.length > 0) {\r\n response.data.Payload.forEach((e) => {\r\n if (!blacklistedLanguages || !blacklistedLanguages.includes(e)) this.availableLanguages.push(e);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetAvailableLanguagesResponse } from \"./GetAvailableLanguagesResponse\";\r\n\r\nconst ENDPOINT = \"/misc/languages\";\r\n\r\nexport class GetAvailableLanguagesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n public async execute(): Promise {\r\n let res = await this.executeCommand();\r\n return new GetAvailableLanguagesResponse(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\nimport { DeleteClientProfileReqData } from \"./DeleteClientProfileReqData\";\r\n\r\nconst ENDPOINT = \"/usermanagement/profiles\";\r\n\r\nexport class DeleteClientProfileCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"delete\";\r\n data: DeleteClientProfileReqData;\r\n\r\n constructor(data: DeleteClientProfileReqData) {\r\n super();\r\n this.data = data;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.data);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n"],"sourceRoot":""}