@archbase/security-ui 4.0.1 → 4.0.3

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.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@mantine/core"),Q=require("@mantine/hooks"),r=require("@archbase/core"),s=require("@archbase/components"),S=require("@archbase/data"),x=require("react"),w=require("@tabler/icons-react"),j=require("@archbase/security"),Xe=require("@mantine/dates"),oe=require("@archbase/layout");var se={exports:{}},ee={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@mantine/core"),r=require("@archbase/core"),o=require("@archbase/components"),R=require("@archbase/data"),b=require("react"),v=require("@tabler/icons-react"),T=require("@archbase/security"),rt=require("@mantine/dates"),ne=require("@mantine/hooks"),se=require("@archbase/layout");var oe={exports:{}},ee={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,5 +6,5 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var pe;function Qe(){if(pe)return ee;pe=1;var a=Symbol.for("react.transitional.element"),u=Symbol.for("react.fragment");function y(R,n,m){var p=null;if(m!==void 0&&(p=""+m),n.key!==void 0&&(p=""+n.key),"key"in n){m={};for(var k in n)k!=="key"&&(m[k]=n[k])}else m=n;return n=m.ref,{$$typeof:a,type:R,key:p,ref:n!==void 0?n:null,props:m}}return ee.Fragment=u,ee.jsx=y,ee.jsxs=y,ee}var xe;function Ke(){return xe||(xe=1,se.exports=Qe()),se.exports}var e=Ke();const me=a=>{Q.useFocusTrap();const u={...a.options??{}},y=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,n=>{n&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,n)}):a.onClickOk(a.dataSource.current,!0)},R=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:R,title:r.getI18nextInstance().t("archbase:Perfil"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[u?.customContentBefore&&e.jsx(e.Fragment,{children:u.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do perfil")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do perfil")}`,dataSource:a.dataSource,dataField:"description"})})]}),u?.customContentAfter&&e.jsx(e.Fragment,{children:u.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:R,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})};function ge({availableItemsDS:a,assignedItemsDS:u,idFieldAvailable:y,labelFieldAvailable:R,idFieldAssigned:n,labelFieldAssigned:m,handleCreateAssociationObject:p,width:k="400px",height:V="200px",titleAvailable:b="Disponíveis",titleAssigned:C="Selecionados"}){S.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Available",a,void 0,[]);const F=S.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Assigned",u,void 0,[]),[c,I]=x.useState([]),[g,J]=x.useState([]),[W,Z]=x.useState([]),[Y,$]=x.useState([]),U=x.useCallback(()=>{a&&I(a.browseRecords()),u&&J(u.browseRecords())},[a,u]);S.useArchbaseDataSourceListener({dataSource:a,listener:()=>U()}),S.useArchbaseDataSourceListener({dataSource:u,listener:()=>U()}),x.useEffect(()=>{U()},[U]);const P=(h,A)=>typeof A=="function"?A(h):h[A],q=(h,A)=>typeof A=="function"?A(h):h[A],i=(h,A)=>{h(f=>f.includes(A)?f.filter(X=>X!==A):[...f,A])},T=()=>{W.forEach(h=>{const A=c.find(f=>P(f,y)===h);if(A){const f=p(A);F.isDataSourceV2?(u.insert(f),u.save()):(u.insert(f),u.save(),F.v1State.forceUpdate())}}),Z([])},N=()=>{Y.forEach(h=>{const A=g.find(f=>P(f,n)===h);if(A){const f=typeof n=="function"?{customId:n(A)}:{[n]:h};F.isDataSourceV2?u.remove(()=>u.locate(f)):(u.remove(()=>u.locate(f)),F.v1State.forceUpdate())}}),$([])};return e.jsxs(t.Paper,{withBorder:!0,style:{display:"flex",width:k,height:V},children:[e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:V},children:[e.jsx(t.Text,{children:b}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:c.map(h=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:q(h,R),checked:W.includes(P(h,y)),onChange:()=>i(Z,P(h,y)),disabled:g.some(A=>P(A,n)===P(h,y))})},P(h,y)))})]}),e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",children:[e.jsx(t.Tooltip,{label:"Adicionar",children:e.jsx(t.ActionIcon,{onClick:T,disabled:!W.length,children:e.jsx(w.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:"Remover",children:e.jsx(t.ActionIcon,{onClick:N,disabled:!Y.length,children:e.jsx(w.IconArrowLeft,{})})})]}),e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:V},children:[e.jsx(t.Text,{children:C}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:g.map(h=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:q(h,m),checked:Y.includes(P(h,n)),onChange:()=>i($,P(h,n))})},P(h,n)))})]})]})}const fe=x.forwardRef(({image:a,label:u,description:y,origin:R,...n},m)=>e.jsx("div",{ref:m,...n,children:e.jsxs(t.Flex,{children:[e.jsx(t.Text,{size:"sm",fw:600,children:R?R.name:""}),e.jsx(t.Space,{w:"lg"})]})})),et={showNickname:!0,showProfile:!0,showGroups:!0,showChangePasswordOnNextLogin:!0,showAllowPasswordChange:!0,showPasswordNeverExpires:!0,showAccountConfigLabel:!0,showAccountDeactivated:!0,showAccountLocked:!0,showIsAdministrator:!0,requiredNickname:!0,avatarMaxSizeKB:2e3,avatarImageQuality:1,allowEditEmail:!0},Ae=a=>{const u=Q.useFocusTrap(),[y,R]=x.useState(""),n={...et,...a.options??{}},m=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),{dataSource:p}=S.useArchbaseRemoteDataSource({name:"dsGroups",service:m,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(c,I)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),c,I)}}),k=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),{dataSource:V}=S.useArchbaseRemoteDataSource({name:"dsProfiles",service:k,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(c,I)=>{s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),c,I)}});x.useEffect(()=>{R("")},[a.dataSource.getFieldValue("password")]);const b=async()=>{if(a.dataSource.isInserting()){if(n.userDefaultProfile){const c=r.emit(r.builder.eq("name",n.userDefaultProfile)),I=await k.findAllWithFilter(c,0,1);I&&I.content.length>0&&a.dataSource.setFieldValue("profile",I.content[0])}if(n.userDefaultGroups){const c=r.emit(r.builder.in("name",n.userDefaultGroups)),I=await m.findAllWithFilter(c,0,500);I&&I.content.length>0&&a.dataSource.setFieldValue("groups",I.content.map(g=>j.UserGroupDto.newInstance(g)))}}};x.useEffect(()=>{a.opened&&b()},[a.opened]);const C=()=>{const c=a.dataSource.current;if(!c.password&&a.dataSource.isInserting()){R(r.getI18nextInstance().t("archbase:Informe a senha"));return}a.onCustomSave?a.onCustomSave(c,I=>{I&&a.onAfterSave&&a.onAfterSave(c),a.onClickOk(c,I)}):a.onClickOk(c,!0)},F=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:F,title:r.getI18nextInstance().t("archbase:Usuário"),size:"80%",styles:{content:{maxWidth:1e3}},children:[e.jsx(t.ScrollArea,{ref:u,style:{height:"500px"},children:e.jsxs(t.Stack,{w:"98%",children:[n?.customContentBefore&&e.jsx(e.Fragment,{children:n.customContentBefore(a.dataSource.current)}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsxs(t.Group,{children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome completo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome completo do usuário")}`,dataSource:a.dataSource,dataField:"name",required:!0,width:"calc(100% - 208px)"}),n.showNickname&&e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Apelido")}`,placeholder:`${r.getI18nextInstance().t("archbase:Apelido")}`,dataSource:a.dataSource,dataField:"nickname",required:n.requiredNickname})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do usuário")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do usuário")}`,dataSource:a.dataSource,dataField:"description",required:!0})})]}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:E-mail")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o e-mail do usuário")}`,dataSource:a.dataSource,onChangeValue:c=>a.dataSource.setFieldValue("userName",c),dataField:"email",readOnly:a.dataSource.isEditing()?!n.allowEditEmail:!1,required:!0})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbasePasswordEdit,{label:`${r.getI18nextInstance().t("archbase:Senha usuário")}`,dataSource:a.dataSource,dataField:"password",error:y,required:a.dataSource.getFieldValue("isNewUser")})})]}),e.jsx(t.Grid,{children:n.showProfile&&e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(s.ArchbaseSelect,{label:`${r.getI18nextInstance().t("archbase:Perfil do usuário")}`,dataSource:a.dataSource,dataField:"profile",options:V,allowDeselect:!0,optionsLabelField:"nome",itemComponent:fe,getOptionLabel:c=>c.name,getOptionValue:c=>c.id})})}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:n.showAccountConfigLabel&&e.jsx(t.Text,{fz:14,fw:500,children:"Informe"})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[n.showChangePasswordOnNextLogin&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"changePasswordOnNextLogin",label:`${r.getI18nextInstance().t("archbase:Deve alterar senha próximo login ?")}`})}),n.showAllowPasswordChange&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"allowPasswordChange",label:`${r.getI18nextInstance().t("archbase:Pode alterar a senha ?")}`})}),n.showPasswordNeverExpires&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"passwordNeverExpires",label:`${r.getI18nextInstance().t("archbase:Senha nunca expira ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[n.showAccountDeactivated&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountDeactivated",label:`${r.getI18nextInstance().t("archbase:Conta desativada ?")}`})}),n.showAccountLocked&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountLocked",label:`${r.getI18nextInstance().t("archbase:Conta bloqueada ?")}`})}),n.showIsAdministrator&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(s.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"isAdministrator",label:`${r.getI18nextInstance().t("archbase:Administrador ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsx(t.Stack,{gap:"lg",children:e.jsx(s.ArchbaseAvatarEdit,{label:r.getI18nextInstance().t("archbase:Foto do usuário"),dataSource:a.dataSource,dataField:"avatar",width:120,height:120,maxSizeKB:n.avatarMaxSizeKB,imageQuality:n.avatarImageQuality})})})]}),n.showGroups&&e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(t.Text,{fz:14,fw:500,children:"Grupos"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(ge,{titleAvailable:r.getI18nextInstance().t("archbase:Disponíveis"),titleAssigned:r.getI18nextInstance().t("archbase:Selecionados"),assignedItemsDS:new S.ArchbaseDataSource("dsDualList",{records:a.dataSource.getFieldValue("groups"),grandTotalRecords:a.dataSource.getFieldValue("groups").length,currentPage:0,totalPages:0,pageSize:999999}),width:"100%",height:"200px",availableItemsDS:p,handleCreateAssociationObject:c=>j.UserGroupDto.newInstance(c),idFieldAssigned:c=>c&&c.group?c.group.id:"",idFieldAvailable:"id",labelFieldAssigned:c=>c&&c.group?c.group.name:"",labelFieldAvailable:"name"})})]}),n?.customContentAfter&&e.jsx(e.Fragment,{children:n.customContentAfter(a.dataSource.current)}),e.jsx(t.Space,{h:"12px"})]})}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:F,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:C,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},Se=a=>{Q.useFocusTrap();const u={...a.options??{}},y=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,n=>{n&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,n)}):a.onClickOk(a.dataSource.current,!0)},R=()=>{a.onClickCancel(a.dataSource.current)};return e.jsx(t.Modal,{opened:a.opened,onClose:R,title:r.getI18nextInstance().t("archbase:Grupo"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[u?.customContentBefore&&e.jsx(e.Fragment,{children:a.options.customContentBefore}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do grupo")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do grupo")}`,dataSource:a.dataSource,dataField:"description"})})]}),u?.customContentAfter&&e.jsx(e.Fragment,{children:a.options.customContentAfter}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:R,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})},tt=({image:a,label:u,description:y,...R})=>e.jsx("div",{...R,children:e.jsxs(t.Group,{grow:!0,children:[e.jsx("img",{style:{maxWidth:"32px"},src:a}),e.jsxs("div",{children:[e.jsx(t.Text,{size:"sm",children:u}),e.jsx(t.Text,{size:"xs",opacity:.65,children:y})]})]})}),ye=a=>{Q.useFocusTrap();const[u,y]=x.useState(),R=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),n=S.useArchbaseV1V2Compatibility("ApiTokenModal",a.dataSource,"expirationDate",""),m=b=>{if(!b)n.handleValueChange(void 0);else{const C=typeof b=="string"?new Date(b):b,F=r.convertDateToISOString(C);n.handleValueChange(F)}y(b)},p=async(b,C)=>new Promise(async(F,c)=>{try{const I=r.emit(r.builder.or(r.builder.eq("name",`^*${C.trim()}*`))),g=await R.findAllWithFilter(I,b,20);F({options:g.content,page:g.pageable.pageNumber,totalPages:g.totalPages})}catch(I){c(r.processErrorMessage(I))}}),k=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,b=>{b&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,b)}):a.onClickOk(a.dataSource.current,!0)},V=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:V,title:r.getI18nextInstance().t("archbase:Token de API"),size:"50%",children:[e.jsxs(t.ScrollArea,{style:{height:"300px"},children:[e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do token")}`,dataSource:a.dataSource,dataField:"name"}),e.jsx(s.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do token")}`,dataSource:a.dataSource,dataField:"description"}),e.jsx(Xe.DateTimePicker,{withSeconds:!0,value:u,onChange:m,label:"Data/hora expiração",placeholder:"Selecione a data de expiração"}),e.jsx(s.ArchbaseAsyncSelect,{label:`${r.getI18nextInstance().t("archbase:Usuário")}`,dataSource:a.dataSource,dataField:"user",placeholder:`${r.getI18nextInstance().t("archbase:Digite aqui o nome do usuário")}`,getOptionLabel:b=>b&&b.email?b.email:"",getOptionValue:b=>b&&b.id?b.id.toString():"",getOptions:p,debounceTime:500,minCharsToSearch:1,itemComponent:tt})]}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:V,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:k,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},be=a=>{const u="->";return a.includes(u)?a.split(u).map(n=>n.trim()).map(n=>r.getI18nextInstance().t(n)).join(` ${u} `):r.getI18nextInstance().t(a)};function te({dataSource:a,opened:u,close:y}){const R=x.useMemo(()=>a?.getFieldValue("name")||"",[a]),n=x.useMemo(()=>a?.getFieldValue("id")||"",[a]),m=x.useMemo(()=>a?.getFieldValue("type")||"",[a]),p=t.useTree(),k=t.useTree(),[V,b]=x.useState([]),[C,F]=x.useState([]),[c,I]=x.useState(),[g,J]=x.useState(),[W,Z]=x.useState(""),[Y]=Q.useDebouncedValue(W,200),[$,U]=x.useState(""),[P]=Q.useDebouncedValue($,200),q=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),{colorScheme:i}=t.useMantineColorScheme(),T=i==="dark"?"var(--mantine-primary-color-7)":"var(--mantine-primary-color-4)",N=x.useMemo(()=>C.sort((l,d)=>l.resourceDescription.localeCompare(d.resourceDescription)).map(l=>({value:l.resourceId,label:l.resourceDescription,children:l.permissions.filter(d=>d.actionDescription.toLowerCase().includes(P.toLowerCase())).sort((d,M)=>d.actionDescription.localeCompare(M.actionDescription)).map(d=>({value:d.actionId,label:d.actionDescription,nodeProps:{permissionId:d.permissionId,types:d.types??[],owner:l}}))})),[C,P]),h=x.useMemo(()=>C.map(l=>l.permissions.map(d=>d.actionId)).flat(),[C]),A=x.useMemo(()=>V.sort((l,d)=>l.resourceDescription.localeCompare(d.resourceDescription)).map(l=>({value:l.resourceId,label:l.resourceDescription,children:l.permissions.filter(d=>d.actionDescription.toLowerCase().includes(Y.toLowerCase())).sort((d,M)=>d.actionDescription.localeCompare(M.actionDescription)).map(d=>{const M=C.find(v=>v.resourceId===l.resourceId)?.permissions.find(v=>v.actionId===d.actionId);return{value:d.actionId,label:d.actionDescription,nodeProps:{granted:h.includes(d.actionId)&&M?.types?.includes(r.getKeyByEnumValue(j.SecurityType,m)),owner:l}}})})),[V,C,h,m,Y]),f=x.useCallback(async()=>{if(n){const l=await q.getPermissionsBySecurityId(n,m),d=await q.getAllPermissionsAvailable();b(d),F(l)}},[n,m]),X=x.useCallback(()=>{c?.value&&n&&q.createPermission(n,c.value,m).then(l=>{if(l){F(z=>{let G;return z.map(D=>D.resourceId).includes(l.resourceId)?G=z.map(D=>D.resourceId===l.resourceId?D.permissions.map(E=>E.actionId).includes(c.value)?{...D,permissions:D.permissions.map(E=>E.actionId===c.value?{...E,permissionId:l.permissionId,types:[...E.types??[],r.getKeyByEnumValue(j.SecurityType,m)]}:E)}:{...D,permissions:[...D.permissions??[],{actionId:l.actionId,actionDescription:l.actionDescription,permissionId:l.permissionId,types:[r.getKeyByEnumValue(j.SecurityType,m)]}]}:D):G=[...z,{resourceId:l.resourceId,resourceDescription:l.resourceDescription,permissions:[{actionId:l.actionId,actionDescription:l.actionDescription,permissionId:l.permissionId,types:[r.getKeyByEnumValue(j.SecurityType,m)]}]}],G});const d=A.filter(z=>z.value===c?.nodeProps?.owner?.resourceId).map(z=>z.children).flat(),M=d.map(z=>z.value).indexOf(c.value),v=d.find((z,G)=>!z?.nodeProps?.granted&&z?.value!==c.value&&(d.length>M+1?G>M:!0));v?.value&&p.select(v.value),k.expand(l.resourceId),I(v)}})},[c,n,m,q,A,V,C,p,k]),_=x.useCallback(()=>{g?.nodeProps?.permissionId&&q.deletePermission(g.nodeProps.permissionId).then(()=>{F(v=>[...v].filter(G=>{let D=!0;return G.permissions?.forEach(E=>{E.permissionId!==void 0&&E.permissionId===g?.nodeProps?.permissionId&&G.permissions.length===1&&E?.types?.length===1&&E.types[0]===r.getKeyByEnumValue(j.SecurityType,m)&&(D=!1)}),D}).map(G=>{const D=g?.nodeProps?.owner;return G.resourceId===D.resourceId?g?.nodeProps?.types?.length===1?{...G,permissions:[...(G.permissions??[]).filter(E=>E.permissionId!==g?.nodeProps?.permissionId)]}:{...G,permissions:(G.permissions??[]).map(E=>E.actionId===g.value?{actionId:E.actionId,actionDescription:E.actionDescription,types:[...E.types?.filter(L=>L&&L!==r.getKeyByEnumValue(j.SecurityType,m))??[]]}:E)}:G}));const l=N.filter(v=>v.value===g?.nodeProps?.owner?.resourceId).map(v=>v.children).flat(),d=l.map(v=>v.value).indexOf(g.value),M=l.find((v,z)=>v?.nodeProps?.types.includes(r.getKeyByEnumValue(j.SecurityType,m))&&v?.value!==g.value&&(l.length>d+1?z>d:!0));M?.value&&k.select(M.value),J(M)})},[g,q,m,N,C,k]);return x.useEffect(()=>{u&&a&&(I(void 0),J(void 0),Z(""),U(""),k.collapseAllNodes(),p.collapseAllNodes(),f())},[u,m,n,f]),a?e.jsx(t.Modal,{opened:u,onClose:y,title:`${r.getI18nextInstance().t(`archbase:${m}`)}: ${R}`,size:"80%",styles:{root:{overflow:"hidden"}},children:e.jsxs(oe.ArchbaseSpaceFixed,{height:"540px",children:[e.jsx(oe.ArchbaseSpaceFill,{children:e.jsx(t.ScrollArea,{h:"500px",children:e.jsx(t.Paper,{withBorder:!0,my:20,p:20,children:e.jsxs(t.Grid,{columns:20,children:[e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Available")}),e.jsx(t.TextInput,{size:"xs",value:W,onChange:l=>Z(l.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter available permissions")})]}),e.jsx(t.Tree,{data:A,selectOnClick:!0,allowRangeSelection:!1,tree:p,renderNode:({level:l,node:d,expanded:M,hasChildren:v,selected:z,elementProps:G})=>{const D=d?.nodeProps?.granted,E=D?"dimmed":void 0,L=D?"line-through":void 0,ae=x.useCallback(O=>{I(d),G.onClick(O)},[d,G.onClick]);return e.jsxs(t.Group,{ml:v?0:5,gap:5,...G,bg:z&&l===2?T:"",onClick:ae,children:[v&&e.jsx(w.IconChevronDown,{size:18,style:{transform:M?"rotate(0deg)":"rotate(-90deg)"}}),!v&&e.jsx(w.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{c:E,td:L,children:be(d.label)})]})}})]}),e.jsx(t.Grid.Col,{span:2,children:e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",h:"100%",children:[e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Add"),children:e.jsx(t.ActionIcon,{onClick:X,disabled:!c||c?.nodeProps?.granted||!c.nodeProps,children:e.jsx(w.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Remove"),children:e.jsx(t.ActionIcon,{onClick:_,disabled:!g||!g?.nodeProps?.permissionId||!g.nodeProps,children:e.jsx(w.IconArrowLeft,{})})})]})}),e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Granted")}),e.jsx(t.TextInput,{size:"xs",value:$,onChange:l=>U(l.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter granted permissions")})]}),e.jsx(t.Tree,{data:N,selectOnClick:!0,allowRangeSelection:!1,tree:k,renderNode:({level:l,node:d,expanded:M,hasChildren:v,selected:z,elementProps:G})=>{const D=x.useCallback(E=>{J(d),G.onClick(E)},[d,G.onClick]);return e.jsxs(t.Group,{ml:v?0:5,gap:5,...G,bg:z&&l===2?T:"",onClick:D,children:[v&&e.jsx(w.IconChevronDown,{size:18,style:{transform:M?"rotate(0deg)":"rotate(-90deg)"}}),!v&&e.jsx(w.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{children:be(d.label)}),d?.nodeProps?.types?.includes("USER")&&e.jsx(t.Badge,{color:"blue",children:r.getI18nextInstance().t("archbase:user")}),d?.nodeProps?.types?.includes("GROUP")&&e.jsx(t.Badge,{color:"orange",children:r.getI18nextInstance().t("archbase:group")}),d?.nodeProps?.types?.includes("PROFILE")&&e.jsx(t.Badge,{color:"pink",children:r.getI18nextInstance().t("archbase:profile")})]})}})]})]})})})}),e.jsx(oe.ArchbaseSpaceBottom,{size:"40px",children:e.jsx(t.Group,{justify:"flex-end",children:e.jsx(t.Button,{onClick:y,children:r.getI18nextInstance().t("archbase:Close")})})})]})}):null}const ne="data:image/png;base64,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",at=a=>a.groups?e.jsx("div",{style:{display:"flex"},children:a.groups?a.groups.map((u,y)=>e.jsx("div",{style:{paddingRight:"2px"},children:e.jsx(t.Badge,{color:"blue",children:u.group?.name})},y)):null}):null,rt=a=>a.profile?e.jsx(t.Badge,{color:"green",children:a.profile?.name}):null;function ot({height:a="400px",width:u="100%",createEntitiesWithId:y=!0,userModalOptions:R,profileModalOptions:n,groupModalOptions:m}){const p=r.useArchbaseTheme(),k=S.useArchbaseStore("securityStore"),V=r.useArchbaseValidator(),{colorScheme:b}=t.useMantineColorScheme(),[C,F]=x.useState(void 0),[c,I]=x.useState("users"),g=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),J=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),W=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),Z=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),[Y,$]=x.useState(""),[U,P]=x.useState(""),q=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.AccessToken),{t:i}=r.useArchbaseTranslation(),T=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Users",void 0,void 0,void 0),N=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Groups",void 0,void 0,void 0),h=S.useArchbaseV1V2Compatibility("ArchbaseSecurityView-Profiles",void 0,void 0,void 0),A=x.useRef(null),f=x.useRef(null),X=x.useRef(null),_=x.useRef(null),l=x.useRef(null),d=o=>o.id,M=o=>o.id,v=o=>o.id,z=o=>o.id,G=o=>o.id,{dataSource:D,isLoading:E}=S.useArchbaseRemoteDataSource({name:"accessTokenApi",service:q,store:k,validator:V,pageSize:25,loadOnStart:!0,filter:r.emit(r.builder.or(r.builder.eq("revoked","false"))),sort:["user.email","expirationTime:desc"],onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,B)=>{F(o),s.ArchbaseNotifications.showError(`${i("archbase:WARNING")}`,o,B)}}),{dataSource:L,isLoading:ae}=S.useArchbaseRemoteDataSource({name:"dsUsers",service:g,store:k,validator:V,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,B)=>{F(o),s.ArchbaseNotifications.showError(`${i("archbase:WARNING")}`,o,B)}}),{dataSource:O,isLoading:Ie}=S.useArchbaseRemoteDataSource({name:"dsGroups",service:J,store:k,validator:V,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,B)=>{F(o),s.ArchbaseNotifications.showError(`${i("archbase:WARNING")}`,o,B)}}),{dataSource:H,isLoading:je}=S.useArchbaseRemoteDataSource({name:"dsProfile",service:Z,store:k,validator:V,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,B)=>{F(o),s.ArchbaseNotifications.showError(`${i("archbase:WARNING")}`,o,B)}}),{dataSource:Ce,isLoading:Te}=S.useArchbaseRemoteDataSource({name:"dsResources",service:W,store:k,validator:V,pageSize:25,loadOnStart:!0,onLoadComplete:o=>{},onDestroy:o=>{},onError:(o,B)=>{F(o),s.ArchbaseNotifications.showError(`${i("archbase:WARNING")}`,o,B)}}),K=`calc(${a} - 40px)`,we=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:`${i("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.user&&o.row.user.avatar?atob(o.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:`${i("archbase:Nome de Usuário")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:`${i("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:300,header:`${i("archbase:Expira em")}`,render:o=>e.jsx(t.Text,{size:"sm",children:o.row.expirationDate}),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:`${i("archbase:Revogado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expired",dataType:"boolean",header:`${i("archbase:Expirado ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:`${i("archbase:Token Acesso")}`,size:300,inputFilterType:"text"})]}),ve=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"avatar",dataType:"image",size:80,header:`${i("archbase:Foto")}`,render:o=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:o.row.avatar?atob(o.row.avatar):ne}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1,align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${i("archbase:Nome")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"nickname",dataType:"text",size:120,header:`${i("archbase:Apelido")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"email",dataType:"text",header:`${i("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"profile.name",dataType:"text",header:`${i("archbase:Perfil")}`,size:200,render:o=>rt(o.row),inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"groups",dataType:"text",size:300,header:`${i("archbase:Grupos")}`,render:o=>at(o.row),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"isAdministrator",dataType:"boolean",header:`${i("archbase:Admin ?")}`,inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"changePasswordOnNextLogin",dataType:"boolean",header:`${i("archbase:Alt.senha próximo login?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowPasswordChange",dataType:"boolean",header:`${i("archbase:Pode alterar senha?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"allowMultipleLogins",dataType:"boolean",header:`${i("archbase:Permite multiplos logins?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"passwordNeverExpires",dataType:"boolean",header:`${i("archbase:Senha nunca expira?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountDeactivated",dataType:"boolean",header:`${i("archbase:Desativado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"accountLocked",dataType:"boolean",header:`${i("archbase:Bloqueado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"unlimitedAccessHours",dataType:"boolean",header:`${i("archbase:Horário acesso ilimitado?")}`,inputFilterType:"checkbox",size:140})]}),ke=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${i("archbase:Nome do grupo")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${i("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Re=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${i("archbase:Nome do perfil")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${i("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),De=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${i("archbase:Nome do recurso")}`,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${i("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Ge=()=>{const o=j.UserDto.newInstance();y||(o.id=void 0),L.insert(o),L&&!T.isDataSourceV2&&T.v1State.forceUpdate(),$(j.SecurityType.USER)},Ee=o=>{L.isEmpty()||L.gotoRecordByData(o)&&(L.edit(),T.isDataSourceV2||T.v1State.forceUpdate(),$(j.SecurityType.USER))},Fe=o=>{L.isEmpty()||L.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${i("archbase:Confirme")}`,`${i("archbase:Deseja remover o usuário ")}${o.name} ?`,()=>{L.remove(),T.isDataSourceV2||T.v1State.forceUpdate()},()=>{})},Pe=o=>{L.isEmpty()||L.gotoRecordByData(o)&&$(j.SecurityType.USER)},ze=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Pe(o),children:e.jsx(w.IconEye,{size:20,color:b==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ee(o),children:e.jsx(w.IconEdit,{size:20,color:b==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Fe(o),children:e.jsx(w.IconTrashX,{size:20,color:b==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${i("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:de,children:e.jsx(w.IconShieldCheckered,{size:20,color:b==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),Ve=()=>{const o=j.GroupDto.newInstance();y||(o.id=void 0),O.insert(o),O&&!N.isDataSourceV2&&N.v1State.forceUpdate(),$(j.SecurityType.GROUP)},$e=o=>{O.isEmpty()||O.gotoRecordByData(o)&&(O.edit(),$(j.SecurityType.GROUP))},Me=o=>{O.isEmpty()||O.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${i("archbase:Confirme")}`,`${i("archbase:Deseja remover o grupo ")}${o.name} ?`,()=>{O.remove()},()=>{})},Le=o=>{O.isEmpty()||O.gotoRecordByData(o)&&$(j.SecurityType.GROUP)},Be=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Le(o),children:e.jsx(w.IconEye,{size:20,color:b==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>$e(o),children:e.jsx(w.IconEdit,{size:20,color:b==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Me(o),children:e.jsx(w.IconTrashX,{size:20,color:b==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${i("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:ue,children:e.jsx(w.IconShieldCheckered,{size:20,color:b==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),ie=()=>{$("")},ce=()=>{$("")},le=()=>{$("")},Ue=()=>{const o=j.ProfileDto.newInstance();y||(o.id=void 0),H.insert(o),H&&!h.isDataSourceV2&&h.v1State.forceUpdate(),$(j.SecurityType.PROFILE)},Ne=o=>{H.isEmpty()||H.gotoRecordByData(o)&&(H.edit(),$(j.SecurityType.PROFILE))},Oe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&s.ArchbaseDialog.showConfirmDialogYesNo(`${i("archbase:Confirme")}`,`${i("archbase:Deseja remover o perfil ")}${o.name} ?`,()=>{H.remove()},()=>{})},qe=o=>{H.isEmpty()||H.gotoRecordByData(o)&&$(j.SecurityType.PROFILE)},We=o=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>qe(o),children:e.jsx(w.IconEye,{size:20,color:b==="dark"?p.colors.blue[8]:p.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ne(o),children:e.jsx(w.IconEdit,{size:20,color:b==="dark"?p.colors.yellow[8]:p.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Oe(o),children:e.jsx(w.IconTrashX,{size:20,color:b==="dark"?p.colors.red[8]:p.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${i("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:he,children:e.jsx(w.IconShieldCheckered,{size:20,color:b==="dark"?p.colors.green[8]:p.colors.green[4]})})})]}),He=()=>{D.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${i("archbase:Confirme")}`,`${i("archbase:Deseja revogar o token de Acesso do usuário ")}${D.getCurrentRecord().user.name} ?`,async()=>{await q.revoke(D.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${i("mentors:Informação")}`,`${i("mentors:Token de Acesso revogado com sucesso!")}`),D.refreshData()}).catch(o=>{s.ArchbaseDialog.showErrorWithDetails(`${i("mentors:Atenção")}`,r.processErrorMessage(o),r.processDetailErrorMessage(o))})},()=>{})},de=()=>{P(j.SecurityType.USER)},ue=()=>{P(j.SecurityType.GROUP)},he=()=>{P(j.SecurityType.PROFILE)},re=()=>{P("")},Ye=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(w.IconPlus,{}),onClick:Ge,children:`${i("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(w.IconEdit,{}),onClick:de,children:`${i("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Je=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(w.IconPlus,{}),onClick:Ve,children:`${i("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(w.IconEdit,{}),onClick:ue,children:`${i("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),Ze=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(w.IconPlus,{}),onClick:Ue,children:`${i("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(w.IconEdit,{}),onClick:he,children:`${i("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),_e=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsx(t.Group,{align:"start",gap:"4px",wrap:"nowrap",children:e.jsx(t.Button,{disabled:!D.getCurrentRecord(),color:"red",leftSection:e.jsx(w.IconTrashX,{}),onClick:He,children:`${i("archbase:Revoke")}`})})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Tabs,{variant:"pills",value:c,onChange:I,children:e.jsxs(t.Tabs.List,{children:[e.jsx(t.Tabs.Tab,{value:"users",children:`${i("Usuários")}`}),e.jsx(t.Tabs.Tab,{value:"groups",children:`${i("Grupos")}`}),e.jsx(t.Tabs.Tab,{value:"profiles",children:`${i("Perfis")}`}),e.jsx(t.Tabs.Tab,{value:"resources",children:`${i("Recursos")}`}),e.jsx(t.Tabs.Tab,{value:"accessTokens",children:`${i("Tokens Acesso")}`})]})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:c==="users"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:A,printTitle:"Usuários",width:"100%",height:"100%",withBorder:!1,dataSource:L,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:ae,isError:!!C,error:C,enableGlobalFilter:!0,getRowId:d,toolbarLeftContent:Ye(),renderRowActions:ze,children:ve})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:c==="groups"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:f,printTitle:"Grupos",width:"100%",height:"100%",withBorder:!1,dataSource:O,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:Ie,isError:!!C,error:C,enableGlobalFilter:!0,getRowId:M,renderRowActions:Be,children:ke,toolbarLeftContent:Je()})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:c==="profiles"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:X,printTitle:"Perfis",width:"100%",height:"100%",withBorder:!1,dataSource:H,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:je,isError:!!C,error:C,enableGlobalFilter:!0,getRowId:v,toolbarLeftContent:Ze(),renderRowActions:We,children:Re})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:c==="resources"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:_,printTitle:"Recursos",width:"100%",height:"100%",withBorder:!1,dataSource:Ce,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:Te,isError:!!C,error:C,enableGlobalFilter:!0,getRowId:z,children:De})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:c==="accessTokens"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:l,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:D,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:E,isError:!!C,error:C,enableGlobalFilter:!0,getRowId:G,toolbarLeftContent:_e(),children:we})}),Y===j.SecurityType.USER?e.jsx(Ae,{onClickOk:ie,opened:!0,dataSource:L,onClickCancel:ie,options:R}):null,Y===j.SecurityType.GROUP?e.jsx(Se,{onClickOk:ce,opened:!0,dataSource:O,onClickCancel:ce,options:m}):null,Y===j.SecurityType.PROFILE?e.jsx(me,{onClickOk:le,opened:!0,dataSource:H,onClickCancel:le,options:n}):null,U===j.SecurityType.USER?e.jsx(te,{dataSource:L,opened:!!U,close:re}):null,U===j.SecurityType.GROUP?e.jsx(te,{dataSource:O,opened:!!U,close:re}):null,U===j.SecurityType.PROFILE?e.jsx(te,{dataSource:H,opened:!!U,close:re}):null]})}function st({height:a="400px",width:u="100%"}){r.useArchbaseTheme();const y=S.useArchbaseStore("apiTokenStore"),R={validateEntity:()=>[]},{colorScheme:n}=t.useMantineColorScheme(),[m,p]=x.useState(void 0),k=S.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.ApiToken),[V,b]=x.useState(""),C=x.useRef(null),F=T=>T.id,{dataSource:c}=S.useArchbaseDataSource({initialData:[],name:"dataSource"}),I=S.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-LocalDataSource",c,void 0,void 0),{dataSource:g,isLoading:J}=S.useArchbaseRemoteDataSource({name:"dsApiToken",service:k,store:y,validator:R,pageSize:25,loadOnStart:!0,onLoadComplete:T=>{},onDestroy:T=>{},onError:(T,N)=>{p(T),s.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),T,N)}}),W=S.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-RemoteDataSource",g,void 0,void 0),Z=`calc(${a} - 40px)`,Y=e.jsxs(s.Columns,{children:[e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:"Foto",render:T=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:T.row.user&&T.row.user.avatar?atob(T.row.user.avatar):ne}),inputFilterType:"text",align:"center"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:"Nome de Usuário",inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:"Email",size:240,inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:"Token API",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"tenantId",dataType:"text",header:"Tenant ID",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:180,header:"Validade",render:T=>{if(!T.row.expirationDate)return e.jsx(t.Text,{c:"dimmed",children:"Sem expiração"});const N=new Date;N.setHours(0,0,0,0);const h=new Date(T.row.expirationDate);h.setHours(0,0,0,0);const A=h.getTime()-N.getTime(),f=Math.ceil(A/(1e3*60*60*24));let _=Math.max(0,Math.min(100,f/365*100)),l="green",d="";f<0?(l="red",_=100,d=`Vencido há ${Math.abs(f)} dia${Math.abs(f)!==1?"s":""}`):f===0?(l="red",_=5,d="Vence hoje"):f<=7?(l="red",d=`${f} dia${f!==1?"s":""}`):f<=30?(l="orange",d=`${f} dias`):f<=90?(l="yellow",d=`${f} dias`):(l="green",d=`${f} dias`);const M=f<0?`Vencido em ${h.toLocaleDateString()}`:`Expira em ${h.toLocaleDateString()}`;return e.jsx(t.Tooltip,{label:M,withArrow:!0,children:e.jsxs(t.Group,{gap:"xs",wrap:"nowrap",children:[e.jsx(t.RingProgress,{size:36,thickness:4,roundCaps:!0,sections:[{value:f<0?100:_,color:l}]}),e.jsx(t.Text,{size:"sm",c:f<0?"red":void 0,fw:f<=7?600:void 0,children:d})]})})},inputFilterType:"text"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"activated",dataType:"boolean",header:"Ativado ?",inputFilterType:"checkbox"}),e.jsx(s.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:"Revogado ?",inputFilterType:"checkbox"})]}),$=()=>{c.insert(j.ApiTokenDto.newInstance()),c&&!I.isDataSourceV2&&I.v1State.forceUpdate(),b("apiToken")},U=()=>{g.getCurrentRecord()&&s.ArchbaseDialog.showConfirmDialogYesNo(`${r.getI18nextInstance().t("archbase:Confirme")}`,`${r.getI18nextInstance().t("archbase:Deseja revogar o token de API do usuário ")}${g.getCurrentRecord().user.name} ?`,async()=>{await k.revoke(g.getCurrentRecord().token).then(async()=>{s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API revogado com sucesso!")}`),g.refreshData(),g&&!W.isDataSourceV2&&W.v1State.forceUpdate()}).catch(T=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(T),r.processDetailErrorMessage(T))})},()=>{})},P=()=>{b("")},q=async(T,N)=>{const h=c.getCurrentRecord();if(h)try{if(c.validate(),!h.user||!h.user.email){s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("archbase:WARNING")}`,`${r.getI18nextInstance().t("archbase:Selecione um usuário para o token de API")}`,"");return}await k.create(h.user.email,h.expirationDate,h.name,h.description).then(async A=>{c.cancel(),c&&!I.isDataSourceV2&&I.v1State.forceUpdate(),g.append(A),g&&!W.isDataSourceV2&&W.v1State.forceUpdate(),s.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API gerado com sucesso!")}`),N&&N(!0)}).catch(A=>{s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(A),r.processDetailErrorMessage(A))})}catch(A){s.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(A),r.processDetailErrorMessage(A))}},i=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsxs(t.Group,{align:"start",gap:"2px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(w.IconPlus,{}),onClick:$,children:r.getI18nextInstance().t("archbase:New")}),e.jsx(t.Button,{disabled:!g.getCurrentRecord(),color:"red",leftSection:e.jsx(w.IconTrashX,{}),onClick:U,children:r.getI18nextInstance().t("archbase:Revoke")})]})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Paper,{withBorder:!0,style:{height:Z,display:"flex",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(s.ArchbaseDataGrid,{gridRef:C,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:g,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:J,isError:!!m,error:m,enableGlobalFilter:!0,getRowId:F,toolbarLeftContent:i(),children:Y})}),V==="apiToken"?e.jsx(ye,{onClickOk:P,opened:!0,dataSource:c,onCustomSave:q,onClickCancel:P}):null]})}exports.ApiTokenModal=ye;exports.ArchbaseApiTokenView=st;exports.ArchbaseDualListSelector=ge;exports.ArchbaseSecurityView=ot;exports.GroupModal=Se;exports.PermissionsSelectorModal=te;exports.ProfileModal=me;exports.RenderProfileUserItem=fe;exports.UserModal=Ae;
9
+ */var ue;function st(){if(ue)return ee;ue=1;var a=Symbol.for("react.transitional.element"),p=Symbol.for("react.fragment");function S(h,d,f){var k=null;if(f!==void 0&&(k=""+f),d.key!==void 0&&(k=""+d.key),"key"in d){f={};for(var x in d)x!=="key"&&(f[x]=d[x])}else f=d;return d=f.ref,{$$typeof:a,type:h,key:k,ref:d!==void 0?d:null,props:f}}return ee.Fragment=p,ee.jsx=S,ee.jsxs=S,ee}var he;function ot(){return he||(he=1,oe.exports=st()),oe.exports}var e=ot();const pe=a=>{const p={...a.options??{}},S=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.getCurrentRecord(),d=>{d&&a.onAfterSave&&a.onAfterSave(a.dataSource.getCurrentRecord()),a.onClickOk(a.dataSource.getCurrentRecord(),d)}):a.onClickOk(a.dataSource.getCurrentRecord(),!0)},h=()=>{a.onClickCancel(a.dataSource.getCurrentRecord())};return e.jsx(t.Modal,{opened:a.opened,onClose:h,title:r.getI18nextInstance().t("archbase:Perfil"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[p?.customContentBefore&&p.customContentBefore(a.dataSource.getCurrentRecord()),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do perfil")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12,md:12,lg:12},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do perfil")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do perfil")}`,dataSource:a.dataSource,dataField:"description"})})]}),p?.customContentAfter&&p.customContentAfter(a.dataSource.getCurrentRecord()),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:h,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:S,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})};function be({availableItemsDS:a,assignedItemsDS:p,idFieldAvailable:S,labelFieldAvailable:h,idFieldAssigned:d,labelFieldAssigned:f,handleCreateAssociationObject:k,width:x="400px",height:M="200px",titleAvailable:g="Disponíveis",titleAssigned:w="Selecionados"}){R.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Available",a,void 0,[]);const l=R.useArchbaseV1V2Compatibility("ArchbaseDualListSelector-Assigned",p,void 0,[]),[u,B]=b.useState([]),[I,Y]=b.useState([]),[q,_]=b.useState([]),[H,P]=b.useState([]),U=b.useCallback(()=>{a&&B(a.browseRecords()),p&&Y(p.browseRecords())},[a,p]);R.useArchbaseDataSourceListener({dataSource:a,listener:()=>U()}),R.useArchbaseDataSourceListener({dataSource:p,listener:()=>U()}),b.useEffect(()=>{U()},[U]);const F=(m,y)=>typeof y=="function"?y(m):m[y],W=(m,y)=>typeof y=="function"?y(m):m[y],n=(m,y)=>{m(A=>A.includes(y)?A.filter(Z=>Z!==y):[...A,y])},E=()=>{q.forEach(m=>{const y=u.find(A=>F(A,S)===m);if(y){const A=k(y);l.isDataSourceV2?(p.insert(A),p.save()):(p.insert(A),p.save(),l.v1State.forceUpdate())}}),_([])},O=()=>{H.forEach(m=>{const y=I.find(A=>F(A,d)===m);if(y){const A=typeof d=="function"?{customId:d(y)}:{[d]:m};l.isDataSourceV2?p.remove(()=>p.locate(A)):(p.remove(()=>p.locate(A)),l.v1State.forceUpdate())}}),P([])};return e.jsxs(t.Paper,{withBorder:!0,style:{display:"flex",width:x,height:M},children:[e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:M},children:[e.jsx(t.Text,{children:g}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:u.map(m=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:W(m,h),checked:q.includes(F(m,S)),onChange:()=>n(_,F(m,S)),disabled:I.some(y=>F(y,d)===F(m,S))})},F(m,S)))})]}),e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",children:[e.jsx(t.Tooltip,{label:"Adicionar",children:e.jsx(t.ActionIcon,{onClick:E,disabled:!q.length,children:e.jsx(v.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:"Remover",children:e.jsx(t.ActionIcon,{onClick:O,disabled:!H.length,children:e.jsx(v.IconArrowLeft,{})})})]}),e.jsxs(t.Box,{style:{minWidth:"44%",minHeight:M},children:[e.jsx(t.Text,{children:w}),e.jsx(t.List,{spacing:"xs",size:"sm",center:!0,listStyleType:"none",style:{margin:"6px",overflowY:"auto",overflowX:"hidden",height:"calc(100% - 32px)"},children:I.map(m=>e.jsx(t.List.Item,{children:e.jsx(t.Checkbox,{label:W(m,f),checked:H.includes(F(m,d)),onChange:()=>n(P,F(m,d))})},F(m,d)))})]})]})}const me=b.forwardRef(({image:a,label:p,description:S,origin:h,...d},f)=>e.jsx("div",{ref:f,...d,children:e.jsxs(t.Flex,{children:[e.jsx(t.Text,{size:"sm",fw:600,children:h?h.name:""}),e.jsx(t.Space,{w:"lg"})]})})),nt={showNickname:!0,showProfile:!0,showGroups:!0,showChangePasswordOnNextLogin:!0,showAllowPasswordChange:!0,showPasswordNeverExpires:!0,showAccountConfigLabel:!0,showAccountDeactivated:!0,showAccountLocked:!0,showIsAdministrator:!0,requiredNickname:!0,avatarMaxSizeKB:2e3,avatarImageQuality:1,allowEditEmail:!0},ge=a=>{const[p,S]=b.useState(""),h={...nt,...a.options??{}},d=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),{dataSource:f}=R.useArchbaseRemoteDataSource({name:"dsGroups",service:d,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(l,u)=>{o.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),l,u)}});console.log("versão 12/05/2026");const k=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),{dataSource:x}=R.useArchbaseRemoteDataSource({name:"dsProfiles",service:k,pageSize:9999,loadOnStart:!0,sort:["name:asc"],onError:(l,u)=>{o.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),l,u)}});b.useEffect(()=>{S("")},[a.dataSource.getFieldValue("password")]);const M=async()=>{if(a.dataSource.isInserting()){if(h.userDefaultProfile){const l=r.emit(r.builder.eq("name",h.userDefaultProfile)),u=await k.findAllWithFilter(l,0,1);u&&u.content.length>0&&a.dataSource.setFieldValue("profile",u.content[0])}if(h.userDefaultGroups){const l=r.emit(r.builder.in("name",h.userDefaultGroups)),u=await d.findAllWithFilter(l,0,500);u&&u.content.length>0&&a.dataSource.setFieldValue("groups",u.content.map(B=>T.UserGroupDto.newInstance(B)))}}};b.useEffect(()=>{a.opened&&M()},[a.opened]);const g=()=>{const l=a.dataSource.getCurrentRecord();if(!l.password&&a.dataSource.isInserting()){S(r.getI18nextInstance().t("archbase:Informe a senha"));return}a.onCustomSave?a.onCustomSave(l,u=>{u&&a.onAfterSave&&a.onAfterSave(l),a.onClickOk(l,u)}):a.onClickOk(l,!0)},w=()=>{a.onClickCancel(a.dataSource.getCurrentRecord())};return e.jsxs(t.Modal,{opened:a.opened,onClose:w,title:r.getI18nextInstance().t("archbase:Usuário"),size:"80%",styles:{content:{maxWidth:1e3}},children:[e.jsx(t.ScrollArea,{style:{height:"500px"},children:e.jsxs(t.Stack,{w:"98%",children:[h?.customContentBefore&&e.jsx(e.Fragment,{children:h.customContentBefore(a.dataSource.getCurrentRecord())}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsxs(t.Group,{children:[e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome completo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome completo do usuário")}`,dataSource:a.dataSource,dataField:"name",required:!0,width:"calc(100% - 208px)"}),h.showNickname&&e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Apelido")}`,placeholder:`${r.getI18nextInstance().t("archbase:Apelido")}`,dataSource:a.dataSource,dataField:"nickname",required:h.requiredNickname})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do usuário")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do usuário")}`,dataSource:a.dataSource,dataField:"description",required:!0})})]}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:E-mail")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o e-mail do usuário")}`,dataSource:a.dataSource,onChangeValue:l=>a.dataSource.setFieldValue("userName",l),dataField:"email",readOnly:a.dataSource.isEditing()?!h.allowEditEmail:!1,required:!0})}),e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(o.ArchbasePasswordEdit,{label:`${r.getI18nextInstance().t("archbase:Senha usuário")}`,dataSource:a.dataSource,dataField:"password",error:p,required:a.dataSource.getFieldValue("isNewUser")})})]}),e.jsx(t.Grid,{children:h.showProfile&&e.jsx(t.Grid.Col,{span:{base:12,md:6,lg:6},children:e.jsx(o.ArchbaseSelect,{label:`${r.getI18nextInstance().t("archbase:Perfil do usuário")}`,dataSource:a.dataSource,dataField:"profile",options:x,allowDeselect:!0,optionsLabelField:"nome",itemComponent:me,getOptionLabel:l=>l.name,getOptionValue:l=>l.id})})}),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:h.showAccountConfigLabel&&e.jsx(t.Text,{fz:14,fw:500,children:"Informe"})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[h.showChangePasswordOnNextLogin&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"changePasswordOnNextLogin",label:`${r.getI18nextInstance().t("archbase:Deve alterar senha próximo login ?")}`})}),h.showAllowPasswordChange&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"allowPasswordChange",label:`${r.getI18nextInstance().t("archbase:Pode alterar a senha ?")}`})}),h.showPasswordNeverExpires&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"passwordNeverExpires",label:`${r.getI18nextInstance().t("archbase:Senha nunca expira ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsxs(t.Stack,{gap:"lg",children:[h.showAccountDeactivated&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountDeactivated",label:`${r.getI18nextInstance().t("archbase:Conta desativada ?")}`})}),h.showAccountLocked&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"accountLocked",label:`${r.getI18nextInstance().t("archbase:Conta bloqueada ?")}`})}),h.showIsAdministrator&&e.jsx(t.Input.Wrapper,{label:"",children:e.jsx(o.ArchbaseCheckbox,{dataSource:a.dataSource,dataField:"isAdministrator",label:`${r.getI18nextInstance().t("archbase:Administrador ?")}`})})]})}),e.jsx(t.Grid.Col,{span:{base:12,md:4,lg:4},children:e.jsx(t.Stack,{gap:"lg",children:e.jsx(o.ArchbaseAvatarEdit,{label:r.getI18nextInstance().t("archbase:Foto do usuário"),dataSource:a.dataSource,dataField:"avatar",width:120,height:120,maxSizeKB:h.avatarMaxSizeKB,imageQuality:h.avatarImageQuality})})})]}),h.showGroups&&e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(t.Text,{fz:14,fw:500,children:"Grupos"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(be,{titleAvailable:r.getI18nextInstance().t("archbase:Disponíveis"),titleAssigned:r.getI18nextInstance().t("archbase:Selecionados"),assignedItemsDS:new R.ArchbaseDataSource("dsDualList",{records:a.dataSource.getFieldValue("groups"),grandTotalRecords:a.dataSource.getFieldValue("groups").length,currentPage:0,totalPages:0,pageSize:999999}),width:"100%",height:"200px",availableItemsDS:f,handleCreateAssociationObject:l=>T.UserGroupDto.newInstance(l),idFieldAssigned:l=>l&&l.group?l.group.id:"",idFieldAvailable:"id",labelFieldAssigned:l=>l&&l.group?l.group.name:"",labelFieldAvailable:"name"})})]}),h?.customContentAfter&&e.jsx(e.Fragment,{children:h.customContentAfter(a.dataSource.getCurrentRecord())}),e.jsx(t.Space,{h:"12px"})]})}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:w,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:g,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},fe=a=>{const p={...a.options??{}},S=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.getCurrentRecord(),d=>{d&&a.onAfterSave&&a.onAfterSave(a.dataSource.getCurrentRecord()),a.onClickOk(a.dataSource.getCurrentRecord(),d)}):a.onClickOk(a.dataSource.getCurrentRecord(),!0)},h=()=>{a.onClickCancel(a.dataSource.getCurrentRecord())};return e.jsx(t.Modal,{opened:a.opened,onClose:h,title:r.getI18nextInstance().t("archbase:Grupo"),size:"60%",styles:{content:{maxWidth:1e3}},children:e.jsx(t.ScrollArea,{style:{height:"460px"},children:e.jsxs(t.Stack,{w:"98%",children:[p?.customContentBefore&&p.customContentBefore(a.dataSource.getCurrentRecord()),e.jsxs(t.Grid,{children:[e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do grupo")}`,dataSource:a.dataSource,dataField:"name"})}),e.jsx(t.Grid.Col,{span:{base:12},children:e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do grupo")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do grupo")}`,dataSource:a.dataSource,dataField:"description"})})]}),p?.customContentAfter&&p.customContentAfter(a.dataSource.getCurrentRecord()),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:h,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:S,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})})})},it=({image:a,label:p,description:S,...h})=>e.jsx("div",{...h,children:e.jsxs(t.Group,{grow:!0,children:[e.jsx("img",{style:{maxWidth:"32px"},src:a}),e.jsxs("div",{children:[e.jsx(t.Text,{size:"sm",children:p}),e.jsx(t.Text,{size:"xs",opacity:.65,children:S})]})]})}),Ae=a=>{ne.useFocusTrap();const[p,S]=b.useState(),h=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),d=R.useArchbaseV1V2Compatibility("ApiTokenModal",a.dataSource,"expirationDate",""),f=g=>{if(!g)d.handleValueChange(void 0);else{const w=typeof g=="string"?new Date(g):g,l=r.convertDateToISOString(w);d.handleValueChange(l)}S(g)},k=async(g,w)=>new Promise(async(l,u)=>{try{const B=r.emit(r.builder.or(r.builder.eq("name",`^*${w.trim()}*`))),I=await h.findAllWithFilter(B,g,20);l({options:I.content,page:I.pageable.pageNumber,totalPages:I.totalPages})}catch(B){u(r.processErrorMessage(B))}}),x=()=>{a.onCustomSave?a.onCustomSave(a.dataSource.current,g=>{g&&a.onAfterSave&&a.onAfterSave(a.dataSource.current),a.onClickOk(a.dataSource.current,g)}):a.onClickOk(a.dataSource.current,!0)},M=()=>{a.onClickCancel(a.dataSource.current)};return e.jsxs(t.Modal,{opened:a.opened,onClose:M,title:r.getI18nextInstance().t("archbase:Token de API"),size:"50%",children:[e.jsxs(t.ScrollArea,{style:{height:"300px"},children:[e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Nome do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe o nome do token")}`,dataSource:a.dataSource,dataField:"name"}),e.jsx(o.ArchbaseEdit,{label:`${r.getI18nextInstance().t("archbase:Descrição do token")}`,placeholder:`${r.getI18nextInstance().t("archbase:Informe a descrição do token")}`,dataSource:a.dataSource,dataField:"description"}),e.jsx(rt.DateTimePicker,{withSeconds:!0,value:p,onChange:f,label:"Data/hora expiração",placeholder:"Selecione a data de expiração"}),e.jsx(o.ArchbaseAsyncSelect,{label:`${r.getI18nextInstance().t("archbase:Usuário")}`,dataSource:a.dataSource,dataField:"user",placeholder:`${r.getI18nextInstance().t("archbase:Digite aqui o nome do usuário")}`,getOptionLabel:g=>g&&g.email?g.email:"",getOptionValue:g=>g&&g.id?g.id.toString():"",getOptions:k,debounceTime:500,minCharsToSearch:1,itemComponent:it})]}),e.jsxs(t.Group,{justify:"flex-end",mt:"md",children:[e.jsx(t.Button,{variant:"default",onClick:M,children:r.getI18nextInstance().t("archbase:Cancelar")}),e.jsx(t.Button,{onClick:x,children:r.getI18nextInstance().t("archbase:Salvar")})]})]})},xe=a=>{const p="->";return a.includes(p)?a.split(p).map(d=>d.trim()).map(d=>r.getI18nextInstance().t(d)).join(` ${p} `):r.getI18nextInstance().t(a)};function te({dataSource:a,opened:p,close:S}){const h=b.useMemo(()=>a?.getFieldValue("name")||"",[a]),d=b.useMemo(()=>a?.getFieldValue("id")||"",[a]),f=b.useMemo(()=>a?.getFieldValue("type")||"",[a]),k=t.useTree(),x=t.useTree(),[M,g]=b.useState([]),[w,l]=b.useState([]),[u,B]=b.useState(),[I,Y]=b.useState(),[q,_]=b.useState(""),[H]=ne.useDebouncedValue(q,200),[P,U]=b.useState(""),[F]=ne.useDebouncedValue(P,200),W=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),{colorScheme:n}=t.useMantineColorScheme(),E=n==="dark"?"var(--mantine-primary-color-7)":"var(--mantine-primary-color-4)",O=b.useMemo(()=>w.sort((i,c)=>i.resourceDescription.localeCompare(c.resourceDescription)).map(i=>({value:i.resourceId,label:i.resourceDescription,children:i.permissions.filter(c=>c.actionDescription.toLowerCase().includes(F.toLowerCase())).sort((c,V)=>c.actionDescription.localeCompare(V.actionDescription)).map(c=>({value:c.actionId,label:c.actionDescription,nodeProps:{permissionId:c.permissionId,types:c.types??[],owner:i}}))})),[w,F]),m=b.useMemo(()=>w.map(i=>i.permissions.map(c=>c.actionId)).flat(),[w]),y=b.useMemo(()=>M.sort((i,c)=>i.resourceDescription.localeCompare(c.resourceDescription)).map(i=>({value:i.resourceId,label:i.resourceDescription,children:i.permissions.filter(c=>c.actionDescription.toLowerCase().includes(H.toLowerCase())).sort((c,V)=>c.actionDescription.localeCompare(V.actionDescription)).map(c=>{const V=w.find(j=>j.resourceId===i.resourceId)?.permissions.find(j=>j.actionId===c.actionId);return{value:c.actionId,label:c.actionDescription,nodeProps:{granted:m.includes(c.actionId)&&V?.types?.includes(r.getKeyByEnumValue(T.SecurityType,f)),owner:i}}})})),[M,w,m,f,H]),A=b.useCallback(async()=>{if(d){const i=await W.getPermissionsBySecurityId(d,f),c=await W.getAllPermissionsAvailable();g(c),l(i)}},[d,f]),Z=b.useCallback(()=>{u?.value&&d&&W.createPermission(d,u.value,f).then(i=>{if(i){l(z=>{let D;return z.map(C=>C.resourceId).includes(i.resourceId)?D=z.map(C=>C.resourceId===i.resourceId?C.permissions.map(G=>G.actionId).includes(u.value)?{...C,permissions:C.permissions.map(G=>G.actionId===u.value?{...G,permissionId:i.permissionId,types:[...G.types??[],r.getKeyByEnumValue(T.SecurityType,f)]}:G)}:{...C,permissions:[...C.permissions??[],{actionId:i.actionId,actionDescription:i.actionDescription,permissionId:i.permissionId,types:[r.getKeyByEnumValue(T.SecurityType,f)]}]}:C):D=[...z,{resourceId:i.resourceId,resourceDescription:i.resourceDescription,permissions:[{actionId:i.actionId,actionDescription:i.actionDescription,permissionId:i.permissionId,types:[r.getKeyByEnumValue(T.SecurityType,f)]}]}],D});const c=y.filter(z=>z.value===u?.nodeProps?.owner?.resourceId).map(z=>z.children).flat(),V=c.map(z=>z.value).indexOf(u.value),j=c.find((z,D)=>!z?.nodeProps?.granted&&z?.value!==u.value&&(c.length>V+1?D>V:!0));j?.value&&k.select(j.value),x.expand(i.resourceId),B(j)}})},[u,d,f,W,y,M,w,k,x]),J=b.useCallback(()=>{I?.nodeProps?.permissionId&&W.deletePermission(I.nodeProps.permissionId).then(()=>{l(j=>[...j].filter(D=>{let C=!0;return D.permissions?.forEach(G=>{G.permissionId!==void 0&&G.permissionId===I?.nodeProps?.permissionId&&D.permissions.length===1&&G?.types?.length===1&&G.types[0]===r.getKeyByEnumValue(T.SecurityType,f)&&(C=!1)}),C}).map(D=>{const C=I?.nodeProps?.owner;return D.resourceId===C.resourceId?I?.nodeProps?.types?.length===1?{...D,permissions:[...(D.permissions??[]).filter(G=>G.permissionId!==I?.nodeProps?.permissionId)]}:{...D,permissions:(D.permissions??[]).map(G=>G.actionId===I.value?{actionId:G.actionId,actionDescription:G.actionDescription,types:[...G.types?.filter(X=>X&&X!==r.getKeyByEnumValue(T.SecurityType,f))??[]]}:G)}:D}));const i=O.filter(j=>j.value===I?.nodeProps?.owner?.resourceId).map(j=>j.children).flat(),c=i.map(j=>j.value).indexOf(I.value),V=i.find((j,z)=>j?.nodeProps?.types.includes(r.getKeyByEnumValue(T.SecurityType,f))&&j?.value!==I.value&&(i.length>c+1?z>c:!0));V?.value&&x.select(V.value),Y(V)})},[I,W,f,O,w,x]);return b.useEffect(()=>{p&&a&&(B(void 0),Y(void 0),_(""),U(""),x.collapseAllNodes(),k.collapseAllNodes(),A())},[p,f,d,A]),a?e.jsx(t.Modal,{opened:p,onClose:S,title:`${r.getI18nextInstance().t(`archbase:${f}`)}: ${h}`,size:"80%",styles:{root:{overflow:"hidden"}},children:e.jsxs(se.ArchbaseSpaceFixed,{height:"540px",children:[e.jsx(se.ArchbaseSpaceFill,{children:e.jsx(t.ScrollArea,{h:"500px",children:e.jsx(t.Paper,{withBorder:!0,my:20,p:20,children:e.jsxs(t.Grid,{columns:20,children:[e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Available")}),e.jsx(t.TextInput,{size:"xs",value:q,onChange:i=>_(i.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter available permissions")})]}),e.jsx(t.Tree,{data:y,selectOnClick:!0,allowRangeSelection:!1,tree:k,renderNode:({level:i,node:c,expanded:V,hasChildren:j,selected:z,elementProps:D})=>{const C=c?.nodeProps?.granted,G=C?"dimmed":void 0,X=C?"line-through":void 0,L=b.useCallback(ae=>{B(c),D.onClick(ae)},[c,D.onClick]);return e.jsxs(t.Group,{ml:j?0:5,gap:5,...D,bg:z&&i===2?E:"",onClick:L,children:[j&&e.jsx(v.IconChevronDown,{size:18,style:{transform:V?"rotate(0deg)":"rotate(-90deg)"}}),!j&&e.jsx(v.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{c:G,td:X,children:xe(c.label)})]})}})]}),e.jsx(t.Grid.Col,{span:2,children:e.jsxs(t.Stack,{gap:5,style:{minWidth:"10%"},justify:"center",align:"center",h:"100%",children:[e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Add"),children:e.jsx(t.ActionIcon,{onClick:Z,disabled:!u||u?.nodeProps?.granted||!u.nodeProps,children:e.jsx(v.IconArrowRight,{})})}),e.jsx(t.Tooltip,{label:r.getI18nextInstance().t("archbase:Remove"),children:e.jsx(t.ActionIcon,{onClick:J,disabled:!I||!I?.nodeProps?.permissionId||!I.nodeProps,children:e.jsx(v.IconArrowLeft,{})})})]})}),e.jsxs(t.Grid.Col,{span:9,children:[e.jsxs(t.Group,{mb:20,children:[e.jsx(t.Text,{children:r.getI18nextInstance().t("archbase:Granted")}),e.jsx(t.TextInput,{size:"xs",value:P,onChange:i=>U(i.target.value),placeholder:r.getI18nextInstance().t("archbase:Filter granted permissions")})]}),e.jsx(t.Tree,{data:O,selectOnClick:!0,allowRangeSelection:!1,tree:x,renderNode:({level:i,node:c,expanded:V,hasChildren:j,selected:z,elementProps:D})=>{const C=b.useCallback(G=>{Y(c),D.onClick(G)},[c,D.onClick]);return e.jsxs(t.Group,{ml:j?0:5,gap:5,...D,bg:z&&i===2?E:"",onClick:C,children:[j&&e.jsx(v.IconChevronDown,{size:18,style:{transform:V?"rotate(0deg)":"rotate(-90deg)"}}),!j&&e.jsx(v.IconBorderCornerSquare,{size:12,style:{transform:"rotate(-90deg)",marginTop:"-5px"}}),e.jsx(t.Text,{children:xe(c.label)}),c?.nodeProps?.types?.includes("USER")&&e.jsx(t.Badge,{color:"blue",children:r.getI18nextInstance().t("archbase:user")}),c?.nodeProps?.types?.includes("GROUP")&&e.jsx(t.Badge,{color:"orange",children:r.getI18nextInstance().t("archbase:group")}),c?.nodeProps?.types?.includes("PROFILE")&&e.jsx(t.Badge,{color:"pink",children:r.getI18nextInstance().t("archbase:profile")})]})}})]})]})})})}),e.jsx(se.ArchbaseSpaceBottom,{size:"40px",children:e.jsx(t.Group,{justify:"flex-end",children:e.jsx(t.Button,{onClick:S,children:r.getI18nextInstance().t("archbase:Close")})})})]})}):null}const ie="data:image/png;base64,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",ct=a=>a.groups?e.jsx("div",{style:{display:"flex"},children:a.groups?a.groups.map((p,S)=>e.jsx("div",{style:{paddingRight:"2px"},children:e.jsx(t.Badge,{color:"blue",children:p.group?.name})},S)):null}):null,lt=a=>a.profile?e.jsx(t.Badge,{color:"green",children:a.profile?.name}):null;function dt({height:a="400px",width:p="100%",createEntitiesWithId:S=!0,userModalOptions:h,profileModalOptions:d,groupModalOptions:f,options:k}){const x=r.useArchbaseTheme();R.useArchbaseStore("securityStore");const M=r.useArchbaseValidator(),{colorScheme:g}=t.useMantineColorScheme(),[w,l]=b.useState(void 0),[u,B]=b.useState("users"),I=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.User),Y=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Group),q=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Resource),_=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.Profile),[H,P]=b.useState(""),[U,F]=b.useState(""),W=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.AccessToken),{t:n}=r.useArchbaseTranslation(),E=b.useRef(null),O=b.useRef(null),m=b.useRef(null),y=b.useRef(null),A=b.useRef(null),Z=s=>s.id,J=s=>s.id,i=s=>s.id,c=s=>s.id,V=s=>s.id,{dataSource:j,isLoading:z,refreshData:D}=R.useArchbaseRemoteDataSourceV2({name:"accessTokenApi",service:W,validator:M,pageSize:25,defaultSortFields:["user.email","expirationTime:desc"],onError:(s,$)=>{l(s),o.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,s,$)}}),{dataSource:C,isLoading:G,refreshData:X}=R.useArchbaseRemoteDataSourceV2({name:"dsUsers",service:I,validator:M,pageSize:25,onError:(s,$)=>{l(s),o.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,s,$)}}),{dataSource:L,isLoading:ae,refreshData:Ie}=R.useArchbaseRemoteDataSourceV2({name:"dsGroups",service:Y,validator:M,pageSize:25,onError:(s,$)=>{l(s),o.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,s,$)}}),{dataSource:N,isLoading:ye,refreshData:Ce}=R.useArchbaseRemoteDataSourceV2({name:"dsProfile",service:_,validator:M,pageSize:25,onError:(s,$)=>{l(s),o.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,s,$)}}),{dataSource:Se,isLoading:je,refreshData:Te}=R.useArchbaseRemoteDataSourceV2({name:"dsResources",service:q,validator:M,pageSize:25,onError:(s,$)=>{l(s),o.ArchbaseNotifications.showError(`${n("archbase:WARNING")}`,s,$)}});b.useEffect(()=>{D({filter:r.emit(r.builder.eq("revoked","false"))}),X(),Ie(),Ce(),Te()},[]);const K=`calc(${a} - 40px)`,we=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:s=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:s.row.user&&s.row.user.avatar?atob(s.row.user.avatar):ie}),inputFilterType:"text",align:"center"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:`${n("archbase:Nome de Usuário")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:300,header:`${n("archbase:Expira em")}`,render:s=>e.jsx(t.Text,{size:"sm",children:s.row.expirationDate}),inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:`${n("archbase:Revogado ?")}`,inputFilterType:"checkbox"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"expired",dataType:"boolean",header:`${n("archbase:Expirado ?")}`,inputFilterType:"checkbox"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:`${n("archbase:Token Acesso")}`,size:300,inputFilterType:"text"})]}),ve=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"avatar",dataType:"image",size:80,header:`${n("archbase:Foto")}`,render:s=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:s.row.avatar?atob(s.row.avatar):ie}),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1,align:"center"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"nickname",dataType:"text",size:120,header:`${n("archbase:Apelido")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"email",dataType:"text",header:`${n("archbase:Email")}`,size:300,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"accountDeactivated",dataType:"boolean",header:`${n("archbase:Desativado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"profile.name",dataType:"text",header:`${n("archbase:Perfil")}`,size:200,render:s=>lt(s.row),inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"groups",dataType:"text",size:300,header:`${n("archbase:Grupos")}`,render:s=>ct(s.row),enableSorting:!1,enableColumnFilter:!1,enableGlobalFilter:!1}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"isAdministrator",dataType:"boolean",header:`${n("archbase:Admin ?")}`,inputFilterType:"checkbox"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"changePasswordOnNextLogin",dataType:"boolean",header:`${n("archbase:Alt.senha próximo login?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"allowPasswordChange",dataType:"boolean",header:`${n("archbase:Pode alterar senha?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"allowMultipleLogins",dataType:"boolean",header:`${n("archbase:Permite multiplos logins?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"passwordNeverExpires",dataType:"boolean",header:`${n("archbase:Senha nunca expira?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"accountLocked",dataType:"boolean",header:`${n("archbase:Bloqueado?")}`,inputFilterType:"checkbox",size:120}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"unlimitedAccessHours",dataType:"boolean",header:`${n("archbase:Horário acesso ilimitado?")}`,inputFilterType:"checkbox",size:140})]}),Re=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do grupo")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),ke=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do perfil")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),De=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"name",dataType:"text",size:300,header:`${n("archbase:Nome do recurso")}`,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"description",dataType:"text",header:`${n("archbase:Descrição")}`,size:800,inputFilterType:"text"})]}),Ge=()=>{const s=T.UserDto.newInstance();S||(s.id=void 0),C.insert(s),P(T.SecurityType.USER)},Ee=s=>{C.isEmpty()||C.gotoRecordByData(s)&&(C.edit(),P(T.SecurityType.USER))},Pe=s=>{C.isEmpty()||C.gotoRecordByData(s)&&o.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o usuário ")}${s.name} ?`,()=>{C.remove()},()=>{})},Fe=s=>{C.isEmpty()||C.gotoRecordByData(s)&&P(T.SecurityType.USER)},ze=s=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[k?.beforeDefaultUserActions?.(s),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Fe(s),children:e.jsx(v.IconEye,{size:20,color:g==="dark"?x.colors.blue[8]:x.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ee(s),children:e.jsx(v.IconEdit,{size:20,color:g==="dark"?x.colors.yellow[8]:x.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Pe(s),children:e.jsx(v.IconTrashX,{size:20,color:g==="dark"?x.colors.red[8]:x.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:ce,children:e.jsx(v.IconShieldCheckered,{size:20,color:g==="dark"?x.colors.green[8]:x.colors.green[4]})})}),k?.afterDefaultUserActions?.(s)]}),$e=()=>{const s=T.GroupDto.newInstance();S||(s.id=void 0),L.insert(s),P(T.SecurityType.GROUP)},Me=s=>{L.isEmpty()||L.gotoRecordByData(s)&&(L.isEditing()||L.edit(),P(T.SecurityType.GROUP))},Ve=s=>{L.isEmpty()||L.gotoRecordByData(s)&&o.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o grupo ")}${s.name} ?`,()=>{L.remove()},()=>{})},Be=s=>{L.isEmpty()||L.gotoRecordByData(s)&&P(T.SecurityType.GROUP)},Le=s=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[k?.beforeDefaultGroupActions?.(s),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Be(s),children:e.jsx(v.IconEye,{size:20,color:g==="dark"?x.colors.blue[8]:x.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Me(s),children:e.jsx(v.IconEdit,{size:20,color:g==="dark"?x.colors.yellow[8]:x.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ve(s),children:e.jsx(v.IconTrashX,{size:20,color:g==="dark"?x.colors.red[8]:x.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:le,children:e.jsx(v.IconShieldCheckered,{size:20,color:g==="dark"?x.colors.green[8]:x.colors.green[4]})})}),k?.afterDefaultGroupActions?.(s)]}),Q=r.useValidationErrors(),Ue=async()=>{try{await C.save()}catch{return}P(""),Q?.clearAll()},Ne=()=>{P(""),C.isBrowsing()||C.cancel(),Q?.clearAll()},Oe=async()=>{try{await L.save()}catch{return}P(""),Q?.clearAll()},We=()=>{P(""),L.isBrowsing()||L.cancel(),Q?.clearAll()},qe=async()=>{try{await N.save()}catch{return}P(""),Q?.clearAll()},He=()=>{P(""),N.isBrowsing()||N.cancel(),Q?.clearAll()},Ye=()=>{const s=T.ProfileDto.newInstance();S||(s.id=void 0),N.insert(s),P(T.SecurityType.PROFILE)},_e=s=>{N.isEmpty()||N.gotoRecordByData(s)&&(N.isEditing()||N.edit(),P(T.SecurityType.PROFILE))},Je=s=>{N.isEmpty()||N.gotoRecordByData(s)&&o.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja remover o perfil ")}${s.name} ?`,()=>{N.remove()},()=>{})},Ze=s=>{N.isEmpty()||N.gotoRecordByData(s)&&P(T.SecurityType.PROFILE)},Xe=s=>e.jsxs(t.Group,{gap:1,wrap:"nowrap",children:[k?.beforeDefaultProfileActions?.(s),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Ze(s),children:e.jsx(v.IconEye,{size:20,color:g==="dark"?x.colors.blue[8]:x.colors.blue[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>_e(s),children:e.jsx(v.IconEdit,{size:20,color:g==="dark"?x.colors.yellow[8]:x.colors.yellow[4]})}),e.jsx(t.ActionIcon,{variant:"transparent",onClick:()=>Je(s),children:e.jsx(v.IconTrashX,{size:20,color:g==="dark"?x.colors.red[8]:x.colors.red[4]})}),e.jsx(t.Tooltip,{withinPortal:!0,withArrow:!0,position:"left",label:`${n("archbase:Edit permissions")}`,children:e.jsx(t.ActionIcon,{variant:"transparent",onClick:de,children:e.jsx(v.IconShieldCheckered,{size:20,color:g==="dark"?x.colors.green[8]:x.colors.green[4]})})}),k?.afterDefaultProfileActions?.(s)]}),Qe=()=>{const s=j.getCurrentRecord();s&&o.ArchbaseDialog.showConfirmDialogYesNo(`${n("archbase:Confirme")}`,`${n("archbase:Deseja revogar o token de Acesso do usuário ")}${s.user.name} ?`,async()=>{await W.revoke(s.token).then(async()=>{o.ArchbaseNotifications.showSuccess(`${n("mentors:Informação")}`,`${n("mentors:Token de Acesso revogado com sucesso!")}`),j.refreshData()}).catch($=>{o.ArchbaseDialog.showErrorWithDetails(`${n("mentors:Atenção")}`,r.processErrorMessage($),r.processDetailErrorMessage($))})},()=>{})},ce=()=>{F(T.SecurityType.USER)},le=()=>{F(T.SecurityType.GROUP)},de=()=>{F(T.SecurityType.PROFILE)},re=()=>{F("")},Ke=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:Ge,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:ce,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),et=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:$e,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:le,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),tt=()=>e.jsxs(t.Flex,{justify:"space-between",style:{width:"50%"},children:[e.jsxs(t.Group,{align:"end",gap:"4px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:Ye,children:`${n("archbase:New")}`}),e.jsx(t.Button,{color:"blue",leftSection:e.jsx(v.IconEdit,{}),onClick:de,children:`${n("archbase:Edit permissions")}`})]}),e.jsx(t.Flex,{align:"flex-start",justify:"flex-end",style:{width:"200px"}})]}),at=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsx(t.Group,{align:"start",gap:"4px",wrap:"nowrap",children:e.jsx(t.Button,{disabled:!j.getCurrentRecord(),color:"red",leftSection:e.jsx(v.IconTrashX,{}),onClick:Qe,children:`${n("archbase:Revoke")}`})})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Tabs,{variant:"pills",value:u,onChange:B,children:e.jsxs(t.Tabs.List,{children:[e.jsx(t.Tabs.Tab,{value:"users",children:`${n("Usuários")}`}),e.jsx(t.Tabs.Tab,{value:"groups",children:`${n("Grupos")}`}),e.jsx(t.Tabs.Tab,{value:"profiles",children:`${n("Perfis")}`}),e.jsx(t.Tabs.Tab,{value:"resources",children:`${n("Recursos")}`}),e.jsx(t.Tabs.Tab,{value:"accessTokens",children:`${n("Tokens Acesso")}`})]})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:u==="users"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:E,printTitle:"Usuários",width:"100%",height:"100%",withBorder:!1,dataSource:C,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:G,isError:!!w,error:w,enableGlobalFilter:!0,getRowId:Z,toolbarLeftContent:Ke(),renderRowActions:ze,actionsColumnWidth:k?.userActionsColumnWidth,children:ve})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:u==="groups"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:O,printTitle:"Grupos",width:"100%",height:"100%",withBorder:!1,dataSource:L,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:ae,isError:!!w,error:w,enableGlobalFilter:!0,getRowId:J,renderRowActions:Le,actionsColumnWidth:k?.groupActionsColumnWidth,children:Re,toolbarLeftContent:et()})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:u==="profiles"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:m,printTitle:"Perfis",width:"100%",height:"100%",withBorder:!1,dataSource:N,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!0,pageSize:50,isLoading:ye,isError:!!w,error:w,enableGlobalFilter:!0,getRowId:i,toolbarLeftContent:tt(),renderRowActions:Xe,actionsColumnWidth:k?.profileActionsColumnWidth,children:ke})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:u==="resources"?"flex":"none",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:y,printTitle:"Recursos",width:"100%",height:"100%",withBorder:!1,dataSource:Se,withColumnBorders:!0,striped:!1,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:je,isError:!!w,error:w,enableGlobalFilter:!0,getRowId:c,children:De})}),e.jsx(t.Paper,{withBorder:!0,mt:"md",style:{height:K,display:u==="accessTokens"?"flex":"none",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:A,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:j,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:z,isError:!!w,error:w,enableGlobalFilter:!0,getRowId:V,toolbarLeftContent:at(),children:we})}),H===T.SecurityType.USER?e.jsx(ge,{onClickOk:Ue,opened:!0,dataSource:C,onClickCancel:Ne,options:h}):null,H===T.SecurityType.GROUP?e.jsx(fe,{onClickOk:Oe,opened:!0,dataSource:L,onClickCancel:We,options:f}):null,H===T.SecurityType.PROFILE?e.jsx(pe,{onClickOk:qe,opened:!0,dataSource:N,onClickCancel:He,options:d}):null,U===T.SecurityType.USER?e.jsx(te,{dataSource:C,opened:!!U,close:re}):null,U===T.SecurityType.GROUP?e.jsx(te,{dataSource:L,opened:!!U,close:re}):null,U===T.SecurityType.PROFILE?e.jsx(te,{dataSource:N,opened:!!U,close:re}):null]})}function ut({height:a="400px",width:p="100%"}){r.useArchbaseTheme();const S=R.useArchbaseStore("apiTokenStore"),h={validateEntity:()=>[]},{colorScheme:d}=t.useMantineColorScheme(),[f,k]=b.useState(void 0),x=R.useArchbaseRemoteServiceApi(r.ARCHBASE_IOC_API_TYPE.ApiToken),[M,g]=b.useState(""),w=b.useRef(null),l=E=>E.id,{dataSource:u}=R.useArchbaseDataSource({initialData:[],name:"dataSource"}),B=R.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-LocalDataSource",u,void 0,void 0),{dataSource:I,isLoading:Y}=R.useArchbaseRemoteDataSource({name:"dsApiToken",service:x,store:S,validator:h,pageSize:25,loadOnStart:!0,onLoadComplete:E=>{},onDestroy:E=>{},onError:(E,O)=>{k(E),o.ArchbaseNotifications.showError(r.getI18nextInstance().t("archbase:WARNING"),E,O)}}),q=R.useArchbaseV1V2Compatibility("ArchbaseApiTokenView-RemoteDataSource",I,void 0,void 0),_=`calc(${a} - 40px)`,H=e.jsxs(o.Columns,{children:[e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.avatar",dataType:"image",size:80,header:"Foto",render:E=>e.jsx("img",{style:{borderRadius:50,height:"32px",maxHeight:"32px"},src:E.row.user&&E.row.user.avatar?atob(E.row.user.avatar):ie}),inputFilterType:"text",align:"center"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.userName",dataType:"text",size:300,header:"Nome de Usuário",inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"user.email",dataType:"text",header:"Email",size:240,inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"token",dataType:"text",header:"Token API",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"tenantId",dataType:"text",header:"Tenant ID",size:260,inputFilterType:"text",enableClickToCopy:!0}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"expirationDate",dataType:"text",size:180,header:"Validade",render:E=>{if(!E.row.expirationDate)return e.jsx(t.Text,{c:"dimmed",children:"Sem expiração"});const O=new Date;O.setHours(0,0,0,0);const m=new Date(E.row.expirationDate);m.setHours(0,0,0,0);const y=m.getTime()-O.getTime(),A=Math.ceil(y/(1e3*60*60*24));let J=Math.max(0,Math.min(100,A/365*100)),i="green",c="";A<0?(i="red",J=100,c=`Vencido há ${Math.abs(A)} dia${Math.abs(A)!==1?"s":""}`):A===0?(i="red",J=5,c="Vence hoje"):A<=7?(i="red",c=`${A} dia${A!==1?"s":""}`):A<=30?(i="orange",c=`${A} dias`):A<=90?(i="yellow",c=`${A} dias`):(i="green",c=`${A} dias`);const V=A<0?`Vencido em ${m.toLocaleDateString()}`:`Expira em ${m.toLocaleDateString()}`;return e.jsx(t.Tooltip,{label:V,withArrow:!0,children:e.jsxs(t.Group,{gap:"xs",wrap:"nowrap",children:[e.jsx(t.RingProgress,{size:36,thickness:4,roundCaps:!0,sections:[{value:A<0?100:J,color:i}]}),e.jsx(t.Text,{size:"sm",c:A<0?"red":void 0,fw:A<=7?600:void 0,children:c})]})})},inputFilterType:"text"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"activated",dataType:"boolean",header:"Ativado ?",inputFilterType:"checkbox"}),e.jsx(o.ArchbaseDataGridColumn,{dataField:"revoked",dataType:"boolean",header:"Revogado ?",inputFilterType:"checkbox"})]}),P=()=>{u.insert(T.ApiTokenDto.newInstance()),u&&!B.isDataSourceV2&&B.v1State.forceUpdate(),g("apiToken")},U=()=>{I.getCurrentRecord()&&o.ArchbaseDialog.showConfirmDialogYesNo(`${r.getI18nextInstance().t("archbase:Confirme")}`,`${r.getI18nextInstance().t("archbase:Deseja revogar o token de API do usuário ")}${I.getCurrentRecord().user.name} ?`,async()=>{await x.revoke(I.getCurrentRecord().token).then(async()=>{o.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API revogado com sucesso!")}`),I.refreshData(),I&&!q.isDataSourceV2&&q.v1State.forceUpdate()}).catch(E=>{o.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(E),r.processDetailErrorMessage(E))})},()=>{})},F=()=>{g("")},W=async(E,O)=>{const m=u.getCurrentRecord();if(m)try{if(u.validate(),!m.user||!m.user.email){o.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("archbase:WARNING")}`,`${r.getI18nextInstance().t("archbase:Selecione um usuário para o token de API")}`,"");return}await x.create(m.user.email,m.expirationDate,m.name,m.description).then(async y=>{u.cancel(),u&&!B.isDataSourceV2&&B.v1State.forceUpdate(),I.append(y),I&&!q.isDataSourceV2&&q.v1State.forceUpdate(),o.ArchbaseNotifications.showSuccess(`${r.getI18nextInstance().t("mentors:Informação")}`,`${r.getI18nextInstance().t("mentors:Token de API gerado com sucesso!")}`),O&&O(!0)}).catch(y=>{o.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(y),r.processDetailErrorMessage(y))})}catch(y){o.ArchbaseDialog.showErrorWithDetails(`${r.getI18nextInstance().t("mentors:Atenção")}`,r.processErrorMessage(y),r.processDetailErrorMessage(y))}},n=()=>e.jsx(t.Flex,{justify:"space-between",style:{width:"50%"},children:e.jsxs(t.Group,{align:"start",gap:"2px",wrap:"nowrap",children:[e.jsx(t.Button,{color:"green",leftSection:e.jsx(v.IconPlus,{}),onClick:P,children:r.getI18nextInstance().t("archbase:New")}),e.jsx(t.Button,{disabled:!I.getCurrentRecord(),color:"red",leftSection:e.jsx(v.IconTrashX,{}),onClick:U,children:r.getI18nextInstance().t("archbase:Revoke")})]})});return e.jsxs(t.Paper,{p:"md",style:{height:a,display:"flex",flexDirection:"column"},children:[e.jsx(t.Paper,{withBorder:!0,style:{height:_,display:"flex",width:"100%",flex:1,minHeight:0,overflow:"auto"},children:e.jsx(o.ArchbaseDataGrid,{gridRef:w,printTitle:"Tokens de API",width:"100%",height:"100%",withBorder:!1,dataSource:I,withColumnBorders:!0,striped:!0,enableTopToolbar:!0,enableRowActions:!1,pageSize:50,isLoading:Y,isError:!!f,error:f,enableGlobalFilter:!0,getRowId:l,toolbarLeftContent:n(),children:H})}),M==="apiToken"?e.jsx(Ae,{onClickOk:F,opened:!0,dataSource:u,onCustomSave:W,onClickCancel:F}):null]})}exports.ApiTokenModal=Ae;exports.ArchbaseApiTokenView=ut;exports.ArchbaseDualListSelector=be;exports.ArchbaseSecurityView=dt;exports.GroupModal=fe;exports.PermissionsSelectorModal=te;exports.ProfileModal=pe;exports.RenderProfileUserItem=me;exports.UserModal=ge;
10
10
  //# sourceMappingURL=index.cjs.map