2025-09-18 09:54:53 -04:00
|
|
|
(()=>{"use strict";var e,t,n,s={80655:(e,t,n)=>{var s=n(56760),a=n(63814),i=n(85168),o=n(53334),r=n(65043),l=n(74692),c=n.n(l);function d(e,t){return e.toggleClass("warning-input",t),t}function u(e){const t=e.hasClass("optional");switch(e.attr("type")){case"text":case"password":if(""===e.val()&&!t)return!1}return!0}function p(e){switch(e.attr("type")){case"text":case"password":return d(e,!u(e))}}function h(e,t){const n=function(e){return e.toString().split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""").split("'").join("'")};if(e.length)return e.select2({placeholder:(0,o.t)("files_external","Type to select account or group."),allowClear:!0,multiple:!0,toggleSelect:!0,dropdownCssClass:"files-external-select2",ajax:{url:OC.generateUrl("apps/files_external/applicable"),dataType:"json",quietMillis:100,data:(e,n)=>({pattern:e,limit:t,offset:t*(n-1)}),results(e){if("success"===e.status){const n=[];let s=0;$.each(e.groups,function(e,t){n.push({name:e+"(group)",displayname:t,type:"group"})}),$.each(e.users,function(e,t){s++,n.push({name:e,displayname:t,type:"user"})});const a=s>=t||e.groups.length>=t;return{results:n,more:a}}}},initSelection(e,t){const n={users:[]},s=e.val().split(",");for(let e=0;e<s.length;e++)n.users.push(s[e]);$.ajax(OC.generateUrl("displaynames"),{type:"POST",contentType:"application/json",data:JSON.stringify(n),dataType:"json"}).done(function(e){const n=[];"success"===e.status&&($.each(e.users,function(e,t){!1!==t&&n.push({name:e,displayname:t,type:"user"})}),t(n))})},id:e=>e.name,formatResult(e){const t=$('<span><div class="avatardiv"></div><span>'+n(e.displayname)+"</span></span>"),s=t.find(".avatardiv").attr("data-type",e.type).attr("data-name",e.name).attr("data-displayname",e.displayname);if("group"===e.type){const e=OC.imagePath("core","actions/group");s.html('<img width="32" height="32" src="'+e+'">')}return t.get(0).outerHTML},formatSelection:e=>"group"===e.type?'<span title="'+n(e.name)+'" class="group">'+n(e.displayname+" "+(0,o.t)("files_external","(Group)"))+"</span>":'<span title="'+n(e.name)+'" class="user">'+n(e.displayname)+"</span>",escapeMarkup:e=>e}).on("select2-loaded",function(){$.each($(".avatardiv"),function(e,t){const n=$(t);"user"===n.data("type")&&n.avatar(n.data("name"),32)})}).on("change",function(e){d($(e.target).closest(".applicableUsersContainer").find(".select2-choices"),!e.val.length)})}(0,s.IF)(r.Ay);const f=function(e){this.id=e,this.backendOptions={}};f.Status={IN_PROGRESS:-1,SUCCESS:0,ERROR:1,INDETERMINATE:2},f.Visibility={NONE:0,PERSONAL:1,ADMIN:2,DEFAULT:3},f.prototype={_url:null,id:null,mountPoint:"",backend:null,authMechanism:null,backendOptions:null,mountOptions:null,save(e){let t=OC.generateUrl(this._url),n="POST";_.isNumber(this.id)&&(n="PUT",t=OC.generateUrl(this._url+"/{id}",{id:this.id})),this._save(n,t,e)},async _save(e,t,n){try{const a=(await r.Ay.request({confirmPassword:s.mH.Strict,method:e,url:t,data:this.getData()})).data;this.id=a.id,n.success(a)}catch(e){n.error(e)}},getData(){const e={mountPoint:this.mountPoint,backend:this.backend,authMechanism:this.authMechanism,backendOptions:this.backendOptions,testOnly:!0};return this.id&&(e.id=this.id),this.mountOptions&&(e.mountOptions=this.mountOptions),e},recheck(e){_.isNumber(this.id)?$.ajax({type:"GET",url:OC.generateUrl(this._url+"/{id}",{id:this.id}),data:{testOnly:!0},success:e.success,error:e.error}):_.isFunction(e.error)&&e.error()},async destroy(e){if(_.isNumber(this.id))try{await r.Ay.request({method:"DELETE",url:OC.generateUrl(this._url+"/{id}",{id:this.id}),confirmPassword:s.mH.Strict}),e.success()}catch(t){e.error(t)}else _.isFunction(e.success)&&e.success()},validate(){return""!==this.mountPoint&&!!this.backend&&!this.errors}};const g=function(e){this.id=e,this.applicableUsers=[],this.applicableGroups=[]};g.prototype=_.extend({},f.prototype,{_url:"apps/files_external/globalstorages",applicableUsers:null,applicableGroups:null,priority:null,getData(){const e=f.prototype.getData.apply(this,arguments);return _.extend(e,{applicableUsers:this.applicabl
|