| Current Path : /home/users/unlimited/www/admin.medimeet.codeskitter.site/assets/ |
| Current File : /home/users/unlimited/www/admin.medimeet.codeskitter.site/assets/Index-DTy3ysIN.js |
import{J as U,y as C,r as y,j as e,B as S,T as Z,w,X as me,x as j,aB as K,P as xe,D as re,F as J}from"./index-f5FVPPWf.js";import{F as ie}from"./index-NjlW3JBs.js";import{e as je}from"./index-D-rZ_zLU.js";import{u as L}from"./SettingData-HUsgVeqA.js";import{b as ee,A as oe,a as te,N as le,S as D,D as ce,c as pe,d as fe,e as se,f as ge,h as ne}from"./Dashboard-QYea_GjR.js";import{h as $,u as k,f as h,M as V,b as F,a as G,c as P,g as H,d as B,F as T,e as N}from"./index.esm-CxKpqEdJ.js";import{u as ye}from"./useMutation-DWP0Ot2c.js";import{I as Q,F as R,d as q}from"./input-aKY8cD2r.js";import{G as Se}from"./grid-CY4MOgwY.js";import{D as z}from"./use-clickable-DJbYv-Vn.js";import{u as ae}from"./UseSearchFilter-7ev3Ltxt.js";import{u as M}from"./HasPermission-D75jcuOi.js";import{U as Ce}from"./UsersComboBox-BR1MkjhI.js";import{u as be}from"./Users-DPTYncBa.js";import{S as Re}from"./select-Dt5dI57S.js";import{u as O,I as Y}from"./index-B8iLT9XL.js";import"./image-DDwLQVjO.js";import"./tr-SHTCPR9-.js";import"./visually-hidden.style-BrEqndXz.js";import"./popover-BeKqgCqh.js";import"./split-CzYrjwZo.js";const Ae=async()=>(await U(C.token,"get_permisssion")).data,_e=()=>{const{isLoading:r,data:s,error:n}=L({queryKey:["all-permissions"],queryFn:Ae});return{allPermissionsData:s,allPermissionsLoading:r,allPermissionsError:n}},Oe=({selectedPermissions:r,setSelectedPermissions:s})=>{const{allPermissionsData:n}=_e(),[o,t]=y.useState(""),u=i=>{s(l=>l.includes(i)?l.filter(a=>a!==i):[...l,i])},d=n==null?void 0:n.filter(i=>i.name.toLowerCase().includes(o.toLowerCase()));return e.jsxs(S,{children:[e.jsx(Q,{placeholder:"Search permissions...",value:o,onChange:i=>t(i.target.value),mb:4}),e.jsxs(Se,{templateColumns:"repeat(3, 1fr)",gap:6,children:[e.jsx(ee,{size:"md",fontSize:"sm",isChecked:(r==null?void 0:r.length)===(n==null?void 0:n.length),onChange:()=>{let i=n.map(l=>l.id);r.length===n.length?s([]):s(i)},children:e.jsx(Z,{fontSize:"xs",fontWeight:600,children:"All"})}),d==null?void 0:d.map(i=>e.jsx(ee,{size:"md",fontSize:"sm",isChecked:r.includes(i.id),onChange:()=>u(i.id),children:e.jsx(Z,{fontSize:"xs",fontWeight:600,children:i.name})},i.id))]})]})},ke=r=>r!=null&&r.length?r==null?void 0:r.map(n=>n.permission_id):[],De=async r=>{const s=await xe(C.token,"assign_permission_to_tole",r);if(s.response!==200)throw new Error(s.message);return s};function ze({isOpen:r,onClose:s,data:n}){const[o,t]=y.useState(),{register:u,handleSubmit:d,reset:i}=$(),l=w(),[a,c]=y.useState(),m=k(),p=async()=>(await U(C.token,`get_role_permisssion/role/${n.id}`)).data,{data:f,isLoading:A}=L({queryKey:["permissons",n.id],queryFn:p});y.useEffect(()=>{c(ke(f))},[f]);const g=async x=>{let v={...x,id:n.id};try{t(!0);const b=await K(C.token,"update_role",v);t(!1),b.response===200?(h(m,"success","Role Updated!"),l.invalidateQueries("roles"),i(),s()):h(m,"error",b.message)}catch(b){t(!1),h(m,"error",JSON.stringify(b))}},_=ye({mutationFn:async()=>{let x={role_id:n.id,permission_ids:a.join(",")||""};await De(x)},onError:x=>{h(m,"error",x.message)},onSuccess:()=>{h(m,"success","Permissions Updated"),l.invalidateQueries("roles"),l.invalidateQueries(["permissions",n.id]),s()}});return A?e.jsx(me,{}):e.jsxs(V,{isOpen:r,onClose:s,isCentered:!0,size:"3xl",scrollBehavior:"inside",children:[e.jsx(F,{}),e.jsxs(G,{children:[e.jsx(P,{fontSize:18,py:2,children:"Update Role"}),e.jsx(H,{}),e.jsx(z,{}),e.jsx(B,{children:e.jsxs(S,{pb:3,children:[e.jsxs(R,{as:"form",onSubmit:d(g),align:"flex-end",gap:5,children:[" ",e.jsxs(q,{isRequired:!0,children:[e.jsx(T,{children:"Title"}),e.jsx(Q,{size:"sm",borderRadius:6,defaultValue:n==null?void 0:n.name,placeholder:"Name",...u("role_name",{required:!0})})]}),e.jsx(j,{w:48,variant:"solid",size:"sm",colorScheme:"blue",type:"submit",isLoading:o,children:"Update Title"})]}),e.jsxs(q,{mt:5,children:[e.jsx(T,{children:"Permissoins"}),e.jsx(Oe,{selectedPermissions:a,setSelectedPermissions:c,onClose:s,role_id:n.id})]})]})}),e.jsx(z,{}),e.jsxs(N,{py:3,children:[e.jsx(j,{w:"50",variant:"solid",size:"sm",colorScheme:"blue",mr:5,isLoading:_.isPending,onClick:()=>{_.mutate()},children:"Update Permissions"}),e.jsx(j,{colorScheme:"gray",mr:3,onClick:s,size:"sm",children:"Close"})]})]})]})}function de({isOpen:r,onClose:s,data:n}){const[o,t]=y.useState(!1),{register:u,handleSubmit:d,reset:i}=$(),l=w(),a=k(),c=async m=>{let p={...m};try{t(!0);const f=await K(C.token,"add_role",p);t(!1),f.response===200?(h(a,"success","Role Added!"),l.invalidateQueries("roles"),i(),s()):h(a,"error",f.message)}catch(f){t(!1),h(a,"error",JSON.stringify(f))}};return e.jsxs(V,{isOpen:r,onClose:s,isCentered:!0,size:"xl",scrollBehavior:"inside",children:[e.jsx(F,{}),e.jsxs(G,{as:"form",onSubmit:d(c),children:[e.jsx(P,{fontSize:18,py:2,children:"Add New Role"}),e.jsx(H,{}),e.jsx(z,{}),e.jsx(B,{children:e.jsx(S,{pb:3,children:e.jsxs(q,{isRequired:!0,children:[e.jsx(T,{children:"Title"}),e.jsx(Q,{defaultValue:n==null?void 0:n.name,placeholder:"Name",...u("role_name",{required:!0})})]})})}),e.jsx(z,{}),e.jsxs(N,{py:3,children:[e.jsx(j,{colorScheme:"gray",mr:3,onClick:s,size:"sm",children:"Close"}),e.jsx(j,{variant:"solid",size:"sm",colorScheme:"blue",type:"submit",isLoading:o,children:n?"Update Role":"Add Role"})]})]})]})}function ve({isOpen:r,onClose:s,data:n}){const o=k(),t=y.useRef(),u=w(),[d,i]=y.useState(),l=async()=>{if(n.name==="Doctor"||n.name==="Admin"||n.name==="Front Desk")return h(o,"error","Cannot Delete This Role!");let a={id:n.id};try{i(!0);const c=await re(C.token,"delete_role",a);i(!1),c.response===200?(h(o,"success","Role Deleted!"),u.invalidateQueries("roles"),s()):h(o,"error",c.message)}catch(c){i(!1),h(o,"error",JSON.stringify(c))}};return e.jsx(oe,{isOpen:r,onClose:s,leastDestructiveRef:t,isCentered:!0,children:e.jsx(F,{children:e.jsxs(te,{children:[e.jsxs(P,{fontSize:"lg",fontWeight:"semi-bold",children:["Delete Role ( ",e.jsx("b",{children:n==null?void 0:n.name})," )"]}),e.jsx(B,{children:"Are you sure? You can not undo this action afterwards."}),e.jsxs(N,{children:[e.jsx(j,{ref:t,onClick:s,colorScheme:"gray",size:"sm",children:"Cancel"}),e.jsx(j,{colorScheme:"red",onClick:l,ml:3,size:"sm",isLoading:d,children:"Delete"})]})]})})})}function ue({isOpen:r,onClose:s,Roles:n}){const[o,t]=y.useState(!1),{hasPermission:u}=M(),{register:d,handleSubmit:i,reset:l}=$(),a=w(),c=k(),{usersData:m}=be(),[p,f]=y.useState(),A=async g=>{if(!p)return h(c,"error","Please Select User");let _={...g,user_id:p.id};try{t(!0);const x=await K(C.token,"assign_role",_);t(!1),x.response===200?(h(c,"success","Success"),a.invalidateQueries("roles"),l(),s()):h(c,"error",x.message)}catch(x){t(!1),h(c,"error",JSON.stringify(x))}};return u?e.jsxs(V,{isOpen:r,onClose:s,isCentered:!0,size:"xl",scrollBehavior:"inside",children:[e.jsx(F,{}),e.jsxs(G,{as:"form",onSubmit:i(A),children:[e.jsx(P,{fontSize:18,py:2,children:"Assign Role To User"}),e.jsx(H,{}),e.jsx(z,{}),e.jsx(B,{children:e.jsxs(S,{pb:3,children:[e.jsxs(q,{isRequired:!0,children:[e.jsx(T,{children:"User"}),e.jsx(Ce,{name:"user",data:m,setState:f})]}),e.jsxs(q,{isRequired:!0,mt:5,children:[e.jsx(T,{children:"Role"}),e.jsx(Re,{placeholder:"Select Role",...d("role_id",{required:!0}),children:n==null?void 0:n.map(g=>e.jsx("option",{value:g.id,children:g.name},g.id))})]})]})}),e.jsx(z,{}),e.jsxs(N,{py:3,children:[e.jsx(j,{colorScheme:"gray",mr:3,onClick:s,size:"sm",children:"Close"}),e.jsx(j,{variant:"solid",size:"sm",colorScheme:"blue",type:"submit",isLoading:o,children:"Assign Role"})]})]})]}):c({title:"You are not authorized",description:"You tried to access a page you do not have permission to view.",status:"error",duration:2e3,isClosable:!0,position:"top"})}function Ee(){const{isOpen:r,onOpen:s,onClose:n}=O(),[o,t]=y.useState(),{isOpen:u,onOpen:d,onClose:i}=O(),{isOpen:l,onOpen:a,onClose:c}=O(),{isOpen:m,onOpen:p,onClose:f}=O(),A=k(),g="Errortoast",_=async()=>(await U(C.token,"get_roles")).data,x=W=>{t(W)},{isLoading:v,data:b,error:I}=L({queryKey:["roles"],queryFn:_}),{handleSearchChange:E,filteredData:he}=ae(b);I&&(A.isActive(g)||A({id:g,title:"oops!.",description:"Something bad happens.",status:"error",duration:2e3,isClosable:!0,position:"top"}));const{hasPermission:X}=M();return X("ROLE_VIEW")?e.jsxs(S,{children:[v||!b?e.jsxs(S,{children:[e.jsxs(R,{mb:5,justify:"space-between",children:[e.jsx(D,{w:400,h:8}),e.jsx(D,{w:50,h:8})]}),e.jsx(D,{h:300,w:"100%"})]}):e.jsxs(S,{children:[e.jsxs(R,{mb:5,justify:"space-between",align:"center",children:[e.jsx(Q,{size:"md",placeholder:"Search",w:400,maxW:"50vw",onChange:W=>E(W.target.value)}),X("ROLE_ADD")&&e.jsxs(R,{align:"center",gap:5,children:[e.jsx(j,{size:"sm",colorScheme:"teal",onClick:p,children:"Assign Role To User"}),e.jsx(j,{size:"sm",colorScheme:"blue",onClick:s,children:"Add New"})]})]}),e.jsx(ce,{data:he,onActionClick:e.jsx(Le,{onClick:x,DeleteonOpen:d,EditonOpen:a})})]}),e.jsx(de,{isOpen:r,onClose:n}),e.jsx(ve,{isOpen:u,onClose:i,data:o}),l&&e.jsx(ze,{isOpen:l,onClose:c,data:o}),m&&e.jsx(ue,{isOpen:m,onClose:f,Roles:b})]}):e.jsx(le,{})}const Le=({onClick:r,rowData:s,DeleteonOpen:n,EditonOpen:o})=>{const{hasPermission:t}=M();return e.jsxs(R,{justify:"center",children:[t("ROLE_UPDATE")&&e.jsx(Y,{isDisabled:(s==null?void 0:s.name)==="Admin"||(s==null?void 0:s.name)==="admin",size:"sm",variant:"ghost",_hover:{background:"none"},onClick:()=>{r(s),o()},icon:e.jsx(je,{fontSize:18,color:J.colors.blue[500]})}),t("ROLE_DELETE")&&e.jsx(Y,{isDisabled:(s==null?void 0:s.name)==="Admin"||(s==null?void 0:s.name)==="admin",size:"sm",variant:"ghost",_hover:{background:"none"},onClick:()=>{r(s),n()},icon:e.jsx(ie,{fontSize:18,color:J.colors.red[500]})})]})},Te=async()=>(await U(C.token,"get_roles")).data,qe=async()=>{const r=await U(C.token,"get_assign_roles");return r==null?void 0:r.data.map(n=>{const{id:o,user_id:t,role_id:u,role_name:d,f_name:i,l_name:l,phone:a,isd_code:c,updated_at:m,created_at:p}=n;return{id:o,user_id:t,role_id:u,role_name:d,name:`${i} ${l}`,phone:`${a}`,created_at:p,updated_at:m,serchQuery:o+t+u+d+i+l+a+c+m+p}})};function Ue(){const{isOpen:r,onOpen:s,onClose:n}=O(),[o,t]=y.useState(),{isOpen:u,onOpen:d,onClose:i}=O(),{isOpen:l,onOpen:a,onClose:c}=O(),m=k(),p="Errortoast",f=E=>{t(E)},{isLoading:A,data:g,error:_}=L({queryKey:["assigned-roles"],queryFn:qe}),{data:x}=L({queryKey:["roles"],queryFn:Te}),{handleSearchChange:v,filteredData:b}=ae(g);_&&(m.isActive(p)||m({id:p,title:"oops!.",description:"Something bad happens.",status:"error",duration:2e3,isClosable:!0,position:"top"}));const{hasPermission:I}=M();return I("ROLE_VIEW")?e.jsxs(S,{children:[A||!g?e.jsxs(S,{children:[e.jsxs(R,{mb:5,justify:"space-between",children:[e.jsx(D,{w:400,h:8}),e.jsx(D,{w:50,h:8})]}),e.jsx(D,{h:300,w:"100%"})]}):e.jsxs(S,{children:[e.jsxs(R,{mb:5,justify:"space-between",align:"center",children:[e.jsx(Q,{size:"md",placeholder:"Search",w:400,maxW:"50vw",onChange:E=>v(E.target.value)}),I("ROLE_ADD")&&e.jsxs(R,{align:"center",gap:5,children:[e.jsx(j,{size:"sm",colorScheme:"teal",onClick:a,children:"Assign Role To User"}),e.jsx(j,{size:"sm",colorScheme:"blue",onClick:s,children:"Add New Role"})]})]}),e.jsx(ce,{data:b,onActionClick:e.jsx(we,{onClick:f,DeleteonOpen:d})})]}),e.jsx(de,{isOpen:r,onClose:n}),u&&e.jsx(Fe,{isOpen:u,onClose:i,data:o}),l&&e.jsx(ue,{isOpen:l,onClose:c,Roles:x})]}):e.jsx(le,{})}const we=({onClick:r,rowData:s,DeleteonOpen:n})=>{const{hasPermission:o}=M();return e.jsx(R,{justify:"center",children:o("ROLE_DELETE")&&e.jsx(Y,{size:"sm",variant:"ghost",_hover:{background:"none"},onClick:()=>{r(s),n()},icon:e.jsx(ie,{fontSize:18,color:J.colors.red[500]})})})};function Fe({isOpen:r,onClose:s,data:n}){const o=k(),t=y.useRef(),u=w(),[d,i]=y.useState(),l=async()=>{let a={id:n.id};try{i(!0);const c=await re(C.token,"de_assign_role",a);i(!1),c.response===200?(h(o,"success","Deleted!"),u.invalidateQueries("roles"),s()):h(o,"error",c.message)}catch(c){i(!1),h(o,"error",JSON.stringify(c))}};return e.jsx(oe,{isOpen:r,onClose:s,leastDestructiveRef:t,isCentered:!0,children:e.jsx(F,{children:e.jsxs(te,{children:[e.jsxs(P,{fontSize:"lg",fontWeight:"semi-bold",children:["Delete Assign Role ( ",e.jsx("b",{children:n.role_name})," ) form (",n.name,")"]}),e.jsx(B,{children:"Are you sure? You can not undo this action afterwards."}),e.jsxs(N,{children:[e.jsx(j,{ref:t,onClick:s,colorScheme:"gray",size:"sm",children:"Cancel"}),e.jsx(j,{colorScheme:"red",onClick:l,ml:3,size:"sm",isLoading:d,children:"Delete"})]})]})})})}function os(){return e.jsx(S,{children:e.jsxs(pe,{children:[e.jsxs(fe,{children:[e.jsx(se,{children:"Roles"}),e.jsx(se,{children:"Assigned users"})]}),e.jsxs(ge,{children:[e.jsx(ne,{p:0,children:e.jsxs(S,{mt:5,children:[" ",e.jsx(Ee,{})]})}),e.jsx(ne,{p:0,children:e.jsxs(S,{mt:5,children:[" ",e.jsx(Ue,{})]})})]})]})})}export{os as default};