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