@sync-in/server 1.10.0 → 1.10.1

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.
Files changed (75) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +2 -2
  3. package/package.json +2 -3
  4. package/server/app.bootstrap.js +3 -22
  5. package/server/app.bootstrap.js.map +1 -1
  6. package/server/applications/comments/services/comments-queries.service.js +5 -9
  7. package/server/applications/comments/services/comments-queries.service.js.map +1 -1
  8. package/server/applications/users/users.e2e-spec.js +0 -1
  9. package/server/applications/users/users.e2e-spec.js.map +1 -1
  10. package/server/applications/webdav/constants/webdav.js +7 -0
  11. package/server/applications/webdav/constants/webdav.js.map +1 -1
  12. package/server/applications/webdav/utils/bootstrap.js +45 -0
  13. package/server/applications/webdav/utils/bootstrap.js.map +1 -0
  14. package/server/applications/webdav/webdav.controller.js +1 -1
  15. package/server/applications/webdav/webdav.controller.js.map +1 -1
  16. package/server/applications/webdav/webdav.e2e-spec.js +131 -2
  17. package/server/applications/webdav/webdav.e2e-spec.js.map +1 -1
  18. package/server/authentication/auth.e2e-spec.js +12 -6
  19. package/server/authentication/auth.e2e-spec.js.map +1 -1
  20. package/server/authentication/guards/auth-basic.guard.spec.js +23 -0
  21. package/server/authentication/guards/auth-basic.guard.spec.js.map +1 -1
  22. package/server/authentication/guards/auth-basic.strategy.js +3 -3
  23. package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
  24. package/server/authentication/guards/auth-digest.strategy.js +32 -11
  25. package/server/authentication/guards/auth-digest.strategy.js.map +1 -1
  26. package/server/authentication/guards/implementations/http-basic.strategy.js +76 -0
  27. package/server/authentication/guards/implementations/http-basic.strategy.js.map +1 -0
  28. package/server/authentication/guards/implementations/http-digest.strategy.js +155 -0
  29. package/server/authentication/guards/implementations/http-digest.strategy.js.map +1 -0
  30. package/server/authentication/services/auth-manager.service.js +1 -2
  31. package/server/authentication/services/auth-manager.service.js.map +1 -1
  32. package/static/{chunk-XBKCQCBI.js → chunk-2GXOVGTD.js} +1 -1
  33. package/static/{chunk-QHJT5H4M.js → chunk-3MVPXC3U.js} +1 -1
  34. package/static/{chunk-I5SPA4G2.js → chunk-3VRUIWQG.js} +1 -1
  35. package/static/{chunk-L3BIP4AA.js → chunk-3ZBAQTHJ.js} +1 -1
  36. package/static/{chunk-D55YR5X7.js → chunk-76M3BMK6.js} +11 -11
  37. package/static/{chunk-GXWGB7WO.js → chunk-76REYAEA.js} +1 -1
  38. package/static/{chunk-CCZWPM7Q.js → chunk-7HJFIMNF.js} +1 -1
  39. package/static/{chunk-NIR4YE2E.js → chunk-7KAYOR3A.js} +1 -1
  40. package/static/{chunk-O3YLAEVE.js → chunk-AALPWGPB.js} +2 -2
  41. package/static/{chunk-KWFELZTM.js → chunk-CN5YVRFT.js} +1 -1
  42. package/static/{chunk-B6HQYQYG.js → chunk-CVXLHSO5.js} +1 -1
  43. package/static/{chunk-R7PLNX75.js → chunk-D2MLAO5N.js} +1 -1
  44. package/static/{chunk-HGODIZTV.js → chunk-EKWB5W72.js} +1 -1
  45. package/static/{chunk-PQZLR4P3.js → chunk-FTFEQDWH.js} +1 -1
  46. package/static/{chunk-3WZ6F3LC.js → chunk-FWQJ4ZCD.js} +1 -1
  47. package/static/{chunk-FIUF2JM4.js → chunk-IHS5LSJJ.js} +1 -1
  48. package/static/{chunk-G3PL6YX3.js → chunk-J7474P3L.js} +1 -1
  49. package/static/{chunk-LGIVVJDD.js → chunk-JAJ7VXMB.js} +1 -1
  50. package/static/{chunk-T42BV6TR.js → chunk-KEZNIIFH.js} +1 -1
  51. package/static/{chunk-OUHCDDT6.js → chunk-LWSCODLD.js} +1 -1
  52. package/static/{chunk-6WMXMIE4.js → chunk-NIKNG2FX.js} +1 -1
  53. package/static/{chunk-KPOQLDWF.js → chunk-QGHNJVJ6.js} +1 -1
  54. package/static/{chunk-GWRAGN3M.js → chunk-QJ22N76V.js} +1 -1
  55. package/static/{chunk-NJJURHX4.js → chunk-QTPIEEZW.js} +1 -1
  56. package/static/{chunk-ZHOE5VEY.js → chunk-R4VYKZVJ.js} +1 -1
  57. package/static/{chunk-7VRYTDX4.js → chunk-RBTLSPYJ.js} +1 -1
  58. package/static/{chunk-GQHXYX6Z.js → chunk-S44QIK3G.js} +1 -1
  59. package/static/{chunk-45AZ6ZML.js → chunk-S6H2ELRY.js} +1 -1
  60. package/static/{chunk-E32J777S.js → chunk-SPQH3ATC.js} +1 -1
  61. package/static/{chunk-DGCVA6BM.js → chunk-TTWMFWEC.js} +1 -1
  62. package/static/{chunk-ULSPQ3HP.js → chunk-U5E5H2DD.js} +1 -1
  63. package/static/{chunk-LNLBIJZD.js → chunk-VBTZDHZ3.js} +1 -1
  64. package/static/{chunk-I3FR3A45.js → chunk-VZFZUI6D.js} +1 -1
  65. package/static/{chunk-S3TTWPQA.js → chunk-WFMEUST4.js} +1 -1
  66. package/static/{chunk-27Z3SYRL.js → chunk-WRK2FTKU.js} +1 -1
  67. package/static/{chunk-4TPFERL6.js → chunk-WZPF4LS2.js} +1 -1
  68. package/static/{chunk-POUWUMC4.js → chunk-X7NHX5C7.js} +1 -1
  69. package/static/{chunk-XTVNHFKX.js → chunk-XSURUW7C.js} +1 -1
  70. package/static/{chunk-5O66CLTD.js → chunk-XX3JPJUM.js} +1 -1
  71. package/static/{chunk-3RPUQ22U.js → chunk-XZHWESIY.js} +1 -1
  72. package/static/{chunk-3JYMJQYT.js → chunk-ZHUBWKA2.js} +1 -1
  73. package/static/{chunk-XEWLBWFF.js → chunk-ZU5MQTFN.js} +1 -1
  74. package/static/index.html +1 -1
  75. package/static/{main-YKDNJ7LK.js → main-5O3KLGIR.js} +3 -3
@@ -1 +1 @@
1
- import{a as Et}from"./chunk-5O66CLTD.js";import{a as At,b as H,c as Ft}from"./chunk-KWFELZTM.js";import{c as Se,d as Dt}from"./chunk-NIR4YE2E.js";import{a as wt}from"./chunk-S3TTWPQA.js";import"./chunk-JXZCNFW7.js";import{a as Ae}from"./chunk-HGODIZTV.js";import{a as B,b as ke,c as gt,e as De}from"./chunk-7VRYTDX4.js";import{a as St,c as Ee}from"./chunk-XEWLBWFF.js";import{a as Z}from"./chunk-3JYMJQYT.js";import"./chunk-6WMXMIE4.js";import{l as xe,m as be,w as Y}from"./chunk-B6HQYQYG.js";import{a as Tt}from"./chunk-DGCVA6BM.js";import{a as Te,b as ye,c as we}from"./chunk-ZHOE5VEY.js";import{a as bt}from"./chunk-GWRAGN3M.js";import{a as Ne}from"./chunk-3RPUQ22U.js";import{a as Ve,b as yt}from"./chunk-GQHXYX6Z.js";import"./chunk-27Z3SYRL.js";import{A as Q,C as dt,Cb as J,H as ve,J as pt,K as ut,L as ft,N as _t,gb as xt,s as We,va as Ct,wa as ht,xa as vt,z as ct}from"./chunk-O3YLAEVE.js";import{b as He,d as je}from"./chunk-QHJT5H4M.js";import{Ae as Ye,Bb as N,Cd as ge,Dd as z,Eb as f,Ed as K,Gb as d,Gd as qe,Gf as nt,Ia as oe,Ie as Ce,Jd as X,Jf as ot,Kb as ee,Kd as O,L as j,Lb as te,Ld as ze,Mb as ie,Mf as at,Oa as r,Oc as se,Of as rt,Pc as $e,Pe as Ze,Qa as ae,Qb as Ue,Rb as E,Re as he,Sb as V,Tb as m,Ub as v,Vb as w,Vd as Ke,Vf as st,Wb as G,Xb as Re,Yb as Le,Zb as Oe,ab as M,ag as lt,cc as R,db as re,dc as Be,eb as Ge,ed as W,ef as et,fb as F,fd as le,fg as mt,hd as I,he as Xe,ja as S,jd as L,kc as h,kd as me,ke as Je,lb as g,lc as y,ld as Qe,mb as C,mc as A,nb as q,nd as D,nf as tt,oa as x,od as ce,pa as b,pb as U,qb as k,qg as $,rb as c,sb as n,sd as de,tb as o,td as pe,ub as u,ud as ue,vd as fe,wd as _e,yf as it}from"./chunk-D55YR5X7.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{i as P}from"./chunk-KAVP6UXH.js";function It(e,s){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function Pt(e,s){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=d();c("icon",i.icons.faPlus)}}function Mt(e,s){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Gt(e,s){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Rt(e,s){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function Lt(e,s){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.guestForm.value.password)}}function Ot(e,s){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",i),r(),v(a.i18nLanguageText[i])}}function Bt(e,s){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",a.allNotifications.indexOf(i)),r(),v(i)}}function $t(e,s){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);r(),G("",y(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),G("",y(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Ht(e,s){e&1&&(n(0,"span",37),m(1,"never"),o())}function jt(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,$t,6,8)(12,Ht,2,0,"span",37),o()()()),e&2){let i=d();r(5),v(y(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Qt(e,s){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsersGear),r(4),w("(",i.guestForm.value.managers.length||0,")")}}function qt(e,s){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Wt(e,s){if(e&1){let i=N();n(0,"button",52),f("click",function(){x(i);let l=d();return b(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Pe=(()=>{let s=class s extends Et{constructor(){super(),this.adminService=S(H)}searchMembers(a){let l={search:a,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:Q.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion){let a=yield this.userService.auth2FaVerifyDialog(!0);if(a===!1)return;this.adminService.deleteUser(this.guest.id,{deleteSpace:!0,isGuest:!0},a).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else if(this.guest){let a=this.makeDto();if(!Object.keys(a).length){this.loading=!1,this.submitted=!1;return}let l=yield this.userService.auth2FaVerifyDialog();if(l===!1)return;this.adminService.updateUser(this.guest.id,a,l,!0).subscribe({next:t=>{t?this.guestChange.emit(["update",t]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:t=>this.onError(t)})}else{let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.createUser(this.makeDto(!0),a,!0).subscribe({next:l=>{this.guestChange.emit(["add",l]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-guest-dialog"]],features:[Ge],decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,It,3,2)(3,Pt,3,1),g(4,Mt,1,1,"fa-icon",2),o(),g(5,Gt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),F(11,Rt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Lt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,Ot,2,2,"option",26,q),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),U(56,Bt,2,2,"option",34,q),o()()(),g(58,jt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),F(60,Qt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,qt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Wt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),V(R("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),k(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),w(" ",y(51,38,A(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),k(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[$,O,z,fe,_e,le,W,ue,L,me,de,pe,xe,Ae,be,Ee,Te,ye,we,Z,X,se],encapsulation:2});let e=s;return e})();var Ut=(()=>{let s=class s{constructor(){this.translate=S(qe)}transform(a,l=!1,t=null,p=", "){return a.length?(t?a.map(T=>T[t]):a.concat()).sort().map(T=>new De().transform(l?this.translate.translate(T):T)).join(p):""}};s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=re({name:"join",type:s,pure:!0});let e=s;return e})();var kt=(()=>{let s=class s{transform(a,l=","){return a?.length?a.split(l):[]}};s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=re({name:"split",type:s,pure:!0});let e=s;return e})();function zt(e,s){e&1&&(n(0,"h4",3)(1,"span",14),m(2,"Delete user"),o()())}var Vt=(()=>{let s=class s{constructor(){this.wasDeleted=new ae,this.locale=S(K),this.submitted=!1,this.icons={faUserMinus:ot},this.deleteSpace=!1,this.layout=S(J),this.adminService=S(H),this.userService=S(Y)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){return P(this,null,function*(){this.submitted=!0;let a=yield this.userService.auth2FaVerifyDialog(!0);if(a===!1){this.onClose();return}this.adminService.deleteUser(this.user.id,{deleteSpace:this.deleteSpace,isGuest:!1},a).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,l)}})})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:28,vars:13,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"d-flex","flex-column"],[1,"mx-2"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["id","deleteSpace","type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],["l10nTranslate",""],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,zt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"div",8)(11,"span",9)(12,"b"),m(13),h(14,"capitalize"),o()(),n(15,"span",9),m(16),o()()(),n(17,"div",10)(18,"div",11)(19,"label",12)(20,"input",13),Oe("ngModelChange",function(_){return Le(t.deleteSpace,_)||(t.deleteSpace=_),_}),o(),n(21,"span",14),m(22,"Delete all user files"),o()()()()(),n(23,"div",15)(24,"button",16),f("click",function(){return t.onClose()}),m(25," Cancel "),o(),n(26,"button",17),f("click",function(){return t.onSubmit()}),m(27," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(3),c("src",t.user.avatarUrl,oe),r(4),v(y(14,11,t.user.login)),r(3),v(t.user.email),r(4),Re("ngModel",t.deleteSpace),r(6),c("disabled",t.submitted))},dependencies:[$,O,z,W,L,ge,ce,De],encapsulation:2});let e=s;return e})();var Kt=(e,s)=>s.id;function Xt(e,s){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function Jt(e,s){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=d();c("icon",i.icons.faUserPlus)}}function Yt(e,s){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Zt(e,s){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function ei(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function ti(e,s){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.userForm.value.password)}}function ii(e,s){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",i),r(),v(a.i18nLanguageText[i])}}function ni(e,s){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",a.allNotifications.indexOf(i)),r(),v(i)}}function oi(e,s){if(e&1){let i=N();n(0,"span",55),f("click",function(){x(i);let l=d(2);return b(l.reset2Fa())}),u(1,"fa-icon",48),n(2,"span",56),m(3,"Reset"),o()()}if(e&2){let i=d(2);r(),c("icon",i.icons.faTrash)}}function ai(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),n(5,"div",15)(6,"div",10)(7,"label",52),m(8,"Two-Factor Authentication"),o(),n(9,"div",53)(10,"span"),u(11,"fa-icon",48),m(12),h(13,"translate"),h(14,"titlecase"),o(),g(15,oi,4,1,"span",54),o()()()()),e&2){let i=d();r(4),c("item",i.user),r(7),c("icon",i.user.twoFaEnabled?i.icons.faLock:i.icons.faLockOpen),r(),w(" ",y(14,7,A(13,4,i.user.twoFaEnabled?"enabled":"disabled",i.locale.language))," "),r(3),C(i.user.twoFaEnabled?15:-1)}}function ri(e,s){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);r(),G("",y(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),G("",y(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function si(e,s){e&1&&(n(0,"span",62),m(1,"never"),o())}function li(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",57),m(3,"Creation date"),o(),n(4,"div",58),m(5),h(6,"amDateFormat"),o()(),n(7,"div",59)(8,"label",60),m(9,"Last accesses"),o(),n(10,"div",61),g(11,ri,6,8)(12,si,2,0,"span",62),o()()()),e&2){let i=d();r(5),v(y(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function mi(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=d();c("icon",i.icons.faShieldHalved)}}function ci(e,s){if(e&1&&(n(0,"div",65)(1,"div",66),u(2,"fa-icon",67),n(3,"span"),m(4),o()(),n(5,"div",68),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=d().$implicit,a=d(2);r(2),c("icon",a.icons.GROUPS),r(2),v(i.name),r(2),v(A(8,5,y(7,3,i.permissions),!0))}}function di(e,s){if(e&1&&g(0,ci,9,8,"div",65),e&2){let i=s.$implicit;C(i.permissions?0:-1)}}function pi(e,s){if(e&1&&(n(0,"div",32)(1,"label",63),m(2,"Permissions inherited from groups"),o(),n(3,"div",64),U(4,di,1,1,null,null,Kt),o()()),e&2){let i=d();r(4),k(i.userForm.value.groups)}}function ui(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",69),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsers),r(4),w("(",i.userForm.value.groups.length||0,")")}}function fi(e,s){if(e&1){let i=N();n(0,"button",70),f("click",function(){x(i);let l=d();return b(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Me=(()=>{let s=class s{constructor(){this.user=null,this.userChange=new ae,this.locale=S(K),this.layout=S(J),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:pt.GROUPS,faUserPlus:he,faUserPen:Ce,faSpinner:tt,faAddressCard:Ze,faUsers:Ye,faShieldHalved:rt,faTrash:Je,faLock:nt,faLockOpen:it},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(ut),this.languages=this.layout.getLanguages(!0),this.i18nLanguageText=_t,this.adminService=S(H),this.userService=S(Y)}ngOnInit(){this.userForm=new Qe({login:new D(this.user?.login||"",[I.required,I.pattern(ct)]),email:new D(this.user?.email||"",[I.required,I.maxLength(255),I.email]),firstName:new D(this.user?.firstName||"",[I.required,I.maxLength(255)]),lastName:new D(this.user?.lastName||"",I.maxLength(255)),password:new D(this.user?this.defaultPassword:"",I.maxLength(255)),language:new D(this.user?.language||null),notification:new D(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new D(this.user?this.user.isActive:!0),isAdmin:new D(this.user?this.user.isAdmin:!1),storageQuota:new D(this.user?.storageQuota||null),groups:new D(this.user?.groups||[]),applications:new D(this.user?.applications||[])})}searchMembers(a){let l={search:a,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(a){this.userForm.controls.applications.setValue(a),this.userForm.controls.applications.markAsDirty()}updatePassword(a){this.userForm.controls.password.setValue(a),this.userForm.controls.password.markAsDirty()}updateMembers(a){this.userForm.controls.groups.setValue(a),this.userForm.controls.groups.markAsDirty()}updateQuota(a){this.userForm.controls.storageQuota.setValue(a),this.userForm.controls.storageQuota.markAsDirty(),this.user.storageQuota=a}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}reset2Fa(){return P(this,null,function*(){let a=yield this.userService.auth2FaVerifyDialog(!0);a!==!1&&this.userService.adminResetUser2Fa(this.user.id,a).subscribe({next:l=>{this.user.twoFaEnabled=!l.success,l.success?this.layout.sendNotification("success","Two-Factor Authentication is disabled",this.user.login):this.layout.sendNotification("error","Two-Factor Authentication",l.message)},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Two-Factor Authentication",this.user.login,l)}})})}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion)this.layout.openDialog(Vt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(j(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)});else if(this.user){let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.updateUser(this.user.id,this.makeDto(),a).subscribe({next:l=>{this.userChange.emit(["update",l]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else{let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.createUser(this.makeDto(!0),a).subscribe({next:l=>{this.userChange.emit(["add",l]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}makeDto(a=!1){let l={};if(a)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ft?null:l[t];break;case"isAdmin":l.role=l[t]?Q.ADMINISTRATOR:Q.USER;break;case"applications":l.permissions=l[t].join(dt);break;case"groups":l[t]=l[t].map(p=>p.id);break}return l}onError(a){this.layout.sendNotification("error","Group error",this.userForm.value.login,a),this.submitted=!1}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["for","twoFa","l10nTranslate",""],["id","twoFa",1,"pt-1"],["role","button",1,"ms-3","link-danger"],["role","button",1,"ms-3","link-danger",3,"click"],["l10nTranslate","",1,"ms-1"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Xt,3,2)(3,Jt,3,1),g(4,Yt,1,1,"fa-icon",2),o(),g(5,Zt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),F(11,ei,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,ti,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,ii,2,2,"option",26,q),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),U(48,ni,2,2,"option",30,q),o()()(),g(50,ai,16,9,"div",11),o(),g(51,li,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),F(53,mi,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,pi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),F(73,ui,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,fi,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),k(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),k(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),w(" ",y(64,42,A(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[$,O,ye,we,Te,z,fe,_e,le,W,ue,L,me,de,pe,xe,Ae,Se,Dt,Ee,be,Ft,se,X,kt,Ut,Z],encapsulation:2});let e=s;return e})();var _i=["MainContextMenu"],gi=["TargetContextMenu"],Nt=(e,s)=>s.key,Ci=(e,s)=>s.id,hi=(e,s)=>s.mid;function vi(e,s){if(e&1&&u(0,"fa-icon",24),e&2){let i=d(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function xi(e,s){if(e&1){let i=N();n(0,"th",23),f("click",function(){x(i);let l=d().$implicit,t=d();return b(t.sortBy(l.key))}),m(1),g(2,vi,1,2,"fa-icon",24),o()}if(e&2){let i=d().$implicit,a=d();V(i.value.class),Ue("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),w(" ",i.value.label," "),r(),C(a.sortTable.sortParam.column===i.key?2:-1)}}function bi(e,s){if(e&1&&g(0,xi,3,10,"th",22),e&2){let i=s.$implicit;C(i.value.show?0:-1)}}function Si(e,s){if(e&1&&u(0,"fa-icon",32),e&2){let i=d(5);c("icon",i.icons.faKey)}}function Ti(e,s){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,Si,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=d(3).$implicit;r(),c("src",i.avatarUrl,oe),r(3),w(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function yi(e,s){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=d(4).$implicit;r(),v(i.userRoleText)}}function wi(e,s){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,yi,2,1,"span",34),o()),e&2){let i=d(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function Ai(e,s){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=s.$implicit;c("user",i)("isMember",!0)}}function Ei(e,s){if(e&1&&U(0,Ai,1,2,"app-user-avatar",35,hi),e&2){let i=d(3).$implicit;k(i.managers)}}function Di(e,s){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=d(4).$implicit;c("item",i)}}function Fi(e,s){if(e&1&&g(0,Di,1,1,"app-storage-usage",36),e&2){let i=d(3).$implicit;C(i.storageUsage?0:-1)}}function Ui(e,s){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=d(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function ki(e,s){e&1&&m(0," too many login attempts ")}function Vi(e,s){if(e&1&&m(0),e&2){let i=d(4).$implicit;w(" ",i.userIsActiveText," ")}}function Ni(e,s){if(e&1&&(n(0,"span",11),g(1,ki,1,0)(2,Vi,1,1),o()),e&2){let i=d(3).$implicit;V(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ii(e,s){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=d(5).$implicit;r(2),v(y(3,2,i.currentAccess)),r(3),v(y(6,4,i.lastAccess))}}function Pi(e,s){if(e&1&&m(0),e&2){let i=d(5).$implicit;w(" ",i.hTimeAgo," ")}}function Mi(e,s){if(e&1){let i=N();n(0,"div",38),f("mouseover",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!0)})("focus",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!0)})("mouseleave",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!1)}),g(1,Ii,7,6,"div",28)(2,Pi,1,1),o()}if(e&2){let i=d(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Gi(e,s){e&1&&(n(0,"span",11),m(1,"never"),o())}function Ri(e,s){if(e&1&&g(0,Mi,3,1,"div",37)(1,Gi,2,0,"span",11),e&2){let i=d(3).$implicit;C(i.currentAccess?0:1)}}function Li(e,s){if(e&1&&(n(0,"td"),g(1,Ti,8,4,"div",27)(2,wi,4,2,"div",28)(3,Ei,2,0)(4,Fi,1,1)(5,Ui,5,2,"div",28)(6,Ni,3,3,"span",29)(7,Ri,2,1),o()),e&2){let i,a=d().$implicit,l=d().$implicit;V(Be("",a.value.class," ",a.value.newly?"prop-newly-"+l[a.value.newly]:"")),Ue("width",a.value.width,"%"),E("text-align-center",a.value.textCenter),r(),C((i=a.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Oi(e,s){if(e&1&&g(0,Li,8,9,"td",26),e&2){let i=s.$implicit;C(i.value.show?0:-1)}}function Bi(e,s){if(e&1){let i=N();n(0,"tr",25),f("click",function(){let l=x(i).$implicit,t=d();return b(t.onSelect(l))})("contextmenu",function(l){let t=x(i).$implicit,p=d();return b(p.onTargetContextMenu(l,t))})("appTap",function(){x(i);let l=d();return b(l.openDialog())}),U(1,Oi,1,1,null,null,Nt),h(3,"keyvalue"),o()}if(e&2){let i=s.$implicit,a=d();E("disabled",!i.isActive)("selected",i.id===(a.selected==null?null:a.selected.id)),r(),k(A(3,4,a.tableHeaders,a.originalOrderKeyValue))}}function $i(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();r(),c("icon",i.icons.faUserPlus),r(),w("New ",i.guestsView?"guest":"user")}}function Hi(e,s){}function ji(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=d();r(),c("icon",i.icons.faArrowRotateRight)}}function Qi(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();r(),c("icon",i.icons.faUserPen),r(),w("Edit ",i.guestsView?"guest":"user")}}function qi(e,s){}function Wi(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=d();r(),c("icon",i.icons.faUserSecret)}}var Oo=(()=>{let s=class s{constructor(){this.locale=S(K),this.originalOrderKeyValue=xt,this.icons={faRotate:ze,faUserPlus:he,faUserPen:Ce,faArrowDown:mt,faArrowUp:et,faKey:Xe,faUserSecret:lt,faArrowRotateRight:st,faToggleOn:at,faToggleOff:Ke},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(je),this.activatedRoute=S(He),this.layout=S(J),this.adminService=S(H),this.userService=S(Y),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new yt(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(gt.USERS),this.activatedRoute.data.subscribe(a=>{this.guestsView=a.type===Q.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:a=>{this.sortBy(this.sortTable.sortParam.column,!1,a),this.scrollView.scrollInto(-1),this.loading=!1},error:a=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",a),this.loading=!1}})}onSelect(a=null){this.selected=a}onGuestsView(a){this.guestsView=a,this.router.navigate([B.BASE,a?B.GUESTS:B.USERS]).catch(console.error)}onContextMenu(a){a.preventDefault(),a.stopPropagation(),this.layout.openContextMenu(a,this.mainContextMenu)}onTargetContextMenu(a,l){a.preventDefault(),a.type==="contextmenu"&&a.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(a,this.targetContextMenu)}sortBy(a,l=!0,t){this.users=this.sortTable.sortBy(a,l,t||this.users)}openDialog(a=!1){this.guestsView?this.openGuestDialog(a):this.openUserDialog(a)}openUserDialog(a=!1){a?this.layout.openDialog(Me,"md").content.userChange.pipe(j(1)).subscribe(t=>{let[p,_]=t;p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Me,"md",{initialState:{user:l}}).content.userChange.pipe(j(1)).subscribe(p=>{let[_,T]=p;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Fe=>Fe.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(a=!1){a?this.layout.openDialog(Pe,"md").content.guestChange.pipe(j(1)).subscribe(t=>{let[p,_]=t,T=new At(_);p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Pe,"md",{initialState:{guest:l}}).content.guestChange.pipe(j(1)).subscribe(p=>{let[_,T]=p;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Fe=>Fe.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){return P(this,null,function*(){let a=yield this.userService.auth2FaVerifyDialog(!0);a!==!1&&this.adminService.impersonateUser(this.selected.id,a).subscribe({next:l=>{setTimeout(()=>this.adminService.initImpersonateUser(l),500)},error:l=>this.layout.sendNotification("error","Impersonate identity",this.selected.login,l)})})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${B.BASE}/${B.GUESTS}/${ke.GUESTS}`:`/${B.BASE}/${B.USERS}/${ke.USERS}`,splicing:2,translating:!0,sameLink:!0})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(ee(Ne,5),ee(Ve,7),ee(_i,7),ee(gi,7)),l&2){let p;te(p=ie())&&(t.scrollView=p.first),te(p=ie())&&(t.inputFilter=p.first),te(p=ie())&&(t.mainContextMenu=p.first),te(p=ie())&&(t.targetContextMenu=p.first)}},decls:47,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let p=N();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return x(p),b(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return x(p),b(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return x(p),b(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return x(p),b(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return x(p),b(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),U(24,bi,1,1,null,null,Nt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return x(p),b(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),U(31,Bi,4,7,"tr",17,Ci),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),F(39,$i,3,2,"ng-template",20),f("execute",function(){return x(p),b(t.openDialog(!0))}),F(40,Hi,0,0,"ng-template",21)(41,ji,3,1,"ng-template",20),f("execute",function(){return x(p),b(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),F(44,Qi,3,2,"ng-template",20),f("execute",function(){return x(p),b(t.openDialog())}),F(45,qi,0,0,"ng-template",21)(46,Wi,3,1,"ng-template",20),f("execute",function(){return x(p),b(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",A(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",A(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",A(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",A(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),k(A(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",A(28,34,t.users,t.inputFilter.search())),r(4),k(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),G("",t.users.length," ",A(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[$,Ve,We,O,Ne,Se,vt,ht,Ct,bt,ge,L,ce,wt,St,X,$e,Tt,Z],encapsulation:2});let e=s;return e})();export{Oo as AdminUsersComponent};
1
+ import{a as Et}from"./chunk-XX3JPJUM.js";import{a as At,b as H,c as Ft}from"./chunk-CN5YVRFT.js";import{c as Se,d as Dt}from"./chunk-7KAYOR3A.js";import{a as wt}from"./chunk-WFMEUST4.js";import"./chunk-JXZCNFW7.js";import{a as Ae}from"./chunk-EKWB5W72.js";import{a as B,b as ke,c as gt,e as De}from"./chunk-RBTLSPYJ.js";import{a as St,c as Ee}from"./chunk-ZU5MQTFN.js";import{a as Z}from"./chunk-ZHUBWKA2.js";import"./chunk-NIKNG2FX.js";import{l as xe,m as be,w as Y}from"./chunk-CVXLHSO5.js";import{a as Tt}from"./chunk-TTWMFWEC.js";import{a as Te,b as ye,c as we}from"./chunk-R4VYKZVJ.js";import{a as bt}from"./chunk-QJ22N76V.js";import{a as Ne}from"./chunk-XZHWESIY.js";import{a as Ve,b as yt}from"./chunk-S44QIK3G.js";import"./chunk-WRK2FTKU.js";import{A as Q,C as dt,Cb as J,H as ve,J as pt,K as ut,L as ft,N as _t,gb as xt,s as We,va as Ct,wa as ht,xa as vt,z as ct}from"./chunk-AALPWGPB.js";import{b as He,d as je}from"./chunk-3MVPXC3U.js";import{Ae as Ye,Bb as N,Cd as ge,Dd as z,Eb as f,Ed as K,Gb as d,Gd as qe,Gf as nt,Ia as oe,Ie as Ce,Jd as X,Jf as ot,Kb as ee,Kd as O,L as j,Lb as te,Ld as ze,Mb as ie,Mf as at,Oa as r,Oc as se,Of as rt,Pc as $e,Pe as Ze,Qa as ae,Qb as Ue,Rb as E,Re as he,Sb as V,Tb as m,Ub as v,Vb as w,Vd as Ke,Vf as st,Wb as G,Xb as Re,Yb as Le,Zb as Oe,ab as M,ag as lt,cc as R,db as re,dc as Be,eb as Ge,ed as W,ef as et,fb as F,fd as le,fg as mt,hd as I,he as Xe,ja as S,jd as L,kc as h,kd as me,ke as Je,lb as g,lc as y,ld as Qe,mb as C,mc as A,nb as q,nd as D,nf as tt,oa as x,od as ce,pa as b,pb as U,qb as k,qg as $,rb as c,sb as n,sd as de,tb as o,td as pe,ub as u,ud as ue,vd as fe,wd as _e,yf as it}from"./chunk-76M3BMK6.js";import"./chunk-DM4NXKEP.js";import"./chunk-ZIJQRARU.js";import{i as P}from"./chunk-KAVP6UXH.js";function It(e,s){if(e&1&&(u(0,"fa-icon",42),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faPen),r(2),v(i.guest.fullName)}}function Pt(e,s){if(e&1&&(u(0,"fa-icon",42),n(1,"span",43),m(2,"New guest"),o()),e&2){let i=d();c("icon",i.icons.faPlus)}}function Mt(e,s){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Gt(e,s){e&1&&(n(0,"h4",3)(1,"span",43),m(2,"Edit guest"),o()())}function Rt(e,s){if(e&1&&(u(0,"fa-icon",44),n(1,"span",45),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function Lt(e,s){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.guestForm.value.password)}}function Ot(e,s){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",i),r(),v(a.i18nLanguageText[i])}}function Bt(e,s){if(e&1&&(n(0,"option",34),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",a.allNotifications.indexOf(i)),r(),v(i)}}function $t(e,s){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);r(),G("",y(2,4,i.guest.currentAccess)," - ",i.guest.currentIp),r(3),G("",y(5,6,i.guest.lastAccess)," - ",i.guest.lastIp)}}function Ht(e,s){e&1&&(n(0,"span",37),m(1,"never"),o())}function jt(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",46),m(3,"Creation date"),o(),n(4,"div",47),m(5),h(6,"amDateFormat"),o()(),n(7,"div",48)(8,"label",49),m(9,"Last accesses"),o(),n(10,"div",50),g(11,$t,6,8)(12,Ht,2,0,"span",37),o()()()),e&2){let i=d();r(5),v(y(6,2,i.guest.createdAt)),r(6),C(i.guest.lastAccess?11:12)}}function Qt(e,s){if(e&1&&(u(0,"fa-icon",44),n(1,"span",51),m(2,"Managers"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsersGear),r(4),w("(",i.guestForm.value.managers.length||0,")")}}function qt(e,s){e&1&&(n(0,"small",37),m(1,"At least one manager is required"),o())}function Wt(e,s){if(e&1){let i=N();n(0,"button",52),f("click",function(){x(i);let l=d();return b(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Pe=(()=>{let s=class s extends Et{constructor(){super(),this.adminService=S(H)}searchMembers(a){let l={search:a,ignoreUserIds:this.guestForm.value.managers.map(t=>t.id),usersRole:Q.USER,onlyUsers:!0};return this.adminService.searchMembers(l)}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion){let a=yield this.userService.auth2FaVerifyDialog(!0);if(a===!1)return;this.adminService.deleteUser(this.guest.id,{deleteSpace:!0,isGuest:!0},a).subscribe({next:()=>{this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest deleted",this.guest.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else if(this.guest){let a=this.makeDto();if(!Object.keys(a).length){this.loading=!1,this.submitted=!1;return}let l=yield this.userService.auth2FaVerifyDialog();if(l===!1)return;this.adminService.updateUser(this.guest.id,a,l,!0).subscribe({next:t=>{t?this.guestChange.emit(["update",t]):this.guestChange.emit(["delete",this.guest]),this.layout.sendNotification("success","Guest updated",this.guestForm.value.login),this.layout.closeDialog()},error:t=>this.onError(t)})}else{let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.createUser(this.makeDto(!0),a,!0).subscribe({next:l=>{this.guestChange.emit(["add",l]),this.layout.sendNotification("success","Guest created",this.guestForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-guest-dialog"]],features:[Ge],decls:70,vars:40,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[1,"d-flex","flex-column","col-6","pe-4"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],["l10nTranslate","",1,"text-danger"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],["l10nTranslate",""],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,It,3,2)(3,Pt,3,1),g(4,Mt,1,1,"fa-icon",2),o(),g(5,Gt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),F(11,Rt,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,Lt,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,Ot,2,2,"option",26,q),o()()(),n(41,"div",11)(42,"div",27)(43,"label",28),m(44,"Account status"),o(),n(45,"div",29)(46,"label",30),u(47,"input",31),n(48,"span"),m(49),h(50,"translate"),h(51,"titlecase"),o()()()(),n(52,"div",15)(53,"label",32),m(54,"Notification"),o(),n(55,"select",33),U(56,Bt,2,2,"option",34,q),o()()(),g(58,jt,13,4,"div",11),o()(),n(59,"tab",35),f("selectTab",function(){return t.tabView="managers"}),F(60,Qt,5,2,"ng-template",9),n(61,"div",7)(62,"app-user-search",36),f("membersChange",function(_){return t.updateManagers(_)}),o(),g(63,qt,2,0,"small",37),o()()()(),n(64,"div",38),g(65,Wt,2,1,"button",39),n(66,"button",40),f("click",function(){return t.onCancel()}),m(67,"Cancel"),o(),n(68,"button",41),f("click",function(){return t.onSubmit()}),m(69),o()()),l&2&&(r(2),C(t.guest?2:3),r(2),C(t.loading?4:-1),r(),C(t.guest?5:-1),r(),V(R("btn-close btn-close-white ",t.guest?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.guestForm),r(),c("justified",!0),r(9),E("is-invalid",t.guestForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.guestForm.controls.email.invalid),r(5),E("is-invalid",t.guestForm.controls.firstName.invalid),r(7),C(t.guestForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.guestForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),k(t.languages),r(9),E("text-danger",!t.guestForm.value.isActive),r(),w(" ",y(51,38,A(50,35,t.guestForm.value.isActive?"active":"suspended",t.locale.language))," "),r(7),k(t.allNotifications),r(2),C(t.guest?58:-1),r(4),c("members",t.guestForm.value.managers)("withPermissions",!1)("customPlaceholder","Type to search for managers to add")("searchFunction",t.searchMembers.bind(t)),r(),C(t.guestForm.value.managers.length?-1:63),r(2),C(t.guest!=null&&t.guest.id?65:-1),r(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.guestForm.invalid||t.submitted),r(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[$,O,z,fe,_e,le,W,ue,L,me,de,pe,xe,Ae,be,Ee,Te,ye,we,Z,X,se],encapsulation:2});let e=s;return e})();var Ut=(()=>{let s=class s{constructor(){this.translate=S(qe)}transform(a,l=!1,t=null,p=", "){return a.length?(t?a.map(T=>T[t]):a.concat()).sort().map(T=>new De().transform(l?this.translate.translate(T):T)).join(p):""}};s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=re({name:"join",type:s,pure:!0});let e=s;return e})();var kt=(()=>{let s=class s{transform(a,l=","){return a?.length?a.split(l):[]}};s.\u0275fac=function(l){return new(l||s)},s.\u0275pipe=re({name:"split",type:s,pure:!0});let e=s;return e})();function zt(e,s){e&1&&(n(0,"h4",3)(1,"span",14),m(2,"Delete user"),o()())}var Vt=(()=>{let s=class s{constructor(){this.wasDeleted=new ae,this.locale=S(K),this.submitted=!1,this.icons={faUserMinus:ot},this.deleteSpace=!1,this.layout=S(J),this.adminService=S(H),this.userService=S(Y)}onClose(){this.wasDeleted.emit(!1),this.layout.closeDialog()}onSubmit(){return P(this,null,function*(){this.submitted=!0;let a=yield this.userService.auth2FaVerifyDialog(!0);if(a===!1){this.onClose();return}this.adminService.deleteUser(this.user.id,{deleteSpace:this.deleteSpace,isGuest:!1},a).subscribe({next:()=>{this.wasDeleted.emit(!0),this.layout.sendNotification("success","Delete user",this.user.login),this.onClose()},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Delete user",this.user.login,l)}})})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-user-delete-dialog"]],inputs:{user:"user"},outputs:{wasDeleted:"wasDeleted"},decls:28,vars:13,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],[1,"me-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body"],[1,"d-flex","align-items-center","avatar","mb-3"],["alt","",1,"avatar-img",3,"src"],[1,"d-flex","flex-column"],[1,"mx-2"],[1,"form-check","form-check-inline","mt-3"],[1,"d-flex"],["for","deleteSpace",1,"form-check-label"],["id","deleteSpace","type","checkbox",1,"form-check-input",3,"ngModelChange","ngModel"],["l10nTranslate",""],[1,"modal-footer"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),u(2,"fa-icon",2),n(3,"span"),m(4),o()(),g(5,zt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.onClose()}),o()(),n(7,"div",5)(8,"div",6),u(9,"img",7),n(10,"div",8)(11,"span",9)(12,"b"),m(13),h(14,"capitalize"),o()(),n(15,"span",9),m(16),o()()(),n(17,"div",10)(18,"div",11)(19,"label",12)(20,"input",13),Oe("ngModelChange",function(_){return Le(t.deleteSpace,_)||(t.deleteSpace=_),_}),o(),n(21,"span",14),m(22,"Delete all user files"),o()()()()(),n(23,"div",15)(24,"button",16),f("click",function(){return t.onClose()}),m(25," Cancel "),o(),n(26,"button",17),f("click",function(){return t.onSubmit()}),m(27," Confirm "),o()()),l&2&&(r(2),c("icon",t.icons.faUserMinus),r(2),v(t.user.fullName),r(),C(t.user?5:-1),r(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(3),c("src",t.user.avatarUrl,oe),r(4),v(y(14,11,t.user.login)),r(3),v(t.user.email),r(4),Re("ngModel",t.deleteSpace),r(6),c("disabled",t.submitted))},dependencies:[$,O,z,W,L,ge,ce,De],encapsulation:2});let e=s;return e})();var Kt=(e,s)=>s.id;function Xt(e,s){if(e&1&&(u(0,"fa-icon",47),n(1,"span"),m(2),o()),e&2){let i=d();c("icon",i.icons.faUserPen),r(2),v(i.user.fullName)}}function Jt(e,s){if(e&1&&(u(0,"fa-icon",47),n(1,"span",40),m(2,"New user"),o()),e&2){let i=d();c("icon",i.icons.faUserPlus)}}function Yt(e,s){if(e&1&&u(0,"fa-icon",2),e&2){let i=d();c("icon",i.icons.faSpinner)}}function Zt(e,s){e&1&&(n(0,"h4",3)(1,"span",40),m(2,"Edit user"),o()())}function ei(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Account"),o()),e&2){let i=d();c("icon",i.icons.faAddressCard)}}function ti(e,s){if(e&1&&u(0,"app-password-strength-bar",22),e&2){let i=d();c("passwordToCheck",i.userForm.value.password)}}function ii(e,s){if(e&1&&(n(0,"option",26),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",i),r(),v(a.i18nLanguageText[i])}}function ni(e,s){if(e&1&&(n(0,"option",30),m(1),o()),e&2){let i=s.$implicit,a=d();c("ngValue",a.allNotifications.indexOf(i)),r(),v(i)}}function oi(e,s){if(e&1){let i=N();n(0,"span",55),f("click",function(){x(i);let l=d(2);return b(l.reset2Fa())}),u(1,"fa-icon",48),n(2,"span",56),m(3,"Reset"),o()()}if(e&2){let i=d(2);r(),c("icon",i.icons.faTrash)}}function ai(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",50),m(3,"Storage Usage"),o(),u(4,"app-storage-usage",51),o(),n(5,"div",15)(6,"div",10)(7,"label",52),m(8,"Two-Factor Authentication"),o(),n(9,"div",53)(10,"span"),u(11,"fa-icon",48),m(12),h(13,"translate"),h(14,"titlecase"),o(),g(15,oi,4,1,"span",54),o()()()()),e&2){let i=d();r(4),c("item",i.user),r(7),c("icon",i.user.twoFaEnabled?i.icons.faLock:i.icons.faLockOpen),r(),w(" ",y(14,7,A(13,4,i.user.twoFaEnabled?"enabled":"disabled",i.locale.language))," "),r(3),C(i.user.twoFaEnabled?15:-1)}}function ri(e,s){if(e&1&&(n(0,"div"),m(1),h(2,"amDateFormat"),o(),n(3,"div"),m(4),h(5,"amDateFormat"),o()),e&2){let i=d(2);r(),G("",y(2,4,i.user.currentAccess)," - ",i.user.currentIp),r(3),G("",y(5,6,i.user.lastAccess)," - ",i.user.lastIp)}}function si(e,s){e&1&&(n(0,"span",62),m(1,"never"),o())}function li(e,s){if(e&1&&(n(0,"div",11)(1,"div",12)(2,"label",57),m(3,"Creation date"),o(),n(4,"div",58),m(5),h(6,"amDateFormat"),o()(),n(7,"div",59)(8,"label",60),m(9,"Last accesses"),o(),n(10,"div",61),g(11,ri,6,8)(12,si,2,0,"span",62),o()()()),e&2){let i=d();r(5),v(y(6,2,i.user.createdAt)),r(6),C(i.user.lastAccess?11:12)}}function mi(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",49),m(2,"Permissions"),o()),e&2){let i=d();c("icon",i.icons.faShieldHalved)}}function ci(e,s){if(e&1&&(n(0,"div",65)(1,"div",66),u(2,"fa-icon",67),n(3,"span"),m(4),o()(),n(5,"div",68),m(6),h(7,"split"),h(8,"join"),o()()),e&2){let i=d().$implicit,a=d(2);r(2),c("icon",a.icons.GROUPS),r(2),v(i.name),r(2),v(A(8,5,y(7,3,i.permissions),!0))}}function di(e,s){if(e&1&&g(0,ci,9,8,"div",65),e&2){let i=s.$implicit;C(i.permissions?0:-1)}}function pi(e,s){if(e&1&&(n(0,"div",32)(1,"label",63),m(2,"Permissions inherited from groups"),o(),n(3,"div",64),U(4,di,1,1,null,null,Kt),o()()),e&2){let i=d();r(4),k(i.userForm.value.groups)}}function ui(e,s){if(e&1&&(u(0,"fa-icon",48),n(1,"span",69),m(2,"Groups"),o(),n(3,"span"),m(4),o()),e&2){let i=d();c("icon",i.icons.faUsers),r(4),w("(",i.userForm.value.groups.length||0,")")}}function fi(e,s){if(e&1){let i=N();n(0,"button",70),f("click",function(){x(i);let l=d();return b(l.confirmDeletion=!0)}),m(1," Remove "),o()}if(e&2){let i=d();c("disabled",i.confirmDeletion)}}var Me=(()=>{let s=class s{constructor(){this.user=null,this.userChange=new ae,this.locale=S(K),this.layout=S(J),this.submitted=!1,this.loading=!1,this.confirmDeletion=!1,this.icons={GROUPS:pt.GROUPS,faUserPlus:he,faUserPen:Ce,faSpinner:tt,faAddressCard:Ze,faUsers:Ye,faShieldHalved:rt,faTrash:Je,faLock:nt,faLockOpen:it},this.allNotifications=Object.values(ve),this.defaultPassword=this.layout.translateString(ut),this.languages=this.layout.getLanguages(!0),this.i18nLanguageText=_t,this.adminService=S(H),this.userService=S(Y)}ngOnInit(){this.userForm=new Qe({login:new D(this.user?.login||"",[I.required,I.pattern(ct)]),email:new D(this.user?.email||"",[I.required,I.maxLength(255),I.email]),firstName:new D(this.user?.firstName||"",[I.required,I.maxLength(255)]),lastName:new D(this.user?.lastName||"",I.maxLength(255)),password:new D(this.user?this.defaultPassword:"",I.maxLength(255)),language:new D(this.user?.language||null),notification:new D(this.user?.notification||Object.values(ve).indexOf(ve.APPLICATION_EMAIL)),isActive:new D(this.user?this.user.isActive:!0),isAdmin:new D(this.user?this.user.isAdmin:!1),storageQuota:new D(this.user?.storageQuota||null),groups:new D(this.user?.groups||[]),applications:new D(this.user?.applications||[])})}searchMembers(a){let l={search:a,onlyGroups:!0,excludePersonalGroups:!0,withPermissions:!0,ignoreGroupIds:this.userForm.value.groups.map(t=>t.id)};return this.adminService.searchMembers(l)}updateApplications(a){this.userForm.controls.applications.setValue(a),this.userForm.controls.applications.markAsDirty()}updatePassword(a){this.userForm.controls.password.setValue(a),this.userForm.controls.password.markAsDirty()}updateMembers(a){this.userForm.controls.groups.setValue(a),this.userForm.controls.groups.markAsDirty()}updateQuota(a){this.userForm.controls.storageQuota.setValue(a),this.userForm.controls.storageQuota.markAsDirty(),this.user.storageQuota=a}onCancel(){this.confirmDeletion?this.confirmDeletion=!1:this.layout.closeDialog()}reset2Fa(){return P(this,null,function*(){let a=yield this.userService.auth2FaVerifyDialog(!0);a!==!1&&this.userService.adminResetUser2Fa(this.user.id,a).subscribe({next:l=>{this.user.twoFaEnabled=!l.success,l.success?this.layout.sendNotification("success","Two-Factor Authentication is disabled",this.user.login):this.layout.sendNotification("error","Two-Factor Authentication",l.message)},error:l=>{this.submitted=!1,this.layout.sendNotification("error","Two-Factor Authentication",this.user.login,l)}})})}onSubmit(){return P(this,null,function*(){if(this.submitted=!0,this.confirmDeletion)this.layout.openDialog(Vt,"sm",{initialState:{user:this.user}}).content.wasDeleted.pipe(j(1)).subscribe(l=>{l?(this.userChange.emit(["delete",this.user]),this.layout.closeDialog()):(this.confirmDeletion=!1,this.submitted=!1)});else if(this.user){let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.updateUser(this.user.id,this.makeDto(),a).subscribe({next:l=>{this.userChange.emit(["update",l]),this.layout.sendNotification("success","User updated",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}else{let a=yield this.userService.auth2FaVerifyDialog();if(a===!1)return;this.adminService.createUser(this.makeDto(!0),a).subscribe({next:l=>{this.userChange.emit(["add",l]),this.layout.sendNotification("success","User created",this.userForm.value.login),this.layout.closeDialog()},error:l=>this.onError(l)})}})}makeDto(a=!1){let l={};if(a)l=this.userForm.value;else for(let t in this.userForm.controls)this.userForm.controls[t].dirty&&(l[t]=this.userForm.controls[t].value);for(let t in l)switch(t){case"language":l[t]=l[t]===ft?null:l[t];break;case"isAdmin":l.role=l[t]?Q.ADMINISTRATOR:Q.USER;break;case"applications":l.permissions=l[t].join(dt);break;case"groups":l[t]=l[t].map(p=>p.id);break}return l}onError(a){this.layout.sendNotification("error","Group error",this.userForm.value.login,a),this.submitted=!1}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-user-dialog"]],inputs:{user:"user"},outputs:{userChange:"userChange"},decls:82,vars:44,consts:[[1,"modal-header","align-items-center"],[1,"modal-title"],["animation","spin","size","sm",1,"ms-2",3,"icon"],[1,"modal-title","ms-auto"],["aria-label","Close","type","button",3,"click"],[1,"modal-body",3,"formGroup"],["type","pills",3,"justified"],[1,"my-3"],["customClass","tab-dialog form-validation",3,"selectTab"],["tabHeading",""],[1,"d-flex","flex-column"],[1,"d-flex","col-12","pb-3"],[1,"flex-fill","col-6","pe-4"],["for","login","l10nTranslate",""],["id","login","appAutofocus","","formControlName","login","autocomplete","off","type","text",1,"form-control","form-control-sm",3,"autoSelect"],[1,"flex-fill","col-6","ps-4"],["for","email","l10nTranslate",""],["id","email","formControlName","email","autocomplete","off","type","email",1,"form-control","form-control-sm"],["for","firstName","l10nTranslate",""],["id","firstName","formControlName","firstName","autocomplete","off","type","text",1,"form-control","form-control-sm"],["for","lastName","l10nTranslate",""],["id","lastName","formControlName","lastName","autocomplete","off","type","text",1,"form-control","form-control-sm"],[1,"position-absolute","pe-4",2,"right","50%","padding-top","6px",3,"passwordToCheck"],["id","password","placeholder","Set a password",3,"passwordChange","password","showGenerator","showLabel","isRequired"],["for","language","l10nTranslate",""],["id","language","formControlName","language",1,"form-control","form-select","form-select-sm"],[3,"ngValue"],[3,"quotaChange","quota","fullWidth"],["for","notification","l10nTranslate",""],["id","notification","formControlName","notification",1,"form-control","form-select","form-select-sm"],["l10nTranslate","",3,"ngValue"],["customClass","tab-dialog",3,"selectTab"],[1,"d-flex","flex-column","col-12","pb-3"],["for","account","l10nTranslate",""],["id","account",1,"form-check","form-switch","form-check-inline"],[1,"d-flex"],["for","isActive",1,"form-check-label"],["formControlName","isActive","id","isActive","type","checkbox",1,"form-check-input"],["for","isAdmin",1,"form-check-label"],["formControlName","isAdmin","id","isAdmin","type","checkbox",1,"form-check-input"],["l10nTranslate",""],[3,"permissionsChange","permissions"],[3,"membersChange","members","withPermissions","customPlaceholder","searchFunction"],[1,"modal-footer"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"disabled"],["data-dismiss","modal","type","button","l10nTranslate","",1,"btn","btn-sm","btn-secondary","ms-auto",3,"click"],["type","button","l10nTranslate","",3,"click","disabled"],[1,"me-2",3,"icon"],[3,"icon"],["l10nTranslate","",1,"ms-2"],["for","storage","l10nTranslate",""],["id","storage",3,"item"],["for","twoFa","l10nTranslate",""],["id","twoFa",1,"pt-1"],["role","button",1,"ms-3","link-danger"],["role","button",1,"ms-3","link-danger",3,"click"],["l10nTranslate","",1,"ms-1"],["for","created","l10nTranslate",""],["id","created"],[1,"d-flex","flex-column","align-items-end","col-6","ps-4"],["for","access","l10nTranslate",""],["id","access",1,"text-align-end"],["l10nTranslate","",1,"text-danger"],["for","groups_permissions","l10nTranslate",""],["id","groups_permissions"],[1,"d-flex","align-items-center","mb-1"],[1,"d-flex","align-items-center","me-5"],[1,"circle-primary-icon","me-2",3,"icon"],[1,"d-flex","fs-xxs","ms-auto"],["l10nTranslate","",1,"ms-2","me-1"],["type","button","l10nTranslate","",1,"btn","btn-sm","btn-danger",3,"click","disabled"]],template:function(l,t){l&1&&(n(0,"div",0)(1,"h4",1),g(2,Xt,3,2)(3,Jt,3,1),g(4,Yt,1,1,"fa-icon",2),o(),g(5,Zt,3,0,"h4",3),n(6,"button",4),f("click",function(){return t.layout.closeDialog()}),o()(),n(7,"div",5)(8,"tabset",6),u(9,"hr",7),n(10,"tab",8),f("selectTab",function(){return t.tabView=null}),F(11,ei,3,1,"ng-template",9),n(12,"div",10)(13,"div",11)(14,"div",12)(15,"label",13),m(16,"Login"),o(),u(17,"input",14),o(),n(18,"div",15)(19,"label",16),m(20,"Email"),o(),u(21,"input",17),o()(),n(22,"div",11)(23,"div",12)(24,"label",18),m(25,"First name"),o(),u(26,"input",19),o(),n(27,"div",15)(28,"label",20),m(29,"Last name"),o(),u(30,"input",21),o()(),n(31,"div",11)(32,"div",12),g(33,ti,1,1,"app-password-strength-bar",22),n(34,"app-input-password",23),f("passwordChange",function(_){return t.updatePassword(_)}),o()(),n(35,"div",15)(36,"label",24),m(37,"Language"),o(),n(38,"select",25),U(39,ii,2,2,"option",26,q),o()()(),n(41,"div",11)(42,"div",12)(43,"app-storage-quota",27),f("quotaChange",function(_){return t.updateQuota(_)}),o()(),n(44,"div",15)(45,"label",28),m(46,"Notification"),o(),n(47,"select",29),U(48,ni,2,2,"option",30,q),o()()(),g(50,ai,16,9,"div",11),o(),g(51,li,13,4,"div",11),o(),n(52,"tab",31),f("selectTab",function(){return t.tabView="permissions"}),F(53,mi,3,1,"ng-template",9),n(54,"div",32)(55,"label",33),m(56,"Account status"),o(),n(57,"div",34)(58,"div",35)(59,"label",36),u(60,"input",37),n(61,"span"),m(62),h(63,"translate"),h(64,"titlecase"),o()()(),n(65,"div",35)(66,"label",38),u(67,"input",39),n(68,"span",40),m(69,"Administrator"),o()()()()(),n(70,"app-admin-permissions",41),f("permissionsChange",function(_){return t.updateApplications(_)}),o(),g(71,pi,6,0,"div",32),o(),n(72,"tab",31),f("selectTab",function(){return t.tabView="groups"}),F(73,ui,5,2,"ng-template",9),n(74,"div",7)(75,"app-user-search",42),f("membersChange",function(_){return t.updateMembers(_)}),o()()()()(),n(76,"div",43),g(77,fi,2,1,"button",44),n(78,"button",45),f("click",function(){return t.onCancel()}),m(79,"Cancel"),o(),n(80,"button",46),f("click",function(){return t.onSubmit()}),m(81),o()()),l&2&&(r(2),C(t.user?2:3),r(2),C(t.loading?4:-1),r(),C(t.user?5:-1),r(),V(R("btn-close btn-close-white ",t.user?"ms-2":"ms-auto"," ms-2")),r(),c("formGroup",t.userForm),r(),c("justified",!0),r(9),E("is-invalid",t.userForm.controls.login.invalid),c("autoSelect",!1),r(4),E("is-invalid",t.userForm.controls.email.invalid),r(5),E("is-invalid",t.userForm.controls.firstName.invalid),r(7),C(t.userForm.value.password!==t.defaultPassword?33:-1),r(),c("password",t.userForm.value.password)("showGenerator",!0)("showLabel",!0)("isRequired",!0),r(5),k(t.languages),r(4),c("quota",t.userForm.value.storageQuota)("fullWidth",!0),r(5),k(t.allNotifications),r(2),C(t.user&&t.user.storageUsage?50:-1),r(),C(t.user?51:-1),r(10),E("text-danger",!t.userForm.value.isActive),r(),w(" ",y(64,42,A(63,39,t.userForm.value.isActive?"active":"suspended",t.locale.language))," "),r(8),c("permissions",t.userForm.value.applications),r(),C(t.userForm.value.groups.length?71:-1),r(4),c("members",t.userForm.value.groups)("withPermissions",!1)("customPlaceholder","Type to search for groups to add")("searchFunction",t.searchMembers.bind(t)),r(2),C(t.user!=null&&t.user.id?77:-1),r(3),V(R("btn btn-sm ",t.confirmDeletion?"btn-danger":"btn-primary")),c("disabled",t.userForm.invalid||t.submitted),r(),w(" ",t.confirmDeletion?"Confirm deletion":"Confirm"," "))},dependencies:[$,O,ye,we,Te,z,fe,_e,le,W,ue,L,me,de,pe,xe,Ae,Se,Dt,Ee,be,Ft,se,X,kt,Ut,Z],encapsulation:2});let e=s;return e})();var _i=["MainContextMenu"],gi=["TargetContextMenu"],Nt=(e,s)=>s.key,Ci=(e,s)=>s.id,hi=(e,s)=>s.mid;function vi(e,s){if(e&1&&u(0,"fa-icon",24),e&2){let i=d(3);c("icon",i.sortTable.sortParam.asc?i.icons.faArrowDown:i.icons.faArrowUp)("fixedWidth",!1)}}function xi(e,s){if(e&1){let i=N();n(0,"th",23),f("click",function(){x(i);let l=d().$implicit,t=d();return b(t.sortBy(l.key))}),m(1),g(2,vi,1,2,"fa-icon",24),o()}if(e&2){let i=d().$implicit,a=d();V(i.value.class),Ue("width",i.value.width,"%"),E("text-align-center",i.value.textCenter)("cursor-pointer",i.value.sortable),r(),w(" ",i.value.label," "),r(),C(a.sortTable.sortParam.column===i.key?2:-1)}}function bi(e,s){if(e&1&&g(0,xi,3,10,"th",22),e&2){let i=s.$implicit;C(i.value.show?0:-1)}}function Si(e,s){if(e&1&&u(0,"fa-icon",32),e&2){let i=d(5);c("icon",i.icons.faKey)}}function Ti(e,s){if(e&1&&(n(0,"div",27),u(1,"img",30),n(2,"div",28)(3,"span",31),m(4),g(5,Si,1,1,"fa-icon",32),o(),n(6,"span",33),m(7),o()()()),e&2){let i=d(3).$implicit;r(),c("src",i.avatarUrl,oe),r(3),w(" ",i.login," "),r(),C(i.isAdmin?5:-1),r(2),v(i.email)}}function yi(e,s){if(e&1&&(n(0,"span",34),m(1),o()),e&2){let i=d(4).$implicit;r(),v(i.userRoleText)}}function wi(e,s){if(e&1&&(n(0,"div",28)(1,"span",31),m(2),o(),g(3,yi,2,1,"span",34),o()),e&2){let i=d(3).$implicit;r(2),v(i.fullName),r(),C(i.isAdmin?3:-1)}}function Ai(e,s){if(e&1&&u(0,"app-user-avatar",35),e&2){let i=s.$implicit;c("user",i)("isMember",!0)}}function Ei(e,s){if(e&1&&U(0,Ai,1,2,"app-user-avatar",35,hi),e&2){let i=d(3).$implicit;k(i.managers)}}function Di(e,s){if(e&1&&u(0,"app-storage-usage",36),e&2){let i=d(4).$implicit;c("item",i)}}function Fi(e,s){if(e&1&&g(0,Di,1,1,"app-storage-usage",36),e&2){let i=d(3).$implicit;C(i.storageUsage?0:-1)}}function Ui(e,s){if(e&1&&(n(0,"div",28)(1,"div"),m(2),o(),n(3,"div"),m(4),o()()),e&2){let i=d(3).$implicit;r(2),v(i.currentIp),r(2),v(i.lastIp)}}function ki(e,s){e&1&&m(0," too many login attempts ")}function Vi(e,s){if(e&1&&m(0),e&2){let i=d(4).$implicit;w(" ",i.userIsActiveText," ")}}function Ni(e,s){if(e&1&&(n(0,"span",11),g(1,ki,1,0)(2,Vi,1,1),o()),e&2){let i=d(3).$implicit;V(i.isActive?"text-success":"text-danger"),r(),C(!i.isActive&&i.passwordAttempts?1:2)}}function Ii(e,s){if(e&1&&(n(0,"div",28)(1,"div"),m(2),h(3,"amDateFormat"),o(),n(4,"div"),m(5),h(6,"amDateFormat"),o()()),e&2){let i=d(5).$implicit;r(2),v(y(3,2,i.currentAccess)),r(3),v(y(6,4,i.lastAccess))}}function Pi(e,s){if(e&1&&m(0),e&2){let i=d(5).$implicit;w(" ",i.hTimeAgo," ")}}function Mi(e,s){if(e&1){let i=N();n(0,"div",38),f("mouseover",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!0)})("focus",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!0)})("mouseleave",function(){x(i);let l=d(4).$implicit;return b(l.currentAccessHover=!1)}),g(1,Ii,7,6,"div",28)(2,Pi,1,1),o()}if(e&2){let i=d(4).$implicit;r(),C(i.currentAccessHover?1:2)}}function Gi(e,s){e&1&&(n(0,"span",11),m(1,"never"),o())}function Ri(e,s){if(e&1&&g(0,Mi,3,1,"div",37)(1,Gi,2,0,"span",11),e&2){let i=d(3).$implicit;C(i.currentAccess?0:1)}}function Li(e,s){if(e&1&&(n(0,"td"),g(1,Ti,8,4,"div",27)(2,wi,4,2,"div",28)(3,Ei,2,0)(4,Fi,1,1)(5,Ui,5,2,"div",28)(6,Ni,3,3,"span",29)(7,Ri,2,1),o()),e&2){let i,a=d().$implicit,l=d().$implicit;V(Be("",a.value.class," ",a.value.newly?"prop-newly-"+l[a.value.newly]:"")),Ue("width",a.value.width,"%"),E("text-align-center",a.value.textCenter),r(),C((i=a.key)==="login"?1:i==="fullName"?2:i==="managers"?3:i==="storage"?4:i==="currentIp"?5:i==="isActive"?6:i==="currentAccess"?7:-1)}}function Oi(e,s){if(e&1&&g(0,Li,8,9,"td",26),e&2){let i=s.$implicit;C(i.value.show?0:-1)}}function Bi(e,s){if(e&1){let i=N();n(0,"tr",25),f("click",function(){let l=x(i).$implicit,t=d();return b(t.onSelect(l))})("contextmenu",function(l){let t=x(i).$implicit,p=d();return b(p.onTargetContextMenu(l,t))})("appTap",function(){x(i);let l=d();return b(l.openDialog())}),U(1,Oi,1,1,null,null,Nt),h(3,"keyvalue"),o()}if(e&2){let i=s.$implicit,a=d();E("disabled",!i.isActive)("selected",i.id===(a.selected==null?null:a.selected.id)),r(),k(A(3,4,a.tableHeaders,a.originalOrderKeyValue))}}function $i(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();r(),c("icon",i.icons.faUserPlus),r(),w("New ",i.guestsView?"guest":"user")}}function Hi(e,s){}function ji(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Refresh"),o()),e&2){let i=d();r(),c("icon",i.icons.faArrowRotateRight)}}function Qi(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2),o()),e&2){let i=d();r(),c("icon",i.icons.faUserPen),r(),w("Edit ",i.guestsView?"guest":"user")}}function qi(e,s){}function Wi(e,s){if(e&1&&(n(0,"span",11),u(1,"fa-icon",5),m(2,"Impersonate identity"),o()),e&2){let i=d();r(),c("icon",i.icons.faUserSecret)}}var Oo=(()=>{let s=class s{constructor(){this.locale=S(K),this.originalOrderKeyValue=xt,this.icons={faRotate:ze,faUserPlus:he,faUserPen:Ce,faArrowDown:mt,faArrowUp:et,faKey:Xe,faUserSecret:lt,faArrowRotateRight:st,faToggleOn:at,faToggleOff:Ke},this.tableHeaders={login:{label:"Login",width:30,textCenter:!1,class:"",show:!0,sortable:!0},fullName:{label:"Full name",width:15,class:"",textCenter:!1,show:!0,sortable:!0},managers:{label:"Managers",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!1,sortable:!0},storage:{label:"Storage Space",width:15,class:"d-none d-md-table-cell",textCenter:!0,show:!0,sortable:!0},isActive:{label:"Status",width:10,textCenter:!0,class:"d-none d-lg-table-cell",show:!0,sortable:!0},currentIp:{label:"IP",width:10,textCenter:!1,class:"d-none d-lg-table-cell",show:!0},currentAccess:{label:"Seen",width:12,textCenter:!0,class:"d-none d-lg-table-cell",newly:"newly",show:!0,sortable:!0}},this.guestsView=!1,this.loading=!1,this.selected=null,this.users=[],this.router=S(je),this.activatedRoute=S(He),this.layout=S(J),this.adminService=S(H),this.userService=S(Y),this.sortSettings={default:[{prop:"login",type:"string"}],login:[{prop:"login",type:"string"}],fullName:[{prop:"fullName",type:"string"}],managers:[{prop:"managers",type:"length"}],storage:[{prop:"storageUsage",type:"number"}],currentAccess:[{prop:"currentAccess",type:"date"}],isActive:[{prop:"isActive",type:"number"}]},this.sortTable=new yt(this.constructor.name,this.sortSettings),this.layout.setBreadcrumbIcon(gt.USERS),this.activatedRoute.data.subscribe(a=>{this.guestsView=a.type===Q.GUEST,this.setEnv()})}loadUsersOrGuests(){this.loading=!0,this.onSelect(),this.adminService.listUsers(this.guestsView).subscribe({next:a=>{this.sortBy(this.sortTable.sortParam.column,!1,a),this.scrollView.scrollInto(-1),this.loading=!1},error:a=>{this.users=[],this.layout.sendNotification("error",this.guestsView?"Guests":"Users","Unable to load",a),this.loading=!1}})}onSelect(a=null){this.selected=a}onGuestsView(a){this.guestsView=a,this.router.navigate([B.BASE,a?B.GUESTS:B.USERS]).catch(console.error)}onContextMenu(a){a.preventDefault(),a.stopPropagation(),this.layout.openContextMenu(a,this.mainContextMenu)}onTargetContextMenu(a,l){a.preventDefault(),a.type==="contextmenu"&&a.stopPropagation(),this.onSelect(l),this.layout.openContextMenu(a,this.targetContextMenu)}sortBy(a,l=!0,t){this.users=this.sortTable.sortBy(a,l,t||this.users)}openDialog(a=!1){this.guestsView?this.openGuestDialog(a):this.openUserDialog(a)}openUserDialog(a=!1){a?this.layout.openDialog(Me,"md").content.userChange.pipe(j(1)).subscribe(t=>{let[p,_]=t;p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,_]),this.onSelect(_))}):this.adminService.getUser(this.selected.id).subscribe({next:l=>{this.layout.openDialog(Me,"md",{initialState:{user:l}}).content.userChange.pipe(j(1)).subscribe(p=>{let[_,T]=p;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Fe=>Fe.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Edit group",this.selected.login,l)})}openGuestDialog(a=!1){a?this.layout.openDialog(Pe,"md").content.guestChange.pipe(j(1)).subscribe(t=>{let[p,_]=t,T=new At(_);p==="add"&&(this.sortBy(this.sortTable.sortParam.column,!1,[...this.users,T]),this.onSelect(T))}):this.adminService.getUser(this.selected.id,!0).subscribe({next:l=>{this.layout.openDialog(Pe,"md",{initialState:{guest:l}}).content.guestChange.pipe(j(1)).subscribe(p=>{let[_,T]=p;_==="update"?this.selected=Object.assign(this.selected,T):_==="delete"&&(this.onSelect(),this.sortBy(this.sortTable.sortParam.column,!1,this.users.filter(Fe=>Fe.id!==T.id)))})},error:l=>this.layout.sendNotification("error","Guest error",this.selected.fullName,l)})}impersonateIdentity(){return P(this,null,function*(){let a=yield this.userService.auth2FaVerifyDialog(!0);a!==!1&&this.adminService.impersonateUser(this.selected.id,a).subscribe({next:l=>{setTimeout(()=>this.adminService.initImpersonateUser(l),500)},error:l=>this.layout.sendNotification("error","Impersonate identity",this.selected.login,l)})})}setEnv(){this.tableHeaders.managers.show=this.guestsView,this.tableHeaders.storage.show=!this.guestsView,this.loadUsersOrGuests(),this.layout.setBreadcrumbNav({url:this.guestsView?`/${B.BASE}/${B.GUESTS}/${ke.GUESTS}`:`/${B.BASE}/${B.USERS}/${ke.USERS}`,splicing:2,translating:!0,sameLink:!0})}};s.\u0275fac=function(l){return new(l||s)},s.\u0275cmp=M({type:s,selectors:[["app-admin-users"]],viewQuery:function(l,t){if(l&1&&(ee(Ne,5),ee(Ve,7),ee(_i,7),ee(gi,7)),l&2){let p;te(p=ie())&&(t.scrollView=p.first),te(p=ie())&&(t.inputFilter=p.first),te(p=ie())&&(t.mainContextMenu=p.first),te(p=ie())&&(t.targetContextMenu=p.first)}},decls:47,vars:40,consts:[["MainContextMenu",""],["TargetContextMenu",""],[1,"app-top-menu"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","tooltip"],[3,"icon","animation"],[3,"icon"],["container","body","type","button",1,"btn","btn-sm","btn-secondary","me-1",3,"click","disabled","tooltip"],[1,"ms-auto"],["btnCheckbox","","type","button",1,"btn","btn-sm","btn-custom","me-1",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],[1,"me-2",3,"icon"],["l10nTranslate",""],[1,"btn-group","btn-group-sm"],[1,"d-none","d-sm-block"],[1,"app-table"],[3,"contextmenu","bufferAmount","items"],["tabindex","-1"],[3,"disabled","selected"],[1,"app-foot-menu"],[1,"mx-auto"],["contextMenuItem","",3,"execute"],["contextMenuItem","",3,"divider"],["l10nTranslate","",3,"width","text-align-center","cursor-pointer","class"],["l10nTranslate","",3,"click"],[3,"icon","fixedWidth"],[3,"click","contextmenu","appTap"],[3,"width","text-align-center","class"],[1,"d-flex","align-items-center","avatar"],[1,"d-flex","flex-column"],["l10nTranslate","",3,"class"],["alt","",1,"avatar-img",3,"src"],["draggable","false",1,"no-pointer-events"],[1,"m-0",3,"icon"],["draggable","false",1,"no-pointer-events","text-muted","fs-xxxs"],["draggable","false","l10nTranslate","",1,"no-pointer-events","text-muted","fs-xxxs"],[3,"user","isMember"],[3,"item"],[1,"d-flex","justify-content-center"],[1,"d-flex","justify-content-center",3,"mouseover","focus","mouseleave"]],template:function(l,t){if(l&1){let p=N();n(0,"div",2)(1,"button",3),h(2,"translate"),f("click",function(){return x(p),b(t.loadUsersOrGuests())}),u(3,"fa-icon",4),o(),n(4,"button",3),h(5,"translate"),f("click",function(){return x(p),b(t.openDialog(!0))}),u(6,"fa-icon",5),o(),n(7,"button",6),h(8,"translate"),f("click",function(){return x(p),b(t.openDialog())}),u(9,"fa-icon",5),o(),n(10,"button",6),h(11,"translate"),f("click",function(){return x(p),b(t.impersonateIdentity())}),u(12,"fa-icon",5),o(),n(13,"div",7)(14,"button",8),f("ngModelChange",function(T){return x(p),b(t.onGuestsView(T))}),n(15,"div",9),u(16,"fa-icon",10),n(17,"span",11),m(18,"Guests"),o()()(),n(19,"div",12),u(20,"app-input-filter",13),o()()(),n(21,"table",14)(22,"thead")(23,"tr"),U(24,bi,1,1,null,null,Nt),h(26,"keyvalue"),o()()(),n(27,"app-virtual-scroll",15),h(28,"searchFilter"),f("contextmenu",function(T){return x(p),b(t.onContextMenu(T))}),n(29,"table",14)(30,"tbody",16),U(31,Bi,4,7,"tr",17,Ci),o()()(),n(33,"div",18)(34,"span",19),m(35),h(36,"translate"),o()(),n(37,"context-menu",null,0),F(39,$i,3,2,"ng-template",20),f("execute",function(){return x(p),b(t.openDialog(!0))}),F(40,Hi,0,0,"ng-template",21)(41,ji,3,1,"ng-template",20),f("execute",function(){return x(p),b(t.loadUsersOrGuests())}),o(),n(42,"context-menu",null,1),F(44,Qi,3,2,"ng-template",20),f("execute",function(){return x(p),b(t.openDialog())}),F(45,qi,0,0,"ng-template",21)(46,Wi,3,1,"ng-template",20),f("execute",function(){return x(p),b(t.impersonateIdentity())}),o()}l&2&&(r(),c("tooltip",A(2,19,"Refresh",t.locale.language)),r(2),c("icon",t.icons.faRotate)("animation",t.loading?"spin":null),r(),c("tooltip",A(5,22,t.guestsView?"New guest":"New user",t.locale.language)),r(2),c("icon",t.icons.faUserPlus),r(),c("disabled",!t.selected)("tooltip",A(8,25,t.guestsView?"Edit guest":"Edit user",t.locale.language)),r(2),c("icon",t.icons.faUserPen),r(),c("disabled",!t.selected)("tooltip",A(11,28,"Impersonate identity",t.locale.language)),r(2),c("icon",t.icons.faUserSecret),r(2),c("ngModel",t.guestsView),r(2),c("icon",t.guestsView?t.icons.faToggleOn:t.icons.faToggleOff),r(8),k(A(26,31,t.tableHeaders,t.originalOrderKeyValue)),r(3),c("bufferAmount",5)("items",A(28,34,t.users,t.inputFilter.search())),r(4),k(t.scrollView==null?null:t.scrollView.viewPortItems),r(4),G("",t.users.length," ",A(36,37,t.guestsView?"guests":"users",t.locale.language)),r(5),c("divider",!0),r(5),c("divider",!0))},dependencies:[$,Ve,We,O,Ne,Se,vt,ht,Ct,bt,ge,L,ce,wt,St,X,$e,Tt,Z],encapsulation:2});let e=s;return e})();export{Oo as AdminUsersComponent};
@@ -1 +1 @@
1
- import{Ke as d,Rd as r,Tf as C,Uf as a,Ye as R,ef as i,fg as c,jf as t,wf as E}from"./chunk-D55YR5X7.js";var e=(function(o){return o.LOCAL="local",o.REMOTE="remote",o})(e||{}),f={[e.LOCAL]:"circle-purple-icon-sm",[e.REMOTE]:"circle-primary-icon-sm"},p={[e.LOCAL]:c,[e.REMOTE]:i},n={NEW:"Added",DIFF:"Modified",RM:"Removed",RMDIR:"Removed",MOVE:"Moved",COPY:"Copied",MKDIR:"Added",MKFILE:"Added",FILTERED:"Filtered",ERROR:"Error"},O={Added:C,Modified:d,Removed:E,Moved:t,Copied:a,Filtered:r,Error:R};export{e as a,f as b,p as c,n as d,O as e};
1
+ import{Ke as d,Rd as r,Tf as C,Uf as a,Ye as R,ef as i,fg as c,jf as t,wf as E}from"./chunk-76M3BMK6.js";var e=(function(o){return o.LOCAL="local",o.REMOTE="remote",o})(e||{}),f={[e.LOCAL]:"circle-purple-icon-sm",[e.REMOTE]:"circle-primary-icon-sm"},p={[e.LOCAL]:c,[e.REMOTE]:i},n={NEW:"Added",DIFF:"Modified",RM:"Removed",RMDIR:"Removed",MOVE:"Moved",COPY:"Copied",MKDIR:"Added",MKFILE:"Added",FILTERED:"Filtered",ERROR:"Error"},O={Added:C,Modified:d,Removed:E,Moved:t,Copied:a,Filtered:r,Error:R};export{e as a,f as b,p as c,n as d,O as e};