@acorex/modules 21.0.0-next.37 → 21.0.0-next.39
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/fesm2022/{acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs → acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs} +260 -80
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-CU2FvMTx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs → acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs} +14 -19
- package/fesm2022/acorex-modules-ai-management-agent.entity-CUO9Jczk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs → acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs} +52 -8
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-daTGJ1Rd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs} +49 -7
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-Cmprtps-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-assist.entity-DX2U9sd5.mjs.map → acorex-modules-ai-management-assist.entity-C1nM_x4Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs → acorex-modules-ai-management-index-CjTjfydP.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-index-KX3TVRXr.mjs.map → acorex-modules-ai-management-index-CjTjfydP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BeuDUahR.mjs.map → acorex-modules-ai-management-model.entity-CPHxj8h7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-D-9unl6i.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-a6MjMiXF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs} +509 -436
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DniyhnPK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-Ds8pRzvE.mjs.map → acorex-modules-assessment-management-assessment-case.entity-BggEmLhz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-tq1Q4wkS.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CWR1QZv1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-yf0PnWC0.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-qajn_XDh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-B2SncZAW.mjs → acorex-modules-assessment-management-index-B2l5Se1l.mjs} +25 -26
- package/fesm2022/acorex-modules-assessment-management-index-B2l5Se1l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs → acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs} +10 -11
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-BCS477_k.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-BrI5gFtx.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-C8lyuqE-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-XD5IJpvW.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DtowOBLy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CZ32sQ9M.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-Br7XcU_u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-C7gf4s1y.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-DNUf5RD3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-BZyIlYWg.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-BdBKHvHP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-CmmThk2f.mjs.map → acorex-modules-assessment-management-questionnaire.entity-B5aP_P4z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-GLqvK8wB.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-C3Qt5fmY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CU1TVonZ.mjs.map → acorex-modules-assessment-management-view-session-answers.command-C9VS-Tp3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs → acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs} +519 -81
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-F7Ok5dhs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-history.entity-CSCwWY_F.mjs.map → acorex-modules-asset-management-asset-system-history.entity-D1HZG9wO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs → acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs} +60 -38
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-DDh5RK5M.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-6Rauu2Z1.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-em7lQ1eu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs → acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs} +6 -48
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-BtcNy6Ra.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs → acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs} +53 -100
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-DWhrFVFI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-CamZGWTM.mjs → acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs} +66 -56
- package/fesm2022/acorex-modules-asset-management-asset.entity-BEjXfkPD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-assetSystem.entity-Dq2ASslk.mjs.map → acorex-modules-asset-management-assetSystem.entity-CJCVALaz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +38 -41
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1046 -249
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1098 -706
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +63 -35
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +101 -57
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs → acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs} +48 -21
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BmF6_P6d.mjs.map +1 -0
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +18 -99
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs +7137 -0
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-DtODwbIN.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DQJJtCqU.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BtczD4wu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-gg2fpT2N.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CDUdEH-e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-CHUaAnID.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-re5UvGp7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-B93x1uP_.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-nbFz4LAe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-McM3l12Q.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CW2NlX59.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-_jjy1oeg.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-Bi5XgfoL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-5CmdhowW.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-DcW6sK01.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs → acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs} +3 -3
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-CUxVZo0w.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BIZxoVIS.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-B7LBO-UA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs +443 -0
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-D6ATa-HR.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -3579
- package/fesm2022/acorex-modules-maintenance-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +11 -5
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs +356 -0
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-BrVNMCi_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs +181 -0
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-CO8jMwVJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs +359 -0
- package/fesm2022/acorex-modules-organization-management-business-unit.entity-WiTemBLu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs → acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs} +33 -29
- package/fesm2022/acorex-modules-organization-management-chart.entity-D6Y7kZfM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-company.entity-BohMJQNi.mjs → acorex-modules-organization-management-company.entity-wpNiu8g3.mjs} +6 -8
- package/fesm2022/acorex-modules-organization-management-company.entity-wpNiu8g3.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-data-source-evaluator-scope.provider-BrKtojM9.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs +59 -0
- package/fesm2022/acorex-modules-organization-management-entity.provider-B0XbUW1I.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs +19 -0
- package/fesm2022/acorex-modules-organization-management-feature-definition.provider-D7t_nNNk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-S9Jlmr-o.mjs.map → acorex-modules-organization-management-job-definition.entity-Cb6zEf65.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs +95 -0
- package/fesm2022/acorex-modules-organization-management-job-level.datasource-RDGmLrqD.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs +274 -0
- package/fesm2022/acorex-modules-organization-management-job-level.entity-oedF18Xm.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs +193 -0
- package/fesm2022/acorex-modules-organization-management-menu.provider-DAKmAxld.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs +1081 -0
- package/fesm2022/acorex-modules-organization-management-org-chart.page-mHV0AWGZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs +77 -0
- package/fesm2022/acorex-modules-organization-management-permission-definition.provider-Be8mvS_Z.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-DLPufeWz.mjs → acorex-modules-organization-management-position.entity-BveMCKMd.mjs} +108 -106
- package/fesm2022/acorex-modules-organization-management-position.entity-BveMCKMd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs} +25 -29
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-ivufxxLL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CfRBMxLk.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DptdG1Nt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs → acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs} +14 -21
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-qO33kvo_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs +137 -0
- package/fesm2022/acorex-modules-organization-management-responsibility-level.entity-zOjyjm5H.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-CMmr3wJa.mjs.map → acorex-modules-organization-management-responsibility.entity-jWEiPi5-.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-D3ged-4h.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs → acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs} +68 -8
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-D9TZoACE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-8sTjn5Jn.mjs.map → acorex-modules-organization-management-team-member.entity-Bz4o7c3d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-CGR0UlYl.mjs → acorex-modules-organization-management-team.entity-uVffZPeg.mjs} +100 -37
- package/fesm2022/acorex-modules-organization-management-team.entity-uVffZPeg.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs +48 -0
- package/fesm2022/acorex-modules-organization-management-widget-definition.provider-D4yjuqwx.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +1 -2216
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs +40 -0
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs +33 -0
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +14 -94
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs → acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs} +107 -107
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BjKrHoBg.mjs.map +1 -0
- package/fesm2022/acorex-modules-report-management.mjs +1 -1
- package/fesm2022/{acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs → acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs} +65 -76
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BoUiTlmu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-class-status.entity-Bg7d38wV.mjs.map → acorex-modules-reservation-management-reservation-class-status.entity-D-ZdqKa8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-resource-type.entity-BK-rLEXi.mjs.map → acorex-modules-reservation-management-reservation-resource-type.entity-zPD-Psml.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs} +2 -2
- package/fesm2022/{acorex-modules-reservation-management-reservation-status-transition.entity-2ngXhKAV.mjs.map → acorex-modules-reservation-management-reservation-status-transition.entity-CQ85ZAGF.mjs.map} +1 -1
- package/fesm2022/acorex-modules-reservation-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +269 -190
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-task-management-task-board.page-C1H_GTqy.mjs → acorex-modules-task-management-task-board.page-DA2563QE.mjs} +15 -10
- package/fesm2022/acorex-modules-task-management-task-board.page-DA2563QE.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +27 -13
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs +5 -0
- package/fesm2022/acorex-modules-workflow-management-WORKFLOW_DEFINITION_ACTIVITIES_PAGE_COMPONENT_KEY-D6q__Ewd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs} +14 -6
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-CDo0QVFy.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs} +31 -16
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs → acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs} +10 -12
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-B3DkgDQb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index-DWIDQsWq.mjs → acorex-modules-workflow-management-index-C9Qc07oK.mjs} +125 -3
- package/fesm2022/acorex-modules-workflow-management-index-C9Qc07oK.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs +726 -0
- package/fesm2022/acorex-modules-workflow-management-index-D8fjNgQJ.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs +294 -0
- package/fesm2022/acorex-modules-workflow-management-index-DMnJRDbq.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs +56 -0
- package/fesm2022/acorex-modules-workflow-management-save-workflow-definition-activities.command-fFO152ni.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs → acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs} +101 -140
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs → acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs} +10 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-sfsoT0is.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs → acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs} +11 -7
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +746 -402
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/organization-management/README.md +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-ai-management.d.ts +64 -16
- package/types/acorex-modules-asset-management.d.ts +115 -58
- package/types/acorex-modules-common.d.ts +2 -4
- package/types/acorex-modules-dashboard-management.d.ts +226 -109
- package/types/acorex-modules-data-management.d.ts +2 -2
- package/types/acorex-modules-document-management.d.ts +1 -2
- package/types/acorex-modules-human-capital-management.d.ts +6 -0
- package/types/acorex-modules-maintenance-management.d.ts +561 -41
- package/types/acorex-modules-notification-management.d.ts +7 -3
- package/types/acorex-modules-organization-management.d.ts +52 -107
- package/types/acorex-modules-security-management.d.ts +15 -1
- package/types/acorex-modules-task-management.d.ts +8 -13
- package/types/acorex-modules-workflow-management.d.ts +67 -13
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-WuqoH4OL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-DK9GNMdR.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CWXEW9yL.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-CNKwIqUE.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BNK6C-Ng.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-index-B2SncZAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-question.command-DPzL8C44.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BDs0ZgD5.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-system-type.entity-CcefMT8J.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section.entity-r_H1QGwp.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-cWVqpbHH.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-CamZGWTM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-BRpqFRuI.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-D_lQrda5.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs +0 -91
- package/fesm2022/acorex-modules-organization-management-business-unit-type.entity-C-EKX6Oy.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-chart.entity-bRxA8XHZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-BohMJQNi.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs +0 -784
- package/fesm2022/acorex-modules-organization-management-org-chart.page-eRTHzLDQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-DLPufeWz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-mMZywr0X.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibilities-matrix.component-B06t1G1E.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member-role.entity-CZ4MibH4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-CGR0UlYl.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-DPSNAAct.mjs.map +0 -1
- package/fesm2022/acorex-modules-reservation-management-acorex-modules-reservation-management-BMemqW2V.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-C1H_GTqy.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-column.component-C8lgSjfc.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BGUPxGXP.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-activity-definition.entity-Bvs1OfE_.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-DWIDQsWq.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-definition.entity-aJou58ED.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-Cq7LE7u5.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-CIakASVR.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-security-management.mjs","sources":["../../../../libs/modules/security-management/src/lib/const.ts","../../../../libs/modules/security-management/src/lib/entities/device-sessions/device-sessions.entity.ts","../../../../libs/modules/security-management/src/lib/entities/device-sessions/device-sessions.module.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.entity.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.service.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.types.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.entity.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.service.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.module.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.entity.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.service.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.module.ts","../../../../libs/modules/security-management/src/lib/menu.keys.ts","../../../../libs/modules/security-management/src/lib/permission.keys.ts","../../../../libs/modules/security-management/src/lib/features.keys.ts","../../../../libs/modules/security-management/src/lib/manifest.ts","../../../../libs/modules/security-management/src/lib/entities/profile/profile.entity.ts","../../../../libs/modules/security-management/src/lib/entities/profile/profile.module.ts","../../../../libs/modules/security-management/src/lib/entity.provider.ts","../../../../libs/modules/security-management/src/lib/feature-definition.provider.ts","../../../../libs/modules/security-management/src/lib/features/permissions/workflows/assign-permissions.workflow.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget.config.ts","../../../../libs/modules/security-management/src/lib/features/permissions/widget-definition.provider.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions.module.ts","../../../../libs/modules/security-management/src/lib/features/security-evaluator-scope.provider.ts","../../../../libs/modules/security-management/src/lib/menu.provider.ts","../../../../libs/modules/security-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/security-management/src/lib/search-command.provider.ts","../../../../libs/modules/security-management/src/lib/user-avatar.provider.ts","../../../../libs/modules/security-management/src/lib/workflows/terminate-entity.workflow.ts","../../../../libs/modules/security-management/src/lib/security-management.module.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.html","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor-popup.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor-popup.component.html","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-view.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-edit.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-column.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/index.ts","../../../../libs/modules/security-management/src/acorex-modules-security-management.ts"],"sourcesContent":["const config = {\n i18n: 'security-management',\n profileEntity: 'Profile',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'security-management',\n name: 'SecurityManagement',\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-shield-halved',\n },\n entities: {\n policy: {\n name: 'Policy',\n title: `@${config.i18n}:policies.entities.policy.title`,\n titlePlural: `@${config.i18n}:policies.entities.policy.plural`,\n icon: 'fa-light fa-clipboard-list',\n },\n deviceSessions: {\n name: 'DeviceSessions',\n title: `@${config.i18n}:sessions.entities.session.title`,\n titlePlural: `@${config.i18n}:sessions.entities.session.plural`,\n icon: 'fa-light fa-laptop',\n },\n users: {\n name: 'User',\n title: `@${config.i18n}:users.entities.user.title`,\n titlePlural: `@${config.i18n}:users.entities.user.plural`,\n icon: 'fa-light fa-users',\n },\n roles: {\n name: 'Role',\n title: `@${config.i18n}:roles.entities.role.title`,\n titlePlural: `@${config.i18n}:roles.entities.role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n profile: {\n name: 'Profile',\n title: `@${config.i18n}:profile.entities.profile.title`,\n titlePlural: `@${config.i18n}:profile.entities.profile.plural`,\n icon: 'fa-light fa-user',\n },\n },\n};\n","import { AXMDeviceSessionsService } from '@acorex/modules/auth';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\n\nexport async function deviceSessionsFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDeviceSessionsService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.deviceSessions.name,\n title: RootConfig.entities.deviceSessions.title,\n icon: RootConfig.entities.deviceSessions.icon,\n formats: {\n individual: RootConfig.entities.deviceSessions.title,\n plural: RootConfig.entities.deviceSessions.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [{ name: 'compare' }],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'device',\n title: `@${i18n}:sessions.entities.session.groups.device`,\n },\n {\n id: 'session',\n title: `@${i18n}:sessions.entities.session.groups.session`,\n },\n ],\n properties: [\n {\n name: 'tenant.name',\n title: '@security-management:sessions.entities.session.fields.tenant.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'user.name',\n title: '@security-management:sessions.entities.session.fields.user.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'application.name',\n title: '@security-management:sessions.entities.session.fields.application.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'clientName',\n title: '@security-management:sessions.entities.session.fields.client-name.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'location',\n title: '@security-management:sessions.entities.session.fields.location.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'ipAddress',\n title: '@security-management:sessions.entities.session.fields.ip-address.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'lastLoginDate',\n title: '@security-management:sessions.entities.session.fields.last-login-date.title',\n groupId: 'session',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'dateTime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: {\n format: 'MM/DD/YYYY hh:mm a',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'operatingSystem',\n title: '@security-management:sessions.entities.session.fields.operating-system.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'deviceName',\n title: '@security-management:sessions.entities.session.fields.device-name.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [\n { name: 'tenant.name' },\n { name: 'user.name' },\n { name: 'application.name' },\n { name: 'clientName' },\n { name: 'location' },\n { name: 'deviceName' },\n { name: 'lastLoginDate' },\n { name: 'operatingSystem' },\n ],\n commands: {\n terminate: {\n execute: async (id: string) => {\n const x = await dataService.terminate(id);\n return x;\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n const res = await dataService.query(e);\n console.log('res', res);\n return res;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{user.name}}',\n sections: [\n {\n id: 'session',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'device',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'tenant.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'application.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'clientName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'location',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'ipAddress',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'lastLoginDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'operatingSystem',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'deviceName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions({ create: false, delete: false }),\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMDeviceSessionsService, AXMDeviceSessionsServiceImpl } from '@acorex/modules/auth';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDeviceSessionsService,\n useClass: AXMDeviceSessionsServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementDeviceSessionsEntityModule {}\n","import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\n\nexport async function policyFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.policy.name,\n title: RootConfig.entities.policy.title,\n icon: RootConfig.entities.policy.icon,\n formats: {\n individual: RootConfig.entities.policy.title,\n plural: RootConfig.entities.policy.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementPolicyEntityModel } from './policy.types';\n\nexport abstract class AXMPolicyService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementPolicyEntityModel\n> {}\n\n@Injectable()\nexport class AXMPolicyServiceImpl extends AXMPolicyService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.policy.name}`);\n }\n}\n","import { AXPExpression } from '@acorex/platform/core';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMSecurityManagementPolicyEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n description?: string;\n\n rules: {\n conditions: AXPExpression;\n effects: AXMPolicyEffectRule[]; // list of effect rules\n }[];\n\n permission: string; // related permission\n scope: AXMPolicyScope;\n\n resource: {\n type: string;\n target: string;\n };\n}\n\nexport type AXMPolicyScope = 'system' | 'tenant' | 'user';\n\nexport type AXMPolicyEffect = 'editable' | 'readonly' | 'hidden' | 'immutable' | 'masked';\n\nexport interface AXMPolicyEffectRule {\n effect: AXMPolicyEffect;\n target: string;\n}\n\n// const glocbal_readonly_policy = {\n// name: 'readonly',\n// resource: {\n// reference: '*',\n// type: 'entity',\n// },\n// permission: 'readonly-policy',\n// scope: 'system',\n// rules: [\n// {\n// conditions: '{{ isHidden==true }}',\n// effects: [\n// {\n// target: '*',\n// effect: 'readonly',\n// },\n// ],\n// },\n// ],\n// } as AXMSecurityManagementPolicyEntityModel;\n\n\n// const readonly_file_by_role_policy = {\n// name: 'readonly_file_by_role_policy',\n// resource: {\n// type: 'entity',\n// reference: 'COntentManagement.Promotion',\n// },\n// permission: 'readonly-policy',\n// scope: 'system',\n// rules: [\n// {\n// conditions: '{{ createdDate > 2025-01-01 && user.role!=\"admin\"}}',\n// effects: [\n// {\n// target: 'imageId',\n// effect: 'readonly',\n// },\n// ],\n// },\n// ],\n// } as AXMSecurityManagementPolicyEntityModel;\n","import { AXPEntity, AXPEntityCommandScope, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\n\nexport async function rolesFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.roles.name,\n title: RootConfig.entities.roles.title,\n icon: RootConfig.entities.roles.icon,\n formats: {\n individual: RootConfig.entities.roles.title,\n plural: RootConfig.entities.roles.titlePlural,\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'permissions',\n title: `@${i18n}:permissions`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: `@general:terms.common.id`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `@general:terms.common.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'description',\n title: `@general:terms.common.description`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n rows: 3,\n },\n },\n },\n },\n {\n name: 'permissions',\n title: `@${i18n}:permissions`,\n groupId: 'permissions',\n schema: {\n dataType: 'array',\n interface: {\n type: 'permissions-editor',\n options: {\n multiple: true,\n },\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }, { name: 'permissions' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'permissions',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'permissions',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n label: {\n visible: false,\n },\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: `@${i18n}:permissions-feature.actions.assign.title`,\n command: 'assign-permissions',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementRolesEntityModel } from './roles.types';\n\nexport abstract class AXMSecurityManagementRolesEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementRolesEntityModel\n> {}\n\n@Injectable()\nexport class AXMSecurityManagementRolesEntityServiceImpl extends AXMSecurityManagementRolesEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.roles.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMSecurityManagementRolesEntityService,\n AXMSecurityManagementRolesEntityServiceImpl\n} from './roles.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMSecurityManagementRolesEntityService,\n useClass: AXMSecurityManagementRolesEntityServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementRolesEntityModule {}","import { AXDataSource } from '@acorex/cdk/common';\nimport { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { applyFilterArray, applyPagination, applySortArray } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\n\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\n\nexport async function usersFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const countries = [\n { id: 'IR', title: 'Iran' },\n { id: 'TR', title: 'Turkey' },\n { id: 'AE', title: 'United Arab Emirates' },\n ] as const;\n\n const provinces = [\n { id: 'TEH', countryId: 'IR', title: 'Tehran' },\n { id: 'ISF', countryId: 'IR', title: 'Isfahan' },\n { id: 'FRS', countryId: 'IR', title: 'Fars' },\n { id: 'IST', countryId: 'TR', title: 'Istanbul' },\n { id: 'ANK', countryId: 'TR', title: 'Ankara' },\n { id: 'IZM', countryId: 'TR', title: 'Izmir' },\n { id: 'DXB', countryId: 'AE', title: 'Dubai' },\n { id: 'AUH', countryId: 'AE', title: 'Abu Dhabi' },\n { id: 'SHJ', countryId: 'AE', title: 'Sharjah' },\n ] as const;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.users.name,\n title: RootConfig.entities.users.title,\n icon: RootConfig.entities.users.icon,\n formats: {\n individual: RootConfig.entities.users.title,\n plural: RootConfig.entities.users.titlePlural,\n searchResult: {\n title: '{{ displayName }}',\n description: `@security-management:users.entities.user.search-result-description`,\n },\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }],\n pages: [],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n {\n id: 'authorizations',\n title: `@${i18n}:users.entities.user.groups.authorizations`,\n },\n ],\n properties: [\n {\n name: 'username',\n title: '@general:terms.contact.username',\n groupId: 'basic-info',\n options: {\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {},\n },\n // hidden: \"{{ context.eval('displayName') != 'arash' }}\",\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'displayName',\n title: `@general:terms.common.display-name`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'countryId',\n title: '@general:terms.address.country',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: new AXDataSource({\n key: 'id',\n pageSize: 1000,\n load: async (query: any) => {\n let items = [...countries];\n if (query?.filter) {\n items = applyFilterArray(items, [query.filter]);\n }\n const rawSort = Array.isArray(query?.sort) ? query.sort : query?.sort ? [query.sort] : [];\n if (rawSort.length > 0) {\n items = applySortArray(items, rawSort);\n }\n const skip = query?.skip ?? 0;\n const take = query?.take ?? items.length;\n items = applyPagination(items, skip, take);\n return { items, total: countries.length };\n },\n byKey: async (key: unknown) => {\n const k = String(key);\n const item = countries.find((c) => c.id === k);\n if (!item) throw new Error(`Country not found: ${k}`);\n return item;\n },\n }),\n hasClearButton: true,\n },\n },\n },\n },\n {\n name: 'provinceId',\n title: '@general:terms.address.province',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n\n options: {\n valueField: 'id',\n textField: 'title',\n disabled: '{{ !context.eval(\"countryId\") }}',\n dataSource: new AXDataSource({\n key: 'id',\n pageSize: 1000,\n load: async (query: any) => {\n let items = [...provinces];\n if (query?.filter) {\n items = applyFilterArray(items, [query.filter]);\n }\n const rawSort = Array.isArray(query?.sort) ? query.sort : query?.sort ? [query.sort] : [];\n if (rawSort.length > 0) {\n items = applySortArray(items, rawSort);\n }\n const skip = query?.skip ?? 0;\n const take = query?.take ?? items.length;\n items = applyPagination(items, skip, take);\n return { items, total: items.length };\n },\n byKey: async (key: unknown) => {\n const k = String(key);\n const item = provinces.find((p) => p.id === k);\n if (!item) throw new Error(`Province not found: ${k}`);\n return item;\n },\n }),\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'countryId',\n operator: {\n type: 'equal',\n },\n value: '{{ context.eval(\"countryId\") }}',\n },\n ],\n },\n hasClearButton: true,\n },\n triggers: [\n {\n event: \"{{ events.context('countryId') }}\",\n action: '{{ widget.clear() }}',\n },\n ],\n },\n },\n },\n {\n name: 'password',\n title: '@security-management:users.entities.user.fields.password.title',\n groupId: 'authorizations',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'roleIds',\n title: '@security-management:users.entities.user.fields.roles.title',\n groupId: 'authorizations',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.Role',\n multiple: true,\n look: 'select',\n expose: [\n { source: 'id', target: 'roles.{id}' },\n { source: 'title', target: 'roles.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'username' }, { name: 'displayName' }, { name: 'roleIds', options: { dataPath: 'roles' } }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'authorizations',\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'countryId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'provinceId',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'authorizations',\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'nationalCode',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'mobile',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{displayName}}',\n\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'authorizations',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'displayName', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementUsersEntityModel } from './users.types';\n\nexport abstract class AXMUsersEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementUsersEntityModel\n> {}\n\n@Injectable()\nexport class AXMUsersEntityServiceImpl extends AXMUsersEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.users.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXMUsersEntityService, AXMUsersEntityServiceImpl } from './users.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMUsersEntityService,\n useClass: AXMUsersEntityServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementUsersEntityModule {}\n","export const AXPSecurityManagementMenuKeys = {\n Root: 'SecurityManagement:Menu',\n Users: 'SecurityManagement:Menu:Users',\n Roles: 'SecurityManagement:Menu:Roles',\n DeviceSessions: 'SecurityManagement:Menu:DeviceSessions',\n Policy: 'SecurityManagement:Menu:Policy',\n MyProfile: 'SecurityManagement:Menu:MyProfile',\n} as const;\n","//#region ---- Permission Keys ----\n\nexport const AXPSecurityManagementPermissionKeys = {\n User: {\n Management: 'SecurityManagement:Permission:User.Management',\n View: 'SecurityManagement:Permission:User.View',\n Edit: 'SecurityManagement:Permission:User.Edit',\n Delete: 'SecurityManagement:Permission:User.Delete',\n Create: 'SecurityManagement:Permission:User.Create',\n },\n Role: {\n Management: 'SecurityManagement:Permission:Role.Management',\n View: 'SecurityManagement:Permission:Role.View',\n Edit: 'SecurityManagement:Permission:Role.Edit',\n Delete: 'SecurityManagement:Permission:Role.Delete',\n Create: 'SecurityManagement:Permission:Role.Create',\n },\n DeviceSession: {\n Management: 'SecurityManagement:Permission:DeviceSession.Management',\n View: 'SecurityManagement:Permission:DeviceSession.View',\n Terminate: 'SecurityManagement:Permission:DeviceSession.Terminate',\n },\n Policy: {\n Management: 'SecurityManagement:Permission:Policy.Management',\n View: 'SecurityManagement:Permission:Policy.View',\n Edit: 'SecurityManagement:Permission:Policy.Edit',\n Delete: 'SecurityManagement:Permission:Policy.Delete',\n Create: 'SecurityManagement:Permission:Policy.Create',\n },\n} as const;\n\n//#endregion\n\n","//#region ---- Feature Keys ----\n\n/**\n * Security Management Module Feature Keys.\n * Defines all available features for the Security Management module.\n */\nexport const AXPSecurityManagementFeatureKeys = {\n ManageRoles: 'SecurityManagement:Feature:ManageRoles',\n ManageUsers: 'SecurityManagement:Feature:ManageUsers',\n MaxTotalUsers: 'SecurityManagement:Feature:MaxTotalUsers',\n ManageSessions: 'SecurityManagement:Feature:ManageSessions',\n ManagePolicies: 'SecurityManagement:Feature:ManagePolicies',\n} as const;\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Security Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const SecurityManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n required: true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { RootConfig } from '../../const';\nimport { AXMUsersEntityService } from '../users';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\n\nexport async function profileFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMUsersEntityService);\n const sessionService = injector.get(AXPSessionService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.profile.name,\n title: RootConfig.entities.profile.title,\n icon: RootConfig.entities.profile.icon,\n formats: {\n individual: RootConfig.entities.profile.title,\n plural: RootConfig.entities.profile.titlePlural,\n },\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n { name: 'archive' },\n ],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'contact',\n title: `@${i18n}:contactInformation`,\n },\n {\n id: 'address',\n title: `@${i18n}:addressInformation`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: \"@general:terms.common.id\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: { readOnly: true },\n },\n },\n },\n {\n name: 'username',\n title: \"@general:terms.contact.username\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'firstName',\n title: \"@general:terms.contact.first-name\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'lastName',\n title: \"@general:terms.contact.last-name\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'nationalCode',\n title: \"@security-management:profile.entities.profile.fields.national-code.title\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n { rule: 'required' },\n { rule: 'minLength', options: { value: 10 } },\n { rule: 'maxLength', options: { value: 10 } },\n ],\n },\n {\n name: 'password',\n title: \"@security-management:profile.entities.profile.fields.password.title\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.password,\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [],\n commands: {\n create: {\n execute: async (data: any) => { },\n },\n delete: {\n execute: async (id: any) => { },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async () => {\n const userId = await sessionService.user?.id;\n const user = await dataService.getOne(userId!);\n return user;\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => { },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n },\n update: {\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n },\n single: {\n title: '{{firstName}} {{lastName}}',\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n})\nexport class AXMSecurityManagementProfileEntityModule {}\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n public preload(): AXPEntityPreloadEntity[] {\n const { entities, module } = RootConfig;\n return [entities.users.name, entities.roles.name, entities.deviceSessions.name].map((entity) => ({\n module: module.name,\n entity,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n const { entities, module } = RootConfig;\n if (moduleName == module.name) {\n switch (entityName) {\n case RootConfig.entities.users.name:\n return (await import('./entities/users/users.entity')).usersFactory();\n case RootConfig.entities.roles.name:\n return (await import('./entities/roles/roles.entity')).rolesFactory();\n case RootConfig.entities.profile.name:\n return (await import('./entities/profile/profile.entity')).profileFactory(this.injector);\n case RootConfig.entities.deviceSessions.name:\n return (await import('./entities/device-sessions/device-sessions.entity')).deviceSessionsFactory(\n this.injector,\n );\n case RootConfig.entities.policy.name:\n return (await import('./entities/policy/policy.entity')).policyFactory();\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex/platform/core';\nimport { AXPSecurityManagementFeatureKeys } from './features.keys';\nimport { RootConfig } from './const';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\n/**\n * Security Management Module Feature Definition Provider.\n * Provides feature definitions for the Security Management module.\n */\nexport class AXMSecurityManagementFeatureDefinitionProvider\n implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n const i18n = RootConfig.config.i18n;\n\n // Manage Roles feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageRoles, {\n title: `@${i18n}:features.manage-roles.title`,\n description: `@${i18n}:features.manage-roles.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Manage Users feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageUsers, {\n title: `@${i18n}:features.manage-users.title`,\n description: `@${i18n}:features.manage-users.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Max Total Users feature (widget configuration)\n context.addFeature(AXPSecurityManagementFeatureKeys.MaxTotalUsers, {\n title: `@${i18n}:features.max-total-users.title`,\n description: `@${i18n}:features.max-total-users.description`,\n defaultValue: 100,\n type: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n placeholder: `@${i18n}:features.max-total-users.title`,\n min: 1,\n max: 10000,\n step: 1,\n },\n },\n });\n\n // Manage Sessions feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageSessions, {\n title: `@${i18n}:features.manage-sessions.title`,\n description: `@${i18n}:features.manage-sessions.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Manage Policies feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManagePolicies, {\n title: `@${i18n}:features.manage-policies.title`,\n description: `@${i18n}:features.manage-policies.description`,\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n\n","import { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { RootConfig } from \"../../../const\";\n\n@Injectable()\nexport class AXMOpenPermissionsEditorAction extends AXPWorkflowAction {\n\n private modalService = inject(AXPopupService);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const role = context.getVariable('data');\n const component = await import('../permissions-editor/permissions-editor-popup.component').then(m => m.AXPPermissionsEditorPopupComponent);\n const title = await this.translateService.translateAsync(\"@security-management:permissions-feature.terms.permissions-editor\");\n const result = await this.modalService.open(component, {\n title: `${title} - ${role.title}`,\n size: 'md',\n data: {\n initialPermissions: role['permissions'] ?? [],\n }\n });\n //\n context.setVariable('entity', `${RootConfig.module.name}.${RootConfig.entities.roles.name}`);\n //\n const permissions = result.data;\n if (permissions) {\n context.setVariable('data.permissions', permissions);\n context.setOutput('result', true);\n }\n }\n}\n\nexport const AXMAssignPermissionsWorkflow: AXPWorkflow = {\n startStepId: 'assign-permissions',\n steps: {\n \"assign-permissions\": {\n action: 'open-permissions-editor',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'assign-permissions-to-role',\n },\n ],\n },\n \"assign-permissions-to-role\": {\n action: 'entity-apply-updates',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'dispatch-event',\n },\n\n ],\n },\n \"dispatch-event\": {\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n \"show-toast\": {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: '@general:workflow.entity-modified-title',\n content: '@general:workflow.entity-modified-body',\n },\n },\n },\n};\n\n\n","import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPPermissionsWidget: AXPWidgetConfig = {\n name: \"permissions-editor\",\n title: \"Permissions Editor\",\n description: 'Widget for managing permissions with full editor interface',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: \"fa-solid fa-user-shield\",\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./permissions-widget-view.component').then((c) => c.AXPPermissionsWidgetViewComponent),\n },\n edit: {\n component: () => import('./permissions-widget-edit.component').then((c) => c.AXPPermissionsWidgetEditComponent),\n },\n column: {\n component: () => import('./permissions-widget-column.component').then((c) => c.AXPPermissionsWidgetColumnComponent),\n },\n }\n}","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXPPermissionsWidget } from './permissions-widget/permissions-widget.config';\n\n//#endregion\n\n//#region ---- Permissions Widgets Provider ----\n\nconst WIDGETS = [AXPPermissionsWidget];\n\n@Injectable()\nexport class AXPPermissionsWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WIDGETS;\n }\n}\n\n//#endregion\n","import { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMAssignPermissionsWorkflow } from './workflows/assign-permissions.workflow';\nimport { AXMOpenPermissionsEditorAction } from './workflows/assign-permissions.workflow';\nimport { AXPPermissionsWidgetsProvider } from './widget-definition.provider';\n\n@NgModule({\n imports: [\n AXPWorkflowModule.forChild({\n workflows: {\n 'assign-permissions': AXMAssignPermissionsWorkflow\n },\n actions: {\n 'open-permissions-editor': AXMOpenPermissionsEditorAction\n }\n }),\n AXPWidgetCoreModule,\n ],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPPermissionsWidgetsProvider, multi: true },\n ],\n})\nexport class AXMPermissionsModule { }\n\n","import { AXPSessionService } from \"@acorex/platform/auth\";\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from \"@acorex/platform/core\";\nimport { inject } from \"@angular/core\";\n\nexport class AXMSecurityManagementEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n\n protected sessionService = inject(AXPSessionService);\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope('session', {\n currentUser: () => {\n return this.sessionService.user;\n },\n user: () => {\n return this.sessionService.user;\n },\n currentApplication: () => {\n return this.sessionService.application;\n },\n currentTenant: () => {\n return this.sessionService.tenant;\n },\n currentPermissions: () => {\n return this.sessionService.permissions;\n },\n })\n }\n}","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSecurityManagementMenuKeys } from './menu.keys';\nimport { AXPSecurityManagementPermissionKeys } from './permission.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const moduleName = RootConfig.module.name;\n\n // Check if Security submenu exists under Administration, create it if not\n const securityMenu = context.find(AXPSecurityManagementMenuKeys.Root);\n if (!securityMenu.exists) {\n // Add Security submenu to Administration group\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n priority: 1,\n text: '@security-management:module.menus.root.title',\n icon: RootConfig.module.icon,\n name: AXPSecurityManagementMenuKeys.Root,\n type: 'menu',\n children: [],\n policy: {\n features: [RootConfig.module.name],\n }\n },\n ]);\n }\n\n // Add menu items under Security submenu\n context.find(AXPSecurityManagementMenuKeys.Root).addItems([\n {\n priority: 9003,\n text: RootConfig.entities.users.titlePlural,\n icon: RootConfig.entities.users.icon,\n name: AXPSecurityManagementMenuKeys.Users,\n path: this.entityService.createPath(moduleName, RootConfig.entities.users.name),\n policy: {\n\n permissions: [AXPSecurityManagementPermissionKeys.User.View],\n },\n },\n {\n priority: 9004,\n text: RootConfig.entities.roles.titlePlural,\n path: this.entityService.createPath(moduleName, RootConfig.entities.roles.name),\n icon: RootConfig.entities.roles.icon,\n name: AXPSecurityManagementMenuKeys.Roles,\n policy: {\n permissions: [AXPSecurityManagementPermissionKeys.Role.View],\n },\n },\n {\n priority: 9005,\n text: RootConfig.entities.deviceSessions.titlePlural,\n path: this.entityService.createPath(moduleName, RootConfig.entities.deviceSessions.name),\n icon: RootConfig.entities.deviceSessions.icon,\n name: AXPSecurityManagementMenuKeys.DeviceSessions,\n policy: {\n permissions: [AXPSecurityManagementPermissionKeys.DeviceSession.View],\n },\n },\n // {\n // priority: 9006,\n // text: RootConfig.entities.policy.titlePlural,\n // path: this.entityService.createPath(moduleName, RootConfig.entities.policy.name),\n // icon: RootConfig.entities.policy.icon,\n // name: AXPSecurityManagementMenuKeys.Policy,\n // policy: {\n // permissions: [AXPSecurityManagementPermissionKeys.Policy.View],\n // },\n // },\n ]);\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { AXPSecurityManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n\n //#region ---- Define Method ----\n\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPSecurityManagementPermissionKeys;\n\n // I18n path constants\n const MODULE_PERMISSIONS = '@security-management:module.permissions';\n const USERS_PERMISSIONS = '@security-management:users.permissions';\n const ROLES_PERMISSIONS = '@security-management:roles.permissions';\n const SESSIONS_PERMISSIONS = '@security-management:sessions.permissions';\n const POLICIES_PERMISSIONS = '@security-management:policies.permissions';\n\n context\n .addGroup(\n RootConfig.module.name,\n `${MODULE_PERMISSIONS}.title`,\n `${MODULE_PERMISSIONS}.description`\n )\n //\n .addPermission(\n keys.User.Management,\n `${USERS_PERMISSIONS}.manage.title`,\n `${USERS_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.User.View,\n `${USERS_PERMISSIONS}.view.title`,\n `${USERS_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.User.Create,\n `${USERS_PERMISSIONS}.create.title`,\n `${USERS_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.User.Edit,\n `${USERS_PERMISSIONS}.edit.title`,\n `${USERS_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.User.Delete,\n `${USERS_PERMISSIONS}.delete.title`,\n `${USERS_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.Role.Management,\n `${ROLES_PERMISSIONS}.manage.title`,\n `${ROLES_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.Role.View,\n `${ROLES_PERMISSIONS}.view.title`,\n `${ROLES_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Role.Create,\n `${ROLES_PERMISSIONS}.create.title`,\n `${ROLES_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Role.Edit,\n `${ROLES_PERMISSIONS}.edit.title`,\n `${ROLES_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Role.Delete,\n `${ROLES_PERMISSIONS}.delete.title`,\n `${ROLES_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.DeviceSession.Management,\n `${SESSIONS_PERMISSIONS}.manage.title`,\n `${SESSIONS_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.DeviceSession.View,\n `${SESSIONS_PERMISSIONS}.view.title`,\n `${SESSIONS_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.DeviceSession.Terminate,\n `${SESSIONS_PERMISSIONS}.terminate.title`,\n `${SESSIONS_PERMISSIONS}.terminate.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.Policy.Management,\n `${POLICIES_PERMISSIONS}.manage.title`,\n `${POLICIES_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.Policy.View,\n `${POLICIES_PERMISSIONS}.view.title`,\n `${POLICIES_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Policy.Create,\n `${POLICIES_PERMISSIONS}.create.title`,\n `${POLICIES_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Policy.Edit,\n `${POLICIES_PERMISSIONS}.edit.title`,\n `${POLICIES_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Policy.Delete,\n `${POLICIES_PERMISSIONS}.delete.title`,\n `${POLICIES_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .endGroup();\n }\n\n //#endregion\n}\n\n//#endregion\n\n","import { AXPSearchCommandProvider, createEntitySearchCommand } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\n// TODO: Refactor to generic provider (do it later)\n//\n// Move this logic to a generic AXPEntityCreateSearchCommandProvider in libs/platform/layout/entity.\n// The generic provider should:\n// - Inject AXPEntityDefinitionRegistryService and AXPSessionService\n// - Override search(text) to build commands dynamically from registry\n// - Filter entities: only aggregate roots (commands?.create exists AND !parentKey)\n// - Filter by permission: sessionService.authorize() for both Create and Management\n// Permission convention: `${module}:Permission:${entity.name}.Create` or `.Management`\n// - Use createEntityCommandOptions() with Entity:Create command (same pattern as below)\n// - Register in entity module as AXP_SEARCH_PROVIDER\n// - Remove this and other module-specific search command providers that only add entity-create commands\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands = [\n createEntitySearchCommand({\n id: 'create-security-user',\n entityKey: `${RootConfig.module.name}.${RootConfig.entities.users.name}`,\n entityInfo: { name: RootConfig.entities.users.name, module: RootConfig.module.name, title: RootConfig.entities.users.title },\n titleKey: '@security-management:users.permissions.create.title',\n descriptionKey: '@security-management:users.permissions.create.description',\n icon: RootConfig.entities.users.icon,\n }),\n createEntitySearchCommand({\n id: 'create-security-role',\n entityKey: `${RootConfig.module.name}.${RootConfig.entities.roles.name}`,\n entityInfo: { name: RootConfig.entities.roles.name, module: RootConfig.module.name, title: RootConfig.entities.roles.title },\n titleKey: '@security-management:roles.permissions.create.title',\n descriptionKey: '@security-management:roles.permissions.create.description',\n icon: RootConfig.entities.roles.icon,\n }),\n ];\n}\n","import { AXPUserAvatarData, AXPUserAvatarProvider } from '@acorex/platform/layout/components';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { AXMUsersEntityService } from './entities';\n\nexport class AXMUserAvatarProvider implements AXPUserAvatarProvider {\n private userService = inject(AXMUsersEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(userId: string): Promise<AXPUserAvatarData> {\n // Try entity service first\n try {\n const user = await this.userService.getOne(userId);\n if (user) {\n const [firstName, lastName] = user.displayName.split(' ') || ['', ''];\n return {\n id: user.id,\n username: user.username,\n firstName: firstName || '',\n lastName: lastName || '',\n status: 'online',\n };\n }\n } catch (error) {\n // If entity service fails, fallback to session service for current user\n console.debug('Failed to load user from entity service, falling back to session data', error);\n }\n\n // Fallback: Use session service data for current user (mock mode)\n const currentUser = this.sessionService.user;\n if (currentUser && currentUser.id === userId) {\n const [firstName, lastName] = (currentUser.title || currentUser.name || '').split(' ') || ['', ''];\n return {\n id: currentUser.id,\n username: currentUser.name || '',\n firstName: firstName || '',\n lastName: lastName || '',\n status: 'online',\n avatarUrl: currentUser.avatar,\n };\n }\n\n // If all fallbacks fail, throw error\n throw new Error(`User not found for ${userId}`);\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPSessionTerminateEvent = createWorkFlowEvent<{ entity: string; ids: string[]; meta?: any }>(\n '[Entity] Terminated!'\n);\n\n@Injectable()\nexport class AXPSessionTerminatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n private translationService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> { \n const moduleEntity = context.getVariable('entity');\n const [moduleName, entityName] = moduleEntity.split('.');\n const data = context.getVariable<any>('data');\n const meta = context.getVariable<any>('meta');\n\n const ids = Array.isArray(data) ? data.map((c) => c.id) : [data.id];\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n if (entity.parentKey && data[entity.parentKey]) {\n context.setVariable('meta', { ...meta, refreshTargetId: data[entity.parentKey] });\n }\n context.setVariable('terminateSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('workflow.terminating'),\n mode: 'determinate',\n status: 'Terminating...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: await this.translationService.translateAsync('cancel'),\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if ((entity.commands as any).terminate != null) {\n const terminateExec = (entity.commands as any).terminate?.execute as Function;\n let faildCounter = 0;\n for (const element of ids) {\n const res = await terminateExec(element);\n if (!res) {\n faildCounter++;\n await this.dialogService.alert(\n await this.translationService.translateAsync('workflow.fail-delete-title'),\n await this.translationService.translateAsync('workflow.fail-delete-body', {\n params: { item: 1 },\n }),\n 'danger'\n );\n }\n }\n context.setOutput('result', faildCounter == 0 ? true : false);\n setTimeout(() => {\n dialog.close();\n this.dispatch(AXPRefreshEvent({ entity: moduleEntity, meta: context.getVariable<any>('meta') }));\n }, 300); \n }\n }\n}\n\nexport const AXPSessionTerminateWorkflow: AXPWorkflow = {\n startStepId: 'show-popup',\n steps: {\n 'show-popup': {\n action: 'AXPSessionTerminatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n 'show-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.session-terminated',\n content: 'workflow.session-terminated-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n },\n};\n","import {\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_FEATURE_DEFINITION_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n} from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { SecurityManagementManifest } from './manifest';\n\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';\nimport { AXP_USER_AVATAR_PROVIDER } from '@acorex/platform/layout/components';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMPolicyService, AXMPolicyServiceImpl } from './entities';\nimport { AXMSecurityManagementDeviceSessionsEntityModule } from './entities/device-sessions';\nimport { AXMSecurityManagementProfileEntityModule } from './entities/profile';\nimport { AXMSecurityManagementRolesEntityModule } from './entities/roles';\nimport { AXMSecurityManagementUsersEntityModule } from './entities/users';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMSecurityManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMPermissionsModule } from './features/permissions/permissions.module';\nimport { AXMSecurityManagementEvaluatorScopeProvider } from './features/security-evaluator-scope.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMUserAvatarProvider } from './user-avatar.provider';\nimport { AXPSessionTerminatePopupAction, AXPSessionTerminateWorkflow } from './workflows/terminate-entity.workflow';\n\n@NgModule({\n imports: [\n AXMSecurityManagementDeviceSessionsEntityModule,\n AXMSecurityManagementProfileEntityModule,\n AXMSecurityManagementRolesEntityModule,\n AXMSecurityManagementUsersEntityModule,\n AXMPermissionsModule,\n\n AXPWorkflowModule.forChild({\n actions: {\n AXPSessionTerminatePopupAction,\n },\n workflows: {\n 'terminate-entity': AXPSessionTerminateWorkflow,\n },\n functions: {},\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXMPolicyService,\n useClass: AXMPolicyServiceImpl,\n },\n {\n provide: AXP_USER_AVATAR_PROVIDER,\n useClass: AXMUserAvatarProvider,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMSecurityManagementEvaluatorScopeProvider,\n multi: true,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: SecurityManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXMSecurityManagementFeatureDefinitionProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'Session:Terminate',\n command: () => import('./commands/terminate-session.command').then((c) => c.AXPTerminateSessionCommand),\n },\n ]),\n ],\n})\nexport class AXMSecurityManagementModule {}\n","// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, computed, inject, signal, input, output, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPPermissionDefinition, AXPPermissionDefinitionService, AXPPermissionGroupDefinition, AXPSessionService } from '@acorex/platform/auth';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { FormsModule } from '@angular/forms';\nimport { AXValueChangedEvent } from \"@acorex/cdk/common\";\nimport { AXTooltipModule } from '@acorex/components/tooltip';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor',\n templateUrl: './permissions-editor.component.html',\n styleUrl: './permissions-editor.component.scss',\n imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTabsModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBadgeModule,\n AXCheckBoxModule,\n AXTooltipModule,\n ],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ax-h-[75vh] ax-flex'\n }\n})\nexport class AXPPermissionsEditorComponent implements OnInit {\n\n // #region ---------------- Class Properties ----------------\n /** Service for fetching permission groups and definitions */\n private permissionService = inject(AXPPermissionDefinitionService);\n\n /** Session service for checking module access */\n private sessionService = inject(AXPSessionService);\n\n /** Currently selected permission group */\n protected selectedGroup = signal<AXPPermissionGroupDefinition | null>(null);\n\n /** All available permission groups */\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n /** Initial permissions to be selected - exposed as signal input */\n initialPermissions = input<string[]>([]);\n\n /** Whether the editor is in read-only mode */\n readOnly = input<boolean>(false);\n\n /** List of selected permission names */\n protected selectedPermissions = signal<string[]>([]);\n\n /** Event emitted when permissions selection changes */\n permissionsChanged = output<string[]>();\n\n /** Event emitted when permissions are applied/selected */\n permissionsSelected = output<string[]>();\n // #endregion\n\n // #region ---------------- Computed Properties ----------------\n /**\n * Recursively maps permissions to include selection state and children.\n */\n private mapPermissions(items: any[]): any[] {\n return (items || []).map(item => {\n const hasChild = Array.isArray(item.children) && item.children.length > 0;\n return {\n ...item,\n isSelected: this.isSelected(item.name),\n children: hasChild ? this.mapPermissions(item.children) : null\n };\n });\n }\n\n /**\n * Computed: Returns mapped permissions for the selected group.\n */\n protected items = computed(() => {\n const permissions = this.selectedGroup()?.permissions || [];\n return this.mapPermissions(permissions);\n });\n\n /**\n * Computed: Returns groups with badge counts, sorted by title.\n */\n protected groupsWithBadge = computed(() => {\n const groups = this.groups();\n const result = groups.map(group => {\n return {\n ...group,\n badge: this.getBadge(group) || ''\n };\n });\n return result.sort((a, b) => a.title.localeCompare(b.title));\n });\n // #endregion\n\n // #region ---------------- Utility Methods ----------------\n /**\n * Extracts module name from a permission group name.\n * Handles multiple formats:\n * - Permission key format: 'SecurityManagement:Permission:SecurityManagement.Management' -> 'SecurityManagement'\n * - PascalCase: 'TenantManagement' -> 'TenantManagement'\n * - kebab-case: 'tenant-management' -> 'TenantManagement' (converts to PascalCase)\n */\n private extractModuleNameFromGroupName(groupName: string): string {\n // If it contains ':', extract the first part (permission key format)\n if (groupName.includes(':')) {\n const parts = groupName.split(':');\n return parts[0];\n }\n\n // If it's kebab-case, convert to PascalCase\n if (groupName.includes('-')) {\n return groupName.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');\n }\n\n // Otherwise, assume it's already PascalCase\n return groupName;\n }\n\n /**\n * Filters permission groups to only include those from enabled modules.\n */\n private filterGroupsByEnabledModules(groups: AXPPermissionGroupDefinition[]): AXPPermissionGroupDefinition[] {\n return groups.filter(group => {\n const moduleName = this.extractModuleNameFromGroupName(group.name);\n return this.sessionService.isModuleEnabled(moduleName);\n });\n }\n\n /**\n * Recursively collects all permission names (parents and children) from an array.\n */\n private collectAllPermissionNames(permissions: any[]): string[] {\n let names: string[] = [];\n for (const item of permissions) {\n names.push(item.name);\n if (Array.isArray(item.children) && item.children.length > 0) {\n names = names.concat(this.collectAllPermissionNames(item.children));\n }\n }\n return names;\n }\n\n /**\n * Returns the badge count for a group (all selected permissions, including parents).\n */\n private getBadge(group: AXPPermissionGroupDefinition): string {\n const allNames = this.collectAllPermissionNames(group.permissions || []);\n const selectedPermissions = this.selectedPermissions();\n const count = allNames.filter(name => selectedPermissions.includes(name)).length;\n return count.toString();\n }\n\n /**\n * Checks if a permission is selected.\n */\n private isSelected(name: string): boolean {\n return this.selectedPermissions().includes(name);\n }\n\n /**\n * Checks if a permission is selected.\n */\n protected badgeToNumber(value: unknown): number {\n return Number(value);\n }\n\n /**\n * Recursively collects all descendant permission names for a single item (including itself).\n */\n private collectPermissionNames(item: any): string[] {\n let names = [item.name];\n if (Array.isArray(item.children) && item.children.length > 0) {\n for (const child of item.children) {\n names = names.concat(this.collectPermissionNames(child));\n }\n }\n return names;\n }\n\n /**\n * Gets the current selected permissions.\n */\n public getSelectedPermissions(): string[] {\n return this.selectedPermissions();\n }\n\n /**\n * Sets the selected permissions.\n */\n public setSelectedPermissions(permissions: string[]): void {\n this.selectedPermissions.set(permissions || []);\n this.permissionsChanged.emit(this.selectedPermissions());\n }\n\n /**\n * Applies/selects the current permissions.\n */\n public selectPermissions(): void {\n this.permissionsSelected.emit(this.selectedPermissions());\n }\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component and loads permission groups.\n * Filters groups to only show permissions from modules enabled for the current tenant.\n */\n async ngOnInit() {\n const allGroups = await this.permissionService.getGroups();\n const filteredGroups = this.filterGroupsByEnabledModules(allGroups);\n this.groups.set(filteredGroups);\n\n // Select first group if available\n if (filteredGroups.length > 0) {\n this.selectedGroup.set(filteredGroups[0]);\n }\n\n this.selectedPermissions.set(this.initialPermissions());\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles group tab/menu item click.\n */\n protected handleMenuItemClick(item: AXPPermissionGroupDefinition) {\n this.selectedGroup.set(item);\n }\n\n /**\n * Handles permission checkbox toggle (checks/unchecks all children recursively).\n */\n protected onPermissionToggle(item: any, e: AXValueChangedEvent): void {\n // Don't allow changes in read-only mode\n if (this.readOnly()) {\n return;\n }\n\n const names = this.collectPermissionNames(item);\n if (e.value) {\n // Add all names (parent + children), avoiding duplicates\n const set = new Set([...this.selectedPermissions(), ...names]);\n this.selectedPermissions.set(Array.from(set));\n } else {\n // Remove all names (parent + children)\n this.selectedPermissions.set(\n this.selectedPermissions().filter(name => !names.includes(name))\n );\n }\n this.permissionsChanged.emit(this.selectedPermissions());\n }\n // #endregion\n\n} ","<div class=\"__groups ax-p-4 ax-min-h-full ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item [active]=\"group.name === selectedGroup()?.name\" [text]=\"(group.title | translate | async)!\"\n (onClick)=\"handleMenuItemClick(group)\">\n @if (badgeToNumber(group.badge) > 0) {\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n</div>\n\n<div class=\"__permissions ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"__header ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ (selectedGroup()?.title!) | translate | async }}</span>\n </div>\n\n <div class=\"__content ax-flex ax-p-4 ax-overflow-auto\">\n <ul class=\"__list\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"__item ax-py-1 ax-ps-2\">\n <ax-check-box [ngModel]=\"item.isSelected\" [readonly]=\"readOnly()\"\n (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title | translate | async }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n\n @if (item.children && item.children.length > 0) {\n <ul class=\"__children ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n</div>","// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, inject, ViewChild } from '@angular/core';\n\n\nimport { AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPermissionsEditorComponent } from './permissions-editor.component';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor-popup',\n templateUrl: './permissions-editor-popup.component.html',\n imports: [\n AXTranslationModule,\n AXPPopupLayoutComponent,\n AXPPermissionsEditorComponent,\n AXPThemeLayoutBlockComponent\n],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPopupLayoutBase,\n useExisting: AXPPermissionsEditorPopupComponent\n }\n ],\n})\nexport class AXPPermissionsEditorPopupComponent extends AXPPopupLayoutBaseComponent {\n\n // #region ---------------- Class Properties ----------------\n /** Reference to the core permission editor component */\n @ViewChild(AXPPermissionsEditorComponent) permissionEditor!: AXPPermissionsEditorComponent;\n\n /** Initial permissions to be selected */\n protected initialPermissions: string[] = [];\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component.\n */\n override async ngOnInit() {\n super.ngOnInit();\n // Any popup-specific initialization can go here\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Returns the primary menu items for the popup layout.\n */\n protected override getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n {\n title: '@general:actions.select.title',\n icon: 'fa-solid fa-check',\n command: {\n name: 'select'\n }\n }\n ];\n }\n\n /**\n * Handles permission selection changes from the editor component.\n */\n protected onPermissionsChanged(permissions: string[]): void {\n // Handle permission changes if needed for popup-specific logic\n }\n\n /**\n * Handles when permissions are selected from the editor component.\n */\n protected onPermissionsSelected(permissions: string[]): void {\n this.close(permissions);\n }\n\n /**\n * Executes popup commands.\n */\n override execute(command: AXPExecuteCommand): void | Promise<void> {\n if (command.name === 'select') {\n const selectedPermissions = this.permissionEditor.getSelectedPermissions();\n this.close(selectedPermissions);\n }\n }\n // #endregion\n\n} ","<axp-popup-layout>\n <axp-page-content>\n <axm-permissions-editor [initialPermissions]=\"initialPermissions\"\n (permissionsChanged)=\"onPermissionsChanged($event)\" (permissionsSelected)=\"onPermissionsSelected($event)\">\n </axm-permissions-editor>\n </axp-page-content>\n</axp-popup-layout>","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component, computed, inject, signal, effect } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPPermissionDefinitionService, AXPPermissionGroupDefinition, AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPStateMessageComponent } from '@acorex/platform/layout/components';\n\ninterface PermissionPath {\n group: AXPPermissionGroupDefinition;\n path: AXPPermissionDefinition[];\n displayPath: string;\n}\n\n@Component({\n selector: 'axm-permissions-widget-view',\n template: `\n <!-- <axm-permissions-editor\n [initialPermissions]=\"getValue() || []\"\n [readOnly]=\"true\">\n </axm-permissions-editor> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (group of groups(); track group.name) {\n @if (selectedPermissionsByGroup()[group.name]?.length) {\n <div>\n <div class=\"ax-text-xs ax-font-semibold ax-mb-2 ax-text-muted\">{{ group.title }}</div>\n <div class=\"ax-flex ax-gap-1 ax-flex-wrap\">\n @for (permPath of selectedPermissionsByGroup()[group.name]; track permPath.path[permPath.path.length - 1].name) {\n <ax-badge [text]=\"permPath.displayPath\" color=\"primary\" size=\"sm\"></ax-badge>\n }\n </div>\n </div>\n }\n }\n @if (isEmpty()) {\n <axp-state-message\n icon=\"fa-light fa-shield-check\"\n [title]=\"'@security-management:permissions-feature.components.permissions-editor.empty-states.no-permissions.title'\"\n [description]=\"'@security-management:permissions-feature.components.permissions-editor.empty-states.no-permissions.description'\">\n </axp-state-message>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule, AXTranslationModule, AXPStateMessageComponent]\n})\nexport class AXPPermissionsWidgetViewComponent extends AXPValueWidgetComponent<string[]> {\n private permissionService = inject(AXPPermissionDefinitionService);\n private workflowService = inject(AXPWorkflowService);\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n private loadGroupsEffect = effect(async () => {\n // Load groups when component initializes\n if (this.groups().length === 0) {\n const groupsData = await this.permissionService.getGroups();\n this.groups.set(groupsData);\n }\n });\n\n protected selectedPermissionsByGroup = computed(() => {\n const selected = new Set(this.getValue() ?? []);\n const result: Record<string, PermissionPath[]> = {};\n\n for (const group of this.groups()) {\n const permPaths: PermissionPath[] = [];\n\n const findPermissionPaths = (items: AXPPermissionDefinition[], path: AXPPermissionDefinition[] = []) => {\n for (const item of items) {\n const currentPath = [...path, item];\n\n if (selected.has(item.name)) {\n const displayPath = currentPath.map(p => p.title).join(' > ');\n permPaths.push({\n group,\n path: currentPath,\n displayPath\n });\n }\n\n if (item.children?.length) {\n findPermissionPaths(item.children, currentPath);\n }\n }\n };\n\n findPermissionPaths(group.permissions);\n result[group.name] = permPaths;\n }\n\n return result;\n });\n\n protected isEmpty = computed(() => {\n return Object.values(this.selectedPermissionsByGroup()).every(arr => !arr.length);\n });\n\n\n protected async openPermissionsEditor() {\n await this.workflowService.execute('assign-permissions', {\n data: this.contextService.data(),\n });\n }\n\n}\n","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXPPermissionsEditorComponent } from '../permissions-editor/permissions-editor.component';\n\n@Component({\n selector: 'axm-permissions-widget-edit',\n template: `\n <axm-permissions-editor\n [initialPermissions]=\"getValue() || []\"\n [readOnly]=\"false\"\n (permissionsChanged)=\"onPermissionsChanged($event)\">\n </axm-permissions-editor>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AXPPermissionsEditorComponent\n]\n})\nexport class AXPPermissionsWidgetEditComponent extends AXPValueWidgetComponent<string[]> {\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles permissions changes from the editor.\n */\n protected onPermissionsChanged(permissions: string[]): void {\n this.setValue(permissions);\n }\n // #endregion\n\n}","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { castArray } from 'lodash-es';\n@Component({\n selector: 'axm-permissions-widget-column',\n template: `\n <span class=\"ax-cursor-pointer ax-text-primary ax-underline\" (click)=\"openPermissionsEditor()\">{{count()}} {{'@security-management:permissions-feature.terms.permissions' | translate | async}}</span>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n inputs: ['rawValue', 'rowData']\n})\nexport class AXPPermissionsWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n\n protected count = computed(() => castArray(this.rawValue).length);\n protected workflowService = inject(AXPWorkflowService);\n\n async openPermissionsEditor() {\n await this.workflowService.execute('assign-permissions', {\n data: this.rowData\n });\n }\n}","// Permission Editor Components\nexport { AXPPermissionsEditorComponent } from './permissions-editor/permissions-editor.component';\nexport { AXPPermissionsEditorPopupComponent } from './permissions-editor/permissions-editor-popup.component';\nexport { AXMPermissionsModule } from './permissions.module';\n\n// Widgets\nexport * from './permissions-widget/index'; ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-security-management.mjs","sources":["../../../../libs/modules/security-management/src/lib/const.ts","../../../../libs/modules/security-management/src/lib/entities/device-sessions/device-sessions.entity.ts","../../../../libs/modules/security-management/src/lib/entities/device-sessions/device-sessions.module.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.entity.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.service.ts","../../../../libs/modules/security-management/src/lib/entities/policy/policy.types.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.entity.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.service.ts","../../../../libs/modules/security-management/src/lib/entities/roles/roles.module.ts","../../../../libs/modules/security-management/src/lib/entities/users/user-authentication-state.ts","../../../../libs/modules/security-management/src/lib/features/shared/user-authentication-state.provider.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.entity.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.service.ts","../../../../libs/modules/security-management/src/lib/entities/users/users.module.ts","../../../../libs/modules/security-management/src/lib/menu.keys.ts","../../../../libs/modules/security-management/src/lib/permission.keys.ts","../../../../libs/modules/security-management/src/lib/features.keys.ts","../../../../libs/modules/security-management/src/lib/manifest.ts","../../../../libs/modules/security-management/src/lib/entities/profile/profile.entity.ts","../../../../libs/modules/security-management/src/lib/entities/profile/profile.module.ts","../../../../libs/modules/security-management/src/lib/entity.provider.ts","../../../../libs/modules/security-management/src/lib/feature-definition.provider.ts","../../../../libs/modules/security-management/src/lib/features/permissions/workflows/assign-permissions.workflow.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget.config.ts","../../../../libs/modules/security-management/src/lib/features/permissions/widget-definition.provider.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions.module.ts","../../../../libs/modules/security-management/src/lib/features/security-evaluator-scope.provider.ts","../../../../libs/modules/security-management/src/lib/menu.provider.ts","../../../../libs/modules/security-management/src/lib/permission-definition.provider.ts","../../../../libs/modules/security-management/src/lib/search-command.provider.ts","../../../../libs/modules/security-management/src/lib/user-avatar.provider.ts","../../../../libs/modules/security-management/src/lib/workflows/terminate-entity.workflow.ts","../../../../libs/modules/security-management/src/lib/features/shared/user-status.provider.ts","../../../../libs/modules/security-management/src/lib/security-management.module.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor.component.html","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor-popup.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-editor/permissions-editor-popup.component.html","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-view.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-edit.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/permissions-widget/permissions-widget-column.component.ts","../../../../libs/modules/security-management/src/lib/features/permissions/index.ts","../../../../libs/modules/security-management/src/acorex-modules-security-management.ts"],"sourcesContent":["const config = {\n i18n: 'security-management',\n profileEntity: 'Profile',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'security-management',\n name: 'SecurityManagement',\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-shield-halved',\n },\n entities: {\n policy: {\n name: 'Policy',\n title: `@${config.i18n}:policies.entities.policy.title`,\n titlePlural: `@${config.i18n}:policies.entities.policy.plural`,\n icon: 'fa-light fa-clipboard-list',\n },\n deviceSessions: {\n name: 'DeviceSessions',\n title: `@${config.i18n}:sessions.entities.session.title`,\n titlePlural: `@${config.i18n}:sessions.entities.session.plural`,\n icon: 'fa-light fa-laptop',\n },\n users: {\n name: 'User',\n title: `@${config.i18n}:users.entities.user.title`,\n titlePlural: `@${config.i18n}:users.entities.user.plural`,\n icon: 'fa-light fa-users',\n },\n roles: {\n name: 'Role',\n title: `@${config.i18n}:roles.entities.role.title`,\n titlePlural: `@${config.i18n}:roles.entities.role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n profile: {\n name: 'Profile',\n title: `@${config.i18n}:profile.entities.profile.title`,\n titlePlural: `@${config.i18n}:profile.entities.profile.plural`,\n icon: 'fa-light fa-user',\n },\n },\n};\n","import { AXMDeviceSessionsService } from '@acorex/modules/auth';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\n\nexport async function deviceSessionsFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDeviceSessionsService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.deviceSessions.name,\n title: RootConfig.entities.deviceSessions.title,\n icon: RootConfig.entities.deviceSessions.icon,\n formats: {\n individual: RootConfig.entities.deviceSessions.title,\n plural: RootConfig.entities.deviceSessions.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [{ name: 'compare' }],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'device',\n title: `@${i18n}:sessions.entities.session.groups.device`,\n },\n {\n id: 'session',\n title: `@${i18n}:sessions.entities.session.groups.session`,\n },\n ],\n properties: [\n {\n name: 'tenant.name',\n title: '@security-management:sessions.entities.session.fields.tenant.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'user.name',\n title: '@security-management:sessions.entities.session.fields.user.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'application.name',\n title: '@security-management:sessions.entities.session.fields.application.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'clientName',\n title: '@security-management:sessions.entities.session.fields.client-name.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'location',\n title: '@security-management:sessions.entities.session.fields.location.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'ipAddress',\n title: '@security-management:sessions.entities.session.fields.ip-address.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'lastLoginDate',\n title: '@security-management:sessions.entities.session.fields.last-login-date.title',\n groupId: 'session',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'dateTime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: {\n format: 'MM/DD/YYYY hh:mm a',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'operatingSystem',\n title: '@security-management:sessions.entities.session.fields.operating-system.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'deviceName',\n title: '@security-management:sessions.entities.session.fields.device-name.title',\n groupId: 'device',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n inline: {\n enabled: true,\n },\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [\n { name: 'tenant.name' },\n { name: 'user.name' },\n { name: 'application.name' },\n { name: 'clientName' },\n { name: 'location' },\n { name: 'deviceName' },\n { name: 'lastLoginDate' },\n { name: 'operatingSystem' },\n ],\n commands: {\n terminate: {\n execute: async (id: string) => {\n const x = await dataService.terminate(id);\n return x;\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n const res = await dataService.query(e);\n console.log('res', res);\n return res;\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{user.name}}',\n sections: [\n {\n id: 'session',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'device',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'tenant.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'application.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'clientName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'location',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'ipAddress',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'lastLoginDate',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'operatingSystem',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'deviceName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n ...entityMasterCrudActions({ create: false, delete: false }),\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: '@security-management:sessions.permissions.device-sessions.actions.terminate.title',\n command: 'terminate-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMDeviceSessionsService, AXMDeviceSessionsServiceImpl } from '@acorex/modules/auth';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDeviceSessionsService,\n useClass: AXMDeviceSessionsServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementDeviceSessionsEntityModule {}\n","import { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\n\nexport async function policyFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.policy.name,\n title: RootConfig.entities.policy.title,\n icon: RootConfig.entities.policy.icon,\n formats: {\n individual: RootConfig.entities.policy.title,\n plural: RootConfig.entities.policy.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: false,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 1,\n },\n },\n },\n },\n\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n order: 2,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'name', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementPolicyEntityModel } from './policy.types';\n\nexport abstract class AXMPolicyService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementPolicyEntityModel\n> {}\n\n@Injectable()\nexport class AXMPolicyServiceImpl extends AXMPolicyService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.policy.name}`);\n }\n}\n","import { AXPExpression } from '@acorex/platform/core';\nimport { AXPEntityModel } from '@acorex/platform/layout/entity';\n\nexport interface AXMSecurityManagementPolicyEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n description?: string;\n\n rules: {\n conditions: AXPExpression;\n effects: AXMPolicyEffectRule[]; // list of effect rules\n }[];\n\n permission: string; // related permission\n scope: AXMPolicyScope;\n\n resource: {\n type: string;\n target: string;\n };\n}\n\nexport type AXMPolicyScope = 'system' | 'tenant' | 'user';\n\nexport type AXMPolicyEffect = 'editable' | 'readonly' | 'hidden' | 'immutable' | 'masked';\n\nexport interface AXMPolicyEffectRule {\n effect: AXMPolicyEffect;\n target: string;\n}\n\n// const glocbal_readonly_policy = {\n// name: 'readonly',\n// resource: {\n// reference: '*',\n// type: 'entity',\n// },\n// permission: 'readonly-policy',\n// scope: 'system',\n// rules: [\n// {\n// conditions: '{{ isHidden==true }}',\n// effects: [\n// {\n// target: '*',\n// effect: 'readonly',\n// },\n// ],\n// },\n// ],\n// } as AXMSecurityManagementPolicyEntityModel;\n\n\n// const readonly_file_by_role_policy = {\n// name: 'readonly_file_by_role_policy',\n// resource: {\n// type: 'entity',\n// reference: 'COntentManagement.Promotion',\n// },\n// permission: 'readonly-policy',\n// scope: 'system',\n// rules: [\n// {\n// conditions: '{{ createdDate > 2025-01-01 && user.role!=\"admin\"}}',\n// effects: [\n// {\n// target: 'imageId',\n// effect: 'readonly',\n// },\n// ],\n// },\n// ],\n// } as AXMSecurityManagementPolicyEntityModel;\n","import { AXPEntity, AXPEntityCommandScope, createAllQueryView } from '@acorex/platform/common';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { RootConfig } from '../../const';\n\nexport async function rolesFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.roles.name,\n title: RootConfig.entities.roles.title,\n icon: RootConfig.entities.roles.icon,\n formats: {\n individual: RootConfig.entities.roles.title,\n plural: RootConfig.entities.roles.titlePlural,\n },\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'archive' }],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'permissions',\n title: `@${i18n}:permissions`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: `@general:terms.common.id`,\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: false,\n readonly: true,\n unique: {\n enabled: true,\n },\n },\n },\n {\n name: 'title',\n title: `@general:terms.common.title`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'description',\n title: `@general:terms.common.description`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n options: {\n rows: 3,\n },\n },\n },\n },\n {\n name: 'permissions',\n title: `@${i18n}:permissions`,\n groupId: 'permissions',\n schema: {\n dataType: 'array',\n interface: {\n type: 'permissions-editor',\n options: {\n multiple: true,\n },\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'description' }, { name: 'permissions' }],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'permissions',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'permissions',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'permissions',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'permissions',\n layout: {\n label: {\n visible: false,\n },\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n {\n title: `@${i18n}:permissions-feature.actions.assign.title`,\n command: 'assign-permissions',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementRolesEntityModel } from './roles.types';\n\nexport abstract class AXMSecurityManagementRolesEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementRolesEntityModel\n> {}\n\n@Injectable()\nexport class AXMSecurityManagementRolesEntityServiceImpl extends AXMSecurityManagementRolesEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.roles.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMSecurityManagementRolesEntityService,\n AXMSecurityManagementRolesEntityServiceImpl\n} from './roles.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMSecurityManagementRolesEntityService,\n useClass: AXMSecurityManagementRolesEntityServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementRolesEntityModule {}","//#region ---- User authentication state ----\n\n/**\n * Read-only sign-in gate from the authentication layer (distinct from account `statusId`).\n * Persisted as the enum string value (e.g. `allowed`).\n */\nexport enum AXMUserAuthenticationState {\n Allowed = 'allowed',\n Blocked = 'blocked',\n Expired = 'expired',\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n AXPStatusDefinition,\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\nimport { AXMUserAuthenticationState } from '../../entities/users/user-authentication-state';\n\n//#endregion\n\n//#region ---- Definition key ----\n\n/** Status provider key for `authenticationState` on SecurityManagement.User (readonly in UI; set by auth layer). */\nexport const AXM_USER_AUTHENTICATION_STATE_DEFINITION_KEY = 'security-management.authentication-state.user';\n\n//#endregion\n\n//#region ---- User authentication state provider ----\n\n/**\n * Sign-in readiness from the authentication subsystem (distinct from account lifecycle / `statusId`).\n * No transitions: values change only via backend/auth pipelines, not the status UI.\n */\nexport class AXMUserAuthenticationStateProvider extends AXPStatusProvider {\n readonly key = AXM_USER_AUTHENTICATION_STATE_DEFINITION_KEY;\n\n readonly defaultStatus = AXMUserAuthenticationState.Allowed;\n\n readonly statuses: AXPStatusDefinition[] = [\n {\n name: AXMUserAuthenticationState.Allowed,\n title: '@security-management:users.entities.user.authentication.states.allowed',\n icon: 'fa-light fa-circle-check',\n color: 'success',\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n {\n name: AXMUserAuthenticationState.Blocked,\n title: '@security-management:users.entities.user.authentication.states.blocked',\n icon: 'fa-light fa-ban',\n color: 'danger',\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n systemStatusToDefinition(AXPSystemStatusType.Expired, {\n title: '@security-management:users.entities.user.authentication.states.expired',\n icon: 'fa-light fa-clock',\n color: 'warning',\n order: 3,\n generateView: false,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [];\n}\n\n//#endregion\n","import { AXPWidgetsList, statusPlugin } from '@acorex/modules/common';\nimport { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\n\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AXM_USER_AUTHENTICATION_STATE_DEFINITION_KEY } from '../../features/shared/user-authentication-state.provider';\nimport { AXMUserAuthenticationState } from './user-authentication-state';\n\nexport async function usersFactory(): Promise<AXPEntity | null> {\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.users.name,\n title: RootConfig.entities.users.title,\n icon: RootConfig.entities.users.icon,\n formats: {\n individual: RootConfig.entities.users.title,\n plural: RootConfig.entities.users.titlePlural,\n searchResult: {\n title: '{{ displayName }}',\n description: `@security-management:users.entities.user.search-result-description`,\n },\n },\n plugins: [\n {\n ...statusPlugin,\n options: {\n definition: 'security-management.status.user',\n field: 'statusId',\n generate: { views: { enabled: true } },\n },\n },\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n ],\n pages: [],\n groups: [\n {\n id: 'basic-info',\n title: '@general:terms.interface.basic-info',\n },\n {\n id: 'authorizations',\n title: `@${i18n}:users.entities.user.groups.authorizations`,\n },\n {\n id: 'authentication',\n title: `@${i18n}:users.entities.user.groups.authentication`,\n },\n ],\n properties: [\n {\n name: 'username',\n title: '@general:terms.contact.username',\n groupId: 'basic-info',\n options: {\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: {},\n },\n // hidden: \"{{ context.eval('displayName') != 'arash' }}\",\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'displayName',\n title: `@general:terms.common.display-name`,\n groupId: 'basic-info',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'password',\n title: '@security-management:users.entities.user.fields.password.title',\n groupId: 'authorizations',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'roleIds',\n title: '@security-management:users.entities.user.fields.roles.title',\n groupId: 'authorizations',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: 'SecurityManagement.Role',\n multiple: true,\n look: 'select',\n expose: [\n { source: 'id', target: 'roles.{id}' },\n { source: 'title', target: 'roles.{title}' },\n ],\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'authenticationState',\n title: '@security-management:users.entities.user.fields.authentication-state.title',\n groupId: 'authentication',\n options: {\n sort: {\n enabled: true,\n },\n filter: {\n advance: {\n enabled: true,\n },\n inline: {\n enabled: true,\n },\n },\n },\n schema: {\n dataType: 'string',\n defaultValue: AXMUserAuthenticationState.Allowed,\n interface: {\n type: AXPWidgetsList.Advanced.Status,\n options: {\n definitionKey: AXM_USER_AUTHENTICATION_STATE_DEFINITION_KEY,\n readonly: true,\n },\n },\n },\n },\n ],\n columns: [\n { name: 'username' },\n { name: 'displayName' },\n { name: 'roleIds', options: { dataPath: 'roles' } },\n {\n name: 'authenticationState',\n title: '@security-management:users.entities.user.fields.authentication-state.title',\n sort: { enabled: true },\n options: {\n width: '140px',\n filterable: true,\n definitionKey: AXM_USER_AUTHENTICATION_STATE_DEFINITION_KEY,\n entity: `${RootConfig.module.name}.${RootConfig.entities.users.name}`,\n fieldName: 'authenticationState',\n readonly: true,\n },\n },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'authorizations',\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'basic-info',\n },\n {\n id: 'authorizations',\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{displayName}}',\n\n sections: [\n {\n id: 'basic-info',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'authorizations',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n id: 'authentication',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'username',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'displayName',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'password',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'roleIds',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'authenticationState',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'displayName', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMSecurityManagementUsersEntityModel } from './users.types';\n\nexport abstract class AXMUsersEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMSecurityManagementUsersEntityModel\n> {}\n\n@Injectable()\nexport class AXMUsersEntityServiceImpl extends AXMUsersEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.users.name}`);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXMUsersEntityService, AXMUsersEntityServiceImpl } from './users.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMUsersEntityService,\n useClass: AXMUsersEntityServiceImpl,\n },\n ],\n})\nexport class AXMSecurityManagementUsersEntityModule {}\n","export const AXPSecurityManagementMenuKeys = {\n Root: 'SecurityManagement:Menu',\n Users: 'SecurityManagement:Menu:Users',\n Roles: 'SecurityManagement:Menu:Roles',\n DeviceSessions: 'SecurityManagement:Menu:DeviceSessions',\n Policy: 'SecurityManagement:Menu:Policy',\n MyProfile: 'SecurityManagement:Menu:MyProfile',\n} as const;\n","//#region ---- Permission Keys ----\n\nexport const AXPSecurityManagementPermissionKeys = {\n User: {\n Management: 'SecurityManagement:Permission:User.Management',\n View: 'SecurityManagement:Permission:User.View',\n Edit: 'SecurityManagement:Permission:User.Edit',\n Delete: 'SecurityManagement:Permission:User.Delete',\n Create: 'SecurityManagement:Permission:User.Create',\n },\n Role: {\n Management: 'SecurityManagement:Permission:Role.Management',\n View: 'SecurityManagement:Permission:Role.View',\n Edit: 'SecurityManagement:Permission:Role.Edit',\n Delete: 'SecurityManagement:Permission:Role.Delete',\n Create: 'SecurityManagement:Permission:Role.Create',\n },\n DeviceSession: {\n Management: 'SecurityManagement:Permission:DeviceSession.Management',\n View: 'SecurityManagement:Permission:DeviceSession.View',\n Terminate: 'SecurityManagement:Permission:DeviceSession.Terminate',\n },\n Policy: {\n Management: 'SecurityManagement:Permission:Policy.Management',\n View: 'SecurityManagement:Permission:Policy.View',\n Edit: 'SecurityManagement:Permission:Policy.Edit',\n Delete: 'SecurityManagement:Permission:Policy.Delete',\n Create: 'SecurityManagement:Permission:Policy.Create',\n },\n} as const;\n\n//#endregion\n\n","//#region ---- Feature Keys ----\n\n/**\n * Security Management Module Feature Keys.\n * Defines all available features for the Security Management module.\n */\nexport const AXPSecurityManagementFeatureKeys = {\n ManageRoles: 'SecurityManagement:Feature:ManageRoles',\n ManageUsers: 'SecurityManagement:Feature:ManageUsers',\n MaxTotalUsers: 'SecurityManagement:Feature:MaxTotalUsers',\n ManageSessions: 'SecurityManagement:Feature:ManageSessions',\n ManagePolicies: 'SecurityManagement:Feature:ManagePolicies',\n} as const;\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex/platform/core';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Security Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const SecurityManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n required: true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injector } from '@angular/core';\n\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { RootConfig } from '../../const';\nimport { AXMUsersEntityService } from '../users';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\n\nexport async function profileFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMUsersEntityService);\n const sessionService = injector.get(AXPSessionService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.profile.name,\n title: RootConfig.entities.profile.title,\n icon: RootConfig.entities.profile.icon,\n formats: {\n individual: RootConfig.entities.profile.title,\n plural: RootConfig.entities.profile.titlePlural,\n },\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n { name: 'archive' },\n ],\n relatedEntities: [],\n groups: [\n {\n id: 'basic-info',\n title: `@general:terms.interface.basic-info`,\n },\n {\n id: 'contact',\n title: `@${i18n}:contactInformation`,\n },\n {\n id: 'address',\n title: `@${i18n}:addressInformation`,\n },\n ],\n properties: [\n {\n name: 'id',\n title: \"@general:terms.common.id\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n options: { readOnly: true },\n },\n },\n },\n {\n name: 'username',\n title: \"@general:terms.contact.username\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'firstName',\n title: \"@general:terms.contact.first-name\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'lastName',\n title: \"@general:terms.contact.last-name\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'nationalCode',\n title: \"@security-management:profile.entities.profile.fields.national-code.title\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n { rule: 'required' },\n { rule: 'minLength', options: { value: 10 } },\n { rule: 'maxLength', options: { value: 10 } },\n ],\n },\n {\n name: 'password',\n title: \"@security-management:profile.entities.profile.fields.password.title\",\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.password,\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [],\n commands: {\n create: {\n execute: async (data: any) => { },\n },\n delete: {\n execute: async (id: any) => { },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async () => {\n const userId = await sessionService.user?.id;\n const user = await dataService.getOne(userId!);\n return user;\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => { },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n },\n update: {\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n },\n single: {\n title: '{{firstName}} {{lastName}}',\n sections: [{ id: 'info' }],\n properties: [\n { name: 'id' },\n { name: 'username' },\n { name: 'firstName' },\n { name: 'lastName' },\n { name: 'nationalCode' },\n { name: 'password' },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [\n ...entityMasterCrudActions(),\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [],\n})\nexport class AXMSecurityManagementProfileEntityModule {}\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n public preload(): AXPEntityPreloadEntity[] {\n const { entities, module } = RootConfig;\n return [entities.users.name, entities.roles.name, entities.deviceSessions.name].map((entity) => ({\n module: module.name,\n entity,\n }));\n }\n\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n const { entities, module } = RootConfig;\n if (moduleName == module.name) {\n switch (entityName) {\n case RootConfig.entities.users.name:\n return (await import('./entities/users/users.entity')).usersFactory();\n case RootConfig.entities.roles.name:\n return (await import('./entities/roles/roles.entity')).rolesFactory();\n case RootConfig.entities.profile.name:\n return (await import('./entities/profile/profile.entity')).profileFactory(this.injector);\n case RootConfig.entities.deviceSessions.name:\n return (await import('./entities/device-sessions/device-sessions.entity')).deviceSessionsFactory(\n this.injector,\n );\n case RootConfig.entities.policy.name:\n return (await import('./entities/policy/policy.entity')).policyFactory();\n }\n }\n return null;\n }\n\n async list(): Promise<{ name: string; module: string }[]> {\n const m = RootConfig.module.name;\n return Promise.resolve(\n Object.values(RootConfig.entities).map((e) => ({ name: e.name, module: m }))\n );\n }\n}\n","//#region ---- Imports ----\n\nimport {\n AXPFeatureDefinitionProvider,\n AXPFeatureDefinitionProviderContext,\n} from '@acorex/platform/core';\nimport { AXPSecurityManagementFeatureKeys } from './features.keys';\nimport { RootConfig } from './const';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\n//#endregion\n\n//#region ---- Feature Definition Provider ----\n\n/**\n * Security Management Module Feature Definition Provider.\n * Provides feature definitions for the Security Management module.\n */\nexport class AXMSecurityManagementFeatureDefinitionProvider\n implements AXPFeatureDefinitionProvider {\n async provide(context: AXPFeatureDefinitionProviderContext): Promise<void> {\n const i18n = RootConfig.config.i18n;\n\n // Manage Roles feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageRoles, {\n title: `@${i18n}:features.manage-roles.title`,\n description: `@${i18n}:features.manage-roles.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Manage Users feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageUsers, {\n title: `@${i18n}:features.manage-users.title`,\n description: `@${i18n}:features.manage-users.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Max Total Users feature (widget configuration)\n context.addFeature(AXPSecurityManagementFeatureKeys.MaxTotalUsers, {\n title: `@${i18n}:features.max-total-users.title`,\n description: `@${i18n}:features.max-total-users.description`,\n defaultValue: 100,\n type: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n placeholder: `@${i18n}:features.max-total-users.title`,\n min: 1,\n max: 10000,\n step: 1,\n },\n },\n });\n\n // Manage Sessions feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManageSessions, {\n title: `@${i18n}:features.manage-sessions.title`,\n description: `@${i18n}:features.manage-sessions.description`,\n defaultValue: true,\n type: 'boolean',\n });\n\n // Manage Policies feature\n context.addFeature(AXPSecurityManagementFeatureKeys.ManagePolicies, {\n title: `@${i18n}:features.manage-policies.title`,\n description: `@${i18n}:features.manage-policies.description`,\n defaultValue: true,\n type: 'boolean',\n });\n }\n}\n\n//#endregion\n\n","import { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from \"@acorex/platform/workflow\";\nimport { inject, Injectable } from \"@angular/core\";\nimport { AXPopupService } from \"@acorex/components/popup\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { RootConfig } from \"../../../const\";\n\n@Injectable()\nexport class AXMOpenPermissionsEditorAction extends AXPWorkflowAction {\n\n private modalService = inject(AXPopupService);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const role = context.getVariable('data');\n const component = await import('../permissions-editor/permissions-editor-popup.component').then(m => m.AXPPermissionsEditorPopupComponent);\n const title = await this.translateService.translateAsync(\"@security-management:permissions-feature.terms.permissions-editor\");\n const result = await this.modalService.open(component, {\n title: `${title} - ${role.title}`,\n size: 'md',\n data: {\n initialPermissions: role['permissions'] ?? [],\n }\n });\n //\n context.setVariable('entity', `${RootConfig.module.name}.${RootConfig.entities.roles.name}`);\n //\n const permissions = result.data;\n if (permissions) {\n context.setVariable('data.permissions', permissions);\n context.setOutput('result', true);\n }\n }\n}\n\nexport const AXMAssignPermissionsWorkflow: AXPWorkflow = {\n startStepId: 'assign-permissions',\n steps: {\n \"assign-permissions\": {\n action: 'open-permissions-editor',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'assign-permissions-to-role',\n },\n ],\n },\n \"assign-permissions-to-role\": {\n action: 'entity-apply-updates',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'dispatch-event',\n },\n\n ],\n },\n \"dispatch-event\": {\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n \"show-toast\": {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: '@general:workflow.entity-modified-title',\n content: '@general:workflow.entity-modified-body',\n },\n },\n },\n};\n\n\n","import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex/platform/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/layout/widgets';\n\nexport const AXPPermissionsWidget: AXPWidgetConfig = {\n name: \"permissions-editor\",\n title: \"Permissions Editor\",\n description: 'Widget for managing permissions with full editor interface',\n type: 'view',\n categories: [],\n groups: [AXPWidgetGroupEnum.EntityWidget],\n icon: \"fa-solid fa-user-shield\",\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./permissions-widget-view.component').then((c) => c.AXPPermissionsWidgetViewComponent),\n },\n edit: {\n component: () => import('./permissions-widget-edit.component').then((c) => c.AXPPermissionsWidgetEditComponent),\n },\n column: {\n component: () => import('./permissions-widget-column.component').then((c) => c.AXPPermissionsWidgetColumnComponent),\n },\n }\n}","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex/platform/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXPPermissionsWidget } from './permissions-widget/permissions-widget.config';\n\n//#endregion\n\n//#region ---- Permissions Widgets Provider ----\n\nconst WIDGETS = [AXPPermissionsWidget];\n\n@Injectable()\nexport class AXPPermissionsWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return WIDGETS;\n }\n}\n\n//#endregion\n","import { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';\nimport { NgModule } from '@angular/core';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMAssignPermissionsWorkflow } from './workflows/assign-permissions.workflow';\nimport { AXMOpenPermissionsEditorAction } from './workflows/assign-permissions.workflow';\nimport { AXPPermissionsWidgetsProvider } from './widget-definition.provider';\n\n@NgModule({\n imports: [\n AXPWorkflowModule.forChild({\n workflows: {\n 'assign-permissions': AXMAssignPermissionsWorkflow\n },\n actions: {\n 'open-permissions-editor': AXMOpenPermissionsEditorAction\n }\n }),\n AXPWidgetCoreModule,\n ],\n providers: [\n { provide: AXP_WIDGET_DEFINITION_PROVIDER, useClass: AXPPermissionsWidgetsProvider, multi: true },\n ],\n})\nexport class AXMPermissionsModule { }\n\n","import { AXPSessionService } from \"@acorex/platform/auth\";\nimport { AXPExpressionEvaluatorScopeProvider, AXPExpressionEvaluatorScopeProviderContext } from \"@acorex/platform/core\";\nimport { inject } from \"@angular/core\";\n\nexport class AXMSecurityManagementEvaluatorScopeProvider implements AXPExpressionEvaluatorScopeProvider {\n\n protected sessionService = inject(AXPSessionService);\n\n async provide(context: AXPExpressionEvaluatorScopeProviderContext): Promise<void> {\n context.addScope('session', {\n currentUser: () => {\n return this.sessionService.user;\n },\n user: () => {\n return this.sessionService.user;\n },\n currentApplication: () => {\n return this.sessionService.application;\n },\n currentTenant: () => {\n return this.sessionService.tenant;\n },\n currentPermissions: () => {\n return this.sessionService.permissions;\n },\n })\n }\n}","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPCommonMenuKeys } from '@acorex/modules/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSecurityManagementMenuKeys } from './menu.keys';\nimport { AXPSecurityManagementPermissionKeys } from './permission.keys';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const moduleName = RootConfig.module.name;\n\n // Check if Security submenu exists under Administration, create it if not\n const securityMenu = context.find(AXPSecurityManagementMenuKeys.Root);\n if (!securityMenu.exists) {\n // Add Security submenu to Administration group\n context.find(AXPCommonMenuKeys.Administration).addItems([\n {\n priority: 1,\n text: '@security-management:module.menus.root.title',\n icon: RootConfig.module.icon,\n name: AXPSecurityManagementMenuKeys.Root,\n type: 'menu',\n children: [],\n policy: {\n features: [RootConfig.module.name],\n }\n },\n ]);\n }\n\n // Add menu items under Security submenu\n context.find(AXPSecurityManagementMenuKeys.Root).addItems([\n {\n priority: 9003,\n text: RootConfig.entities.users.titlePlural,\n icon: RootConfig.entities.users.icon,\n name: AXPSecurityManagementMenuKeys.Users,\n path: this.entityService.createPath(moduleName, RootConfig.entities.users.name),\n policy: {\n\n permissions: [AXPSecurityManagementPermissionKeys.User.View],\n },\n },\n {\n priority: 9004,\n text: RootConfig.entities.roles.titlePlural,\n path: this.entityService.createPath(moduleName, RootConfig.entities.roles.name),\n icon: RootConfig.entities.roles.icon,\n name: AXPSecurityManagementMenuKeys.Roles,\n policy: {\n permissions: [AXPSecurityManagementPermissionKeys.Role.View],\n },\n },\n {\n priority: 9005,\n text: RootConfig.entities.deviceSessions.titlePlural,\n path: this.entityService.createPath(moduleName, RootConfig.entities.deviceSessions.name),\n icon: RootConfig.entities.deviceSessions.icon,\n name: AXPSecurityManagementMenuKeys.DeviceSessions,\n policy: {\n permissions: [AXPSecurityManagementPermissionKeys.DeviceSession.View],\n },\n },\n // {\n // priority: 9006,\n // text: RootConfig.entities.policy.titlePlural,\n // path: this.entityService.createPath(moduleName, RootConfig.entities.policy.name),\n // icon: RootConfig.entities.policy.icon,\n // name: AXPSecurityManagementMenuKeys.Policy,\n // policy: {\n // permissions: [AXPSecurityManagementPermissionKeys.Policy.View],\n // },\n // },\n ]);\n }\n}\n","//#region ---- Imports ----\n\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex/platform/auth';\nimport { Injectable } from '@angular/core';\nimport { AXPSecurityManagementPermissionKeys } from './permission.keys';\nimport { RootConfig } from './const';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n\n //#region ---- Define Method ----\n\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPSecurityManagementPermissionKeys;\n\n // I18n path constants\n const MODULE_PERMISSIONS = '@security-management:module.permissions';\n const USERS_PERMISSIONS = '@security-management:users.permissions';\n const ROLES_PERMISSIONS = '@security-management:roles.permissions';\n const SESSIONS_PERMISSIONS = '@security-management:sessions.permissions';\n const POLICIES_PERMISSIONS = '@security-management:policies.permissions';\n\n context\n .addGroup(\n RootConfig.module.name,\n `${MODULE_PERMISSIONS}.title`,\n `${MODULE_PERMISSIONS}.description`\n )\n //\n .addPermission(\n keys.User.Management,\n `${USERS_PERMISSIONS}.manage.title`,\n `${USERS_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.User.View,\n `${USERS_PERMISSIONS}.view.title`,\n `${USERS_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.User.Create,\n `${USERS_PERMISSIONS}.create.title`,\n `${USERS_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.User.Edit,\n `${USERS_PERMISSIONS}.edit.title`,\n `${USERS_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.User.Delete,\n `${USERS_PERMISSIONS}.delete.title`,\n `${USERS_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.Role.Management,\n `${ROLES_PERMISSIONS}.manage.title`,\n `${ROLES_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.Role.View,\n `${ROLES_PERMISSIONS}.view.title`,\n `${ROLES_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Role.Create,\n `${ROLES_PERMISSIONS}.create.title`,\n `${ROLES_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Role.Edit,\n `${ROLES_PERMISSIONS}.edit.title`,\n `${ROLES_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Role.Delete,\n `${ROLES_PERMISSIONS}.delete.title`,\n `${ROLES_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.DeviceSession.Management,\n `${SESSIONS_PERMISSIONS}.manage.title`,\n `${SESSIONS_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.DeviceSession.View,\n `${SESSIONS_PERMISSIONS}.view.title`,\n `${SESSIONS_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.DeviceSession.Terminate,\n `${SESSIONS_PERMISSIONS}.terminate.title`,\n `${SESSIONS_PERMISSIONS}.terminate.description`\n )\n .endPermission()\n //\n .addPermission(\n keys.Policy.Management,\n `${POLICIES_PERMISSIONS}.manage.title`,\n `${POLICIES_PERMISSIONS}.manage.description`\n )\n .addChild(\n keys.Policy.View,\n `${POLICIES_PERMISSIONS}.view.title`,\n `${POLICIES_PERMISSIONS}.view.description`\n )\n .addChild(\n keys.Policy.Create,\n `${POLICIES_PERMISSIONS}.create.title`,\n `${POLICIES_PERMISSIONS}.create.description`\n )\n .addChild(\n keys.Policy.Edit,\n `${POLICIES_PERMISSIONS}.edit.title`,\n `${POLICIES_PERMISSIONS}.edit.description`\n )\n .addChild(\n keys.Policy.Delete,\n `${POLICIES_PERMISSIONS}.delete.title`,\n `${POLICIES_PERMISSIONS}.delete.description`\n )\n .endPermission()\n //\n .endGroup();\n }\n\n //#endregion\n}\n\n//#endregion\n\n","import { AXPSearchCommandProvider, createEntitySearchCommand } from '@acorex/platform/common';\nimport { RootConfig } from './const';\n\n// TODO: Refactor to generic provider (do it later)\n//\n// Move this logic to a generic AXPEntityCreateSearchCommandProvider in libs/platform/layout/entity.\n// The generic provider should:\n// - Inject AXPEntityDefinitionRegistryService and AXPSessionService\n// - Override search(text) to build commands dynamically from registry\n// - Filter entities: only aggregate roots (commands?.create exists AND !parentKey)\n// - Filter by permission: sessionService.authorize() for both Create and Management\n// Permission convention: `${module}:Permission:${entity.name}.Create` or `.Management`\n// - Use createEntityCommandOptions() with Entity:Create command (same pattern as below)\n// - Register in entity module as AXP_SEARCH_PROVIDER\n// - Remove this and other module-specific search command providers that only add entity-create commands\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands = [\n createEntitySearchCommand({\n id: 'create-security-user',\n entityKey: `${RootConfig.module.name}.${RootConfig.entities.users.name}`,\n entityInfo: { name: RootConfig.entities.users.name, module: RootConfig.module.name, title: RootConfig.entities.users.title },\n titleKey: '@security-management:users.permissions.create.title',\n descriptionKey: '@security-management:users.permissions.create.description',\n icon: RootConfig.entities.users.icon,\n }),\n createEntitySearchCommand({\n id: 'create-security-role',\n entityKey: `${RootConfig.module.name}.${RootConfig.entities.roles.name}`,\n entityInfo: { name: RootConfig.entities.roles.name, module: RootConfig.module.name, title: RootConfig.entities.roles.title },\n titleKey: '@security-management:roles.permissions.create.title',\n descriptionKey: '@security-management:roles.permissions.create.description',\n icon: RootConfig.entities.roles.icon,\n }),\n ];\n}\n","import { AXPUserAvatarData, AXPUserAvatarProvider } from '@acorex/platform/layout/components';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { inject } from '@angular/core';\nimport { AXMUsersEntityService } from './entities';\n\nexport class AXMUserAvatarProvider implements AXPUserAvatarProvider {\n private userService = inject(AXMUsersEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(userId: string): Promise<AXPUserAvatarData> {\n // Try entity service first\n try {\n const user = await this.userService.getOne(userId);\n if (user) {\n const [firstName, lastName] = user.displayName.split(' ') || ['', ''];\n return {\n id: user.id,\n username: user.username,\n firstName: firstName || '',\n lastName: lastName || '',\n status: 'online',\n };\n }\n } catch (error) {\n // If entity service fails, fallback to session service for current user\n console.debug('Failed to load user from entity service, falling back to session data', error);\n }\n\n // Fallback: Use session service data for current user (mock mode)\n const currentUser = this.sessionService.user;\n if (currentUser && currentUser.id === userId) {\n const [firstName, lastName] = (currentUser.title || currentUser.name || '').split(' ') || ['', ''];\n return {\n id: currentUser.id,\n username: currentUser.name || '',\n firstName: firstName || '',\n lastName: lastName || '',\n status: 'online',\n avatarUrl: currentUser.avatar,\n };\n }\n\n // If all fallbacks fail, throw error\n throw new Error(`User not found for ${userId}`);\n }\n}\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRefreshEvent } from '@acorex/platform/common';\nimport { AXPEntityDefinitionRegistryService } from '@acorex/platform/layout/entity';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPSessionTerminateEvent = createWorkFlowEvent<{ entity: string; ids: string[]; meta?: any }>(\n '[Entity] Terminated!'\n);\n\n@Injectable()\nexport class AXPSessionTerminatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityDefinitionRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n private translationService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> { \n const moduleEntity = context.getVariable('entity');\n const [moduleName, entityName] = moduleEntity.split('.');\n const data = context.getVariable<any>('data');\n const meta = context.getVariable<any>('meta');\n\n const ids = Array.isArray(data) ? data.map((c) => c.id) : [data.id];\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n if (entity.parentKey && data[entity.parentKey]) {\n context.setVariable('meta', { ...meta, refreshTargetId: data[entity.parentKey] });\n }\n context.setVariable('terminateSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: await this.translationService.translateAsync('workflow.terminating'),\n mode: 'determinate',\n status: 'Terminating...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: await this.translationService.translateAsync('cancel'),\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if ((entity.commands as any).terminate != null) {\n const terminateExec = (entity.commands as any).terminate?.execute as Function;\n let faildCounter = 0;\n for (const element of ids) {\n const res = await terminateExec(element);\n if (!res) {\n faildCounter++;\n await this.dialogService.alert(\n await this.translationService.translateAsync('workflow.fail-delete-title'),\n await this.translationService.translateAsync('workflow.fail-delete-body', {\n params: { item: 1 },\n }),\n 'danger'\n );\n }\n }\n context.setOutput('result', faildCounter == 0 ? true : false);\n setTimeout(() => {\n dialog.close();\n this.dispatch(AXPRefreshEvent({ entity: moduleEntity, meta: context.getVariable<any>('meta') }));\n }, 300); \n }\n }\n}\n\nexport const AXPSessionTerminateWorkflow: AXPWorkflow = {\n startStepId: 'show-popup',\n steps: {\n 'show-popup': {\n action: 'AXPSessionTerminatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' }],\n nextStepId: 'show-toast',\n },\n ],\n },\n 'show-toast': {\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'workflow.session-terminated',\n content: 'workflow.session-terminated-body',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'dispatch-event',\n },\n ],\n },\n },\n};\n","//#region ---- Imports ----\n\nimport {\n AXPStatusDefinition,\n AXPStatusProvider,\n AXPStatusTransition,\n AXPSystemStatusType,\n systemStatusToDefinition,\n} from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- User account status provider ----\n\n/**\n * Account-level status for SecurityManagement.User (lifecycle / admin).\n * Auth lockout is expressed as `authenticationState === blocked`, not as a `statusId`.\n */\nexport class AXMUserStatusProvider extends AXPStatusProvider {\n readonly key = 'security-management.status.user';\n\n readonly defaultStatus = AXPSystemStatusType.Active;\n\n readonly statuses: AXPStatusDefinition[] = [\n systemStatusToDefinition(AXPSystemStatusType.Pending, {\n title: '@security-management:users.entities.user.states.pending',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Active, {\n title: '@security-management:users.entities.user.states.active',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Suspended, {\n title: '@security-management:users.entities.user.states.suspended',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Inactive, {\n title: '@security-management:users.entities.user.states.inactive',\n generateView: true,\n }),\n systemStatusToDefinition(AXPSystemStatusType.Archived, {\n title: '@security-management:users.entities.user.states.archived',\n generateView: true,\n }),\n ];\n\n readonly transitions: AXPStatusTransition[] = [\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Active,\n title: '@security-management:users.entities.user.transitions.activate',\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Inactive,\n title: '@security-management:users.entities.user.transitions.cancel-invitation',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Suspended,\n title: '@security-management:users.entities.user.transitions.suspend',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Active,\n title: '@security-management:users.entities.user.transitions.restore',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Inactive,\n title: '@security-management:users.entities.user.transitions.disable',\n },\n {\n from: AXPSystemStatusType.Inactive,\n to: AXPSystemStatusType.Active,\n title: '@security-management:users.entities.user.transitions.enable',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Inactive,\n title: '@security-management:users.entities.user.transitions.disable',\n },\n {\n from: AXPSystemStatusType.Active,\n to: AXPSystemStatusType.Archived,\n title: '@security-management:users.entities.user.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Suspended,\n to: AXPSystemStatusType.Archived,\n title: '@security-management:users.entities.user.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Inactive,\n to: AXPSystemStatusType.Archived,\n title: '@security-management:users.entities.user.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Pending,\n to: AXPSystemStatusType.Archived,\n title: '@security-management:users.entities.user.transitions.archive',\n },\n {\n from: AXPSystemStatusType.Archived,\n to: AXPSystemStatusType.Active,\n title: '@security-management:users.entities.user.transitions.restore-archived',\n },\n ];\n}\n\n//#endregion\n","import {\n AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n AXP_FEATURE_DEFINITION_PROVIDER,\n AXP_MODULE_MANIFEST_PROVIDER,\n} from '@acorex/platform/core';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { NgModule } from '@angular/core';\nimport { SecurityManagementManifest } from './manifest';\n\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex/platform/common';\nimport { AXP_USER_AVATAR_PROVIDER } from '@acorex/platform/layout/components';\nimport { provideCommandSetups } from '@acorex/platform/runtime';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { AXMPolicyService, AXMPolicyServiceImpl } from './entities';\nimport { AXMSecurityManagementDeviceSessionsEntityModule } from './entities/device-sessions';\nimport { AXMSecurityManagementProfileEntityModule } from './entities/profile';\nimport { AXMSecurityManagementRolesEntityModule } from './entities/roles';\nimport { AXMSecurityManagementUsersEntityModule } from './entities/users';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMSecurityManagementFeatureDefinitionProvider } from './feature-definition.provider';\nimport { AXMPermissionsModule } from './features/permissions/permissions.module';\nimport { AXMSecurityManagementEvaluatorScopeProvider } from './features/security-evaluator-scope.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMUserAvatarProvider } from './user-avatar.provider';\nimport { AXPSessionTerminatePopupAction, AXPSessionTerminateWorkflow } from './workflows/terminate-entity.workflow';\nimport { AXMUserStatusProvider } from './features/shared/user-status.provider';\nimport { AXMUserAuthenticationStateProvider } from './features/shared/user-authentication-state.provider';\n\n@NgModule({\n imports: [\n AXMSecurityManagementDeviceSessionsEntityModule,\n AXMSecurityManagementProfileEntityModule,\n AXMSecurityManagementRolesEntityModule,\n AXMSecurityManagementUsersEntityModule,\n AXMPermissionsModule,\n\n AXPWorkflowModule.forChild({\n actions: {\n AXPSessionTerminatePopupAction,\n },\n workflows: {\n 'terminate-entity': AXPSessionTerminateWorkflow,\n },\n functions: {},\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n // Module-specific providers (not part of manifest system)\n {\n provide: AXMPolicyService,\n useClass: AXMPolicyServiceImpl,\n },\n {\n provide: AXP_USER_AVATAR_PROVIDER,\n useClass: AXMUserAvatarProvider,\n },\n {\n provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,\n useClass: AXMSecurityManagementEvaluatorScopeProvider,\n multi: true,\n },\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: SecurityManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_FEATURE_DEFINITION_PROVIDER,\n useClass: AXMSecurityManagementFeatureDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMUserStatusProvider,\n multi: true,\n },\n {\n provide: AXP_STATUS_PROVIDERS,\n useClass: AXMUserAuthenticationStateProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: 'Session:Terminate',\n command: () => import('./commands/terminate-session.command').then((c) => c.AXPTerminateSessionCommand),\n },\n ]),\n ],\n})\nexport class AXMSecurityManagementModule {}\n","// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, computed, inject, signal, input, output, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPPermissionDefinition, AXPPermissionDefinitionService, AXPPermissionGroupDefinition, AXPSessionService } from '@acorex/platform/auth';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { FormsModule } from '@angular/forms';\nimport { AXValueChangedEvent } from \"@acorex/cdk/common\";\nimport { AXTooltipModule } from '@acorex/components/tooltip';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor',\n templateUrl: './permissions-editor.component.html',\n styleUrl: './permissions-editor.component.scss',\n imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXTabsModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXBadgeModule,\n AXCheckBoxModule,\n AXTooltipModule,\n ],\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ax-h-[75vh] ax-flex'\n }\n})\nexport class AXPPermissionsEditorComponent implements OnInit {\n\n // #region ---------------- Class Properties ----------------\n /** Service for fetching permission groups and definitions */\n private permissionService = inject(AXPPermissionDefinitionService);\n\n /** Session service for checking module access */\n private sessionService = inject(AXPSessionService);\n\n /** Currently selected permission group */\n protected selectedGroup = signal<AXPPermissionGroupDefinition | null>(null);\n\n /** All available permission groups */\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n /** Initial permissions to be selected - exposed as signal input */\n initialPermissions = input<string[]>([]);\n\n /** Whether the editor is in read-only mode */\n readOnly = input<boolean>(false);\n\n /** List of selected permission names */\n protected selectedPermissions = signal<string[]>([]);\n\n /** Event emitted when permissions selection changes */\n permissionsChanged = output<string[]>();\n\n /** Event emitted when permissions are applied/selected */\n permissionsSelected = output<string[]>();\n // #endregion\n\n // #region ---------------- Computed Properties ----------------\n /**\n * Recursively maps permissions to include selection state and children.\n */\n private mapPermissions(items: any[]): any[] {\n return (items || []).map(item => {\n const hasChild = Array.isArray(item.children) && item.children.length > 0;\n return {\n ...item,\n isSelected: this.isSelected(item.name),\n children: hasChild ? this.mapPermissions(item.children) : null\n };\n });\n }\n\n /**\n * Computed: Returns mapped permissions for the selected group.\n */\n protected items = computed(() => {\n const permissions = this.selectedGroup()?.permissions || [];\n return this.mapPermissions(permissions);\n });\n\n /**\n * Computed: Returns groups with badge counts, sorted by title.\n */\n protected groupsWithBadge = computed(() => {\n const groups = this.groups();\n const result = groups.map(group => {\n return {\n ...group,\n badge: this.getBadge(group) || ''\n };\n });\n return result.sort((a, b) => a.title.localeCompare(b.title));\n });\n // #endregion\n\n // #region ---------------- Utility Methods ----------------\n /**\n * Extracts module name from a permission group name.\n * Handles multiple formats:\n * - Permission key format: 'SecurityManagement:Permission:SecurityManagement.Management' -> 'SecurityManagement'\n * - PascalCase: 'TenantManagement' -> 'TenantManagement'\n * - kebab-case: 'tenant-management' -> 'TenantManagement' (converts to PascalCase)\n */\n private extractModuleNameFromGroupName(groupName: string): string {\n // If it contains ':', extract the first part (permission key format)\n if (groupName.includes(':')) {\n const parts = groupName.split(':');\n return parts[0];\n }\n\n // If it's kebab-case, convert to PascalCase\n if (groupName.includes('-')) {\n return groupName.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');\n }\n\n // Otherwise, assume it's already PascalCase\n return groupName;\n }\n\n /**\n * Filters permission groups to only include those from enabled modules.\n */\n private filterGroupsByEnabledModules(groups: AXPPermissionGroupDefinition[]): AXPPermissionGroupDefinition[] {\n return groups.filter(group => {\n const moduleName = this.extractModuleNameFromGroupName(group.name);\n return this.sessionService.isModuleEnabled(moduleName);\n });\n }\n\n /**\n * Recursively collects all permission names (parents and children) from an array.\n */\n private collectAllPermissionNames(permissions: any[]): string[] {\n let names: string[] = [];\n for (const item of permissions) {\n names.push(item.name);\n if (Array.isArray(item.children) && item.children.length > 0) {\n names = names.concat(this.collectAllPermissionNames(item.children));\n }\n }\n return names;\n }\n\n /**\n * Returns the badge count for a group (all selected permissions, including parents).\n */\n private getBadge(group: AXPPermissionGroupDefinition): string {\n const allNames = this.collectAllPermissionNames(group.permissions || []);\n const selectedPermissions = this.selectedPermissions();\n const count = allNames.filter(name => selectedPermissions.includes(name)).length;\n return count.toString();\n }\n\n /**\n * Checks if a permission is selected.\n */\n private isSelected(name: string): boolean {\n return this.selectedPermissions().includes(name);\n }\n\n /**\n * Checks if a permission is selected.\n */\n protected badgeToNumber(value: unknown): number {\n return Number(value);\n }\n\n /**\n * Recursively collects all descendant permission names for a single item (including itself).\n */\n private collectPermissionNames(item: any): string[] {\n let names = [item.name];\n if (Array.isArray(item.children) && item.children.length > 0) {\n for (const child of item.children) {\n names = names.concat(this.collectPermissionNames(child));\n }\n }\n return names;\n }\n\n /**\n * Gets the current selected permissions.\n */\n public getSelectedPermissions(): string[] {\n return this.selectedPermissions();\n }\n\n /**\n * Sets the selected permissions.\n */\n public setSelectedPermissions(permissions: string[]): void {\n this.selectedPermissions.set(permissions || []);\n this.permissionsChanged.emit(this.selectedPermissions());\n }\n\n /**\n * Applies/selects the current permissions.\n */\n public selectPermissions(): void {\n this.permissionsSelected.emit(this.selectedPermissions());\n }\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component and loads permission groups.\n * Filters groups to only show permissions from modules enabled for the current tenant.\n */\n async ngOnInit() {\n const allGroups = await this.permissionService.getGroups();\n const filteredGroups = this.filterGroupsByEnabledModules(allGroups);\n this.groups.set(filteredGroups);\n\n // Select first group if available\n if (filteredGroups.length > 0) {\n this.selectedGroup.set(filteredGroups[0]);\n }\n\n this.selectedPermissions.set(this.initialPermissions());\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles group tab/menu item click.\n */\n protected handleMenuItemClick(item: AXPPermissionGroupDefinition) {\n this.selectedGroup.set(item);\n }\n\n /**\n * Handles permission checkbox toggle (checks/unchecks all children recursively).\n */\n protected onPermissionToggle(item: any, e: AXValueChangedEvent): void {\n // Don't allow changes in read-only mode\n if (this.readOnly()) {\n return;\n }\n\n const names = this.collectPermissionNames(item);\n if (e.value) {\n // Add all names (parent + children), avoiding duplicates\n const set = new Set([...this.selectedPermissions(), ...names]);\n this.selectedPermissions.set(Array.from(set));\n } else {\n // Remove all names (parent + children)\n this.selectedPermissions.set(\n this.selectedPermissions().filter(name => !names.includes(name))\n );\n }\n this.permissionsChanged.emit(this.selectedPermissions());\n }\n // #endregion\n\n} ","<div class=\"__groups ax-p-4 ax-min-h-full ax-w-2/5\">\n <ax-tabs location=\"start\" look=\"with-line-color\" class=\"ax-h-full\">\n @for (group of groupsWithBadge(); track $index) {\n <ax-tab-item [active]=\"group.name === selectedGroup()?.name\" [text]=\"(group.title | translate | async)!\"\n (onClick)=\"handleMenuItemClick(group)\">\n @if (badgeToNumber(group.badge) > 0) {\n <ax-suffix>\n <ax-badge color=\"primary\" [text]=\"group.badge\"></ax-badge>\n </ax-suffix>\n }\n </ax-tab-item>\n }\n </ax-tabs>\n</div>\n\n<div class=\"__permissions ax-flex ax-h-full ax-overflow-auto ax-flex-col ax-w-3/5 ax-border-s\">\n <div class=\"__header ax-p-4 ax-border-b ax-border-lightest\">\n <span class=\"ax-h6\">{{ (selectedGroup()?.title!) | translate | async }}</span>\n </div>\n\n <div class=\"__content ax-flex ax-p-4 ax-overflow-auto\">\n <ul class=\"__list\">\n <ng-template #recursiveList let-items>\n @for (item of items; track $index) {\n <li class=\"__item ax-py-1 ax-ps-2\">\n <ax-check-box [ngModel]=\"item.isSelected\" [readonly]=\"readOnly()\"\n (onValueChanged)=\"onPermissionToggle(item, $event)\">\n <ax-label>\n {{ item.title | translate | async }}\n @if (item.description) {\n <i class=\"ax-ps-2 ax-text-xs fa-light fa-circle-info\" [title]=\"item.description\"></i>\n }\n </ax-label>\n </ax-check-box>\n\n @if (item.children && item.children.length > 0) {\n <ul class=\"__children ax-p-2 ax-mt-1 ax-ms-1\">\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: item.children }\"></ng-container>\n </ul>\n }\n </li>\n }\n </ng-template>\n <ng-container *ngTemplateOutlet=\"recursiveList; context: { $implicit: items() }\"></ng-container>\n </ul>\n </div>\n</div>","// #region ---------------- Imports ----------------\nimport { Component, ViewEncapsulation, inject, ViewChild } from '@angular/core';\n\n\nimport { AXPPopupLayoutBase, AXPPopupLayoutBaseComponent, AXPPopupLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPActionMenuItem, AXPExecuteCommand } from '@acorex/platform/core';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPPermissionsEditorComponent } from './permissions-editor.component';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\n// #endregion\n\n@Component({\n selector: 'axm-permissions-editor-popup',\n templateUrl: './permissions-editor-popup.component.html',\n imports: [\n AXTranslationModule,\n AXPPopupLayoutComponent,\n AXPPermissionsEditorComponent,\n AXPThemeLayoutBlockComponent\n],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXPPopupLayoutBase,\n useExisting: AXPPermissionsEditorPopupComponent\n }\n ],\n})\nexport class AXPPermissionsEditorPopupComponent extends AXPPopupLayoutBaseComponent {\n\n // #region ---------------- Class Properties ----------------\n /** Reference to the core permission editor component */\n @ViewChild(AXPPermissionsEditorComponent) permissionEditor!: AXPPermissionsEditorComponent;\n\n /** Initial permissions to be selected */\n protected initialPermissions: string[] = [];\n // #endregion\n\n // #region ---------------- Lifecycle Methods ----------------\n /**\n * Initializes the component.\n */\n override async ngOnInit() {\n super.ngOnInit();\n // Any popup-specific initialization can go here\n }\n // #endregion\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Returns the primary menu items for the popup layout.\n */\n protected override getPrimaryMenuItems(): AXPActionMenuItem[] | Promise<AXPActionMenuItem[]> {\n return [\n {\n title: '@general:actions.select.title',\n icon: 'fa-solid fa-check',\n command: {\n name: 'select'\n }\n }\n ];\n }\n\n /**\n * Handles permission selection changes from the editor component.\n */\n protected onPermissionsChanged(permissions: string[]): void {\n // Handle permission changes if needed for popup-specific logic\n }\n\n /**\n * Handles when permissions are selected from the editor component.\n */\n protected onPermissionsSelected(permissions: string[]): void {\n this.close(permissions);\n }\n\n /**\n * Executes popup commands.\n */\n override execute(command: AXPExecuteCommand): void | Promise<void> {\n if (command.name === 'select') {\n const selectedPermissions = this.permissionEditor.getSelectedPermissions();\n this.close(selectedPermissions);\n }\n }\n // #endregion\n\n} ","<axp-popup-layout>\n <axp-page-content>\n <axm-permissions-editor [initialPermissions]=\"initialPermissions\"\n (permissionsChanged)=\"onPermissionsChanged($event)\" (permissionsSelected)=\"onPermissionsSelected($event)\">\n </axm-permissions-editor>\n </axp-page-content>\n</axp-popup-layout>","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component, computed, inject, signal, effect } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXPPermissionDefinitionService, AXPPermissionGroupDefinition, AXPPermissionDefinition } from '@acorex/platform/auth';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPStateMessageComponent } from '@acorex/platform/layout/components';\n\ninterface PermissionPath {\n group: AXPPermissionGroupDefinition;\n path: AXPPermissionDefinition[];\n displayPath: string;\n}\n\n@Component({\n selector: 'axm-permissions-widget-view',\n template: `\n <!-- <axm-permissions-editor\n [initialPermissions]=\"getValue() || []\"\n [readOnly]=\"true\">\n </axm-permissions-editor> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (group of groups(); track group.name) {\n @if (selectedPermissionsByGroup()[group.name]?.length) {\n <div>\n <div class=\"ax-text-xs ax-font-semibold ax-mb-2 ax-text-muted\">{{ group.title }}</div>\n <div class=\"ax-flex ax-gap-1 ax-flex-wrap\">\n @for (permPath of selectedPermissionsByGroup()[group.name]; track permPath.path[permPath.path.length - 1].name) {\n <ax-badge [text]=\"permPath.displayPath\" color=\"primary\" size=\"sm\"></ax-badge>\n }\n </div>\n </div>\n }\n }\n @if (isEmpty()) {\n <axp-state-message\n icon=\"fa-light fa-shield-check\"\n [title]=\"'@security-management:permissions-feature.components.permissions-editor.empty-states.no-permissions.title'\"\n [description]=\"'@security-management:permissions-feature.components.permissions-editor.empty-states.no-permissions.description'\">\n </axp-state-message>\n }\n </div>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXBadgeModule, AXTranslationModule, AXPStateMessageComponent]\n})\nexport class AXPPermissionsWidgetViewComponent extends AXPValueWidgetComponent<string[]> {\n private permissionService = inject(AXPPermissionDefinitionService);\n private workflowService = inject(AXPWorkflowService);\n protected groups = signal<AXPPermissionGroupDefinition[]>([]);\n\n private loadGroupsEffect = effect(async () => {\n // Load groups when component initializes\n if (this.groups().length === 0) {\n const groupsData = await this.permissionService.getGroups();\n this.groups.set(groupsData);\n }\n });\n\n protected selectedPermissionsByGroup = computed(() => {\n const selected = new Set(this.getValue() ?? []);\n const result: Record<string, PermissionPath[]> = {};\n\n for (const group of this.groups()) {\n const permPaths: PermissionPath[] = [];\n\n const findPermissionPaths = (items: AXPPermissionDefinition[], path: AXPPermissionDefinition[] = []) => {\n for (const item of items) {\n const currentPath = [...path, item];\n\n if (selected.has(item.name)) {\n const displayPath = currentPath.map(p => p.title).join(' > ');\n permPaths.push({\n group,\n path: currentPath,\n displayPath\n });\n }\n\n if (item.children?.length) {\n findPermissionPaths(item.children, currentPath);\n }\n }\n };\n\n findPermissionPaths(group.permissions);\n result[group.name] = permPaths;\n }\n\n return result;\n });\n\n protected isEmpty = computed(() => {\n return Object.values(this.selectedPermissionsByGroup()).every(arr => !arr.length);\n });\n\n\n protected async openPermissionsEditor() {\n await this.workflowService.execute('assign-permissions', {\n data: this.contextService.data(),\n });\n }\n\n}\n","import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';\n\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { AXPPermissionsEditorComponent } from '../permissions-editor/permissions-editor.component';\n\n@Component({\n selector: 'axm-permissions-widget-edit',\n template: `\n <axm-permissions-editor\n [initialPermissions]=\"getValue() || []\"\n [readOnly]=\"false\"\n (permissionsChanged)=\"onPermissionsChanged($event)\">\n </axm-permissions-editor>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AXPPermissionsEditorComponent\n]\n})\nexport class AXPPermissionsWidgetEditComponent extends AXPValueWidgetComponent<string[]> {\n\n // #region ---------------- UI Handlers ----------------\n /**\n * Handles permissions changes from the editor.\n */\n protected onPermissionsChanged(permissions: string[]): void {\n this.setValue(permissions);\n }\n // #endregion\n\n}","import { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPColumnWidgetComponent } from '@acorex/platform/layout/widget-core';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { castArray } from 'lodash-es';\n@Component({\n selector: 'axm-permissions-widget-column',\n template: `\n <span class=\"ax-cursor-pointer ax-text-primary ax-underline\" (click)=\"openPermissionsEditor()\">{{count()}} {{'@security-management:permissions-feature.terms.permissions' | translate | async}}</span>\n `,\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXTranslationModule],\n inputs: ['rawValue', 'rowData']\n})\nexport class AXPPermissionsWidgetColumnComponent extends AXPColumnWidgetComponent<any> {\n\n protected count = computed(() => castArray(this.rawValue).length);\n protected workflowService = inject(AXPWorkflowService);\n\n async openPermissionsEditor() {\n await this.workflowService.execute('assign-permissions', {\n data: this.rowData\n });\n }\n}","// Permission Editor Components\nexport { AXPPermissionsEditorComponent } from './permissions-editor/permissions-editor.component';\nexport { AXPPermissionsEditorPopupComponent } from './permissions-editor/permissions-editor-popup.component';\nexport { AXMPermissionsModule } from './permissions.module';\n\n// Widgets\nexport * from './permissions-widget/index'; ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
|