(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".group-multiselect,.lang-multiselect{width:100%;margin-right:0}.guest_model_content[data-v-0b5d1d72]{border-radius:3px;font-size:100%;min-width:200px;margin:8px 22px 22px}.guest_model_content .form-group[data-v-0b5d1d72]{margin:11px 0}.guest_model_content .form-label[data-v-0b5d1d72],.guest_model_content .form-input[data-v-0b5d1d72]{box-sizing:border-box;display:block;width:100%;transition:background .333s ease-out,border .333s ease-out}.guest_model_content .form-label._error[data-v-0b5d1d72],.guest_model_content .form-input._error[data-v-0b5d1d72]{border:1px solid var(--color-error);color:var(--color-error)}.guest_model_content .form-title[data-v-0b5d1d72]{margin-top:0;padding-top:0}.guest_model_content .form-description[data-v-0b5d1d72]{color:color-mix(in srgb,var(--color-main-text) 80%,transparent);margin-top:8px;margin-bottom:20px}.guest_model_content .modal-footer[data-v-0b5d1d72]{margin-top:50px;display:flex;justify-content:flex-end;align-items:center}.guest_model_content .modal-footer span[data-v-0b5d1d72]{margin:10px}#app-guests[data-v-0b5d1d72] .modal-container{flex:1 1 500px;max-width:500px;overflow:visible}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); /*! third party licenses: js/vendor.LICENSE.txt */ import{n as r,j as i,v as o,m,x as h,q as _,M as f,L as E,s as v,V as g}from"./useModelMigration-DBUi8saj-3MwaDfgr.chunk.mjs";import{l}from"./logger-B6CRpC7D.chunk.mjs";import{N as p,a as R}from"./Nextcloud-CHzevblG.chunk.mjs";var A=(e=>(e[e.SHARE_TYPE_USER=0]="SHARE_TYPE_USER",e[e.SHARE_TYPE_GROUP=1]="SHARE_TYPE_GROUP",e[e.SHARE_TYPE_LINK=3]="SHARE_TYPE_LINK",e[e.SHARE_TYPE_EMAIL=4]="SHARE_TYPE_EMAIL",e[e.SHARE_TYPE_REMOTE=6]="SHARE_TYPE_REMOTE",e[e.SHARE_TYPE_CIRCLE=7]="SHARE_TYPE_CIRCLE",e[e.SHARE_TYPE_GUEST=8]="SHARE_TYPE_GUEST",e[e.SHARE_TYPE_REMOTE_GROUP=9]="SHARE_TYPE_REMOTE_GROUP",e[e.SHARE_TYPE_ROOM=10]="SHARE_TYPE_ROOM",e[e.SHARE_TYPE_DECK=12]="SHARE_TYPE_DECK",e[e.SHARE_TYPE_FEDERATED_GROUP=14]="SHARE_TYPE_FEDERATED_GROUP",e))(A||{}),c=(e=>(e[e.User=0]="User",e[e.Group=1]="Group",e[e.Link=3]="Link",e[e.Email=4]="Email",e[e.Remote=6]="Remote",e[e.Team=7]="Team",e[e.Guest=8]="Guest",e[e.RemoteGroup=9]="RemoteGroup",e[e.Room=10]="Room",e[e.Deck=12]="Deck",e[e.FederatedGroup=14]="FederatedGroup",e[e.ScienceMesh=15]="ScienceMesh",e))(c||{});const b={name:"AccountPlusIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};var S=function(){var e=this,s=e._self._c;return s("span",e._b({staticClass:"material-design-icon account-plus-icon",attrs:{"aria-hidden":e.title?null:"true","aria-label":e.title,role:"img"},on:{click:function(a){return e.$emit("click",a)}}},"span",e.$attrs,!1),[s("svg",{staticClass:"material-design-icon__svg",attrs:{fill:e.fillColor,width:e.size,height:e.size,viewBox:"0 0 24 24"}},[s("path",{attrs:{d:"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z"}},[e.title?s("title",[e._v(e._s(e.title))]):e._e()])])])},C=[],N=r(b,S,C,!1,null,null);const T=N.exports,y={name:"GroupSelect",components:{NcSelect:p},props:{groups:{type:Array,default:()=>[]},required:{type:Boolean,default:!1}},data(){const e=[];return this.required&&this.groups.length===1&&(e.push(this.groups[0]),this.$emit("input",e.map(s=>s.gid))),{selected:e}},watch:{selected(){this.$emit("input",this.selected.map(e=>e.gid))}}};var G=function(){var e=this,s=e._self._c;return s("NcSelect",{staticClass:"group-multiselect",attrs:{placeholder:e.t("guests","None"),label:"name",options:e.groups,disabled:e.required&&e.groups.length<2,placement:"bottom",multiple:!0,required:e.required},model:{value:e.selected,callback:function(a){e.selected=a},expression:"selected"}})},P=[],H=r(y,G,P,!1,null,null);const M=H.exports,O={name:"LanguageSelect",components:{NcSelect:p},props:{value:{type:String,default:""},disabled:{type:Boolean,default:!1}},data(){return{language:"",defaultLanguage:{code:"",name:t("guests","Default")},commonLanguages:[],languages:[],merged:[]}},watch:{language(){this.$emit("input",this.language.code)}},beforeMount(){this.loadLanguages()},methods:{async loadLanguages(){try{const e=await i.get(o("apps/guests/api/v1/languages"));this.commonLanguages=e.data.ocs.data.commonLanguages,this.languages=e.data.ocs.data.languages,this.merged=[this.defaultLanguage].concat(e.data.ocs.data.commonLanguages).concat(e.data.ocs.data.languages)}catch(e){console.error("Failed to retrieve languages",e)}}}};var Y=function(){var e=this,s=e._self._c;return s("NcSelect",{staticClass:"lang-multiselect",attrs:{placeholder:e.t("guests","Default"),label:"name",options:e.merged,disabled:e.disabled,placement:"bottom",required:!0},model:{value:e.language,callback:function(a){e.language=a},expression:"language"}})},x=[],L=r(O,Y,x,!1,null,null);const w=L.exports,I={name:"GuestForm",components:{AccountPlus:T,GroupSelect:M,LanguageSelect:w,NcButton:_,NcModal:h,NcNoteCard:m},data(){return{integrationApp:null,fileInfo:null,resolve:()=>{},reject:()=>{},isOpened:!1,loading:!1,guest:{fullName:"",username:null,email:null,language:"",groups:[]},errors:{button:!1,email:!1,username:!1,groups:!1},groupRequired:!1,groups:[]}},computed:{formatTitle(){return t("guests","Invite {name}",{name:this.guest.fullName?this.guest.fullName:this.guest.email?this.guest.email:"Guest"})}},watch:{"guest.email"(){this.guest.email?this.guest.username=this.guest.email:this.guest.username="",this.$nextTick(()=>{this.resetErrors()})}},beforeMount(){this.loadGroups()},methods:{populate(e,s){return s&&s.indexOf("@")!==-1&&s.lastIndexOf(".")>s.indexOf("@")?this.guest.email=s||"":this.guest.fullName=s||"",this.integrationApp=e?.app||"files",this.fileInfo=e,this.openModal(),new Promise((a,d)=>{this.resolve=a,this.reject=d})},openModal(){this.isOpened=!0,this.$nextTick(()=>{this.guest.fullName?this.$refs.email.focus():this.$refs.name.focus()})},closeModal(){this.isOpened=!1,this.resetForm()},async addGuest(){if(this.groupRequired&&this.guest.groups.length===0){this.errors.groups=t("guests","Guest user needs to be added to at least one group");return}else this.errors.groups=!1;this.loading=!0;try{if(await i.put(o("/apps/guests/api/v1/users"),{displayName:this.guest.fullName,email:this.guest.email,language:this.guest.language,groups:this.guest.groups,sendInvite:this.integrationApp!=="files"}),this.integrationApp==="files"){await this.setupGuestShare();return}this.integrationApp==="talk"&&this.resolve({id:this.guest.email,source:"users"}),f("guests:user:created",{username:this.guest.username,name:this.guest.fullName}),this.closeModal(),E(t("guests","Guest added"))}catch({response:e}){const s=e?.data?.ocs?.data?.errorMessages;Array.isArray(s)?s.map(v):(this.errors.email=s.email?s.email:!1,this.errors.username=s.username?s.username:!1,this.errors.button=s.button?s.button:!1)}finally{this.loading=!1}},async setupGuestShare(){try{const e=(this.fileInfo.path+"/"+this.fileInfo.name).replace("//","/"),s={shareType:c.User,shareWith:this.guest.username,path:e};l.info("Created share template with newly invited guest",{shareTemplate:s}),this.resolve(s),this.closeModal()}catch({response:e}){this.reject(e)}},async loadGroups(){try{const e=await i.get(o("apps/guests/api/v1/groups"));this.groups=e.data.ocs.data.groups,this.groupRequired=e.data.ocs.data.required}catch(e){l.error("Failed to retrieve groups",{error:e})}},resetForm(){this.guest.fullName=this.guest.username=this.guest.email=""},resetErrors(){this.errors.username=!1,this.errors.email=!1,this.errors.button=!1}}};var k=function(){var e=this,s=e._self._c;return e.isOpened?s("NcModal",{attrs:{id:"app-guests","clear-view-delay":0,name:e.formatTitle},on:{close:e.closeModal}},[s("div",{staticClass:"guest_model_content"},[s("form",{on:{submit:function(a){return a.preventDefault(),e.addGuest.apply(null,arguments)}}},[s("div",{staticClass:"modal-body"},[s("h2",{staticClass:"form-title"},[e._v(" "+e._s(e.t("guests","Invite Guest"))+" ")]),s("p",{staticClass:"form-description"},[e._v(" "+e._s(e.t("guests","Guests are accounts with limited permissions who will be able to access resources shared with them and use apps."))+" ")]),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label",attrs:{for:"app-guests-input-name"}},[e._v(" "+e._s(e.t("guests","Guest Name"))+" ")]),s("input",{directives:[{name:"model",rawName:"v-model",value:e.guest.fullName,expression:"guest.fullName"}],ref:"name",staticClass:"form-input",attrs:{id:"app-guests-input-name",type:"text",disabled:e.loading},domProps:{value:e.guest.fullName},on:{input:function(a){a.target.composing||e.$set(e.guest,"fullName",a.target.value)}}}),e.errors.username?s("NcNoteCard",{attrs:{type:"error"}},[e._v(" "+e._s(e.errors.username)+" ")]):e._e()],1),s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label",attrs:{for:"app-guests-input-email"}},[e._v(" "+e._s(e.t("guests","Email"))+" ")]),s("input",{directives:[{name:"model",rawName:"v-model",value:e.guest.email,expression:"guest.email"}],ref:"email",staticClass:"form-input",class:{_error:e.errors.email},attrs:{id:"app-guests-input-email",type:"email",disabled:e.loading},domProps:{value:e.guest.email},on:{input:function(a){a.target.composing||e.$set(e.guest,"email",a.target.value)}}}),e.errors.email?s("NcNoteCard",{attrs:{type:"error"}},[e._v(" "+e._s(e.errors.email)+" ")]):e._e()],1),s("div",{staticClass:"form-lang"},[s("label",{staticClass:"form-label",attrs:{for:"app-guests-input-lang"}},[e._v(" "+e._s(e.t("guests","Language"))+" ")]),s("LanguageSelect",{attrs:{disabled:e.loading},model:{value:e.guest.language,callback:function(a){e.$set(e.guest,"language",a)},expression:"guest.language"}})],1),e.groups.length>0?s("div",{staticClass:"form-group"},[s("label",{staticClass:"form-label",attrs:{for:"app-guests-input-group"}},[e._v(" "+e._s(e.t("guests","Add guest to groups:"))+" ")]),s("GroupSelect",{attrs:{disabled:e.loading,groups:e.groups,required:e.groupRequired},model:{value:e.guest.groups,callback:function(a){e.$set(e.guest,"groups",a)},expression:"guest.groups"}}),e.errors.groups?s("NcNoteCard",{attrs:{type:"error"}},[e._v(" "+e._s(e.errors.groups)+" ")]):e._e()],1):e._e()]),s("div",{staticClass:"modal-footer"},[e.errors.button?s("NcNoteCard",{attrs:{type:"error"}},[e._v(" "+e._s(e.t("guests","An error occurred, try again"))+" ")]):e._e(),s("NcButton",{attrs:{type:"primary","native-type":"submit",disabled:e.loading},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loading?s("div",{staticClass:"icon-loading-small"}):s("AccountPlus",{attrs:{size:20}})]},proxy:!0}],null,!1,1809807074)},[e._v(" "+e._s(e.t("guests","Invite user"))+" ")])],1)])])]):e._e()},$=[],q=r(I,k,$,!1,null,"0b5d1d72");const U=q.exports;g.mixin(R),OCA.Guests||(OCA.Guests={});const u=new g(U),n=document.createElement("div");n.setAttribute("id","guest-root"),document.body.appendChild(n),u.$mount("#guest-root"),OCA.Guests.openGuestDialog=(e,s)=>{u.populate({app:e},s)};export{A as T,u as g}; //# sourceMappingURL=guests-init.mjs.map