graphdb-workbench 2.0.0-M3-RC3 → 2.0.0-RC2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{10.91f8aa0494201bb12b25.bundle.js → 10.eab0a417fa2f2831905e.bundle.js} +2 -2
- package/dist/10.eab0a417fa2f2831905e.bundle.js.map +1 -0
- package/dist/{104.42f8ece72006965c902d.bundle.js → 104.7e16b2863108db706fe7.bundle.js} +2 -2
- package/dist/104.7e16b2863108db706fe7.bundle.js.map +1 -0
- package/dist/{11.32f5a72d66bb699e9e8b.bundle.js → 11.3957302d7a301df30dd1.bundle.js} +2 -2
- package/dist/11.3957302d7a301df30dd1.bundle.js.map +1 -0
- package/dist/111.ceb781497f3c5dfd1446.bundle.js +2 -0
- package/dist/111.ceb781497f3c5dfd1446.bundle.js.map +1 -0
- package/dist/112.e34c26d9d3b4b6deae17.bundle.js +2 -0
- package/dist/112.e34c26d9d3b4b6deae17.bundle.js.map +1 -0
- package/dist/113.733877f9f73d3283f528.bundle.js +2 -0
- package/dist/113.733877f9f73d3283f528.bundle.js.map +1 -0
- package/dist/114.0e270e77a2a557167988.bundle.js +2 -0
- package/dist/114.0e270e77a2a557167988.bundle.js.map +1 -0
- package/dist/115.732830fed3ff34691def.bundle.js +2 -0
- package/dist/115.732830fed3ff34691def.bundle.js.map +1 -0
- package/dist/116.7e8b202c5d712bddaaec.bundle.js +2 -0
- package/dist/116.7e8b202c5d712bddaaec.bundle.js.map +1 -0
- package/dist/119.2d6b15bc87de2533599c.bundle.js +2 -0
- package/dist/119.2d6b15bc87de2533599c.bundle.js.map +1 -0
- package/dist/120.80843604737b7c260788.bundle.js +1 -1
- package/dist/120.80843604737b7c260788.bundle.js.map +1 -1
- package/dist/123.51ad0d8338eda5a93b06.bundle.js +2 -0
- package/dist/123.51ad0d8338eda5a93b06.bundle.js.map +1 -0
- package/dist/{128.ce61f3a6925ddbc8f612.bundle.js → 128.7dae6369a26090e10276.bundle.js} +2 -2
- package/dist/{128.ce61f3a6925ddbc8f612.bundle.js.map → 128.7dae6369a26090e10276.bundle.js.map} +1 -1
- package/dist/130.ecb7509cb6324abf4071.bundle.js +2 -0
- package/dist/130.ecb7509cb6324abf4071.bundle.js.map +1 -0
- package/dist/138.5375ebd499e5c4977038.bundle.js +2 -0
- package/dist/138.5375ebd499e5c4977038.bundle.js.map +1 -0
- package/dist/149.7089a654a1902207a2c8.bundle.js +2 -0
- package/dist/149.7089a654a1902207a2c8.bundle.js.map +1 -0
- package/dist/{151.2dae840b241433fbe1d8.bundle.js → 151.2104ac0782ac43e2e7d2.bundle.js} +2 -2
- package/dist/{151.2dae840b241433fbe1d8.bundle.js.map → 151.2104ac0782ac43e2e7d2.bundle.js.map} +1 -1
- package/dist/152.78baa98e298c18358c55.bundle.js +2 -0
- package/dist/152.78baa98e298c18358c55.bundle.js.map +1 -0
- package/dist/153.fd957ea6d6ea34d3feb2.bundle.js +2 -0
- package/dist/153.fd957ea6d6ea34d3feb2.bundle.js.map +1 -0
- package/dist/18.44723ea06155c72f46ae.bundle.js +1 -1
- package/dist/18.44723ea06155c72f46ae.bundle.js.map +1 -1
- package/dist/{2.3a65d34c46b96a708181.bundle.js → 2.6e340067f6eae14345cd.bundle.js} +2 -2
- package/dist/2.6e340067f6eae14345cd.bundle.js.map +1 -0
- package/dist/21.64fbe234fee75c83dda3.bundle.js +2 -0
- package/dist/21.64fbe234fee75c83dda3.bundle.js.map +1 -0
- package/dist/{23.9d969421ffc11412b35a.bundle.js → 23.acf56e52417b0fbca9f4.bundle.js} +2 -2
- package/dist/23.acf56e52417b0fbca9f4.bundle.js.map +1 -0
- package/dist/25.9e0925889b3a3f79c7fe.bundle.js +2 -0
- package/dist/25.9e0925889b3a3f79c7fe.bundle.js.map +1 -0
- package/dist/27.a53481ccfa58fbd0c801.bundle.js +2 -0
- package/dist/27.a53481ccfa58fbd0c801.bundle.js.map +1 -0
- package/dist/29.9bdb27c21d6eacac1341.bundle.js +1 -1
- package/dist/29.9bdb27c21d6eacac1341.bundle.js.map +1 -1
- package/dist/3.a1815b0ddb1630938d40.bundle.js +2 -0
- package/dist/3.a1815b0ddb1630938d40.bundle.js.map +1 -0
- package/dist/30.34b74ada583b1b0af913.bundle.js +2 -0
- package/dist/30.34b74ada583b1b0af913.bundle.js.map +1 -0
- package/dist/{44.dbb910f04027f51eeedd.bundle.js → 44.082e83be1a2eda5f197b.bundle.js} +2 -2
- package/dist/44.082e83be1a2eda5f197b.bundle.js.map +1 -0
- package/dist/48.f047a5ea62690543f8ad.bundle.js +2 -0
- package/dist/48.f047a5ea62690543f8ad.bundle.js.map +1 -0
- package/dist/5.1e4e7e36d894360b8d8f.bundle.js +2 -0
- package/dist/5.1e4e7e36d894360b8d8f.bundle.js.map +1 -0
- package/dist/67.3f75109fb8b71d88f6c7.bundle.js +2 -0
- package/dist/67.3f75109fb8b71d88f6c7.bundle.js.map +1 -0
- package/dist/68.e25480b7770a679a9654.bundle.js +1 -1
- package/dist/68.e25480b7770a679a9654.bundle.js.map +1 -1
- package/dist/8.5abe78e9d72cdbc2607f.bundle.js +3 -0
- package/dist/8.5abe78e9d72cdbc2607f.bundle.js.map +1 -0
- package/dist/{bundle.e65c5ca8080546fe24d7.bundle.js → bundle.7e4f5efd9843ba4c4905.bundle.js} +3 -3
- package/dist/bundle.7e4f5efd9843ba4c4905.bundle.js.map +1 -0
- package/dist/css/bootstrap-graphdb-theme.css +21 -3
- package/dist/css/clustermanagement.css +14 -1
- package/dist/css/fonts/icons.eot +0 -0
- package/dist/css/fonts/icons.svg +1 -0
- package/dist/css/fonts/icons.ttf +0 -0
- package/dist/css/fonts/icons.woff +0 -0
- package/dist/font/{icons.b601f6618abd131665211ff4ec9ad6b2.eot → icons.23e96f215ba03e98233de883d2c30b60.eot} +0 -0
- package/dist/img/{icons.6466330b5ada72a12e1aa10044720eec.svg → icons.ab6168834b8775f511d09c8fad540b27.svg} +1 -0
- package/dist/index.html +5 -5
- package/dist/js/angular/autocomplete/templates/modal/add-label.html +9 -8
- package/dist/js/angular/clustermanagement/templates/modal/add-nodes-dialog.html +17 -19
- package/dist/js/angular/clustermanagement/templates/modal/cluster-create-dialog.html +20 -21
- package/dist/js/angular/clustermanagement/templates/modal/cluster-delete-dialog.html +8 -9
- package/dist/js/angular/clustermanagement/templates/modal/cluster-edit-dialog.html +9 -8
- package/dist/js/angular/clustermanagement/templates/modal/remove-nodes-dialog.html +18 -19
- package/dist/js/angular/core/directives/queryeditor/templates/query-sample.html +10 -10
- package/dist/js/angular/core/directives/rdfresourcesearch/templates/rdfResourceSearchTemplate.html +1 -1
- package/dist/js/angular/core/templates/modal/copy-to-clipboard-modal.html +9 -10
- package/dist/js/angular/externalsync/templates/deleteConnector.html +4 -4
- package/dist/js/angular/graphexplore/templates/modal/save-graph.html +9 -10
- package/dist/js/angular/import/templates/settingsModal.html +231 -231
- package/dist/js/angular/settings/modal/location-settings.html +15 -16
- package/dist/js/angular/templates/modal/add-fedx-remote-repo.html +17 -15
- package/dist/js/angular/templates/modal/add-location.html +15 -15
- package/dist/js/angular/templates/modal/edit-location.html +8 -8
- package/dist/main.12e572893a7926387b80.css +1 -0
- package/dist/pages/autocomplete.html +1 -1
- package/dist/pages/choose-repository-type.html +1 -1
- package/dist/pages/cluster-management/clusterInfo.html +3 -3
- package/dist/pages/create-index.html +5 -5
- package/dist/pages/createConnector.html +134 -137
- package/dist/pages/dependencies.html +1 -1
- package/dist/pages/domainRangeInfo.html +2 -2
- package/dist/pages/edit.html +1 -1
- package/dist/pages/explore.html +1 -1
- package/dist/pages/export.html +1 -1
- package/dist/pages/find.html +1 -1
- package/dist/pages/graph-config/saveGraphConfig.html +11 -11
- package/dist/pages/graphs-visualizations.html +7 -7
- package/dist/pages/home.html +1 -1
- package/dist/pages/import.html +1 -1
- package/dist/pages/jdbc-create.html +5 -5
- package/dist/pages/monitor/queries.html +1 -1
- package/dist/pages/monitor/resources.html +2 -2
- package/dist/pages/namespaces.html +2 -2
- package/dist/pages/plugins.html +1 -1
- package/dist/pages/rdfClassHierarchyInfo.html +7 -7
- package/dist/pages/rdfrank.html +2 -2
- package/dist/pages/repositories.html +2 -2
- package/dist/pages/repository.html +2 -2
- package/dist/pages/similarity-indexes.html +3 -3
- package/dist/pages/sparql-template-create.html +5 -5
- package/dist/pages/sparql.html +3 -3
- package/dist/pages/webapi.html +2 -2
- package/dist/plugins.js +3 -12
- package/dist/res/swagger/fonts/icons.woff +0 -0
- package/dist/res/swagger/index.html +27 -27
- package/package.json +1 -1
- package/dist/10.91f8aa0494201bb12b25.bundle.js.map +0 -1
- package/dist/104.42f8ece72006965c902d.bundle.js.map +0 -1
- package/dist/11.32f5a72d66bb699e9e8b.bundle.js.map +0 -1
- package/dist/111.a360abaec5e5926aae34.bundle.js +0 -2
- package/dist/111.a360abaec5e5926aae34.bundle.js.map +0 -1
- package/dist/112.83afabc13f11ea9e326e.bundle.js +0 -2
- package/dist/112.83afabc13f11ea9e326e.bundle.js.map +0 -1
- package/dist/113.9f4c896b53aa300a5f38.bundle.js +0 -2
- package/dist/113.9f4c896b53aa300a5f38.bundle.js.map +0 -1
- package/dist/114.afa49d7867c1ce3b08c2.bundle.js +0 -2
- package/dist/114.afa49d7867c1ce3b08c2.bundle.js.map +0 -1
- package/dist/115.bbf8829ee8f466f85862.bundle.js +0 -2
- package/dist/115.bbf8829ee8f466f85862.bundle.js.map +0 -1
- package/dist/116.a4460f77635888e013b1.bundle.js +0 -2
- package/dist/116.a4460f77635888e013b1.bundle.js.map +0 -1
- package/dist/119.e60f7d27cb5876b3a601.bundle.js +0 -2
- package/dist/119.e60f7d27cb5876b3a601.bundle.js.map +0 -1
- package/dist/123.207528c97d229de16991.bundle.js +0 -2
- package/dist/123.207528c97d229de16991.bundle.js.map +0 -1
- package/dist/130.c2f5c98e78bd22743ee4.bundle.js +0 -2
- package/dist/130.c2f5c98e78bd22743ee4.bundle.js.map +0 -1
- package/dist/138.84fb24a9535f4d6d8c59.bundle.js +0 -2
- package/dist/138.84fb24a9535f4d6d8c59.bundle.js.map +0 -1
- package/dist/149.8ca7b7242b61bd7a8363.bundle.js +0 -2
- package/dist/149.8ca7b7242b61bd7a8363.bundle.js.map +0 -1
- package/dist/152.bd0fd3cba70a2e267646.bundle.js +0 -2
- package/dist/152.bd0fd3cba70a2e267646.bundle.js.map +0 -1
- package/dist/153.9272a2423ac2aa6a148b.bundle.js +0 -2
- package/dist/153.9272a2423ac2aa6a148b.bundle.js.map +0 -1
- package/dist/2.3a65d34c46b96a708181.bundle.js.map +0 -1
- package/dist/21.111cc98aaf2436b81eea.bundle.js +0 -2
- package/dist/21.111cc98aaf2436b81eea.bundle.js.map +0 -1
- package/dist/23.9d969421ffc11412b35a.bundle.js.map +0 -1
- package/dist/25.fffc5233e718b047a34f.bundle.js +0 -2
- package/dist/25.fffc5233e718b047a34f.bundle.js.map +0 -1
- package/dist/27.357929bef6f5df788b8e.bundle.js +0 -2
- package/dist/27.357929bef6f5df788b8e.bundle.js.map +0 -1
- package/dist/3.36fe2e671f737648a477.bundle.js +0 -2
- package/dist/3.36fe2e671f737648a477.bundle.js.map +0 -1
- package/dist/30.e2cd19e99cf6ecdad6ac.bundle.js +0 -2
- package/dist/30.e2cd19e99cf6ecdad6ac.bundle.js.map +0 -1
- package/dist/44.dbb910f04027f51eeedd.bundle.js.map +0 -1
- package/dist/48.d1b4cfee2f0e084c1d73.bundle.js +0 -2
- package/dist/48.d1b4cfee2f0e084c1d73.bundle.js.map +0 -1
- package/dist/5.e112b0d6e101e0766cda.bundle.js +0 -2
- package/dist/5.e112b0d6e101e0766cda.bundle.js.map +0 -1
- package/dist/67.62375b1b4925fff2fe7c.bundle.js +0 -2
- package/dist/67.62375b1b4925fff2fe7c.bundle.js.map +0 -1
- package/dist/8.7f3059d43e0db8ff7dd5.bundle.js +0 -3
- package/dist/8.7f3059d43e0db8ff7dd5.bundle.js.map +0 -1
- package/dist/bundle.e65c5ca8080546fe24d7.bundle.js.map +0 -1
- package/dist/main.b9612509bb46028befd2.css +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{91:function(e,r,t){"use strict";t.r(r);t(3),t(10),t(20),t(21);var s=t(1);const n=function(e){return e.location?`${e.id}@${e.location}`:e.id},o=angular.module("graphdb.framework.security.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","graphdb.framework.core.services.openIDService","graphdb.framework.rest.security.service","graphdb.framework.utils.localstorageadapter","toastr"]),i=function(e){let r=s.UserType.USER;const t={READ_REPO:{},WRITE_REPO:{}},n={};for(let o=0;o<e.length;o++){const i=e[o];if(i===s.UserRole.ROLE_ADMIN)r=s.UserType.ADMIN;else if(i===s.UserRole.ROLE_REPO_MANAGER)r!==s.UserType.ADMIN&&(r=s.UserType.REPO_MANAGER);else if(i===s.UserRole.ROLE_USER)r=s.UserType.USER;else if(0!==i.indexOf("ROLE_")){const e=i.indexOf("_",i.indexOf("_")+1),r=i.substr(0,e),s=i.substr(e+1);t[r][s]=!0,n[s]=n[s]||{},"READ_REPO"===r?n[s].read=!0:"WRITE_REPO"===r&&(n[s].write=!0)}}return{userType:r,userTypeDescription:s.UserUtils.getUserRoleName(r),grantedAuthorities:t,repositories:n}};o.controller("LoginCtrl",["$scope","$http","toastr","$jwtAuth","$openIDAuth","$location","$rootScope","$translate",function(e,r,t,s,n,o,i,a){e.username="",e.password="",e.loginWithOpenID=function(){s.loginOpenID()},o.search().noaccess?t.error(a.instant("security.no.rights.config.error"),a.instant("security.login.error")):o.search().expired&&t.error(a.instant("security.auth.token.expired"),a.instant("security.login.error")),e.isGDBLoginEnabled=function(){return s.passwordLoginEnabled},e.isOpenIDEnabled=function(){return s.openIDEnabled},e.login=function(){return r({method:"POST",url:"rest/login/"+encodeURIComponent(e.username),headers:{"X-GraphDB-Password":e.password}}).success((function(e,r,t){s.authenticate(e,t("Authorization")).then(()=>{i.returnToUrl?o.url(i.returnToUrl):o.path("/")})})).error((function(r,s){if(401===s)t.error(a.instant("security.wrong.credentials"),a.instant("common.error")),e.wrongCredentials=!0,e.username="",e.password="";else{const e=getError(r);t.error(e,s)}}))}}]),o.controller("UsersCtrl",["$scope","$modal","toastr","$window","$jwtAuth","$timeout","ModalService","SecurityRestService","$translate",function(e,r,t,s,o,a,u,c,d){e.loader=!0,e.securityEnabled=function(){return o.isSecurityEnabled()},e.hasExternalAuth=function(){return o.hasExternalAuth()},e.getAuthImplementation=function(){return o.getAuthImplementation()},e.freeAccessEnabled=function(){return o.isFreeAccessEnabled()},e.getUsers=function(){c.getUsers().success((function(r){e.users=r;for(let r=0;r<e.users.length;r++){const t=i(e.users[r].grantedAuthorities);e.users[r].userType=t.userType,e.users[r].userTypeDescription=t.userTypeDescription,e.users[r].repositories=t.repositories}e.loader=!1})).error((function(r){const s=getError(r);t.error(s,d.instant("common.error")),e.loader=!1}))},e.getUsers(),e.$on("repositoryIsSet",(function(){e.getUsers()})),e.toggleSecurity=function(){if(o.toggleSecurity(!o.isSecurityEnabled()),o.isSecurityEnabled()){const r=a((function(){s.location.reload()}),500);e.$on("$destroy",(function(){a.cancel(r)}))}},e.toggleFreeAccess=function(t){!o.isFreeAccessEnabled()||o.isFreeAccessEnabled()&&t?c.getFreeAccess().then((function(s){let i=s.data.authorities,a=s.data.appSettings||{DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0};r.open({templateUrl:"js/angular/security/templates/modal/default-authorities.html",controller:"DefaultAuthoritiesCtrl",resolve:{data:function(){return{defaultAuthorities:function(){const r={READ_REPO:{},WRITE_REPO:{}},t=_.mapKeys(e.getRepositories(),(function(e){return n(e)}));return _.each(i,(function(e){0===e.indexOf("WRITE_REPO_")?t.hasOwnProperty(e.substr(11))&&(r.WRITE_REPO[e.substr(11)]=!0):0===e.indexOf("READ_REPO_")&&t.hasOwnProperty(e.substr(10))&&(r.READ_REPO[e.substr(10)]=!0)})),r},appSettings:a}}}}).result.then((function(e){i=e.authorities,a=e.appSettings,o.toggleFreeAccess(t||!o.isFreeAccessEnabled(),i,a,t)}))})):o.toggleFreeAccess(!o.isFreeAccessEnabled(),[])},e.editFreeAccess=function(){e.toggleFreeAccess(!0)},e.removeUser=function(r){u.openSimpleModal({title:d.instant("common.confirm.delete"),message:d.instant("security.confirm.delete.user",{name:r}),warning:!0}).result.then((function(){e.loader=!0,c.deleteUser(r).success((function(){e.getUsers()})).error((function(r){const s=getError(r);t.error(s,d.instant("common.error")),e.loader=!1}))}))},e.encodeURIComponent=function(e){return encodeURIComponent(e)}}]),o.controller("DefaultAuthoritiesCtrl",["$scope","$http","$modalInstance","data","$rootScope",function(e,r,t,s,o){e.grantedAuthorities=s.defaultAuthorities(),e.appSettings=s.appSettings,e.hasActiveLocation=function(){return!_.isEmpty(o.globalLocation)},e.getRepositories=function(){return o.globalRepositories},e.ok=function(){const r=[];e.repositoryCheckError=!0;for(const t in e.grantedAuthorities.WRITE_REPO)e.grantedAuthorities.WRITE_REPO[t]&&(r.push("WRITE_REPO_"+t),r.push("READ_REPO_"+t),e.repositoryCheckError=!1);for(const t in e.grantedAuthorities.READ_REPO)e.grantedAuthorities.READ_REPO[t]&&-1===r.indexOf("READ_REPO_"+t)&&(r.push("READ_REPO_"+t),e.repositoryCheckError=!1);e.repositoryCheckError||t.close({authorities:r,appSettings:e.appSettings})},e.cancel=function(){t.dismiss("cancel")},e.createUniqueKey=function(e){return n(e)}}]),o.controller("CommonUserCtrl",["$rootScope","$scope","$http","toastr","$window","$timeout","$location","$jwtAuth","$translate","passwordPlaceholder",function(e,r,t,o,i,a,u,c,d,p){e.$on("$translateChangeSuccess",(function(){r.passwordPlaceholder=d.instant(p)})),r.isAdmin=function(){return c.hasRole(s.UserRole.ROLE_ADMIN)},r.hasExternalAuth=function(){return c.hasExternalAuth()},r.hasEditRestrictions=function(){return r.user&&r.user.username===s.UserType.ADMIN},r.isOverrideAuth=function(){return c.isDefaultAuthEnabled()},r.setGrantedAuthorities=function(){!function(e){function r(){for(let r=0;r<arguments.length;r++){const t=arguments[r];_.indexOf(e.user.grantedAuthorities,t)<0&&e.user.grantedAuthorities.push(t)}}if(e.user.grantedAuthorities=[],e.repositoryCheckError=!0,e.userType===s.UserType.ADMIN)e.repositoryCheckError=!1,r(s.UserRole.ROLE_ADMIN);else if(e.userType===s.UserType.REPO_MANAGER)e.repositoryCheckError=!1,r(s.UserRole.ROLE_REPO_MANAGER);else{r(s.UserRole.ROLE_USER);for(const t in e.grantedAuthorities.WRITE_REPO)e.grantedAuthorities.WRITE_REPO[t]&&(e.repositoryCheckError=!1,r("WRITE_REPO_"+t,"READ_REPO_"+t));for(const t in e.grantedAuthorities.READ_REPO)e.grantedAuthorities.READ_REPO[t]&&(e.repositoryCheckError=!1,r("READ_REPO_"+t))}}(r)},r.hasReadPermission=function(e){const t=n(e);return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&(r.grantedAuthorities.READ_REPO["*"]||r.grantedAuthorities.WRITE_REPO["*"])||r.grantedAuthorities.READ_REPO[t]||r.grantedAuthorities.WRITE_REPO[t]},r.hasWritePermission=function(e){const t=n(e);return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&r.grantedAuthorities.WRITE_REPO["*"]||r.grantedAuthorities.WRITE_REPO[t]},r.readCheckDisabled=function(e){return r.hasWritePermission(e)||"SYSTEM"!==e.id&&"*"!==e&&r.grantedAuthorities.READ_REPO["*"]||r.hasEditRestrictions()},r.writeCheckDisabled=function(e){return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&"*"!==e&&r.grantedAuthorities.WRITE_REPO["*"]||r.hasEditRestrictions()},r.createUniqueKey=function(e){return n(e)},r.userType=s.UserType.USER,r.grantedAuthorities={READ_REPO:{},WRITE_REPO:{}},r.validatePassword=function(){return r.noPassword?(r.passwordError="",r.confirmPasswordError="",!0):r.user.password!==r.user.confirmpassword?(r.user.password?(r.passwordError="",r.confirmPasswordError=d.instant("security.confirm.password")):(r.passwordError=d.instant("security.enter.password"),r.confirmPasswordError=""),!1):(r.passwordError="",r.confirmPasswordError="",!0)},r.isLocalAuthentication=function(){return"Local"===c.getAuthImplementation()},r.updateUser=function(){if(!r.validateForm())return!1;r.isLocalAuthentication()&&r.setGrantedAuthorities(),r.repositoryCheckError||r.updateUserHttp()},r.setNoPassword=function(){r.noPassword&&(r.user.password="",r.user.confirmpassword="",r.passwordError="",r.confirmPasswordError="")}}]),o.controller("AddUserCtrl",["$scope","$http","toastr","$window","$timeout","$location","$jwtAuth","$controller","SecurityRestService","ModalService","$translate",function(e,r,t,n,o,i,a,u,c,d,p){angular.extend(this,u("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.password.placeholder"})),e.mode="add",e.saveButtonText=p.instant("common.create.btn"),e.goBack=function(){const r=o((function(){n.history.back()}),100);e.$on("$destroy",(function(){o.cancel(r)}))},e.pageTitle=p.instant("view.create.user.title"),e.passwordPlaceholder=p.instant("security.password.placeholder"),e.user={username:"",password:"",confirmpassword:"",grantedAuthorities:[],appSettings:{DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0}},e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?d.openSimpleModal({title:p.instant("security.create.admin"),message:p.instant("security.admin.login.warning"),warning:!0}).result.then((function(){e.createUser()})):e.createUser()},e.createUserHttp=function(){e.loader=!0,c.createUser({username:e.user.username,pass:e.user.password,appSettings:e.user.appSettings,grantedAuthorities:e.user.grantedAuthorities}).success((function(){t.success(p.instant("security.user.created",{name:e.user.username}));const r=o((function(){e.loader=!1,n.history.back()}),2e3);e.$on("$destroy",(function(){o.cancel(r)}))})).error((function(r){const s=getError(r);e.loader=!1,t.error(s,p.instant("common.error"))}))},e.createUser=function(){e.validateForm()&&(e.setGrantedAuthorities(),e.repositoryCheckError||e.createUserHttp())},e.validateForm=function(){let r=!0;return e.user.username?e.usernameError="":(e.usernameError=p.instant("security.enter.username"),r=!1),e.noPassword?(e.passwordError="",e.confirmPasswordError=""):(e.user.password?e.passwordError="":(e.passwordError=p.instant("security.enter.password"),r=!1),e.user.confirmpassword&&e.user.password===e.user.confirmpassword?e.confirmPasswordError="":(e.confirmPasswordError=p.instant("security.confirm.password"),r=!1)),r}}]),o.controller("EditUserCtrl",["$scope","$http","toastr","$window","$routeParams","$timeout","$location","$jwtAuth","$controller","SecurityRestService","ModalService","$translate",function(e,r,t,n,o,a,u,c,d,p,l,E){angular.extend(this,d("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"})),e.mode="edit",e.saveButtonText=E.instant("common.save.btn"),e.goBack=function(){const r=a((function(){n.history.back()}),100);e.$on("$destroy",(function(){a.cancel(r)}))},e.params=o,e.pageTitle=E.instant("view.edit.user.title",{userId:e.params.userId}),e.passwordPlaceholder=E.instant("security.new.password"),e.userType=s.UserType.USER;const f={DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0};c.hasRole(s.UserRole.ROLE_ADMIN)||u.url("settings"),e.getUserData=function(){p.getUser(e.params.userId).success((function(r){e.userData=r,e.user={username:e.userData.username},e.user.password="",e.user.confirmpassword="",e.user.external=e.userData.external,e.user.appSettings=r.appSettings||f,e.userType=s.UserType.USER;const t=i(r.grantedAuthorities);e.userType=t.userType,e.grantedAuthorities=t.grantedAuthorities})).error((function(e){const r=getError(e);t.error(r,E.instant("common.error"))}))},e.getUserData(),e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?l.openSimpleModal({title:E.instant("security.save.admin.settings"),message:E.instant("security.admin.pass.unset"),warning:!0}).result.then((function(){e.updateUser()})):e.updateUser()},e.updateUserHttp=function(){e.loader=!0,p.updateUser({username:e.user.username,pass:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings,grantedAuthorities:e.user.grantedAuthorities}).success((function(){t.success(E.instant("security.user.updated",{name:e.user.username}));const r=a((function(){e.loader=!1,n.history.back()}),2e3);e.$on("$destroy",(function(){a.cancel(r)})),e.user.username===c.getPrincipal().username&&(c.getPrincipal().appSettings=e.user.appSettings)})).error((function(r){const s=getError(r);e.loader=!1,t.error(s,E.instant("common.error"))}))},e.validateForm=function(){return e.validatePassword()}}]),o.controller("RolesMappingController",["$scope","toastr","SecurityRestService","$translate",function(e,r,t,s){e.debugMapping=function(e,r){const s=r.split(":");t.getRolesMapping({role:e,method:s[1],mapping:s[0]})};e.$on("repositoryIsSet",(function(){t.getRoles().success((function(r){e.roleMappings=r,e.roles=_.keys(e.roleMappings),e.mappings=_.keys(e.roleMappings[e.roles[0]]);const t=_.map(e.roles,(function(r){return[r,_.filter(e.roleMappings[r]).length]}));e.roles=_.reverse(_.map(_.orderBy(t,(function(e){return e[1]})),(function(e){return e[0]})))})).error((function(t){const n=getError(t);e.loader=!1,r.error(n,s.instant("common.error"))}))}))}]),o.controller("ChangeUserPasswordSettingsCtrl",["$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","SecurityRestService","ModalService","$translate","LocalStorageAdapter","LSKeys",function(e,r,t,n,o,a,u,c,d,p,l,E){angular.extend(this,u("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"})),e.mode="settings",e.hasEditRestrictions=function(){return!0},e.saveButtonText=p.instant("common.save.btn"),e.goBack=function(){const r=n((function(){t.history.back()}),100);e.$on("$destroy",(function(){n.cancel(r)}))},e.currentUserData=function(){return o.getPrincipal()},e.showWorkbenchSettings=!0,e.updateCurrentUserData=function(){_.assign(o.getPrincipal(),e.userData)},e.redirectAdmin=function(){e.currentUserData()||a.redirectToLogin()},e.pageTitle=p.instant("view.settings.title"),e.passwordPlaceholder=p.instant("security.new.password"),e.grantedAuthorities={READ_REPO:{},WRITE_REPO:{}};const f=function(r){r.userData=angular.copy(r.currentUserData()),r.user={username:r.userData.username},r.user.password="",r.user.confirmpassword="",r.user.external=r.userData.external,r.user.appSettings=r.userData.appSettings,void 0===r.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA&&(r.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA=!0);const t=i(r.userData.authorities);e.userType=t.userType,e.grantedAuthorities=t.grantedAuthorities};e.currentUserData()?f(e):e.$on("securityInit",(function(e){e.currentScope.redirectAdmin(),f(e.currentScope)})),e.loader=!1,e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?d.openSimpleModal({title:p.instant("security.save.admin.settings"),message:p.instant("security.admin.pass.unset"),warning:!0}).result.then((function(){e.updateUser()})):e.updateUser()},e.updateUserHttp=function(){e.loader=!0,c.updateUserData({username:e.user.username,pass:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings}).success((function(){e.updateCurrentUserData(),r.success(p.instant("security.user.updated",{name:e.user.username}));const s=n((function(){e.loader=!1,t.history.back()}),2e3);l.set(E.WORKBENCH_SETTINGS,e.workbenchSettings),e.$on("$destroy",(function(){n.cancel(s)}))})).error((function(t){const s=getError(t);e.loader=!1,r.error(s,p.instant("common.error"))}))},e.updateUser=function(){if(!e.validateForm())return!1;e.updateUserHttp()},e.validateForm=function(){return e.validatePassword()},e.setWorkbenchTheme=function(){const r=document.querySelector(":root");"dark"===e.workbenchSettings.theme?r.classList.add("dark"):r.classList.remove("dark")},e.workbenchSettings=l.get(E.WORKBENCH_SETTINGS),e.workbenchSettings||(e.workbenchSettings={theme:"light"}),e.setWorkbenchTheme(),e.$on("$destroy",(function(){const e=l.get(E.WORKBENCH_SETTINGS),r=document.querySelector(":root");e&&"dark"===e.theme?r.classList.add("dark"):r.classList.remove("dark")}))}]),o.controller("DeleteUserCtrl",["$scope","$modalInstance","username",function(e,r,t){e.username=t,e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")}}])}}]);
|
|
2
|
-
//# sourceMappingURL=10.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{91:function(e,r,t){"use strict";t.r(r);t(3),t(10),t(20),t(21);var s=t(1);const n=function(e){return e.location?`${e.id}@${e.location}`:e.id},o=angular.module("graphdb.framework.security.controllers",["ngCookies","ui.bootstrap","graphdb.framework.core.services.jwtauth","graphdb.framework.core.services.openIDService","graphdb.framework.rest.security.service","graphdb.framework.utils.localstorageadapter","toastr"]),i=function(e){let r=s.UserType.USER;const t={READ_REPO:{},WRITE_REPO:{}},n={};for(let o=0;o<e.length;o++){const i=e[o];if(i===s.UserRole.ROLE_ADMIN)r=s.UserType.ADMIN;else if(i===s.UserRole.ROLE_REPO_MANAGER)r!==s.UserType.ADMIN&&(r=s.UserType.REPO_MANAGER);else if(i===s.UserRole.ROLE_USER)r=s.UserType.USER;else if(0!==i.indexOf("ROLE_")){const e=i.indexOf("_",i.indexOf("_")+1),r=i.substr(0,e),s=i.substr(e+1);t[r][s]=!0,n[s]=n[s]||{},"READ_REPO"===r?n[s].read=!0:"WRITE_REPO"===r&&(n[s].write=!0)}}return{userType:r,userTypeDescription:s.UserUtils.getUserRoleName(r),grantedAuthorities:t,repositories:n}};o.controller("LoginCtrl",["$scope","$http","toastr","$jwtAuth","$openIDAuth","$location","$rootScope","$translate",function(e,r,t,s,n,o,i,a){e.username="",e.password="",e.loginWithOpenID=function(){s.loginOpenID()},o.search().noaccess?t.error(a.instant("security.no.rights.config.error"),a.instant("security.login.error")):o.search().expired&&t.error(a.instant("security.auth.token.expired"),a.instant("security.login.error")),e.isGDBLoginEnabled=function(){return s.passwordLoginEnabled},e.isOpenIDEnabled=function(){return s.openIDEnabled},e.login=function(){return r({method:"POST",url:"rest/login/"+encodeURIComponent(e.username),headers:{"X-GraphDB-Password":e.password}}).success((function(e,r,t){s.authenticate(e,t("Authorization")).then(()=>{i.returnToUrl?o.url(i.returnToUrl):o.path("/")})})).error((function(r,s){if(401===s)t.error(a.instant("security.wrong.credentials"),a.instant("common.error")),e.wrongCredentials=!0,e.username="",e.password="";else{const e=getError(r);t.error(e,s)}}))}}]),o.controller("UsersCtrl",["$scope","$modal","toastr","$window","$jwtAuth","$timeout","ModalService","SecurityRestService","$translate",function(e,r,t,s,o,a,u,c,d){e.loader=!0,e.securityEnabled=function(){return o.isSecurityEnabled()},e.hasExternalAuth=function(){return o.hasExternalAuth()},e.getAuthImplementation=function(){return o.getAuthImplementation()},e.freeAccessEnabled=function(){return o.isFreeAccessEnabled()},e.getUsers=function(){c.getUsers().success((function(r){e.users=r;for(let r=0;r<e.users.length;r++){const t=i(e.users[r].grantedAuthorities);e.users[r].userType=t.userType,e.users[r].userTypeDescription=t.userTypeDescription,e.users[r].repositories=t.repositories}e.loader=!1})).error((function(r){const s=getError(r);t.error(s,d.instant("common.error")),e.loader=!1}))},e.getUsers(),e.$on("repositoryIsSet",(function(){e.getUsers()})),e.toggleSecurity=function(){if(o.toggleSecurity(!o.isSecurityEnabled()),o.isSecurityEnabled()){const r=a((function(){s.location.reload()}),500);e.$on("$destroy",(function(){a.cancel(r)}))}},e.toggleFreeAccess=function(t){!o.isFreeAccessEnabled()||o.isFreeAccessEnabled()&&t?c.getFreeAccess().then((function(s){let i=s.data.authorities,a=s.data.appSettings||{DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0};r.open({templateUrl:"js/angular/security/templates/modal/default-authorities.html",controller:"DefaultAuthoritiesCtrl",resolve:{data:function(){return{defaultAuthorities:function(){const r={READ_REPO:{},WRITE_REPO:{}},t=_.mapKeys(e.getRepositories(),(function(e){return n(e)}));return _.each(i,(function(e){0===e.indexOf("WRITE_REPO_")?t.hasOwnProperty(e.substr(11))&&(r.WRITE_REPO[e.substr(11)]=!0):0===e.indexOf("READ_REPO_")&&t.hasOwnProperty(e.substr(10))&&(r.READ_REPO[e.substr(10)]=!0)})),r},appSettings:a}}}}).result.then((function(e){i=e.authorities,a=e.appSettings,o.toggleFreeAccess(t||!o.isFreeAccessEnabled(),i,a,t)}))})):o.toggleFreeAccess(!o.isFreeAccessEnabled(),[])},e.editFreeAccess=function(){e.toggleFreeAccess(!0)},e.removeUser=function(r){u.openSimpleModal({title:d.instant("common.confirm.delete"),message:d.instant("security.confirm.delete.user",{name:r}),warning:!0}).result.then((function(){e.loader=!0,c.deleteUser(r).success((function(){e.getUsers()})).error((function(r){const s=getError(r);t.error(s,d.instant("common.error")),e.loader=!1}))}))},e.encodeURIComponent=function(e){return encodeURIComponent(e)}}]),o.controller("DefaultAuthoritiesCtrl",["$scope","$http","$modalInstance","data","$rootScope",function(e,r,t,s,o){e.grantedAuthorities=s.defaultAuthorities(),e.appSettings=s.appSettings,e.hasActiveLocation=function(){return!_.isEmpty(o.globalLocation)},e.getRepositories=function(){return o.globalRepositories},e.ok=function(){const r=[];e.repositoryCheckError=!0;for(const t in e.grantedAuthorities.WRITE_REPO)e.grantedAuthorities.WRITE_REPO[t]&&(r.push("WRITE_REPO_"+t),r.push("READ_REPO_"+t),e.repositoryCheckError=!1);for(const t in e.grantedAuthorities.READ_REPO)e.grantedAuthorities.READ_REPO[t]&&-1===r.indexOf("READ_REPO_"+t)&&(r.push("READ_REPO_"+t),e.repositoryCheckError=!1);e.repositoryCheckError||t.close({authorities:r,appSettings:e.appSettings})},e.cancel=function(){t.dismiss("cancel")},e.createUniqueKey=function(e){return n(e)}}]),o.controller("CommonUserCtrl",["$rootScope","$scope","$http","toastr","$window","$timeout","$location","$jwtAuth","$translate","passwordPlaceholder",function(e,r,t,o,i,a,u,c,d,p){e.$on("$translateChangeSuccess",(function(){r.passwordPlaceholder=d.instant(p)})),r.isAdmin=function(){return c.hasRole(s.UserRole.ROLE_ADMIN)},r.hasExternalAuth=function(){return c.hasExternalAuth()},r.hasEditRestrictions=function(){return r.user&&r.user.username===s.UserType.ADMIN},r.isOverrideAuth=function(){return c.isDefaultAuthEnabled()},r.setGrantedAuthorities=function(){!function(e){function r(){for(let r=0;r<arguments.length;r++){const t=arguments[r];_.indexOf(e.user.grantedAuthorities,t)<0&&e.user.grantedAuthorities.push(t)}}if(e.user.grantedAuthorities=[],e.repositoryCheckError=!0,e.userType===s.UserType.ADMIN)e.repositoryCheckError=!1,r(s.UserRole.ROLE_ADMIN);else if(e.userType===s.UserType.REPO_MANAGER)e.repositoryCheckError=!1,r(s.UserRole.ROLE_REPO_MANAGER);else{r(s.UserRole.ROLE_USER);for(const t in e.grantedAuthorities.WRITE_REPO)e.grantedAuthorities.WRITE_REPO[t]&&(e.repositoryCheckError=!1,r("WRITE_REPO_"+t,"READ_REPO_"+t));for(const t in e.grantedAuthorities.READ_REPO)e.grantedAuthorities.READ_REPO[t]&&(e.repositoryCheckError=!1,r("READ_REPO_"+t))}}(r)},r.hasReadPermission=function(e){const t=n(e);return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&(r.grantedAuthorities.READ_REPO["*"]||r.grantedAuthorities.WRITE_REPO["*"])||r.grantedAuthorities.READ_REPO[t]||r.grantedAuthorities.WRITE_REPO[t]},r.hasWritePermission=function(e){const t=n(e);return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&r.grantedAuthorities.WRITE_REPO["*"]||r.grantedAuthorities.WRITE_REPO[t]},r.readCheckDisabled=function(e){return r.hasWritePermission(e)||"SYSTEM"!==e.id&&"*"!==e&&r.grantedAuthorities.READ_REPO["*"]||r.hasEditRestrictions()},r.writeCheckDisabled=function(e){return r.userType===s.UserType.ADMIN||r.userType===s.UserType.REPO_MANAGER||"SYSTEM"!==e.id&&"*"!==e&&r.grantedAuthorities.WRITE_REPO["*"]||r.hasEditRestrictions()},r.createUniqueKey=function(e){return n(e)},r.userType=s.UserType.USER,r.grantedAuthorities={READ_REPO:{},WRITE_REPO:{}},r.validatePassword=function(){return r.noPassword?(r.passwordError="",r.confirmPasswordError="",!0):r.user.password!==r.user.confirmpassword?(r.user.password?(r.passwordError="",r.confirmPasswordError=d.instant("security.confirm.password")):(r.passwordError=d.instant("security.enter.password"),r.confirmPasswordError=""),!1):(r.passwordError="",r.confirmPasswordError="",!0)},r.isLocalAuthentication=function(){return"Local"===c.getAuthImplementation()},r.updateUser=function(){if(!r.validateForm())return!1;r.isLocalAuthentication()&&r.setGrantedAuthorities(),r.repositoryCheckError||r.updateUserHttp()},r.setNoPassword=function(){r.noPassword&&(r.user.password="",r.user.confirmpassword="",r.passwordError="",r.confirmPasswordError="")}}]),o.controller("AddUserCtrl",["$scope","$http","toastr","$window","$timeout","$location","$jwtAuth","$controller","SecurityRestService","ModalService","$translate",function(e,r,t,n,o,i,a,u,c,d,p){angular.extend(this,u("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.password.placeholder"})),e.mode="add",e.saveButtonText=p.instant("common.create.btn"),e.goBack=function(){const r=o((function(){n.history.back()}),100);e.$on("$destroy",(function(){o.cancel(r)}))},e.pageTitle=p.instant("view.create.user.title"),e.passwordPlaceholder=p.instant("security.password.placeholder"),e.user={username:"",password:"",confirmpassword:"",grantedAuthorities:[],appSettings:{DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0}},e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?d.openSimpleModal({title:p.instant("security.create.admin"),message:p.instant("security.admin.login.warning"),warning:!0}).result.then((function(){e.createUser()})):e.createUser()},e.createUserHttp=function(){e.loader=!0,c.createUser({username:e.user.username,pass:e.user.password,appSettings:e.user.appSettings,grantedAuthorities:e.user.grantedAuthorities}).success((function(){t.success(p.instant("security.user.created",{name:e.user.username}));const r=o((function(){e.loader=!1,n.history.back()}),2e3);e.$on("$destroy",(function(){o.cancel(r)}))})).error((function(r){const s=getError(r);e.loader=!1,t.error(s,p.instant("common.error"))}))},e.createUser=function(){e.validateForm()&&(e.setGrantedAuthorities(),e.repositoryCheckError||e.createUserHttp())},e.validateForm=function(){let r=!0;return e.user.username?e.usernameError="":(e.usernameError=p.instant("security.enter.username"),r=!1),e.noPassword?(e.passwordError="",e.confirmPasswordError=""):(e.user.password?e.passwordError="":(e.passwordError=p.instant("security.enter.password"),r=!1),e.user.confirmpassword&&e.user.password===e.user.confirmpassword?e.confirmPasswordError="":(e.confirmPasswordError=p.instant("security.confirm.password"),r=!1)),r}}]),o.controller("EditUserCtrl",["$scope","$http","toastr","$window","$routeParams","$timeout","$location","$jwtAuth","$controller","SecurityRestService","ModalService","$translate",function(e,r,t,n,o,a,u,c,d,p,l,E){angular.extend(this,d("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"})),e.mode="edit",e.saveButtonText=E.instant("common.save.btn"),e.goBack=function(){const r=a((function(){n.history.back()}),100);e.$on("$destroy",(function(){a.cancel(r)}))},e.params=o,e.pageTitle=E.instant("view.edit.user.title",{userId:e.params.userId}),e.passwordPlaceholder=E.instant("security.new.password"),e.userType=s.UserType.USER;const g={DEFAULT_SAMEAS:!0,DEFAULT_INFERENCE:!0,EXECUTE_COUNT:!0,IGNORE_SHARED_QUERIES:!1,DEFAULT_VIS_GRAPH_SCHEMA:!0};c.hasRole(s.UserRole.ROLE_ADMIN)||u.url("settings"),e.getUserData=function(){p.getUser(e.params.userId).success((function(r){e.userData=r,e.user={username:e.userData.username},e.user.password="",e.user.confirmpassword="",e.user.external=e.userData.external,e.user.appSettings=r.appSettings||g,e.userType=s.UserType.USER;const t=i(r.grantedAuthorities);e.userType=t.userType,e.grantedAuthorities=t.grantedAuthorities})).error((function(e){const r=getError(e);t.error(r,E.instant("common.error"))}))},e.getUserData(),e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?l.openSimpleModal({title:E.instant("security.save.admin.settings"),message:E.instant("security.admin.pass.unset"),warning:!0}).result.then((function(){e.updateUser()})):e.updateUser()},e.updateUserHttp=function(){e.loader=!0,p.updateUser({username:e.user.username,pass:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings,grantedAuthorities:e.user.grantedAuthorities}).success((function(){t.success(E.instant("security.user.updated",{name:e.user.username}));const r=a((function(){e.loader=!1,n.history.back()}),2e3);e.$on("$destroy",(function(){a.cancel(r)})),c.getPrincipal().then(r=>{e.user.username===r.username&&(r.appSettings=e.user.appSettings)})})).error((function(r){const s=getError(r);e.loader=!1,t.error(s,E.instant("common.error"))}))},e.validateForm=function(){return e.validatePassword()}}]),o.controller("RolesMappingController",["$scope","toastr","SecurityRestService","$translate",function(e,r,t,s){e.debugMapping=function(e,r){const s=r.split(":");t.getRolesMapping({role:e,method:s[1],mapping:s[0]})};e.$on("repositoryIsSet",(function(){t.getRoles().success((function(r){e.roleMappings=r,e.roles=_.keys(e.roleMappings),e.mappings=_.keys(e.roleMappings[e.roles[0]]);const t=_.map(e.roles,(function(r){return[r,_.filter(e.roleMappings[r]).length]}));e.roles=_.reverse(_.map(_.orderBy(t,(function(e){return e[1]})),(function(e){return e[0]})))})).error((function(t){const n=getError(t);e.loader=!1,r.error(n,s.instant("common.error"))}))}))}]),o.controller("ChangeUserPasswordSettingsCtrl",["$scope","toastr","$window","$timeout","$jwtAuth","$rootScope","$controller","SecurityRestService","ModalService","$translate","LocalStorageAdapter","LSKeys","$q",function(e,r,t,n,o,a,u,c,d,p,l,E,g){angular.extend(this,u("CommonUserCtrl",{$scope:e,passwordPlaceholder:"security.new.password"})),e.mode="settings",e.hasEditRestrictions=function(){return!0},e.saveButtonText=p.instant("common.save.btn"),e.goBack=function(){const r=n((function(){t.history.back()}),100);e.$on("$destroy",(function(){n.cancel(r)}))},e.getPrincipal=function(){return o.getPrincipal().then(r=>{e.currentUserData=angular.copy(r)})},e.getPrincipal().then(()=>{e.redirectAdmin(),f(e)}),e.showWorkbenchSettings=!0,e.updateCurrentUserData=function(){g.when(o.getPrincipal()).then(r=>_.assign(r,e.userData))},e.redirectAdmin=function(){e.currentUserData||a.redirectToLogin()},e.pageTitle=p.instant("view.settings.title"),e.passwordPlaceholder=p.instant("security.new.password"),e.grantedAuthorities={READ_REPO:{},WRITE_REPO:{}};const f=function(r){r.userData=angular.copy(r.currentUserData),r.user={username:r.userData.username},r.user.password="",r.user.confirmpassword="",r.user.external=r.userData.external,r.user.appSettings=r.userData.appSettings,void 0===r.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA&&(r.user.appSettings.DEFAULT_VIS_GRAPH_SCHEMA=!0);const t=i(r.userData.authorities);e.userType=t.userType,e.grantedAuthorities=t.grantedAuthorities};e.loader=!1,e.submit=function(){e.noPassword&&e.userType===s.UserType.ADMIN?d.openSimpleModal({title:p.instant("security.save.admin.settings"),message:p.instant("security.admin.pass.unset"),warning:!0}).result.then((function(){e.updateUser()})):e.updateUser()},e.updateUserHttp=function(){e.loader=!0,c.updateUserData({username:e.user.username,pass:e.noPassword?"":e.user.password||void 0,appSettings:e.user.appSettings}).success((function(){e.updateCurrentUserData(),r.success(p.instant("security.user.updated",{name:e.user.username}));const s=n((function(){e.loader=!1,t.history.back()}),2e3);l.set(E.WORKBENCH_SETTINGS,e.workbenchSettings),e.$on("$destroy",(function(){n.cancel(s)}))})).error((function(t){const s=getError(t);e.loader=!1,r.error(s,p.instant("common.error"))}))},e.updateUser=function(){if(!e.validateForm())return!1;e.updateUserHttp()},e.validateForm=function(){return e.validatePassword()},e.setWorkbenchTheme=function(){const r=document.querySelector(":root");"dark"===e.workbenchSettings.theme?r.classList.add("dark"):r.classList.remove("dark")},e.workbenchSettings=l.get(E.WORKBENCH_SETTINGS),e.workbenchSettings||(e.workbenchSettings={theme:"light"}),e.setWorkbenchTheme(),e.$on("$destroy",(function(){const e=l.get(E.WORKBENCH_SETTINGS),r=document.querySelector(":root");e&&"dark"===e.theme?r.classList.add("dark"):r.classList.remove("dark")}))}]),o.controller("DeleteUserCtrl",["$scope","$modalInstance","username",function(e,r,t){e.username=t,e.ok=function(){r.close()},e.cancel=function(){r.dismiss("cancel")}}])}}]);
|
|
2
|
+
//# sourceMappingURL=10.eab0a417fa2f2831905e.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/security/controllers.js"],"names":["createUniqueKey","repository","location","id","securityCtrl","angular","module","parseAuthorities","authorities","userType","USER","grantedAuthorities","repositories","i","length","role","ROLE_ADMIN","ADMIN","ROLE_REPO_MANAGER","REPO_MANAGER","ROLE_USER","indexOf","index","op","substr","repo","read","write","userTypeDescription","getUserRoleName","controller","$scope","$http","toastr","$jwtAuth","$openIDAuth","$location","$rootScope","$translate","username","password","loginWithOpenID","loginOpenID","search","noaccess","error","instant","expired","isGDBLoginEnabled","passwordLoginEnabled","isOpenIDEnabled","openIDEnabled","login","method","url","encodeURIComponent","headers","success","data","status","authenticate","then","returnToUrl","path","wrongCredentials","msg","getError","$modal","$window","$timeout","ModalService","SecurityRestService","loader","securityEnabled","isSecurityEnabled","hasExternalAuth","getAuthImplementation","freeAccessEnabled","isFreeAccessEnabled","getUsers","users","pa","$on","toggleSecurity","timer","reload","cancel","toggleFreeAccess","updateFreeAccess","getFreeAccess","res","appSettings","open","templateUrl","resolve","defaultAuthorities","repoIds","_","mapKeys","getRepositories","r","each","a","hasOwnProperty","result","editFreeAccess","removeUser","openSimpleModal","title","message","name","warning","deleteUser","$modalInstance","hasActiveLocation","isEmpty","globalLocation","globalRepositories","ok","auth","repositoryCheckError","WRITE_REPO","push","READ_REPO","close","dismiss","passwordPlaceholder","isAdmin","hasRole","hasEditRestrictions","user","isOverrideAuth","isDefaultAuthEnabled","setGrantedAuthorities","pushAuthority","arguments","authority","hasReadPermission","uniqueKey","hasWritePermission","repoOrWildCard","readCheckDisabled","writeCheckDisabled","validatePassword","noPassword","passwordError","confirmPasswordError","confirmpassword","isLocalAuthentication","updateUser","validateForm","updateUserHttp","setNoPassword","$controller","extend","this","mode","saveButtonText","goBack","history","back","pageTitle","submit","createUser","createUserHttp","pass","usernameError","$routeParams","params","userId","defaultUserSettings","getUserData","getUser","userData","external","undefined","getPrincipal","principal","debugMapping","mapping","split","getRolesMapping","getRoles","roleMappings","roles","keys","mappings","permissionsCount","map","filter","reverse","orderBy","p","LocalStorageAdapter","LSKeys","$q","currentUserData","copy","redirectAdmin","initUserData","showWorkbenchSettings","updateCurrentUserData","when","assign","redirectToLogin","scope","updateUserData","set","WORKBENCH_SETTINGS","workbenchSettings","setWorkbenchTheme","rootElement","document","querySelector","theme","classList","add","remove","get"],"mappings":"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","file":"10.eab0a417fa2f2831905e.bundle.js","sourcesContent":["import 'angular/core/services';\nimport 'angular/core/services/jwt-auth.service';\nimport 'angular/core/services/openid-auth.service';\nimport 'angular/rest/security.rest.service';\nimport {UserUtils, UserRole, UserType} from 'angular/utils/user-utils';\n\nconst SYSTEM_REPO = 'SYSTEM';\nconst READ_REPO = 'READ_REPO';\nconst READ_REPO_PREFIX = 'READ_REPO_';\nconst WRITE_REPO = 'WRITE_REPO';\nconst WRITE_REPO_PREFIX = 'WRITE_REPO_';\n\nconst modules = [\n 'ngCookies',\n 'ui.bootstrap',\n 'graphdb.framework.core.services.jwtauth',\n 'graphdb.framework.core.services.openIDService',\n 'graphdb.framework.rest.security.service',\n 'graphdb.framework.utils.localstorageadapter',\n 'toastr'\n];\n\nconst createUniqueKey = function (repository) {\n if (repository.location) {\n return `${repository.id}@${repository.location}`;\n }\n return repository.id;\n}\n\nconst securityCtrl = angular.module('graphdb.framework.security.controllers', modules);\n\nconst setGrantedAuthorities = function ($scope) {\n function pushAuthority() {\n for (let i = 0; i < arguments.length; i++) {\n const authority = arguments[i];\n if (_.indexOf($scope.user.grantedAuthorities, authority) < 0) {\n $scope.user.grantedAuthorities.push(authority);\n }\n }\n }\n\n $scope.user.grantedAuthorities = [];\n\n $scope.repositoryCheckError = true;\n if ($scope.userType === UserType.ADMIN) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_ADMIN);\n } else if ($scope.userType === UserType.REPO_MANAGER) {\n $scope.repositoryCheckError = false;\n pushAuthority(UserRole.ROLE_REPO_MANAGER);\n } else {\n pushAuthority(UserRole.ROLE_USER);\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(WRITE_REPO_PREFIX + index, READ_REPO_PREFIX + index);\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index]) {\n $scope.repositoryCheckError = false;\n pushAuthority(READ_REPO_PREFIX + index);\n }\n }\n }\n};\n\nconst parseAuthorities = function (authorities) {\n let userType = UserType.USER;\n const grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n const repositories = {};\n for (let i = 0; i < authorities.length; i++) {\n const role = authorities[i];\n if (role === UserRole.ROLE_ADMIN) {\n userType = UserType.ADMIN;\n } else if (role === UserRole.ROLE_REPO_MANAGER) {\n if (userType !== UserType.ADMIN) {\n userType = UserType.REPO_MANAGER;\n }\n } else if (role === UserRole.ROLE_USER) {\n userType = UserType.USER;\n } else if (role.indexOf('ROLE_') !== 0) {\n const index = role.indexOf('_', role.indexOf('_') + 1);\n const op = role.substr(0, index);\n const repo = role.substr(index + 1);\n grantedAuthorities[op][repo] = true;\n repositories[repo] = repositories[repo] || {};\n if (op === READ_REPO) {\n repositories[repo].read = true;\n } else if (op === WRITE_REPO) {\n repositories[repo].write = true;\n }\n }\n }\n\n return {\n userType: userType,\n userTypeDescription: UserUtils.getUserRoleName(userType),\n grantedAuthorities: grantedAuthorities,\n repositories: repositories\n };\n};\n\nsecurityCtrl.controller('LoginCtrl', ['$scope', '$http', 'toastr', '$jwtAuth', '$openIDAuth', '$location', '$rootScope', '$translate',\n function ($scope, $http, toastr, $jwtAuth, $openIDAuth, $location, $rootScope, $translate) {\n $scope.username = '';\n $scope.password = '';\n\n $scope.loginWithOpenID = function() {\n $jwtAuth.loginOpenID();\n };\n\n if ($location.search().noaccess) {\n toastr.error($translate.instant('security.no.rights.config.error'), $translate.instant('security.login.error'));\n } else if ($location.search().expired) {\n toastr.error($translate.instant('security.auth.token.expired'), $translate.instant('security.login.error'));\n }\n\n $scope.isGDBLoginEnabled = function() {\n return $jwtAuth.passwordLoginEnabled;\n };\n\n $scope.isOpenIDEnabled = function() {\n return $jwtAuth.openIDEnabled;\n };\n\n $scope.login = function () {\n return $http({\n method: 'POST',\n url: 'rest/login/' + encodeURIComponent($scope.username),\n headers: {\n 'X-GraphDB-Password': $scope.password\n }\n }).success(function (data, status, headers) {\n $jwtAuth.authenticate(data, headers('Authorization'))\n .then(() => {\n if ($rootScope.returnToUrl) {\n // go back to remembered url\n $location.url($rootScope.returnToUrl);\n } else {\n // no remembered url, go to home\n $location.path('/');\n }\n });\n }).error(function (data, status) {\n if (status === 401) {\n toastr.error($translate.instant('security.wrong.credentials'), $translate.instant('common.error'));\n $scope.wrongCredentials = true;\n $scope.username = '';\n $scope.password = '';\n } else {\n const msg = getError(data);\n toastr.error(msg, status);\n }\n });\n };\n }]);\n\nsecurityCtrl.controller('UsersCtrl', ['$scope', '$modal', 'toastr', '$window', '$jwtAuth', '$timeout', 'ModalService', 'SecurityRestService', '$translate',\n function ($scope, $modal, toastr, $window, $jwtAuth, $timeout, ModalService, SecurityRestService, $translate) {\n\n $scope.loader = true;\n $scope.securityEnabled = function () {\n return $jwtAuth.isSecurityEnabled();\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n $scope.getAuthImplementation = function () {\n return $jwtAuth.getAuthImplementation();\n };\n $scope.freeAccessEnabled = function () {\n return $jwtAuth.isFreeAccessEnabled();\n };\n $scope.getUsers = function () {\n SecurityRestService.getUsers()\n .success(function (data) {\n $scope.users = data;\n for (let i = 0; i < $scope.users.length; i++) {\n const pa = parseAuthorities($scope.users[i].grantedAuthorities);\n $scope.users[i].userType = pa.userType;\n $scope.users[i].userTypeDescription = pa.userTypeDescription;\n $scope.users[i].repositories = pa.repositories;\n }\n $scope.loader = false;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n $scope.loader = false;\n });\n };\n $scope.getUsers();\n\n $scope.$on('repositoryIsSet', function () {\n $scope.getUsers();\n });\n\n $scope.toggleSecurity = function () {\n $jwtAuth.toggleSecurity(!$jwtAuth.isSecurityEnabled());\n if ($jwtAuth.isSecurityEnabled()) {\n const timer = $timeout(function () {\n $window.location.reload();\n }, 500);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }\n };\n\n $scope.toggleFreeAccess = function (updateFreeAccess) {\n if (!$jwtAuth.isFreeAccessEnabled() || ($jwtAuth.isFreeAccessEnabled() && updateFreeAccess)) {\n SecurityRestService.getFreeAccess().then(function (res) {\n let authorities = res.data.authorities;\n let appSettings = res.data.appSettings || {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n const modalInstance = $modal.open({\n templateUrl: 'js/angular/security/templates/modal/default-authorities.html',\n controller: 'DefaultAuthoritiesCtrl',\n resolve: {\n data: function () {\n return {\n // converts the array rights to hash ones. why, oh, why do we have both formats?\n defaultAuthorities: function () {\n const defaultAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n // We might have old (no longer existing) repositories so we have to check that\n const repoIds = _.mapKeys($scope.getRepositories(), function (r) {\n return createUniqueKey(r);\n });\n _.each(authorities, function (a) {\n // indexOf works in IE 11, startsWith doesn't\n if (a.indexOf(WRITE_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(11))) {\n defaultAuthorities[WRITE_REPO][a.substr(11)] = true;\n }\n } else if (a.indexOf(READ_REPO_PREFIX) === 0) {\n if (repoIds.hasOwnProperty(a.substr(10))) {\n defaultAuthorities[READ_REPO][a.substr(10)] = true;\n }\n }\n });\n return defaultAuthorities;\n },\n appSettings: appSettings\n };\n }\n }\n });\n modalInstance.result.then(function (data) {\n authorities = data.authorities;\n appSettings = data.appSettings;\n $jwtAuth.toggleFreeAccess(updateFreeAccess || !$jwtAuth.isFreeAccessEnabled(), authorities, appSettings, updateFreeAccess);\n });\n });\n } else {\n $jwtAuth.toggleFreeAccess(!$jwtAuth.isFreeAccessEnabled(), []);\n }\n };\n\n $scope.editFreeAccess = function () {\n $scope.toggleFreeAccess(true);\n };\n\n $scope.removeUser = function (username) {\n ModalService.openSimpleModal({\n title: $translate.instant('common.confirm.delete'),\n message: $translate.instant('security.confirm.delete.user', {name: username}),\n warning: true\n }).result.then(function () {\n $scope.loader = true;\n SecurityRestService.deleteUser(username).success(function () {\n $scope.getUsers();\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n\n $scope.loader = false;\n });\n\n });\n };\n\n // Should be able to send the original username to $routeParams\n $scope.encodeURIComponent = function (name) {\n return encodeURIComponent(name);\n };\n }]);\n\nsecurityCtrl.controller('DefaultAuthoritiesCtrl', ['$scope', '$http', '$modalInstance', 'data', '$rootScope',\n function ($scope, $http, $modalInstance, data, $rootScope) {\n $scope.grantedAuthorities = data.defaultAuthorities();\n $scope.appSettings = data.appSettings;\n\n $scope.hasActiveLocation = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return !_.isEmpty($rootScope.globalLocation);\n };\n\n $scope.getRepositories = function () {\n // Hack to get this from root scope to avoid cyclic dependency\n return $rootScope.globalRepositories;\n };\n\n $scope.ok = function () {\n const auth = [];\n $scope.repositoryCheckError = true;\n for (const index in $scope.grantedAuthorities.WRITE_REPO) {\n if ($scope.grantedAuthorities.WRITE_REPO[index]) {\n auth.push(WRITE_REPO_PREFIX + index);\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n for (const index in $scope.grantedAuthorities.READ_REPO) {\n if ($scope.grantedAuthorities.READ_REPO[index] && auth.indexOf(READ_REPO_PREFIX + index) === -1) {\n auth.push(READ_REPO_PREFIX + index);\n $scope.repositoryCheckError = false;\n }\n }\n if (!$scope.repositoryCheckError) {\n $modalInstance.close({authorities: auth, appSettings: $scope.appSettings});\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n }\n }]);\n\nsecurityCtrl.controller('CommonUserCtrl', ['$rootScope', '$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$translate', 'passwordPlaceholder',\n function ($rootScope, $scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $translate, passwordPlaceholder) {\n $rootScope.$on('$translateChangeSuccess', function () {\n $scope.passwordPlaceholder = $translate.instant(passwordPlaceholder);\n });\n $scope.isAdmin = function () {\n return $jwtAuth.hasRole(UserRole.ROLE_ADMIN);\n };\n $scope.hasExternalAuth = function () {\n return $jwtAuth.hasExternalAuth();\n };\n\n $scope.hasEditRestrictions = function () {\n return $scope.user && $scope.user.username === UserType.ADMIN;\n };\n\n $scope.isOverrideAuth = function () {\n return $jwtAuth.isDefaultAuthEnabled();\n };\n\n $scope.setGrantedAuthorities = function () {\n setGrantedAuthorities($scope);\n };\n\n $scope.hasReadPermission = function (repository) {\n const uniqueKey = createUniqueKey(repository);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repository.id !== SYSTEM_REPO\n && ($scope.grantedAuthorities.READ_REPO['*'] || $scope.grantedAuthorities.WRITE_REPO['*'])\n || $scope.grantedAuthorities.READ_REPO[uniqueKey]\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.hasWritePermission = function (repoOrWildCard) {\n const uniqueKey = createUniqueKey(repoOrWildCard);\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.grantedAuthorities.WRITE_REPO[uniqueKey];\n };\n\n $scope.readCheckDisabled = function (repoOrWildCard) {\n return $scope.hasWritePermission(repoOrWildCard)\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.READ_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.writeCheckDisabled = function (repoOrWildCard) {\n return $scope.userType === UserType.ADMIN || $scope.userType === UserType.REPO_MANAGER\n || repoOrWildCard.id !== SYSTEM_REPO && repoOrWildCard !== '*' && $scope.grantedAuthorities.WRITE_REPO['*']\n || $scope.hasEditRestrictions();\n };\n\n $scope.createUniqueKey = function (repository) {\n return createUniqueKey(repository);\n }\n\n $scope.userType = UserType.USER;\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n $scope.validatePassword = function() {\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n return true;\n }\n if ($scope.user.password !== $scope.user.confirmpassword) {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n $scope.confirmPasswordError = '';\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n }\n return false;\n } else {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n return true;\n };\n\n $scope.isLocalAuthentication = function() {\n return $jwtAuth.getAuthImplementation() === 'Local';\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n if ($scope.isLocalAuthentication()) {\n $scope.setGrantedAuthorities();\n }\n\n if (!$scope.repositoryCheckError) {\n $scope.updateUserHttp();\n }\n };\n\n $scope.setNoPassword = function() {\n if ($scope.noPassword) {\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n }\n }\n }]);\n\nsecurityCtrl.controller('AddUserCtrl', ['$scope', '$http', 'toastr', '$window', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.password.placeholder'}));\n\n $scope.mode = 'add';\n $scope.saveButtonText = $translate.instant('common.create.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.pageTitle = $translate.instant('view.create.user.title');\n $scope.passwordPlaceholder = $translate.instant('security.password.placeholder');\n\n $scope.user = {\n 'username': '',\n 'password': '',\n 'confirmpassword': '',\n 'grantedAuthorities': [],\n 'appSettings': {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n }\n };\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.create.admin'),\n message: $translate.instant('security.admin.login.warning'),\n warning: true\n }).result.then(function () {\n $scope.createUser();\n });\n } else {\n $scope.createUser();\n }\n };\n\n $scope.createUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.createUser({\n username: $scope.user.username,\n pass: $scope.user.password,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.created', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.createUser = function () {\n if ($scope.validateForm()) {\n $scope.setGrantedAuthorities();\n\n if (!$scope.repositoryCheckError) {\n $scope.createUserHttp();\n }\n }\n };\n\n $scope.validateForm = function () {\n let result = true;\n if (!$scope.user.username) {\n $scope.usernameError = $translate.instant('security.enter.username');\n result = false;\n } else {\n $scope.usernameError = '';\n }\n if ($scope.noPassword) {\n $scope.passwordError = '';\n $scope.confirmPasswordError = '';\n } else {\n if (!$scope.user.password) {\n $scope.passwordError = $translate.instant('security.enter.password');\n result = false;\n } else {\n $scope.passwordError = '';\n }\n if (!$scope.user.confirmpassword || $scope.user.password !== $scope.user.confirmpassword) {\n $scope.confirmPasswordError = $translate.instant('security.confirm.password');\n result = false;\n } else {\n $scope.confirmPasswordError = '';\n }\n }\n\n return result;\n };\n }]);\n\nsecurityCtrl.controller('EditUserCtrl', ['$scope', '$http', 'toastr', '$window', '$routeParams', '$timeout', '$location', '$jwtAuth', '$controller', 'SecurityRestService', 'ModalService', '$translate',\n function ($scope, $http, toastr, $window, $routeParams, $timeout, $location, $jwtAuth, $controller, SecurityRestService, ModalService, $translate) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'edit';\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n $scope.params = $routeParams;\n $scope.pageTitle = $translate.instant('view.edit.user.title', {userId: $scope.params.userId});\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.userType = UserType.USER;\n const defaultUserSettings = {\n 'DEFAULT_SAMEAS': true,\n 'DEFAULT_INFERENCE': true,\n 'EXECUTE_COUNT': true,\n 'IGNORE_SHARED_QUERIES': false,\n 'DEFAULT_VIS_GRAPH_SCHEMA': true\n };\n\n if (!$jwtAuth.hasRole(UserRole.ROLE_ADMIN)) {\n $location.url('settings');\n }\n $scope.getUserData = function () {\n SecurityRestService.getUser($scope.params.userId).success(function (data) {\n $scope.userData = data;\n $scope.user = {username: $scope.userData.username};\n $scope.user.password = '';\n $scope.user.confirmpassword = '';\n $scope.user.external = $scope.userData.external;\n $scope.user.appSettings = data.appSettings || defaultUserSettings;\n $scope.userType = UserType.USER;\n const pa = parseAuthorities(data.grantedAuthorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n }).error(function (data) {\n const msg = getError(data);\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.getUserData();\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUser({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings,\n grantedAuthorities: $scope.user.grantedAuthorities\n }).success(function () {\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n // if we update the settings of the currently logged user, update the principal\n $jwtAuth.getPrincipal().then((principal) => {\n if ($scope.user.username === principal.username) {\n principal.appSettings = $scope.user.appSettings;\n }\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n }]);\n\nsecurityCtrl.controller('RolesMappingController', ['$scope', 'toastr', 'SecurityRestService', '$translate',\n function ($scope, toastr, SecurityRestService, $translate) {\n\n $scope.debugMapping = function (role, mapping) {\n const method = mapping.split(':');\n SecurityRestService.getRolesMapping({\n role: role,\n method: method[1],\n mapping: method[0]\n });\n };\n\n const loadRoles = function () {\n SecurityRestService.getRoles()\n .success(function (data) {\n $scope.roleMappings = data;\n $scope.roles = _.keys($scope.roleMappings);\n $scope.mappings = _.keys($scope.roleMappings[$scope.roles[0]]);\n const permissionsCount = _.map($scope.roles, function (role) {\n return [role, _.filter($scope.roleMappings[role]).length];\n });\n $scope.roles = _.reverse(_.map(_.orderBy(permissionsCount, function (p) {\n return p[1];\n }), function (p) {\n return p[0];\n }));\n })\n .error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.$on('repositoryIsSet', function () {\n loadRoles();\n });\n}]);\n\nsecurityCtrl.controller('ChangeUserPasswordSettingsCtrl', ['$scope', 'toastr', '$window', '$timeout', '$jwtAuth', '$rootScope', '$controller', 'SecurityRestService', 'ModalService', '$translate', 'LocalStorageAdapter', 'LSKeys', '$q',\n function ($scope, toastr, $window, $timeout, $jwtAuth, $rootScope, $controller, SecurityRestService, ModalService, $translate, LocalStorageAdapter, LSKeys, $q) {\n\n angular.extend(this, $controller('CommonUserCtrl', {$scope: $scope, passwordPlaceholder: 'security.new.password'}));\n\n $scope.mode = 'settings';\n $scope.hasEditRestrictions = function () {\n return true;\n };\n $scope.saveButtonText = $translate.instant('common.save.btn');\n $scope.goBack = function () {\n const timer = $timeout(function () {\n $window.history.back();\n }, 100);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n };\n // Wrapped in a scope function for ease of testing\n $scope.getPrincipal = function () {\n return $jwtAuth.getPrincipal()\n .then((principal) => {\n $scope.currentUserData = angular.copy(principal);\n });\n };\n\n $scope.getPrincipal().then(() => {\n $scope.redirectAdmin();\n initUserData($scope);\n });\n\n $scope.showWorkbenchSettings = true;\n\n $scope.updateCurrentUserData = function () {\n // Using $q.when to proper set values in view\n $q.when($jwtAuth.getPrincipal())\n .then((principal) => _.assign(principal, $scope.userData));\n };\n\n //call it as a function so I can make test on it\n $scope.redirectAdmin = function () {\n if (!$scope.currentUserData) {\n $rootScope.redirectToLogin();\n }\n };\n\n $scope.pageTitle = $translate.instant('view.settings.title');\n $scope.passwordPlaceholder = $translate.instant('security.new.password');\n $scope.grantedAuthorities = {\n [READ_REPO]: {},\n [WRITE_REPO]: {}\n };\n\n const initUserData = function (scope) {\n // Copy needed so that Cancel would work correctly, need to call updateCurrentUserData on OK\n scope.userData = angular.copy(scope.currentUserData);\n scope.user = {username: scope.userData.username};\n scope.user.password = '';\n scope.user.confirmpassword = '';\n scope.user.external = scope.userData.external;\n scope.user.appSettings = scope.userData.appSettings;\n // For backward compatibility\n if (scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] === undefined) {\n scope.user.appSettings['DEFAULT_VIS_GRAPH_SCHEMA'] = true;\n }\n\n const pa = parseAuthorities(scope.userData.authorities);\n $scope.userType = pa.userType;\n $scope.grantedAuthorities = pa.grantedAuthorities;\n };\n\n $scope.loader = false;\n\n $scope.submit = function () {\n if ($scope.noPassword && $scope.userType === UserType.ADMIN) {\n ModalService.openSimpleModal({\n title: $translate.instant('security.save.admin.settings'),\n message: $translate.instant('security.admin.pass.unset'),\n warning: true\n }).result.then(function () {\n $scope.updateUser();\n });\n } else {\n $scope.updateUser();\n }\n };\n\n $scope.updateUserHttp = function () {\n $scope.loader = true;\n SecurityRestService.updateUserData({\n username: $scope.user.username,\n pass: ($scope.noPassword) ? '' : $scope.user.password || undefined,\n appSettings: $scope.user.appSettings\n }).success(function () {\n $scope.updateCurrentUserData();\n toastr.success($translate.instant('security.user.updated', {name: $scope.user.username}));\n const timer = $timeout(function () {\n $scope.loader = false;\n $window.history.back();\n }, 2000);\n LocalStorageAdapter.set(LSKeys.WORKBENCH_SETTINGS, $scope.workbenchSettings);\n $scope.$on('$destroy', function () {\n $timeout.cancel(timer);\n });\n }).error(function (data) {\n const msg = getError(data);\n $scope.loader = false;\n toastr.error(msg, $translate.instant('common.error'));\n });\n };\n\n $scope.updateUser = function () {\n if (!$scope.validateForm()) {\n return false;\n }\n\n $scope.updateUserHttp();\n };\n\n $scope.validateForm = function () {\n return $scope.validatePassword();\n };\n\n $scope.setWorkbenchTheme = function () {\n const rootElement = document.querySelector(':root');\n if ($scope.workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n };\n\n $scope.workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n if (!$scope.workbenchSettings) {\n $scope.workbenchSettings = {\n theme: 'light'\n };\n }\n $scope.setWorkbenchTheme();\n\n $scope.$on(\"$destroy\", function () {\n const workbenchSettings = LocalStorageAdapter.get(LSKeys.WORKBENCH_SETTINGS);\n const rootElement = document.querySelector(':root');\n if (workbenchSettings && workbenchSettings.theme === 'dark') {\n rootElement.classList.add(\"dark\");\n } else {\n rootElement.classList.remove(\"dark\");\n }\n });\n }]);\n\nsecurityCtrl.controller('DeleteUserCtrl', ['$scope', '$modalInstance', 'username', function ($scope, $modalInstance, username) {\n $scope.username = username;\n\n $scope.ok = function () {\n $modalInstance.close();\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss('cancel');\n };\n}]);\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{132:function(e,t){PluginRegistry.add("route",[{url:"/sysinfo",module:"graphdb.framework.stats",path:"stats/app",chunk:"stats",controller:"AdminInfoCtrl",templateUrl:"pages/info.html",title:"view.system.information.title",helpInfo:"view.system.information.helpInfo"},{url:"/webapi",templateUrl:"pages/webapi.html",title:"view.rest.api.documentation.title",helpInfo:"view.rest.api.documentation.helpInfo"}]);const n="https://graphdb.ontotext.com/documentation/";PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:7,role:"IS_AUTHENTICATED_FULLY",icon:"icon-settings"},{label:"Help",labelKey:"menu.help.label",href:"#",order:8,icon:"icon-help"},{label:"System information",labelKey:"menu.system.information.label",href:"sysinfo",order:50,parent:"Help",role:"ROLE_ADMIN"},{label:"REST API",labelKey:"menu.rest.api.label",href:"webapi",order:1,parent:"Help"},{label:"Documentation",labelKey:"menu.documentation.label",order:2,parent:"Help",icon:"icon-external",hrefFun:function(e){return
|
|
2
|
-
//# sourceMappingURL=104.
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[104],{132:function(e,t){PluginRegistry.add("route",[{url:"/sysinfo",module:"graphdb.framework.stats",path:"stats/app",chunk:"stats",controller:"AdminInfoCtrl",templateUrl:"pages/info.html",title:"view.system.information.title",helpInfo:"view.system.information.helpInfo"},{url:"/webapi",templateUrl:"pages/webapi.html",title:"view.rest.api.documentation.title",helpInfo:"view.rest.api.documentation.helpInfo"}]);const n="https://graphdb.ontotext.com/documentation/";PluginRegistry.add("main.menu",{items:[{label:"Setup",labelKey:"menu.setup.label",href:"#",order:7,role:"IS_AUTHENTICATED_FULLY",icon:"icon-settings"},{label:"Help",labelKey:"menu.help.label",href:"#",order:8,icon:"icon-help"},{label:"System information",labelKey:"menu.system.information.label",href:"sysinfo",order:50,parent:"Help",role:"ROLE_ADMIN"},{label:"REST API",labelKey:"menu.rest.api.label",href:"webapi",order:1,parent:"Help"},{label:"Documentation",labelKey:"menu.documentation.label",order:2,parent:"Help",icon:"icon-external",hrefFun:function(e){return n+e.productShortVersion+"/"}},{label:"Developer Hub",labelKey:"menu.developer.hub.label",order:3,parent:"Help",icon:"icon-external",hrefFun:function(e){return n+e.productShortVersion+"/devhub/"}},{label:"Support",labelKey:"menu.support.label",order:4,parent:"Help",icon:"icon-external",hrefFun:function(e){return n+e.productShortVersion+"/support.html"}}]})}}]);
|
|
2
|
+
//# sourceMappingURL=104.7e16b2863108db706fe7.bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///./src/js/angular/stats/plugin.js"],"names":["PluginRegistry","add","DOCUMENTATION_URL","label","labelKey","href","order","role","icon","parent","hrefFun","productInfo","productShortVersion"],"mappings":"6EAAAA,eAAeC,IAAI,QAAS,CACxB,CACI,IAAO,WACP,OAAU,0BACV,KAAQ,YACR,MAAS,QACT,WAAc,gBACd,YAAe,kBACf,MAAS,gCACT,SAAY,oCACb,CACC,IAAO,UACP,YAAe,oBACf,MAAS,oCACT,SAAY,0CAIpB,MAAMC,EAAoB,8CAE1BF,eAAeC,IAAI,YAAa,CAC5B,MAAS,CACL,CACIE,MAAO,QACPC,SAAU,mBACVC,KAAM,IACNC,MAAO,EACPC,KAAM,yBACNC,KAAM,iBACP,CACCL,MAAO,OACPC,SAAU,kBACVC,KAAM,IACNC,MAAO,EACPE,KAAM,aACP,CACCL,MAAO,qBACPC,SAAU,gCACVC,KAAM,UACNC,MAAO,GACPG,OAAQ,OACRF,KAAM,cACP,CACCJ,MAAO,WACPC,SAAU,sBACVC,KAAM,SACNC,MAAO,EACPG,OAAQ,QACT,CACCN,MAAO,gBACPC,SAAU,2BACVE,MAAO,EACPG,OAAQ,OACRD,KAAM,gBACNE,QAAS,SAAUC,GACf,OAAOT,EAAoBS,EAAYC,oBAAsB,MAElE,CACCT,MAAO,gBACPC,SAAU,2BACVE,MAAO,EACPG,OAAQ,OACRD,KAAM,gBACNE,QAAS,SAAUC,GACf,OAAOT,EAAoBS,EAAYC,oBAAsB,aAElE,CACCT,MAAO,UACPC,SAAU,qBACVE,MAAO,EACPG,OAAQ,OACRD,KAAM,gBACNE,QAAS,SAAUC,GACf,OAAOT,EAAoBS,EAAYC,oBAAsB","file":"104.7e16b2863108db706fe7.bundle.js","sourcesContent":["PluginRegistry.add('route', [\n {\n 'url': '/sysinfo',\n 'module': 'graphdb.framework.stats',\n 'path': 'stats/app',\n 'chunk': 'stats',\n 'controller': 'AdminInfoCtrl',\n 'templateUrl': 'pages/info.html',\n 'title': 'view.system.information.title',\n 'helpInfo': 'view.system.information.helpInfo'\n }, {\n 'url': '/webapi',\n 'templateUrl': 'pages/webapi.html',\n 'title': 'view.rest.api.documentation.title',\n 'helpInfo': 'view.rest.api.documentation.helpInfo'\n }\n]);\n\nconst DOCUMENTATION_URL = 'https://graphdb.ontotext.com/documentation/';\n\nPluginRegistry.add('main.menu', {\n 'items': [\n {\n label: 'Setup',\n labelKey: 'menu.setup.label',\n href: '#',\n order: 7,\n role: 'IS_AUTHENTICATED_FULLY',\n icon: 'icon-settings'\n }, {\n label: 'Help',\n labelKey: 'menu.help.label',\n href: '#',\n order: 8,\n icon: 'icon-help'\n }, {\n label: 'System information',\n labelKey: 'menu.system.information.label',\n href: 'sysinfo',\n order: 50,\n parent: 'Help',\n role: 'ROLE_ADMIN'\n }, {\n label: 'REST API',\n labelKey: 'menu.rest.api.label',\n href: 'webapi',\n order: 1,\n parent: 'Help'\n }, {\n label: 'Documentation',\n labelKey: 'menu.documentation.label',\n order: 2,\n parent: 'Help',\n icon: 'icon-external',\n hrefFun: function (productInfo) {\n return DOCUMENTATION_URL + productInfo.productShortVersion + '/';\n }\n }, {\n label: 'Developer Hub',\n labelKey: 'menu.developer.hub.label',\n order: 3,\n parent: 'Help',\n icon: 'icon-external',\n hrefFun: function (productInfo) {\n return DOCUMENTATION_URL + productInfo.productShortVersion + '/devhub/';\n }\n }, {\n label: 'Support',\n labelKey: 'menu.support.label',\n order: 4,\n parent: 'Help',\n icon: 'icon-external',\n hrefFun: function (productInfo) {\n return DOCUMENTATION_URL + productInfo.productShortVersion + '/support.html';\n }\n }\n ]\n});\n"],"sourceRoot":""}
|