⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.72
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
share
/
grafana
/
public
/
build
/
View File Name :
UsersListPage.1b61c82d62ca416b6f2f.js
"use strict";(self.webpackChunkgrafana=self.webpackChunkgrafana||[]).push([[9856],{69546:(ae,C,n)=>{n.d(C,{b:()=>X});var e=n(96540),D=n(13544),Q=n(12942),L=n(94753),u=n(90613),$=n(56034),z=n(14578),y=n(78369),p=n(55852),B=n(67061),N=n(28389),F=n(19384),G=n(96374),j=n(89062),Y=n(85927),H=n(46334),g=n(10096),S=n(80348),J=n(5133);const Z=`This user's role is not editable because it is synchronized from your auth provider. Refer to the Grafana authentication docs for details.`,x=v=>{const c=v?.isExternallySynced;return!g.TP.hasPermissionInMetadata(S.AccessControlAction.OrgUsersWrite,v)||c},V=D.Tp.pages.UserListPage.UsersListPage,X=({users:v,orgId:c,onRoleChange:h,onRemoveUser:_,fetchData:P,changePage:w,page:l,totalPages:m,rolesLoading:W})=>{const[f,M]=(0,e.useState)(null),[K,k]=(0,e.useState)([]);(0,e.useEffect)(()=>{async function s(){try{if(g.TP.hasPermission(S.AccessControlAction.ActionRolesList)){let o=await(0,Y.RL)(c);k(o)}}catch{console.error("Error loading options")}}g.TP.licensedAccessControlEnabled()&&s()},[c]);const q=(0,e.useMemo)(()=>[{id:"avatarUrl",header:"",cell:({cell:{value:s}})=>s&&e.createElement(Q.e,{src:s,alt:"User avatar"})},{id:"login",header:"Login",cell:({cell:{value:s}})=>e.createElement("div",null,s),sortType:"string"},{id:"email",header:"Email",cell:({cell:{value:s}})=>s,sortType:"string"},{id:"name",header:"Name",cell:({cell:{value:s}})=>s,sortType:"string"},{id:"lastSeenAtAge",header:"Last active",cell:({cell:{value:s}})=>e.createElement(e.Fragment,null,s&&e.createElement(e.Fragment,null,s==="10 years"?e.createElement(L.E,{color:"disabled"},"Never"):s)),sortType:(s,o)=>new Date(s.original.lastSeenAt).getTime()-new Date(o.original.lastSeenAt).getTime()},{id:"role",header:"Role",cell:({cell:{value:s},row:{original:o}})=>{const b=x(o);return g.TP.licensedAccessControlEnabled()?e.createElement(j.y,{userId:o.userId,roles:o.roles||[],isLoading:W,orgId:c,roleOptions:K,basicRole:s,onBasicRoleChange:O=>h(O,o),basicRoleDisabled:b,basicRoleDisabledMessage:Z,width:40}):e.createElement(J.r,{"aria-label":"Role",value:s,disabled:b,onChange:O=>h(O,o)})}},{id:"info",header:"",cell:({row:{original:s}})=>x(s)&&e.createElement(u.a,{display:"flex",alignItems:"center",marginLeft:1},e.createElement($.m,{interactive:!0,content:e.createElement("div",null,"This user's role is not editable because it is synchronized from your auth provider. Refer to the\xA0",e.createElement("a",{href:"https://grafana.com/docs/grafana/latest/administration/user-management/manage-org-users/#change-a-users-organization-permissions",rel:"noreferrer",target:"_blank"},"Grafana authentication docs"),"\xA0for details.")},e.createElement(z.I,{name:"question-circle"})))},{id:"authLabels",header:"Origin",cell:({cell:{value:s}})=>e.createElement(e.Fragment,null,Array.isArray(s)&&s.length>0&&e.createElement(H.E,{label:s[0],removeIcon:!1,count:0}))},{id:"isDisabled",header:"",cell:({cell:{value:s}})=>e.createElement(e.Fragment,null,s&&e.createElement(y.v,{colorIndex:9,name:"Disabled"}))},{id:"delete",header:"",cell:({row:{original:s}})=>g.TP.hasPermissionInMetadata(S.AccessControlAction.OrgUsersRemove,s)&&e.createElement(p.$n,{size:"sm",variant:"destructive",onClick:()=>{M(s)},icon:"times","aria-label":`Delete user ${s.name}`})}],[W,c,K,h]);return e.createElement(B.B,{direction:"column",gap:2,"data-testid":V.container},e.createElement(N.j,{columns:q,data:v,getRowId:s=>String(s.userId),fetchData:P}),e.createElement(B.B,{justifyContent:"flex-end"},e.createElement(F.d,{onNavigate:w,currentPage:l,numberOfPages:m,hideWhenSinglePage:!0})),!!f&&e.createElement(G.u,{body:`Are you sure you want to delete user ${f?.login}?`,confirmText:"Delete",title:"Delete",onDismiss:()=>{M(null)},isOpen:!0,onConfirm:()=>{f&&(_(f),M(null))}}))}},31083:(ae,C,n)=>{n.r(C),n.d(C,{UsersListPageContent:()=>se,UsersListPageUnconnected:()=>ne,default:()=>de});var e=n(96540),D=n(69733),Q=n(36663),L=n(36830),u=n(10096),$=n(69546),z=n(10534),y=n(55852),p=n(47259);const B={revokeInvite:p.eb},N=(0,D.connect)(null,B);class F extends e.PureComponent{render(){const{invitee:r,revokeInvite:a}=this.props;return e.createElement("tr",null,e.createElement("td",null,r.email),e.createElement("td",null,r.name),e.createElement("td",{className:"text-right"},e.createElement(z.b,{icon:"copy",variant:"secondary",size:"sm",getText:()=>r.url},"Copy Invite"),"\xA0"),e.createElement("td",null,e.createElement(y.$n,{variant:"destructive",size:"sm",icon:"times",onClick:()=>a(r.code),"aria-label":"Revoke Invite"})))}}const G=N(F);class j extends e.PureComponent{render(){const{invitees:r}=this.props;return e.createElement("table",{className:"filter-table form-inline"},e.createElement("thead",null,e.createElement("tr",null,e.createElement("th",null,"Email"),e.createElement("th",null,"Name"),e.createElement("th",null),e.createElement("th",{style:{width:"34px"}}))),e.createElement("tbody",{"data-testid":"InviteesTable-body"},r.map((a,i)=>e.createElement(G,{key:`${a.id}-${i}`,invitee:a}))))}}var Y=n(1081),H=n(40823);const{selectAll:g,selectById:S,selectTotal:J}=H.Tp,Z=(t,r)=>r,x=(0,Y.Mz)([g,Z],(t,r)=>{const a=new RegExp(r,"i");return t.filter(d=>a.test(d.name)||a.test(d.email))});var V=n(14186),X=n(67647),v=n(94354),c=n(2913),h=n(80348),_=n(2543),P=n(17172),w=n(80714),l=n(87617);function m(){return async(t,r)=>{try{t((0,l.Cj)());const{perPage:a,page:i,searchQuery:d,sort:U}=r().users,E=await(0,P.AI)().get("/api/org/users/search",(0,w.F)({perpage:a,page:i,query:d,sort:U}));if(u.TP.licensedAccessControlEnabled()&&u.TP.hasPermission(h.AccessControlAction.ActionUserRolesList)){t((0,l.dJ)());const I=u.TP.user.orgId,R=E?.orgUsers.map(T=>T.userId),A=await(0,P.AI)().post("/api/access-control/users/roles/search",{userIds:R,orgId:I});E.orgUsers.forEach(T=>{T.roles=A?A[T.userId]||[]:[]}),t((0,l.jE)())}t((0,l.Y_)(E))}catch{(0,l.g4)()}}}const W=(0,_.debounce)(t=>t(m()),300);function f(t){return async r=>{await(0,P.AI)().patch(`/api/org/users/${t.userId}`,{role:t.role}),r(m())}}function M(t){return async r=>{await(0,P.AI)().delete(`/api/org/users/${t}`),r(m())}}function K(t){return async r=>{r((0,l.EC)(t)),r(m())}}function k({sortBy:t}){const r=t.length?`${t[0].id}-${t[0].desc?"desc":"asc"}`:void 0;return async a=>{a((0,l.$u)(r)),a(m())}}function q(t){return async r=>{r((0,l.t_)(t)),W(r)}}const s=t=>{const r=new RegExp(t.searchQuery,"i");return t.users.filter(a=>r.test(a.login)||r.test(a.email)||r.test(a.name))},o=t=>t.searchQuery;function b(t){return{searchQuery:o(t.users),pendingInvitesCount:J(t.invites),externalUserMngLinkName:t.users.externalUserMngLinkName,externalUserMngLinkUrl:t.users.externalUserMngLinkUrl}}const O={changeSearchQuery:q},oe=(0,D.connect)(b,O)(({externalUserMngLinkName:t,externalUserMngLinkUrl:r,searchQuery:a,pendingInvitesCount:i,changeSearchQuery:d,onShowInvites:U,showInvites:E})=>{const I=[{label:"Users",value:"users"},{label:`Pending Invites (${i})`,value:"invites"}],A=u.TP.hasPermission(h.AccessControlAction.OrgUsersAdd)&&!(c.Ay.disableLoginForm&&c.Ay.externalUserMngInfo);return e.createElement("div",{className:"page-action-bar","data-testid":"users-action-bar"},e.createElement(V.I,{grow:!0},e.createElement(X.Z,{value:a,onChange:d,placeholder:"Search user by login, email or name"})),i>0&&e.createElement("div",{style:{marginLeft:"1rem"}},e.createElement(v.z,{value:E?"invites":"users",options:I,onChange:U})),A&&e.createElement(y.z9,{href:"org/users/invite"},"Invite"),r&&e.createElement(y.z9,{href:r,target:"_blank",rel:"noopener"},t))});function le(t){const r=o(t.users);return{users:s(t.users),searchQuery:o(t.users),page:t.users.page,totalPages:t.users.totalPages,perPage:t.users.perPage,invitees:x(t.invites,r),externalUserMngInfo:t.users.externalUserMngInfo,isLoading:t.users.isLoading,rolesLoading:t.users.rolesLoading}}const ce={loadUsers:m,fetchInvitees:p.G7,changePage:K,changeSort:k,updateUser:f,removeUser:M},ie=(0,D.connect)(le,ce),ne=({users:t,page:r,totalPages:a,invitees:i,externalUserMngInfo:d,isLoading:U,rolesLoading:E,loadUsers:I,fetchInvitees:R,changePage:A,updateUser:T,removeUser:me,changeSort:ue})=>{const[ee,ge]=(0,e.useState)(!1),re=d?(0,Q.G)(d):"";(0,e.useEffect)(()=>{I(),R()},[R,I]);const Ee=(te,fe)=>{T({...fe,role:te})},ve=te=>me(te.userId),he=()=>{ge(!ee)},Pe=()=>ee?e.createElement(j,{invitees:i}):e.createElement($.b,{users:t,orgId:u.TP.user.orgId,rolesLoading:E,onRoleChange:Ee,onRemoveUser:ve,fetchData:ue,changePage:A,page:r,totalPages:a});return e.createElement(L.Y.Contents,{isLoading:!U},e.createElement(oe,{onShowInvites:he,showInvites:ee}),re&&e.createElement("div",{className:"grafana-info-box",dangerouslySetInnerHTML:{__html:re}}),U&&Pe())},se=ie(ne);function de(){return e.createElement(L.Y,{navId:"users"},e.createElement(se,null))}}}]); //# sourceMappingURL=UsersListPage.1b61c82d62ca416b6f2f.js.map