/*! For license information please see settings-vue-settings-apps-users-management.js.LICENSE.txt */ (()=>{var e,r,o,a={92652:(t,e,r)=>{"use strict";r.d(e,{J:()=>o});var n=r(31352);const o=Object.freeze({enabled:(0,n.Iu)("settings","Active apps"),disabled:(0,n.Iu)("settings","Disabled apps"),updates:(0,n.Iu)("settings","Updates"),"app-bundles":(0,n.Iu)("settings","App bundles"),featured:(0,n.Iu)("settings","Featured apps"),supported:(0,n.Iu)("settings","Supported apps")})},38605:(t,e,r)=>{"use strict";r.d(e,{Z:()=>n});const n=(0,r(17499).IY)().setApp("settings").detectUser().build()},40491:(e,r,o)=>{"use strict";var a=o(20144),i=o(2324),s=o(83678);const u={name:"App",beforeMount(){null!==document.getElementById("serverData")&&this.$store.commit("setServerData",JSON.parse(document.getElementById("serverData").dataset.server))}},c=(0,o(51900).Z)(u,(function(){return(0,this._self._c)("router-view")}),[],!1,null,null,null).exports;var p=o(25108);function d(t,e){for(var r in e)t[r]=e[r];return t}var l=/[!'()*]/g,h=function(t){return"%"+t.charCodeAt(0).toString(16)},f=/%2C/g,m=function(t){return encodeURIComponent(t).replace(l,h).replace(f,",")};function g(t){try{return decodeURIComponent(t)}catch(t){}return t}var v=function(t){return null==t||"object"==typeof t?t:String(t)};function y(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach((function(t){var r=t.replace(/\+/g," ").split("="),n=g(r.shift()),o=r.length>0?g(r.join("=")):null;void 0===e[n]?e[n]=o:Array.isArray(e[n])?e[n].push(o):e[n]=[e[n],o]})),e):e}function b(t){var e=t?Object.keys(t).map((function(e){var r=t[e];if(void 0===r)return"";if(null===r)return m(e);if(Array.isArray(r)){var n=[];return r.forEach((function(t){void 0!==t&&(null===t?n.push(m(e)):n.push(m(e)+"="+m(t)))})),n.join("&")}return m(e)+"="+m(r)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var w=/\/?$/;function A(t,e,r,n){var o=n&&n.options.stringifyQuery,a=e.query||{};try{a=U(a)}catch(t){}var i={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:a,params:e.params||{},fullPath:E(e,o),matched:t?C(t):[]};return r&&(i.redirectedFrom=E(r,o)),Object.freeze(i)}function U(t){if(Array.isArray(t))return t.map(U);if(t&&"object"==typeof t){var e={};for(var r in t)e[r]=U(t[r]);return e}return t}var I=A(null,{path:"/"});function C(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function E(t,e){var r=t.path,n=t.query;void 0===n&&(n={});var o=t.hash;return void 0===o&&(o=""),(r||"/")+(e||b)(n)+o}function L(t,e,r){return e===I?t===e:!!e&&(t.path&&e.path?t.path.replace(w,"")===e.path.replace(w,"")&&(r||t.hash===e.hash&&P(t.query,e.query)):!(!t.name||!e.name)&&t.name===e.name&&(r||t.hash===e.hash&&P(t.query,e.query)&&P(t.params,e.params)))}function P(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var r=Object.keys(t).sort(),n=Object.keys(e).sort();return r.length===n.length&&r.every((function(r,o){var a=t[r];if(n[o]!==r)return!1;var i=e[r];return null==a||null==i?a===i:"object"==typeof a&&"object"==typeof i?P(a,i):String(a)===String(i)}))}function O(t){for(var e=0;e=0&&(e=t.slice(n),t=t.slice(0,n));var o=t.indexOf("?");return o>=0&&(r=t.slice(o+1),t=t.slice(0,o)),{path:t,query:r,hash:e}}(o.path||""),c=e&&e.path||"/",p=u.path?k(u.path,c,r||o.append):c,l=function(t,e,r){void 0===e&&(e={});var n,o=r||y;try{n=o(t||"")}catch(t){n={}}for(var a in e){var i=e[a];n[a]=Array.isArray(i)?i.map(v):v(i)}return n}(u.query,o.query,n&&n.options.parseQuery),h=o.hash||u.hash;return h&&"#"!==h.charAt(0)&&(h="#"+h),{_normalized:!0,path:p,query:l,hash:h}}var K,Q=function(){},W={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,r=this.$router,n=this.$route,o=r.resolve(this.to,n,this.append),a=o.location,i=o.route,s=o.href,u={},c=r.options.linkActiveClass,p=r.options.linkExactActiveClass,l=null==c?"router-link-active":c,h=null==p?"router-link-exact-active":p,f=null==this.activeClass?l:this.activeClass,m=null==this.exactActiveClass?h:this.exactActiveClass,g=i.redirectedFrom?A(null,Y(i.redirectedFrom),null,r):i;u[m]=L(n,g,this.exactPath),u[f]=this.exact||this.exactPath?u[m]:function(t,e){return 0===t.path.replace(w,"/").indexOf(e.path.replace(w,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var r in e)if(!(r in t))return!1;return!0}(t.query,e.query)}(n,g);var v=u[m]?this.ariaCurrentValue:null,y=function(t){X(t)&&(e.replace?r.replace(a,Q):r.push(a,Q))},b={click:X};Array.isArray(this.event)?this.event.forEach((function(t){b[t]=y})):b[this.event]=y;var U={class:u},I=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:i,navigate:y,isActive:u[f],isExactActive:u[m]});if(I){if(1===I.length)return I[0];if(I.length>1||!I.length)return 0===I.length?t():t("span",{},I)}if("a"===this.tag)U.on=b,U.attrs={href:s,"aria-current":v};else{var C=tt(this.$slots.default);if(C){C.isStatic=!1;var E=C.data=d({},C.data);for(var P in E.on=E.on||{},E.on){var O=E.on[P];P in b&&(E.on[P]=Array.isArray(O)?O:[O])}for(var R in b)R in E.on?E.on[R].push(b[R]):E.on[R]=y;var _=C.data.attrs=d({},C.data.attrs);_.href=s,_["aria-current"]=v}else U.on=b}return t(this.tag,U,this.$slots.default)}};function X(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function tt(t){if(t)for(var e,r=0;r-1&&(u.params[l]=r.params[l]);return u.path=J(p.path,u.params),s(p,u,i)}if(u.path){u.params={};for(var h=0;h-1}function kt(t,e){return _t(t)&&t._isRouter&&(null==e||t.type===e)}function xt(t,e,r){var n=function(o){o>=t.length?r():t[o]?e(t[o],(function(){n(o+1)})):n(o+1)};n(0)}function St(t,e){return jt(t.map((function(t){return Object.keys(t.components).map((function(r){return e(t.components[r],t.instances[r],t,r)}))})))}function jt(t){return Array.prototype.concat.apply([],t)}var Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ft(t){var e=!1;return function(){for(var r=[],n=arguments.length;n--;)r[n]=arguments[n];if(!e)return e=!0,t.apply(this,r)}}var $t=function(t,e){this.router=t,this.base=function(t){if(!t)if(et){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}(e),this.current=I,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function qt(t,e,r,n){var o=St(t,(function(t,n,o,a){var i=function(t,e){return"function"!=typeof t&&(t=K.extend(t)),t.options[e]}(t,e);if(i)return Array.isArray(i)?i.map((function(t){return r(t,n,o,a)})):r(i,n,o,a)}));return jt(n?o.reverse():o)}function Nt(t,e){if(e)return function(){return t.apply(e,arguments)}}$t.prototype.listen=function(t){this.cb=t},$t.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},$t.prototype.onError=function(t){this.errorCbs.push(t)},$t.prototype.transitionTo=function(t,e,r){var n,o=this;try{n=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var a=this.current;this.confirmTransition(n,(function(){o.updateRoute(n),e&&e(n),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(n,a)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(n)})))}),(function(t){r&&r(t),t&&!o.ready&&(kt(t,Lt.redirected)&&a===I||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},$t.prototype.confirmTransition=function(t,e,r){var n=this,o=this.current;this.pending=t;var a,i,s=function(t){!kt(t)&&_t(t)&&(n.errorCbs.length?n.errorCbs.forEach((function(e){e(t)})):p.error(t)),r&&r(t)},u=t.matched.length-1,c=o.matched.length-1;if(L(t,o)&&u===c&&t.matched[u]===o.matched[c])return this.ensureURL(),t.hash&&ft(this.router,o,t,!1),s(((i=Ot(a=o,t,Lt.duplicated,'Avoided redundant navigation to current location: "'+a.fullPath+'".')).name="NavigationDuplicated",i));var d,l=function(t,e){var r,n=Math.max(t.length,e.length);for(r=0;r0)){var e=this.router,r=e.options.scrollBehavior,n=It&&r;n&&this.listeners.push(ht());var o=function(){var r=t.current,o=Dt(t.base);t.current===I&&o===t._startLocation||t.transitionTo(o,(function(t){n&&ft(e,t,r,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Ct(x(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Et(x(n.base+t.fullPath)),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.ensureURL=function(t){if(Dt(this.base)!==this.current.fullPath){var e=x(this.base+this.current.fullPath);t?Ct(e):Et(e)}},e.prototype.getCurrentLocation=function(){return Dt(this.base)},e}($t);function Dt(t){var e=window.location.pathname,r=e.toLowerCase(),n=t.toLowerCase();return!t||r!==n&&0!==r.indexOf(x(n+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Gt=function(t){function e(e,r,n){t.call(this,e,r),n&&function(t){var e=Dt(t);if(!/^\/#/.test(e))return window.location.replace(x(t+"/#"+e)),!0}(this.base)||Mt()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,r=It&&e;r&&this.listeners.push(ht());var n=function(){var e=t.current;Mt()&&t.transitionTo(Zt(),(function(n){r&&ft(t.router,n,e,!0),It||zt(n.fullPath)}))},o=It?"popstate":"hashchange";window.addEventListener(o,n),this.listeners.push((function(){window.removeEventListener(o,n)}))}},e.prototype.push=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){Vt(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this,o=this.current;this.transitionTo(t,(function(t){zt(t.fullPath),ft(n.router,t,o,!1),e&&e(t)}),r)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Zt()!==e&&(t?Vt(e):zt(e))},e.prototype.getCurrentLocation=function(){return Zt()},e}($t);function Mt(){var t=Zt();return"/"===t.charAt(0)||(zt("/"+t),!1)}function Zt(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Ht(t){var e=window.location.href,r=e.indexOf("#");return(r>=0?e.slice(0,r):e)+"#"+t}function Vt(t){It?Ct(Ht(t)):window.location.hash=t}function zt(t){It?Et(Ht(t)):window.location.replace(Ht(t))}var Jt=function(t){function e(e,r){t.call(this,e,r),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index+1).concat(t),n.index++,e&&e(t)}),r)},e.prototype.replace=function(t,e,r){var n=this;this.transitionTo(t,(function(t){n.stack=n.stack.slice(0,n.index).concat(t),e&&e(t)}),r)},e.prototype.go=function(t){var e=this,r=this.index+t;if(!(r<0||r>=this.stack.length)){var n=this.stack[r];this.confirmTransition(n,(function(){var t=e.current;e.index=r,e.updateRoute(n),e.router.afterHooks.forEach((function(e){e&&e(n,t)}))}),(function(t){kt(t,Lt.duplicated)&&(e.index=r)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}($t),Yt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=at(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!It&&!1!==t.fallback,this.fallback&&(e="hash"),et||(e="abstract"),this.mode=e,e){case"history":this.history=new Bt(this,t.base);break;case"hash":this.history=new Gt(this,t.base,this.fallback);break;case"abstract":this.history=new Jt(this,t.base)}},Kt={currentRoute:{configurable:!0}};Yt.prototype.match=function(t,e,r){return this.matcher.match(t,e,r)},Kt.currentRoute.get=function(){return this.history&&this.history.current},Yt.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var r=e.apps.indexOf(t);r>-1&&e.apps.splice(r,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var r=this.history;if(r instanceof Bt||r instanceof Gt){var n=function(t){r.setupListeners(),function(t){var n=r.current,o=e.options.scrollBehavior;It&&o&&"fullPath"in t&&ft(e,t,n,!1)}(t)};r.transitionTo(r.getCurrentLocation(),n,n)}r.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Yt.prototype.beforeEach=function(t){return Wt(this.beforeHooks,t)},Yt.prototype.beforeResolve=function(t){return Wt(this.resolveHooks,t)},Yt.prototype.afterEach=function(t){return Wt(this.afterHooks,t)},Yt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Yt.prototype.onError=function(t){this.history.onError(t)},Yt.prototype.push=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.push(t,e,r)}));this.history.push(t,e,r)},Yt.prototype.replace=function(t,e,r){var n=this;if(!e&&!r&&"undefined"!=typeof Promise)return new Promise((function(e,r){n.history.replace(t,e,r)}));this.history.replace(t,e,r)},Yt.prototype.go=function(t){this.history.go(t)},Yt.prototype.back=function(){this.go(-1)},Yt.prototype.forward=function(){this.go(1)},Yt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Yt.prototype.resolve=function(t,e,r){var n=Y(t,e=e||this.history.current,r,this),o=this.match(n,e),a=o.redirectedFrom||o.fullPath,i=function(t,e,r){var n="hash"===r?"#"+e:e;return t?x(t+"/"+n):n}(this.history.base,a,this.mode);return{location:n,route:o,href:i,normalizedTo:n,resolved:o}},Yt.prototype.getRoutes=function(){return this.matcher.getRoutes()},Yt.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==I&&this.history.transitionTo(this.history.getCurrentLocation())},Yt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==I&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Yt.prototype,Kt);var Qt=Yt;function Wt(t,e){return t.push(e),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}Yt.install=function t(e){if(!t.installed||K!==e){t.installed=!0,K=e;var r=function(t){return void 0!==t},n=function(t,e){var n=t.$options._parentVnode;r(n)&&r(n=n.data)&&r(n=n.registerRouteInstance)&&n(t,e)};e.mixin({beforeCreate:function(){r(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",R),e.component("RouterLink",W);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Yt.version="3.6.5",Yt.isNavigationFailure=kt,Yt.NavigationFailureType=Lt,Yt.START_LOCATION=I,et&&window.Vue&&window.Vue.use(Yt);var Xt=o(79753),te=o(92652),ee=o(20629),re=o(93664),ne=o(7820);o(65509);const oe=function(t){return t.replace(/\/$/,"")},ae=()=>(0,ne.Z)(),ie=(t,e)=>re.Z.get(oe(t),e),se=(t,e)=>re.Z.post(oe(t),e),ue=(t,e)=>re.Z.put(oe(t),e),ce=(t,e)=>re.Z.delete(oe(t),{params:e});var pe=o(42515),de=o(38605),le=o(25108);const he=function(t,e){return 1===e?t.sort(((t,e)=>t.usercount-t.disabledt.name.localeCompare(e.name)))},fe={id:"",name:"",usercount:0,disabled:0,canAdd:!0,canRemove:!0},me={appendUsers(t,e){const r=t.users.map((t=>{let{id:e}=t;return e})),n=Object.values(e).filter((t=>{let{id:e}=t;return!r.includes(e)})),o=t.users.concat(n);t.usersOffset+=t.usersLimit,t.users=o},setPasswordPolicyMinLength(t,e){t.minPasswordLength=""!==e?e:0},initGroups(t,e){let{groups:r,orderBy:n,userCount:o}=e;t.groups=r.map((t=>Object.assign({},fe,t))),t.orderBy=n,t.userCount=o,t.groups=he(t.groups,t.orderBy)},addGroup(t,e){let{gid:r,displayName:n}=e;try{if(void 0!==t.groups.find((t=>t.id===r)))return;const e=Object.assign({},fe,{id:r,name:n});t.groups.unshift(e),t.groups=he(t.groups,t.orderBy)}catch(t){le.error("Can't create group",t)}},renameGroup(t,e){let{gid:r,displayName:n}=e;const o=t.groups.findIndex((t=>t.id===r));if(o>=0){const e=t.groups[o];e.name=n,t.groups.splice(o,1,e),t.groups=he(t.groups,t.orderBy)}},removeGroup(t,e){const r=t.groups.findIndex((t=>t.id===e));r>=0&&t.groups.splice(r,1)},addUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),a=t.users.find((t=>t.id===r));o&&a.enabled&&t.userCount>0&&o.usercount++,a.groups.push(n),t.groups=he(t.groups,t.orderBy)},removeUserGroup(t,e){let{userid:r,gid:n}=e;const o=t.groups.find((t=>t.id===n)),a=t.users.find((t=>t.id===r));o&&a.enabled&&t.userCount>0&&o.usercount--;const i=a.groups;i.splice(i.indexOf(n),1),t.groups=he(t.groups,t.orderBy)},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;t.users.find((t=>t.id===r)).subadmin.push(n)},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;const o=t.users.find((t=>t.id===r)).subadmin;o.splice(o.indexOf(n),1)},deleteUser(t,e){const r=t.users.findIndex((t=>t.id===e));this.commit("updateUserCounts",{user:t.users[r],actionType:"remove"}),t.users.splice(r,1)},addUserData(t,e){const r=e.data.ocs.data;t.users.unshift(r),this.commit("updateUserCounts",{user:r,actionType:"create"})},enableDisableUser(t,e){let{userid:r,enabled:n}=e;const o=t.users.find((t=>t.id===r));o.enabled=n,this.commit("updateUserCounts",{user:o,actionType:n?"enable":"disable"})},updateUserCounts(t,e){let{user:r,actionType:n}=e;if(0===t.userCount)return;const o=t.groups.find((t=>"disabled"===t.id));switch(n){case"enable":case"disable":o.usercount+=r.enabled?-1:1,t.userCount+=r.enabled?1:-1,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled+=r.enabled?-1:1}));break;case"create":t.userCount++,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).usercount++}));break;case"remove":r.enabled?(t.userCount--,r.groups.forEach((e=>{const r=t.groups.find((t=>t.id===e));r?r.usercount--:le.warn("User group "+e+" does not exist during user removal")}))):(o.usercount--,r.groups.forEach((e=>{t.groups.find((t=>t.id===e)).disabled--})));break;default:de.Z.error(`Unknown action type in updateUserCounts: '${n}'`)}},setUserData(t,e){let{userid:r,key:n,value:o}=e;if("quota"===n){const e=OC.Util.computerFileSize(o);t.users.find((t=>t.id===r))[n][n]=null!==e?e:o}else t.users.find((t=>t.id===r))[n]=o},resetUsers(t){t.users=[],t.usersOffset=0},setShowConfig(t,e){let{key:r,value:n}=e;t.showConfig[r]=n}},ge=re.Z.CancelToken;let ve=null;const ye={state:{users:[],groups:[],orderBy:1,minPasswordLength:0,usersOffset:0,usersLimit:25,userCount:0,showConfig:{showStoragePath:!1,showUserBackend:!1,showLastLogin:!1,showNewUserForm:!1,showLanguages:!1}},mutations:me,getters:{getUsers:t=>t.users,getGroups:t=>t.groups,getSubadminGroups:t=>t.groups.filter((t=>"admin"!==t.id&&"disabled"!==t.id)),getPasswordPolicyMinLength:t=>t.minPasswordLength,getUsersOffset:t=>t.usersOffset,getUsersLimit:t=>t.usersLimit,getUserCount:t=>t.userCount,getShowConfig:t=>t.showConfig},actions:{searchUsers(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",ie((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getUser:(t,e)=>ie((0,Xt.generateOcsUrl)(`cloud/users/${e}`)).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})),getUsers(t,e){let{offset:r,limit:n,search:o,group:a}=e;return ve&&ve.cancel("Operation canceled by another search request."),ve=ge.source(),o="string"==typeof o?o:"",o=o.replace(/in:[^\s]+/g,"").trim(),a="string"==typeof a?a:"",""!==a?ie((0,Xt.generateOcsUrl)("cloud/groups/{group}/users/details?offset={offset}&limit={limit}&search={search}",{group:encodeURIComponent(a),offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)})):ie((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o}),{cancelToken:ve.token}).then((e=>{const r=Object.keys(e.data.ocs.data.users).length;return r>0&&t.commit("appendUsers",e.data.ocs.data.users),r})).catch((e=>{re.Z.isCancel(e)||t.commit("API_FAILURE",e)}))},getGroups(t,e){let{offset:r,limit:n,search:o}=e;o="string"==typeof o?o:"";const a=-1===n?"":`&limit=${n}`;return ie((0,Xt.generateOcsUrl)("cloud/groups?offset={offset}&search={search}",{offset:r,search:o})+a).then((e=>Object.keys(e.data.ocs.data.groups).length>0&&(e.data.ocs.data.groups.forEach((function(e){t.commit("addGroup",{gid:e,displayName:e})})),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromList(t,e){let{offset:r,limit:n,search:o}=e;return o="string"==typeof o?o:"",ie((0,Xt.generateOcsUrl)("cloud/users/details?offset={offset}&limit={limit}&search={search}",{offset:r,limit:n,search:o})).then((e=>Object.keys(e.data.ocs.data.users).length>0&&(t.commit("appendUsers",e.data.ocs.data.users),!0))).catch((e=>t.commit("API_FAILURE",e)))},getUsersFromGroup(t,e){let{groupid:r,offset:n,limit:o}=e;return ie((0,Xt.generateOcsUrl)("cloud/users/{groupId}/details?offset={offset}&limit={limit}",{groupId:encodeURIComponent(r),offset:n,limit:o})).then((e=>t.commit("getUsersFromList",e.data.ocs.data.users))).catch((e=>t.commit("API_FAILURE",e)))},getPasswordPolicyMinLength:t=>!(!(0,pe.getCapabilities)().password_policy||!(0,pe.getCapabilities)().password_policy.minLength)&&(t.commit("setPasswordPolicyMinLength",(0,pe.getCapabilities)().password_policy.minLength),(0,pe.getCapabilities)().password_policy.minLength),addGroup:(t,e)=>ae().then((r=>se((0,Xt.generateOcsUrl)("cloud/groups"),{groupid:e}).then((r=>(t.commit("addGroup",{gid:e,displayName:e}),{gid:e,displayName:e}))).catch((t=>{throw t})))).catch((r=>{throw t.commit("API_FAILURE",{gid:e,error:r}),r})),renameGroup(t,e){let{groupid:r,displayName:n}=e;return ae().then((e=>ue((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(r)}),{key:"displayname",value:n}).then((e=>(t.commit("renameGroup",{gid:r,displayName:n}),{groupid:r,displayName:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{groupid:r,error:e}),e}))},removeGroup:(t,e)=>ae().then((r=>ce((0,Xt.generateOcsUrl)("cloud/groups/{groupId}",{groupId:encodeURIComponent(e)})).then((r=>t.commit("removeGroup",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{gid:e,error:r}))),addUserGroup(t,e){let{userid:r,gid:n}=e;return ae().then((e=>se((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("addUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserGroup(t,e){let{userid:r,gid:n}=e;return ae().then((e=>ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/groups",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserGroup",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>{throw t.commit("API_FAILURE",{userid:r,error:e}),e}))},addUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ae().then((e=>se((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("addUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},removeUserSubAdmin(t,e){let{userid:r,gid:n}=e;return ae().then((e=>ce((0,Xt.generateOcsUrl)("cloud/users/{userid}/subadmins",{userid:r}),{groupid:n}).then((e=>t.commit("removeUserSubAdmin",{userid:r,gid:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},wipeUserDevices:(t,e)=>ae().then((t=>se((0,Xt.generateOcsUrl)("cloud/users/{userid}/wipe",{userid:e})).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),deleteUser:(t,e)=>ae().then((r=>ce((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((r=>t.commit("deleteUser",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),addUser(t,e){let{commit:r,dispatch:n}=t,{userid:o,password:a,displayName:i,email:s,groups:u,subadmin:c,quota:p,language:d,manager:l}=e;return ae().then((t=>se((0,Xt.generateOcsUrl)("cloud/users"),{userid:o,password:a,displayName:i,email:s,groups:u,subadmin:c,quota:p,language:d,manager:l}).then((t=>n("addUserData",o||t.data.ocs.data.id))).catch((t=>{throw t})))).catch((t=>{throw r("API_FAILURE",{userid:o,error:t}),t}))},addUserData:(t,e)=>ae().then((r=>ie((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:e})).then((e=>t.commit("addUserData",e))).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r}))),enableDisableUser(t,e){let{userid:r,enabled:n=!0}=e;const o=n?"enable":"disable";return ae().then((e=>ue((0,Xt.generateOcsUrl)("cloud/users/{userid}/{userStatus}",{userid:r,userStatus:o})).then((e=>t.commit("enableDisableUser",{userid:r,enabled:n}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e})))},setUserData(t,e){let{userid:r,key:n,value:o}=e;const a=["email","displayname","manager"];return-1!==["email","language","quota","displayname","password","manager"].indexOf(n)&&"string"==typeof o&&(-1===a.indexOf(n)&&o.length>0||-1!==a.indexOf(n))?ae().then((e=>ue((0,Xt.generateOcsUrl)("cloud/users/{userid}",{userid:r}),{key:n,value:o}).then((e=>t.commit("setUserData",{userid:r,key:n,value:o}))).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{userid:r,error:e}))):Promise.reject(new Error("Invalid request data"))},sendWelcomeMail:(t,e)=>ae().then((t=>se((0,Xt.generateOcsUrl)("cloud/users/{userid}/welcome",{userid:e})).then((t=>!0)).catch((t=>{throw t})))).catch((r=>t.commit("API_FAILURE",{userid:e,error:r})))}};var be=o(64024),we=o(25108);const Ae={APPS_API_FAILURE(e,r){(0,be.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+r.error.response.data.data.message,{isHTML:!0}),we.error(e,r)},initCategories(t,e){let{categories:r,updateCount:n}=e;t.categories=r,t.updateCount=n},updateCategories(t,e){t.gettingCategoriesPromise=e},setUpdateCount(t,e){t.updateCount=e},addCategory(t,e){t.categories.push(e)},appendCategories(t,e){t.categories=e},setAllApps(t,e){t.apps=e},setError(t,e){let{appId:r,error:n}=e;Array.isArray(r)||(r=[r]),r.forEach((e=>{t.apps.find((t=>t.id===e)).error=n}))},clearError(t,e){let{appId:r,error:n}=e;t.apps.find((t=>t.id===r)).error=null},enableApp(t,e){let{appId:r,groups:n}=e;const o=t.apps.find((t=>t.id===r));o.active=!0,o.groups=n},disableApp(t,e){const r=t.apps.find((t=>t.id===e));r.active=!1,r.groups=[],r.removable&&(r.canUnInstall=!0)},uninstallApp(t,e){t.apps.find((t=>t.id===e)).active=!1,t.apps.find((t=>t.id===e)).groups=[],t.apps.find((t=>t.id===e)).needsDownload=!0,t.apps.find((t=>t.id===e)).installed=!1,t.apps.find((t=>t.id===e)).canUnInstall=!1,t.apps.find((t=>t.id===e)).canInstall=!0},updateApp(t,e){const r=t.apps.find((t=>t.id===e)),n=r.update;r.update=null,r.version=n,t.updateCount--},resetApps(t){t.apps=[]},reset(t){t.apps=[],t.categories=[],t.updateCount=0},startLoading(t,e){Array.isArray(e)?e.forEach((e=>{a.default.set(t.loading,e,!0)})):a.default.set(t.loading,e,!0)},stopLoading(t,e){Array.isArray(e)?e.forEach((e=>{a.default.set(t.loading,e,!1)})):a.default.set(t.loading,e,!1)}},Ue={enableApp(e,r){let n,{appId:o,groups:a}=r;return n=Array.isArray(o)?o:[o],ae().then((r=>(e.commit("startLoading",n),e.commit("startLoading","install"),se((0,Xt.generateUrl)("settings/apps/enable"),{appIds:n,groups:a}).then((r=>(e.commit("stopLoading",n),e.commit("stopLoading","install"),n.forEach((t=>{e.commit("enableApp",{appId:t,groups:a})})),ie((0,Xt.generateUrl)("apps/files")).then((()=>{r.data.update_required&&((0,be.JQ)(t("settings","The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds."),{onClick:()=>window.location.reload(),close:!1}),setTimeout((function(){location.reload()}),5e3))})).catch((()=>{Array.isArray(o)||e.commit("setError",{appId:n,error:t("settings","Error: This app cannot be enabled because it makes the server unstable")})}))))).catch((t=>{e.commit("stopLoading",n),e.commit("stopLoading","install"),e.commit("setError",{appId:n,error:t.response.data.data.message}),e.commit("APPS_API_FAILURE",{appId:o,error:t})}))))).catch((t=>e.commit("API_FAILURE",{appId:o,error:t})))},forceEnableApp(t,e){let r,{appId:n,groups:o}=e;return r=Array.isArray(n)?n:[n],ae().then((()=>(t.commit("startLoading",r),t.commit("startLoading","install"),se((0,Xt.generateUrl)("settings/apps/force"),{appId:n}).then((t=>{location.reload()})).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("setError",{appId:r,error:e.response.data.data.message}),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},disableApp(t,e){let r,{appId:n}=e;return r=Array.isArray(n)?n:[n],ae().then((e=>(t.commit("startLoading",r),se((0,Xt.generateUrl)("settings/apps/disable"),{appIds:r}).then((e=>(t.commit("stopLoading",r),r.forEach((e=>{t.commit("disableApp",e)})),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:n,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:n,error:e})))},uninstallApp(t,e){let{appId:r}=e;return ae().then((e=>(t.commit("startLoading",r),ie((0,Xt.generateUrl)(`settings/apps/uninstall/${r}`)).then((e=>(t.commit("stopLoading",r),t.commit("uninstallApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},updateApp(t,e){let{appId:r}=e;return ae().then((e=>(t.commit("startLoading",r),t.commit("startLoading","install"),ie((0,Xt.generateUrl)(`settings/apps/update/${r}`)).then((e=>(t.commit("stopLoading","install"),t.commit("stopLoading",r),t.commit("updateApp",r),!0))).catch((e=>{t.commit("stopLoading",r),t.commit("stopLoading","install"),t.commit("APPS_API_FAILURE",{appId:r,error:e})}))))).catch((e=>t.commit("API_FAILURE",{appId:r,error:e})))},getAllApps:t=>(t.commit("startLoading","list"),ie((0,Xt.generateUrl)("settings/apps/list")).then((e=>(t.commit("setAllApps",e.data.apps),t.commit("stopLoading","list"),!0))).catch((e=>t.commit("API_FAILURE",e)))),async getCategories(t){let{shouldRefetchCategories:e=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e||!t.state.gettingCategoriesPromise){t.commit("startLoading","categories");try{const e=ie((0,Xt.generateUrl)("settings/apps/categories"));t.commit("updateCategories",e);const r=await e;return r.data.length>0?(t.commit("appendCategories",r.data),t.commit("stopLoading","categories"),!0):(t.commit("stopLoading","categories"),!1)}catch(e){t.commit("API_FAILURE",e)}}return t.state.gettingCategoriesPromise}},Ie={state:{apps:[],categories:[],updateCount:0,loading:{},loadingList:!1,gettingCategoriesPromise:null},mutations:Ae,getters:{loading:t=>function(e){return t.loading[e]},getCategories:t=>t.categories,getAllApps:t=>t.apps,getUpdateCount:t=>t.updateCount,getCategoryById:t=>e=>t.categories.find((t=>t.id===e))},actions:Ue},Ce={state:{serverData:{}},mutations:{setServerData(t,e){t.serverData=e}},getters:{getServerData:t=>t.serverData},actions:{}},Ee={state:{},mutations:{},getters:{},actions:{setAppConfig(t,e){let{app:r,key:n,value:o}=e;return ae().then((t=>se((0,Xt.generateOcsUrl)("apps/provisioning_api/api/v1/config/apps/{app}/{key}",{app:r,key:n}),{value:o}).catch((t=>{throw t})))).catch((e=>t.commit("API_FAILURE",{app:r,key:n,value:o,error:e})))}}};var Le=o(25108);a.default.use(ee.ZP);const Pe={API_FAILURE(e,r){try{const e=r.error.response.data.ocs.meta.message;(0,be.x2)(t("settings","An error occurred during the request. Unable to proceed.")+"
"+e,{isHTML:!0})}catch(e){(0,be.x2)(t("settings","An error occurred during the request. Unable to proceed."))}Le.error(e,r)}},Oe=new ee.yh({modules:{users:ye,apps:Ie,settings:Ce,oc:Ee},strict:!1,mutations:Pe});o(43554);const Re=()=>Promise.all([o.e(7874),o.e(8351)]).then(o.bind(o,54165)),_e=()=>Promise.all([o.e(7874),o.e(7418)]).then(o.bind(o,24799));a.default.use(Qt);const ke=document.title,xe=new Qt({mode:"history",base:(0,Xt.generateUrl)(""),linkActiveClass:"active",routes:[{path:"/:index(index.php/)?settings/users",component:Re,props:!0,name:"users",meta:{title:()=>t("settings","Active users")},children:[{path:":selectedGroup",name:"group",meta:{title:e=>"admin"===e.params.selectedGroup?t("settings","Admins"):"disabled"===e.params.selectedGroup?t("settings","Disabled users"):decodeURIComponent(e.params.selectedGroup)},component:Re}]},{path:"/:index(index.php/)?settings/apps",component:_e,props:!0,name:"apps",meta:{title:()=>t("settings","Your apps")},children:[{path:":category",name:"apps-category",meta:{title:async e=>{if("apps"===e.name)return t("settings","Your apps");if(te.J[e.params.category])return te.J[e.params.category];await Oe.dispatch("getCategories");const r=Oe.getters.getCategoryById(e.params.category);return r.displayName?r.displayName:void 0}},component:_e,children:[{path:":id",name:"apps-details",component:_e}]}]}]});xe.afterEach((async t=>{const e=await(t.meta.title?.(t));e?(document.title=`${e} - ${ke}`,function(t){const e=document.getElementById("page-heading-level-1");e&&(e.textContent=t)}(e)):document.title=ke}));const Se=xe;a.default.use(i.ZP,{defaultHtml:!1}),(0,s.Z)(Oe,Se),o.nc=btoa(OC.requestToken),a.default.prototype.t=t,a.default.prototype.n=n,a.default.prototype.OC=OC,a.default.prototype.OCA=OCA,a.default.prototype.oc_userconfig=oc_userconfig,new a.default({router:Se,store:Oe,render:t=>t(c)}).$mount("#content")},83678:(t,e)=>{function r(t,e){var n={name:t.name,path:t.path,hash:t.hash,query:t.query,params:t.params,fullPath:t.fullPath,meta:t.meta};return e&&(n.from=r(e)),Object.freeze(n)}e.Z=function(t,e,n){var o=(n||{}).moduleName||"route";t.registerModule(o,{namespaced:!0,state:r(e.currentRoute),mutations:{ROUTE_CHANGED:function(e,n){t.state[o]=r(n.to,n.from)}}});var a,i=!1,s=t.watch((function(t){return t[o]}),(function(t){var r=t.fullPath;r!==a&&(null!=a&&(i=!0,e.push(t)),a=r)}),{sync:!0}),u=e.afterEach((function(e,r){i?i=!1:(a=e.fullPath,t.commit(o+"/ROUTE_CHANGED",{to:e,from:r}))}));return function(){null!=u&&u(),null!=s&&s(),t.unregisterModule(o)}}}},i={};function s(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={id:t,loaded:!1,exports:{}};return a[t].call(r.exports,r,r.exports,s),r.loaded=!0,r.exports}s.m=a,e=[],s.O=(t,r,n,o)=>{if(!r){var a=1/0;for(p=0;p=o)&&Object.keys(s.O).every((t=>s.O[t](r[u])))?r.splice(u--,1):(i=!1,o0&&e[p-1][2]>o;p--)e[p]=e[p-1];e[p]=[r,n,o]},s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce(((e,r)=>(s.f[r](t,e),e)),[])),s.u=t=>(({7418:"settings-apps-view",8351:"settings-users"}[t]||t)+"-"+t+".js?v="+{2048:"f867b6277c0da9696d0c",3738:"2ec6edc7c87381e8b24c",7418:"cc1086de731088155216",8351:"0170bed50a7a77fbe68a"}[t]),s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r={},o="nextcloud:",s.l=(t,e,n,a)=>{if(r[t])r[t].push(e);else{var i,u;if(void 0!==n)for(var c=document.getElementsByTagName("script"),p=0;p{i.onerror=i.onload=null,clearTimeout(h);var o=r[t];if(delete r[t],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((t=>t(n))),e)return e(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),u&&document.head.appendChild(i)}},s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),s.j=8562,(()=>{var t;s.g.importScripts&&(t=s.g.location+"");var e=s.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!t;)t=r[n--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=t})(),(()=>{s.b=document.baseURI||self.location.href;var t={8562:0};s.f.j=(e,r)=>{var n=s.o(t,e)?t[e]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,o)=>n=t[e]=[r,o]));r.push(n[2]=o);var a=s.p+s.u(e),i=new Error;s.l(a,(r=>{if(s.o(t,e)&&(0!==(n=t[e])&&(t[e]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+e,e)}},s.O.j=e=>0===t[e];var e=(e,r)=>{var n,o,a=r[0],i=r[1],u=r[2],c=0;if(a.some((e=>0!==t[e]))){for(n in i)s.o(i,n)&&(s.m[n]=i[n]);if(u)var p=u(s)}for(e&&e(r);cs(40491)));u=s.O(u)})(); //# sourceMappingURL=settings-vue-settings-apps-users-management.js.map?v=7c758781e652da8d454a