import{E as u,Oj as P,ee as w,ma as g,oc as h,sj as T,y as p,z as f}from"./chunk-ET7TRALE.js";import{ra as l,wa as c}from"./chunk-ZY2UEPJ6.js";import{a as d,b as _}from"./chunk-EMXRSGQS.js";var s=(()=>{let i=class i{};i.CREATE="committee.create",i.UPDATE="committee.update",i.DELETE="committee.delete",i.JSON_UPLOAD="committee.json_upload",i.IMPORT="committee.import";let n=i;return n})();var B=(()=>{let i=class i extends u{constructor(t,e,r){super(t,T),this.operator=e,this.userRepo=r,this.getTitle=o=>o.name,this.getVerboseName=(o=!1)=>this.translate.instant(o?"Committees":"Committee")}getFieldsets(){let t=["name"],e=t.concat(["description","meeting_ids","forward_to_committee_ids","receive_forwardings_from_committee_ids","organization_tag_ids","user_ids","manager_ids","external_id"]);return _(d({},super.getFieldsets()),{list:e,name:t})}create(...t){let e=t.map(r=>d({name:r.name,organization_id:h},this.getPartialCommitteePayload(r)));return this.sendBulkActionToBackend(s.CREATE,e)}update(t,...e){let r=(a,m)=>d({id:a,name:m.name,default_meeting_id:m.default_meeting_id},this.getPartialCommitteePayload(m)),o=e.map(a=>r(a.id,t??a));return this.createAction(s.UPDATE,o)}delete(...t){let e=t.map(r=>({id:r.id}));return this.sendBulkActionToBackend(s.DELETE,e)}bulkForwardToCommittees(t,e){let r=t.map(o=>{let a=new Set(e.concat(o.forward_to_committee_ids||[]));return{id:o.id,forward_to_committee_ids:Array.from(a)}});return this.sendBulkActionToBackend(s.UPDATE,r)}bulkUnforwardToCommittees(t,e){let r=t.map(o=>({id:o.id,forward_to_committee_ids:(o.forward_to_committee_ids||[]).filter(a=>!e.includes(a))}));return this.sendBulkActionToBackend(s.UPDATE,r)}committeeJsonUpload(t){return this.createAction(s.JSON_UPLOAD,t)}committeeImport(t){return this.createAction(s.IMPORT,t)}createViewModel(t){let e=super.createViewModel(t);return e.getViewUser=r=>this.userRepo.getViewModel(r),e.canAccess=()=>this.operator.hasCommitteePermissions(t.id,p.can_manage)||this.operator.hasOrganizationPermissions(f.can_manage_users)||this.operator.isInCommitteesNonAdminCheck(t),e}getPartialCommitteePayload(t){return{description:t.description,organization_tag_ids:t.organization_tag_ids===null?[]:t.organization_tag_ids,manager_ids:t.manager_ids,forward_to_committee_ids:t.forward_to_committee_ids===null?[]:t.forward_to_committee_ids,receive_forwardings_from_committee_ids:t.receive_forwardings_from_committee_ids===null?[]:t.receive_forwardings_from_committee_ids,external_id:t.external_id}}};i.\u0275fac=function(e){return new(e||i)(c(g),c(P),c(w))},i.\u0275prov=l({token:i,factory:i.\u0275fac,providedIn:"root"});let n=i;return n})();export{B as a};
