MOON
Server: Apache
System: Linux server1.studioinfinity.com.br 2.6.32-954.3.5.lve1.4.90.el6.x86_64 #1 SMP Tue Feb 21 12:26:30 UTC 2023 x86_64
User: artinside (517)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/netdata/usr/local/share/netdata/web/v3/2248.f45fe4377c803da4f0ab.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"b06348a4787b660201b18f5fa878e4faccd4b679"};var s=(new e.Error).stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="cefbedeb-4df3-4705-a19b-ab229774da46",e._sentryDebugIdIdentifier="sentry-dbid-cefbedeb-4df3-4705-a19b-ab229774da46")}catch(e){}}(),(globalThis.webpackChunkcloud_frontend=globalThis.webpackChunkcloud_frontend||[]).push([[2248],{34646(e,s,r){r.d(s,{FX:()=>n,ON:()=>i,Uj:()=>o,Zl:()=>l,lG:()=>a,lt:()=>d});var t=r(91130);const l=e=>t.A.get(`/api/v3/spaces/${e}/scim`),n=(e,s)=>e?t.A.get(`/api/v3/spaces/${s}/scim/${e}`):Promise.resolve({data:null}),a=(e,s)=>t.A.post(`/api/v3/spaces/${e}/scim`,s),i=(e,s,r)=>t.A.patch(`/api/v3/spaces/${s}/scim/${e}`,r),o=(e,s)=>t.A.delete(`/api/v3/spaces/${s}/scim/${e}`),d=(e,s)=>e?t.A.post(`/api/v3/spaces/${s}/scim/${e}/rotate-token`):Promise.resolve({data:null})},1457(e,s,r){r.d(s,{Rq:()=>a,oL:()=>i,u:()=>o,ue:()=>n});var t=r(52035),l=r(18790);const n={items:[],error:"",id:null,loading:!0,loaded:!1},a=(0,l.I)(()=>(0,t.eU)(0)),i=(0,l.I)(e=>(0,t.eU)({...n,id:e})),o=(0,l.I)(()=>(0,t.eU)(null))},63956(e,s,r){r.d(s,{Bc:()=>u,Hy:()=>I,Xy:()=>h,cP:()=>g,dI:()=>b,nB:()=>m});var t=r(96540),l=r(52035),n=r(34843),a=r(18790),i=r(24609),o=r(1457),d=r(34646),c=r(57377);const u=()=>{const e=(0,i.vt)();return(0,n.md)((0,o.Rq)(e))},m=()=>{const e=(0,i.vt)(),s=(0,n.Xr)((0,o.Rq)(e));return(0,t.useCallback)(()=>s(e=>e+1),[s])},p=(0,a.I)(e=>{let{id:s,key:r}=e;return(0,l.eU)(e=>{const t=e((0,o.oL)(s));return r?t[r]:t},(e,t,l)=>{t((0,o.oL)(s),e=>r?{...e,[r]:l}:{...e,...l})})},c.Ay),g=(e,s)=>(0,n.Xr)(p({id:e,key:s})),h=e=>{const s=(0,i.vt)();return(0,n.md)(p({id:s,key:e}))},I=e=>(0,n.fp)((0,o.u)(e)),b=e=>{const s=(0,i.vt)(),[r,l]=I(s),n=(0,t.useCallback)(function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,d.lG)(s,{integrationID:e,...r})},[s]),a=(0,t.useCallback)(function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,d.ON)(e,s,r)},[e,s]);return{integration:r,create:n,update:a,remove:(0,t.useCallback)(()=>(0,d.Uj)(e,s).then(()=>(l(null),Promise.resolve())),[e,s,l]),rotateToken:(0,t.useCallback)(()=>(0,d.lt)(e,s),[e,s])}}},53746(e,s,r){r.d(s,{A:()=>o});var t=r(34646),l=r(24609),n=r(32052),a=r(1457),i=r(63956);const o=()=>{const e=(0,l.vt)(),s=(0,i.cP)(e),r=(0,i.Bc)();(0,n.A)(()=>({enabled:!!e,fetch:()=>(0,t.Zl)(e),onFail:e=>s({...a.ue,error:e?.response?.data||e}),onSettle:()=>s({loading:!1,loaded:!0}),onSuccess:e=>{s({...a.ue,items:e||[]})}}),[r,e])}},52248(e,s,r){r.r(s),r.d(s,{default:()=>ne});var t=r(38429),l=r(99728),n=r(53746),a=r(63956);const i=()=>{(0,n.A)();const{loaded:e,items:s}=(0,a.Xy)(),{available:r,SCIMID:t}=e?(s||[])[0]:{};return{scimItemsLoaded:e,scimAvailable:r,scimId:t}};r(74423),r(98992),r(54520),r(81454),r(37550);var o=r(96540),d=r(34843),c=r(52035),u=r(18790),m=r(25316),p=r(84929),g=r(91130);var h=r(57377);const I=(0,u.I)(e=>{let{spaceId:s,scimId:r}=e;return(0,m.A)((0,c.eU)(()=>(e=>{let{spaceId:s,scimId:r}=e;return g.A.get(`/api/v3/spaces/${s}/scim/${r}/membership-rules/options`)})({spaceId:s,scimId:r})))},h.Ay),b=(e,s,r)=>{const{state:t,data:l,error:n}=r(e);return r(s)||{loaded:"loading"!==t,rules:l?.data||[],hasError:"hasError"===t,error:n}},x=(0,u.I)(()=>(0,c.eU)(0),h.Ay),v=(0,u.I)(e=>{let{spaceId:s,scimId:r}=e;const t=(0,m.A)((0,c.eU)(e=>(e(x({spaceId:s,scimId:r})),(e=>{let{spaceId:s,scimId:r}=e;return g.A.get(`/api/v3/spaces/${s}/scim/${r}/membership-rules`)})({spaceId:s,scimId:r})))),l=(0,p.tx)();return(0,c.eU)(e=>b(t,l,e),(e,n,a)=>{if(a===p.Ut)return n(l,p.Ut),void n(x({spaceId:s,scimId:r}),e=>e+1);const i=b(t,l,e);n(l,"function"===typeof a?a(i):a)})},h.Ay);var f=r(24609);const j="new-scim-rule";const C=e=>{let{scimId:s}=e;const r=(0,f.vt)(),t=(0,d.md)(I({spaceId:r,scimId:s}));return{loaded:"loading"!==t.state,options:t.data?.data||{},hasError:"hasError"===t.state,error:t.error}},y=e=>{let{scimId:s}=e;const r=(0,f.vt)();return(0,d.Xr)(v({spaceId:r,scimId:s}))};var A=r(47090);const E=e=>{let{scimId:s}=e;const{loaded:r,hasError:t,options:l,error:n}=C({scimId:s}),{loaded:a,rules:i,hasError:c,error:u}=(e=>{let{scimId:s}=e;const r=(0,f.vt)();return(0,d.md)(v({spaceId:r,scimId:s}))})({scimId:s}),m=r&&a,p=m&&(t||c),g=m&&!p&&0===i.length,h=p?n||u:null,I=h?(0,A.o)(h.response?.data?.errorMsgKey):null,b=(0,o.useMemo)(()=>(l?.groups||[]).filter(e=>{let{id:s}=e;return!(i||[]).map(e=>{let{scimGroupID:s}=e;return s}).includes(s)}),[l,i]),x=(0,o.useMemo)(()=>(i||[]).some(e=>{let{role:s}=e;return"admin"===s}),[i]),y=(0,o.useMemo)(()=>m&&!!b.length&&!i.some(e=>{let{id:s}=e;return s===j}),[m,i,b]);return{loaded:m,rules:i,unassignedGroups:b,adminExists:x,showEmptyRules:g,canAddNewRule:y,hasError:p,error:I}};var k=r(74848);const S=e=>{let{children:s}=e;return(0,k.jsx)(t.Flex,{"data-testid":"scim-groups-empty-rules",height:"100%",alignItems:"center",justifyContent:"center",children:(0,k.jsx)(t.Flex,{width:{max:"562px"},column:!0,gap:4,alignItems:"center",children:s})})},M=e=>{let{scimId:s,...r}=e;const l=(e=>{let{scimId:s}=e;const r=y({scimId:s}),t={id:j,isEdit:!0};return(0,o.useCallback)(()=>{r(e=>({...e,rules:[...e?.rules||[],t]}))},[r])})({scimId:s});return(0,k.jsx)(t.Button,{...r,onClick:l})},w=(0,o.memo)(e=>{let{scimId:s}=e;return(0,k.jsxs)(S,{children:[(0,k.jsx)(t.TextBig,{textAlign:"center",lineHeight:"20px",children:"Here you can create rules to automatically assign users to roles and rooms based on the SCIM group they belong."}),(0,k.jsx)(t.Box,{children:(0,k.jsx)(M,{label:"Create a new rule",large:!0,scimId:s})})]})});var D=r(6304),R=r(63872);const U=e=>{let{scimId:s,onSuccess:r}=e;const t=(0,f.vt)(),[l,,n,a]=(0,D.A)(),[i,d]=(0,R.A)(),c=(0,o.useCallback)(e=>{n(),(e=>{let{spaceId:s,scimId:r,payload:t}=e;return g.A.post(`/api/v3/spaces/${s}/scim/${r}/membership-rules`,t)})({spaceId:t,scimId:s,payload:e}).then(e=>{let{data:s}=e;i({header:"Success",text:"Successfully created SCIM membership rule."}),"function"===typeof r&&r(s)}).catch(e=>{d(e)}).finally(()=>{a()})},[s,n,a,r,i,d]);return{loading:l,create:c}},$=e=>{let{scimId:s,onSuccess:r}=e;const t=(0,f.vt)(),[l,,n,a]=(0,D.A)(),[i,d]=(0,R.A)(),c=(0,o.useCallback)(e=>{const{id:l,...o}=e;n(),(e=>{let{spaceId:s,scimId:r,ruleId:t,payload:l}=e;return g.A.put(`/api/v3/spaces/${s}/scim/${r}/membership-rules/${t}`,l)})({spaceId:t,scimId:s,ruleId:l,payload:o}).then(e=>{let{data:s}=e;i({header:"Success",text:"Successfully updated SCIM membership rule."}),"function"===typeof r&&r(s)}).catch(e=>{d(e)}).finally(()=>{a()})},[s,n,a,r,i,d]);return{loading:l,update:c}},G=e=>{let{scimId:s,onSuccess:r}=e;const t=(0,f.vt)(),[l,,n,a]=(0,D.A)(),[i,d]=(0,R.A)(),c=(0,o.useCallback)(e=>{n(),(e=>{let{spaceId:s,scimId:r,ruleId:t}=e;return g.A.delete(`/api/v3/spaces/${s}/scim/${r}/membership-rules/${t}`)})({spaceId:t,scimId:s,ruleId:e}).then(e=>{i({header:"Success",text:"Successfully deleted SCIM membership rule."}),"function"===typeof r&&r(e)}).catch(e=>{d(e)}).finally(()=>{a()})},[s,n,a,r,i,d]);return{loading:l,deleteRule:c}},T=e=>{let{scimId:s,rule:r={}}=e;const[t,l]=(0,o.useState)(r),[n,,a,i]=(0,D.A)(),{id:d,scimGroupID:c,role:u,roomIDs:m,isEdit:p}=t,g=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,o.useCallback)(function(e){let s=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r(r=>{const t=(r.rules||[]).map(r=>r.id===e?{...r,isEdit:s}:r);return{...r,rules:t}})})})({scimId:s}),I=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,o.useCallback)(e=>{r(s=>{const r=(s.rules||[]).filter(s=>s.id!==e);return{...s,rules:r}})})})({scimId:s}),b=(e=>{let{scimId:s}=e;const r=y({scimId:s});return(0,o.useCallback)((e,s)=>{r(r=>{const t=(r.rules||[]).map(r=>r.id===e?s:r);return{...r,rules:t}})})})({scimId:s}),x=(0,o.useCallback)(e=>{b(d,e)},[d,b]),v=(0,o.useCallback)(()=>{I(d),i()},[I,i]),{loading:f,create:C}=U({scimId:s,onSuccess:x}),{loading:A,update:E}=$({scimId:s,onSuccess:x}),{loading:k,deleteRule:S}=G({scimId:s,onSuccess:v}),M=f||A||k,w=(0,o.useMemo)(()=>!(0,h.Ay)(r,t),[r,t]),R=(0,o.useMemo)(()=>d===j&&w,[d,w]),T=(0,o.useMemo)(()=>p&&!!c&&!!u&&m?.length||!1,[p,c,u,m?.length]),B=(0,o.useMemo)(()=>p&&w&&r?.id!==j,[r?.id,p,w]),F=(0,o.useCallback)(e=>s=>{const r=Array.isArray(s)?s.map(e=>{let{value:s}=e;return s}):s.value;l(s=>({...s,[e]:r}))},[l]),N=(0,o.useCallback)(()=>{g(d)},[d,g]),P=(0,o.useCallback)(()=>{g(r.id,!1),l(r)},[r,w,g,l]),L=(0,o.useCallback)(()=>{(d===j?C:E)({id:d,scimGroupID:c,role:u,roomIDs:m})},[d,c,u,m,C]),_=(0,o.useCallback)(()=>{d===j?I(d):S(d)},[d,S,I]),X=(0,o.useCallback)(()=>{d!==j||w?a():_(d)},[d,w,a,_]);return(0,o.useEffect)(()=>{l(r)},[r,l]),{loading:M,scimGroupID:c,roomIDs:m,role:u,isEdit:p,canSave:T,canUndo:B,confirmationOpen:n,isNewUnsaved:R,onGroupChange:F("scimGroupID"),onRoleChange:F("role"),onRoomsChange:F("roomIDs"),onEdit:N,onReset:P,onSave:L,onDelete:X,onConfirmDelete:_,onDeclineDelete:i}};r(72577);var B=r(77148);const F=(0,o.memo)(e=>{let{isEdit:s,label:r,value:l,options:n,isMulti:a,disabled:i,onChange:d,error:c}=e;const u=s?t.Text:t.TextBig,m=(0,o.useMemo)(()=>n.filter(e=>{let{hidden:s}=e;return!s}),[n]),p=(0,o.useMemo)(()=>a?n.filter(e=>(l||[]).includes(e.value)):n.find(e=>e.value===l),[l,a]),g=(0,o.useMemo)(()=>Array.isArray(p)?p.map(e=>{let{label:s}=e;return s}).join(", "):p?.label||"",[p]);return c?(0,k.jsxs)(t.Flex,{alignItems:"center",gap:1,children:[(0,k.jsx)(t.Icon,{name:"warning_triangle",size:"small",color:"warning"}),(0,k.jsx)(t.Text,{children:c})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(t.Flex,{alignItems:"center",gap:2,children:[(0,k.jsxs)(u,{children:[r,s?"":":"]}),s?(0,k.jsx)(t.Select,{value:p,options:m,isMulti:a,disabled:i,onChange:d}):(0,k.jsx)(u,{strong:!0,children:g})]}),s?null:(0,k.jsx)(B.A,{vertical:!0,height:"20px",color:"border"})]})}),N=e=>{let{scimId:s,isEdit:r,label:t,value:l,onChange:n,unassignedGroups:a,...i}=e;const{loaded:d,options:c,hasError:u}=C({scimId:s}),m=(0,o.useMemo)(()=>a.map(e=>{let{id:s}=e;return s}),[a]),p=(0,o.useMemo)(()=>(c?.groups||[]).map(e=>{let{id:s,displayName:r}=e;return{label:r,value:s,hidden:!m.includes(s)}}),[c?.groups,m]),g=u?"Error on fetching groups":null;return d?(0,k.jsx)(F,{isEdit:r,label:t,value:l,options:p,onChange:n,error:g,...i}):null},P=e=>{let{scimId:s,isEdit:r,label:t,value:l,onChange:n}=e;const{loaded:a,options:i,hasError:d}=C({scimId:s}),c=(0,o.useMemo)(()=>(i?.roles||[]).map(e=>({label:e,value:e})),[i?.roles]),u=d?"Error on fetching roles":null;return a?(0,k.jsx)(F,{isEdit:r,label:t,value:l,options:c,onChange:n,error:u}):null},L=e=>{let{scimId:s,isEdit:r,label:t,value:l,onChange:n}=e;const{loaded:a,options:i,hasError:d}=C({scimId:s}),c=(0,o.useMemo)(()=>(i?.rooms||[]).map(e=>{let{id:s,name:r}=e;return{label:r,value:s}}),[i?.rooms]),u=d?"Error on fetching rooms":null;return a?(0,k.jsx)(F,{isEdit:r,label:t,value:l,options:c,isMulti:!0,onChange:n,error:u}):null},_=e=>{let{isUnsaved:s,onConfirm:r,onDecline:l}=e;const n=s?"You are going to remove this item that has some unsaved changes.":"You are going to completely remove this rule and this action cannot be reverted.";return(0,k.jsx)(t.ConfirmationDialog,{title:"Delete item?",handleConfirm:r,handleDecline:l,confirmLabel:"Yes, delete",declineLabel:"Close",backdropContainerProps:{zIndex:"120"},message:(0,k.jsxs)(t.Flex,{column:!0,gap:2,children:[(0,k.jsx)(t.TextBig,{children:n}),(0,k.jsx)(t.TextBig,{children:"Are you sure that you want to delete this item?"})]})})};var X=r(74891);const Y=(0,r(94404).A)((0,X.A)(t.Button)),O=e=>({group:e?"Users that belong to group":"Group",role:e?"will be assigned the role of":"Role",rooms:e?"and will be added to room(s)":"Rooms"}),Z=e=>{let{scimId:s,rule:r,unassignedGroups:l}=e;const{loading:n,scimGroupID:a,roomIDs:i,role:o,isEdit:d,canSave:c,canUndo:u,confirmationOpen:m,isNewUnsaved:p,onGroupChange:g,onRoleChange:h,onRoomsChange:I,onEdit:b,onReset:x,onSave:v,onDelete:f,onConfirmDelete:j,onDeclineDelete:C}=T({scimId:s,rule:r});return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(t.Flex,{"data-testid":"scim-groups-rule-container",flex:"grow",alignItems:"center",justifyContent:"between",padding:[4],border:{side:"all",color:"border"},children:[(0,k.jsxs)(t.Flex,{alignItems:"center",gap:2,children:[(0,k.jsx)(N,{scimId:s,label:O(d).group,value:a,isEdit:d,disabled:n,onChange:g,unassignedGroups:l}),(0,k.jsx)(P,{scimId:s,label:O(d).role,value:o,isEdit:d,disabled:n,onChange:h}),(0,k.jsx)(L,{scimId:s,label:O(d).rooms,value:i,isEdit:d,disabled:n,onChange:I})]}),(0,k.jsxs)(t.Flex,{alignItems:"center",gap:2,children:[u?(0,k.jsx)(Y,{flavour:"borderless",neutral:!0,icon:"refresh",disabled:n,onClick:x,tooltip:"Undo changes",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Undo rules changes"}}):null,d?(0,k.jsx)(Y,{flavour:"borderless",neutral:!0,icon:"save",disabled:n||!c,onClick:v,tooltip:"Save",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Save rule"}}):(0,k.jsx)(Y,{flavour:"borderless",neutral:!0,icon:"pencilOutline",disabled:n,onClick:b,tooltip:"Edit",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Edit rule"}}),(0,k.jsx)(Y,{flavour:"borderless",danger:!0,icon:"trashcan",disabled:n,onClick:f,tooltip:"Delete",feature:"ScimMembershipRule",payload:{ruleId:r.id,btnAction:"Delete rule"}})]})]}),m?(0,k.jsx)(_,{isUnsaved:p,onConfirm:j,onDecline:C}):null]})};var H=r(60908);const q=e=>{let{adminExists:s}=e;const r=(0,o.useMemo)(()=>s?"All groups have been configured":"No space administrators were assigned",[s]),l=(0,o.useMemo)(()=>({name:s?"check":"warning_triangle",color:s?"primary":"error"}),[s]);return(0,k.jsxs)(t.Flex,{alignItems:"center",gap:2,children:[(0,k.jsx)(t.Icon,{...l}),(0,k.jsx)(t.TextBig,{children:r})]})},z=e=>{let{scimId:s,rules:r,canAddNewRule:l,unassignedGroups:n,adminExists:a}=e;return(0,k.jsx)(H.Ay,{feature:"ScimMembershipRules",children:(0,k.jsxs)(t.Flex,{"data-testid":"scim-groups-rules-list",column:!0,gap:4,children:[r.map(e=>(0,k.jsx)(Z,{scimId:s,rule:e,unassignedGroups:n},e.id)),n.length?(0,k.jsx)(t.Box,{children:(0,k.jsx)(M,{label:"Add new",scimId:s,disabled:!l})}):(0,k.jsx)(q,{adminExists:a})]})})};var J=r(29022),K=r(55093);const Q=e=>{let{scimId:s}=e;const{loaded:r,rules:l,unassignedGroups:n,adminExists:a,showEmptyRules:i,canAddNewRule:o,hasError:d,error:c}=E({scimId:s});return r?d?(0,k.jsx)(J.A,{title:"Error",children:(0,k.jsx)(t.TextBig,{children:c})}):i?(0,k.jsx)(w,{scimId:s}):(0,k.jsx)(z,{scimId:s,rules:l,canAddNewRule:o,unassignedGroups:n,adminExists:a}):(0,k.jsx)(K.A,{title:"Loading..."})};var V=r(76667),W=r(89942),ee=r(61841),se=r(88325);const re=(0,o.memo)(e=>{let{scimAvailable:s}=e;const r=(0,V.Zp)(),[l]=(0,ee.Ay)(),{url:n}=(0,se.A)(),a=s?"You do not have any SCIM integration activated. Please activate a SCIM integration first, and then you will be able to configure user groups.":"This feature is only available to paid plans.",i=(0,o.useCallback)(()=>{const e=(0,W.PP)();(0,W.Z8)({...e,userManagementActiveTab:1}),r(`/spaces/${l}/settings/users`,{replace:!0})},[l,W.PP,W.Z8,r]),d=(0,o.useCallback)(()=>{r(n,{replace:!0})},[n,r]),c=(0,o.useMemo)(()=>({label:s?"Activate SCIM integration":"Upgrade now!",onClick:s?i:d,large:!0,textTransform:""}),[s,i,d]);return(0,k.jsxs)(S,{children:[(0,k.jsx)(t.TextBigger,{textAlign:"center",lineHeight:"20px",children:a}),(0,k.jsx)(t.Box,{children:(0,k.jsx)(t.Button,{...c})})]})}),te=()=>{const{scimItemsLoaded:e,scimAvailable:s,scimId:r}=i();return e?r?(0,k.jsx)(Q,{scimId:r}):(0,k.jsx)(re,{scimAvailable:s}):(0,k.jsx)(K.A,{title:"Loading..."})},le=()=>(0,k.jsx)(J.A,{title:"No permissions",children:(0,k.jsx)(t.TextBig,{children:"You don't have permissions to view this page"})}),ne=e=>{const s=(0,l.JT)("oidc:Manage");return(0,k.jsx)(H.Ay,{tab:"ScimUserGroups",children:(0,k.jsx)(t.Flex,{"data-testid":"scim-groups-manager",column:!0,gap:4,height:"100%",overflow:{vertical:"auto"},flex:"grow",padding:[4,4,0,4],...e,children:s?(0,k.jsx)(te,{}):(0,k.jsx)(le,{})})})}}}]);