@acorex-platform/module-security-management-client 0.0.58 → 0.0.60

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.
Files changed (61) hide show
  1. package/fesm2022/{acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-BSGZRsGz.mjs → acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-B61j_cJF.mjs} +212 -13
  2. package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-B61j_cJF.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs +322 -0
  4. package/fesm2022/acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs +21 -2
  6. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs +173 -14
  8. package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs.map +1 -1
  9. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-B4oiF8FO.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-JP3zTrun.mjs} +10 -10
  10. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-B4oiF8FO.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-acorex-platform-module-security-management-client-contracts-entity-catalog-JP3zTrun.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-CU-5X-qu.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-lwQtCJoy.mjs} +23 -4
  12. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-lwQtCJoy.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-Bld1buTd.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-DZfizo-n.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-Bld1buTd.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-identity-provider.entity-DZfizo-n.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-DZVzHzVM.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-Dkl_6Iio.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-DZVzHzVM.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-policy.entity-Dkl_6Iio.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-BCy5fNc9.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-Ddbd-rAG.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-BCy5fNc9.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-profile.entity-Ddbd-rAG.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-DcvYjfZm.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-WCgik8MV.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-DcvYjfZm.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-role-permission.entity-WCgik8MV.mjs.map} +1 -1
  21. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-lNKDIDry.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-CRZftClq.mjs} +2 -2
  22. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-lNKDIDry.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-roles.entity-CRZftClq.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-DKII6o5N.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-9QpoRCOF.mjs} +2 -2
  24. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-DKII6o5N.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-user-role.entity-9QpoRCOF.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-user-two-factor.entity-ge21b3mE.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-user-two-factor.entity-C34VzcYk.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-user-two-factor.entity-ge21b3mE.mjs.map → acorex-platform-module-security-management-client-contracts-entity-catalog-user-two-factor.entity-C34VzcYk.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-CJ7x5rjC.mjs → acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-DuC5cfIb.mjs} +175 -16
  28. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-DuC5cfIb.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog.mjs +1 -1
  30. package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs +342 -4
  31. package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs.map +1 -1
  32. package/fesm2022/acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs +376 -0
  33. package/fesm2022/acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs.map +1 -0
  34. package/fesm2022/{acorex-platform-module-security-management-client-index-DKk9lEIl.mjs → acorex-platform-module-security-management-client-index-B6qo6qLT.mjs} +5 -156
  35. package/fesm2022/acorex-platform-module-security-management-client-index-B6qo6qLT.mjs.map +1 -0
  36. package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs +370 -0
  37. package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs +76 -0
  39. package/fesm2022/acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs.map +1 -0
  40. package/fesm2022/{acorex-platform-module-security-management-client-reset-two-factor.command-psTDKoNf.mjs → acorex-platform-module-security-management-client-reset-two-factor.command-C27mUZ1-.mjs} +7 -2
  41. package/fesm2022/acorex-platform-module-security-management-client-reset-two-factor.command-C27mUZ1-.mjs.map +1 -0
  42. package/fesm2022/{acorex-platform-module-security-management-client-send-password-reset-email.command-CoQgWdya.mjs → acorex-platform-module-security-management-client-send-password-reset-email.command-DFxm2T_x.mjs} +7 -2
  43. package/fesm2022/acorex-platform-module-security-management-client-send-password-reset-email.command-DFxm2T_x.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs +54 -0
  45. package/fesm2022/acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-module-security-management-client-user-role-grant.service-6U17jzjq.mjs +231 -0
  47. package/fesm2022/acorex-platform-module-security-management-client-user-role-grant.service-6U17jzjq.mjs.map +1 -0
  48. package/fesm2022/acorex-platform-module-security-management-client.mjs +1 -1
  49. package/i18n/en-AU/security-management.json +91 -4
  50. package/i18n/en-US/security-management.json +91 -4
  51. package/i18n/fa-IR/security-management.json +91 -4
  52. package/package.json +1 -1
  53. package/types/acorex-platform-module-security-management-client-contracts.d.ts +288 -8
  54. package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-BSGZRsGz.mjs.map +0 -1
  55. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-CU-5X-qu.mjs.map +0 -1
  56. package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-CJ7x5rjC.mjs.map +0 -1
  57. package/fesm2022/acorex-platform-module-security-management-client-index-DKk9lEIl.mjs.map +0 -1
  58. package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs +0 -143
  59. package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-module-security-management-client-reset-two-factor.command-psTDKoNf.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-module-security-management-client-send-password-reset-email.command-CoQgWdya.mjs.map +0 -1
@@ -1,18 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule, inject, signal, input, computed, output, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, untracked } from '@angular/core';
2
+ import { Injectable, inject, NgModule, signal, input, computed, output, ChangeDetectionStrategy, ViewEncapsulation, Component, effect, untracked } from '@angular/core';
3
3
  import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER, AXPPermissionDefinitionService } from '@acorex-platform/framework-client/auth';
4
- import { AXPSearchCommandProvider, createEntitySearchCommand, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS, AXPSettingsService, AXPCommonSettings } from '@acorex-platform/framework-client/common';
4
+ import { AXPSearchCommandProvider, createEntitySearchCommand, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXPSettingsService, AXPCommonSettings } from '@acorex-platform/framework-client/common';
5
5
  import { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXP_FEATURE_DEFINITION_PROVIDER, AXP_CONTEXT_DEFINITION_PROVIDER, provideLazyProvider, setupPopupFooterKeyboardShortcuts, AXPEntityBroadcastService, AXPDialogOpener } from '@acorex-platform/framework-client/core';
6
6
  import { AXP_PAGE_COMPONENT_PROVIDER, AXPStateMessageComponent } from '@acorex-platform/framework-client/layout/components';
7
+ import { AXPEntityService, AXP_ENTITY_STORAGE_MIDDLEWARE, AXP_ENTITY_MODIFIER, AXPEntityDefinitionRegistryService, dispatchEntityModifiedSideEffects } from '@acorex-platform/framework-client/layout/entity';
7
8
  import { provideCommandSetups, AXPCommandService } from '@acorex-platform/framework-client/runtime';
9
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
10
+ import { RootConfig, AXP_DEVICE_SESSION_TENANT_SESSIONS_VIEW, AXP_DEVICE_SESSION_ADMIN_SCOPE_PARAM, AXP_DEVICE_SESSION_ADMIN_SCOPE_HEADER, AXPSecurityManagementFeatureKeys, AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXMUserAccessState, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, AXMUserEffectiveState, AXPSecurityManagementMenuKeys, AXPAdministrationPermissionKeys, isUserProvisioningListAction, userProvisioningListActions, ROLE_PERMISSIONS_PAGE_COMPONENT_KEY } from '@acorex-platform/module-security-management-client/contracts';
11
+ import { Router } from '@angular/router';
8
12
  import { AXM_SECURITY_CONTEXT_DEFINITIONS } from '@acorex-platform/module-security-management-client/contracts';
9
- import { RootConfig, AXPSecurityManagementFeatureKeys, AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXMUserAccessState, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, AXMUserEffectiveState, AXPSecurityManagementMenuKeys, AXPAdministrationPermissionKeys, ROLE_PERMISSIONS_PAGE_COMPONENT_KEY } from '@acorex-platform/module-security-management-client/contracts';
10
13
  import { AXPWidgetsList, AXPStatusProvider, AXPSystemStatusType } from '@acorex-platform/framework-shared/core';
11
14
  import { AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER, AXPValueWidgetComponent, AXPColumnWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
12
15
  import { AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';
13
16
  import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';
14
17
  import { AXPCommonMenuKeys, AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';
15
- import { AXPEntityService, AXPEntityDefinitionRegistryService, dispatchEntityModifiedSideEffects } from '@acorex-platform/framework-client/layout/entity';
16
18
  import * as i1 from '@angular/common';
17
19
  import { CommonModule } from '@angular/common';
18
20
  import { AXBasePageComponent } from '@acorex/components/page';
@@ -61,6 +63,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
61
63
  type: Injectable
62
64
  }] });
63
65
 
66
+ //#region ----- Imports -----
67
+ //#endregion
68
+ //#region ----- Device Sessions admin scope (client) -----
69
+ const DEVICE_SESSIONS_ENTITY_NAME = `${RootConfig.module.name}.${RootConfig.entities.deviceSessions.name}`;
70
+ /** Resolve admin scope from the entity list route (`?view=tenant-sessions`). */
71
+ function resolveDeviceSessionAdminScopeFromUrl(url) {
72
+ if (!url) {
73
+ return 'application';
74
+ }
75
+ try {
76
+ const parsed = new URL(url, 'http://local.invalid');
77
+ const view = parsed.searchParams.get('view')?.trim();
78
+ if (view === AXP_DEVICE_SESSION_TENANT_SESSIONS_VIEW) {
79
+ return 'tenant';
80
+ }
81
+ }
82
+ catch {
83
+ // Fall through — treat as application-sessions.
84
+ }
85
+ if (url.includes(`view=${AXP_DEVICE_SESSION_TENANT_SESSIONS_VIEW}`)) {
86
+ return 'tenant';
87
+ }
88
+ return 'application';
89
+ }
90
+ function withDeviceSessionAdminScopeParam(params, scope) {
91
+ return {
92
+ ...(params ?? {}),
93
+ [AXP_DEVICE_SESSION_ADMIN_SCOPE_PARAM]: scope,
94
+ };
95
+ }
96
+ //#endregion
97
+
98
+ //#region ----- Imports -----
99
+ //#endregion
100
+ //#region ----- Device Sessions admin scope interceptor -----
101
+ /**
102
+ * Attaches admin-scope header for DeviceSessions runtime calls so getOne /
103
+ * update / delete honor the same operation as the open list view.
104
+ */
105
+ class DeviceSessionsAdminScopeInterceptor {
106
+ constructor() {
107
+ this.router = inject(Router);
108
+ }
109
+ intercept(request, next) {
110
+ if (!this.targetsDeviceSessions(request)) {
111
+ return next.handle(request);
112
+ }
113
+ const scope = resolveDeviceSessionAdminScopeFromUrl(this.router.url);
114
+ return next.handle(request.clone({
115
+ setHeaders: {
116
+ [AXP_DEVICE_SESSION_ADMIN_SCOPE_HEADER]: scope,
117
+ },
118
+ }));
119
+ }
120
+ targetsDeviceSessions(request) {
121
+ const body = request.body;
122
+ if (body && typeof body === 'object' && !Array.isArray(body)) {
123
+ const record = body;
124
+ const input = record['input'];
125
+ const entityFromInput = input && typeof input === 'object' && !Array.isArray(input)
126
+ ? input['entity']
127
+ : undefined;
128
+ const entity = record['entity'] ?? entityFromInput;
129
+ if (entity === DEVICE_SESSIONS_ENTITY_NAME) {
130
+ return true;
131
+ }
132
+ }
133
+ const entityQuery = request.params?.get?.('entity');
134
+ if (entityQuery === DEVICE_SESSIONS_ENTITY_NAME) {
135
+ return true;
136
+ }
137
+ return request.url.includes('/DeviceSessions') || request.url.includes('DeviceSessions');
138
+ }
139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DeviceSessionsAdminScopeInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
140
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DeviceSessionsAdminScopeInterceptor }); }
141
+ }
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DeviceSessionsAdminScopeInterceptor, decorators: [{
143
+ type: Injectable
144
+ }] });
145
+
146
+ //#region ----- Imports -----
147
+ //#endregion
148
+ //#region ----- Device Sessions admin scope (client entity middleware) -----
149
+ /**
150
+ * Injects explicit `deviceSessionAdminScope` on DeviceSessions queries from the
151
+ * active list view (`tenant-sessions` vs default application sessions).
152
+ */
153
+ const deviceSessionsAdminScopeMiddleware = {
154
+ target: {
155
+ ops: ['query'],
156
+ entity: DEVICE_SESSIONS_ENTITY_NAME,
157
+ order: 8,
158
+ },
159
+ execute: async (ctx, next) => {
160
+ const router = inject(Router);
161
+ const scope = resolveDeviceSessionAdminScopeFromUrl(router.url);
162
+ if (ctx.request) {
163
+ ctx.request = {
164
+ ...ctx.request,
165
+ params: withDeviceSessionAdminScopeParam(ctx.request.params, scope),
166
+ };
167
+ }
168
+ await next();
169
+ },
170
+ };
171
+ //#endregion
172
+
64
173
  //#region ---- User context definitions ----
65
174
  class AXMSecurityManagementContextDefinitionProvider {
66
175
  async items() {
@@ -597,11 +706,19 @@ class AXMUserStatusProvider extends AXPStatusProvider {
597
706
  }
598
707
  //#endregion
599
708
 
709
+ /** TM Standard edition — Administration uses Tenant Users / Sessions instead of Security. */
710
+ const TENANT_CONSOLE_FEATURE = 'TenantManagement:Feature:TenantConsole';
600
711
  class AXMMenuProvider {
601
712
  constructor() {
602
713
  this.entityService = inject(AXPEntityService);
714
+ this.sessionService = inject(AXPSessionService);
603
715
  }
604
716
  async provide(context) {
717
+ // TM application: hide application-scoped Security (Users / Roles / Sessions).
718
+ // Tenant-wide menus come from TenantManagement menu provider.
719
+ if (this.sessionService.isFeatureEnabled(TENANT_CONSOLE_FEATURE)) {
720
+ return;
721
+ }
605
722
  const moduleName = RootConfig.module.name;
606
723
  // Check if Security submenu exists under Administration, create it if not
607
724
  const securityMenu = context.find(AXPSecurityManagementMenuKeys.Root);
@@ -749,18 +866,59 @@ class AXMSearchCommandProvider extends AXPSearchCommandProvider {
749
866
  }
750
867
  }
751
868
 
869
+ //#region ----- Imports -----
870
+ //#endregion
871
+ //#region ----- User provisioning modifier -----
872
+ /**
873
+ * Demo loads User from `Domain:GetEntityLayout`, so the packaged factory is not the layout
874
+ * the list renders. Rewrite the server actions in memory after that load.
875
+ */
876
+ const AXMUserProvisioningEntityModifier = {
877
+ entityName: RootConfig.entities.users.name,
878
+ order: 200,
879
+ modifier: (ctx) => {
880
+ if (ctx.module.get() !== RootConfig.module.name) {
881
+ return;
882
+ }
883
+ ctx.interfaces.master.list.update((current) => {
884
+ const kept = (current?.actions ?? []).filter((action) => !isUserProvisioningListAction(action));
885
+ return {
886
+ views: current?.views ?? [],
887
+ ...current,
888
+ actions: [...userProvisioningListActions(), ...kept],
889
+ };
890
+ });
891
+ },
892
+ };
893
+ //#endregion
894
+
752
895
  class AXMSecurityManagementModule {
753
896
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMSecurityManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
754
897
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXMSecurityManagementModule, imports: [AXMPermissionsModule] }); }
755
898
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMSecurityManagementModule, providers: [
756
899
  // Module-specific providers (not part of manifest system)
900
+ {
901
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
902
+ useValue: deviceSessionsAdminScopeMiddleware,
903
+ multi: true,
904
+ },
905
+ {
906
+ provide: AXP_ENTITY_MODIFIER,
907
+ useValue: AXMUserProvisioningEntityModifier,
908
+ multi: true,
909
+ },
910
+ {
911
+ provide: HTTP_INTERCEPTORS,
912
+ useClass: DeviceSessionsAdminScopeInterceptor,
913
+ multi: true,
914
+ },
757
915
  {
758
916
  provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
759
917
  useClass: AXMSecurityManagementEvaluatorScopeProvider,
760
918
  multi: true,
761
919
  },
762
920
  provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index; }).then((m) => m.AXMRolePermissionsPageComponentProvider)),
763
- provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-security-management-client-index-DKk9lEIl.mjs').then((m) => m.AXMUserRolesPageComponentProvider)),
921
+ provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-security-management-client-index-B6qo6qLT.mjs').then((m) => m.AXMUserRolesPageComponentProvider)),
764
922
  // Provider references (now using tokens)
765
923
  {
766
924
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
@@ -807,6 +965,7 @@ class AXMSecurityManagementModule {
807
965
  useClass: AXMSecurityManagementContextDefinitionProvider,
808
966
  multi: true,
809
967
  },
968
+ provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () => import('./acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs').then((m) => m.AXMSecurityManagementSettingProvider)),
810
969
  provideCommandSetups([
811
970
  {
812
971
  key: 'Session:Terminate',
@@ -814,15 +973,19 @@ class AXMSecurityManagementModule {
814
973
  },
815
974
  {
816
975
  key: 'SecurityManagement:User:SendPasswordResetEmail',
817
- command: () => import('./acorex-platform-module-security-management-client-send-password-reset-email.command-CoQgWdya.mjs').then((c) => c.AXPSendPasswordResetEmailCommand),
976
+ command: () => import('./acorex-platform-module-security-management-client-send-password-reset-email.command-DFxm2T_x.mjs').then((c) => c.AXPSendPasswordResetEmailCommand),
818
977
  },
819
978
  {
820
979
  key: 'SecurityManagement:User:ResetTwoFactor',
821
- command: () => import('./acorex-platform-module-security-management-client-reset-two-factor.command-psTDKoNf.mjs').then((c) => c.AXPResetTwoFactorCommand),
980
+ command: () => import('./acorex-platform-module-security-management-client-reset-two-factor.command-C27mUZ1-.mjs').then((c) => c.AXPResetTwoFactorCommand),
822
981
  },
823
982
  {
824
983
  key: 'SecurityManagement:User:Invite',
825
- command: () => import('./acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs').then((c) => c.AXPInviteUserCommand),
984
+ command: () => import('./acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs').then((c) => c.AXPInviteUserCommand),
985
+ },
986
+ {
987
+ key: 'SecurityManagement:User:CreateInTenant',
988
+ command: () => import('./acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs').then((c) => c.AXPCreateUserInTenantCommand),
826
989
  },
827
990
  {
828
991
  key: 'SecurityManagement:User:ResendInvitation',
@@ -832,6 +995,14 @@ class AXMSecurityManagementModule {
832
995
  key: 'SecurityManagement:User:CancelInvitation',
833
996
  command: () => import('./acorex-platform-module-security-management-client-cancel-invitation.command-C3iaOEKI.mjs').then((c) => c.AXPCancelInvitationCommand),
834
997
  },
998
+ {
999
+ key: 'SecurityManagement:User:ApproveJoinRequest',
1000
+ command: () => import('./acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs').then((c) => c.AXPApproveJoinRequestCommand),
1001
+ },
1002
+ {
1003
+ key: 'SecurityManagement:User:RejectJoinRequest',
1004
+ command: () => import('./acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs').then((c) => c.AXPRejectJoinRequestCommand),
1005
+ },
835
1006
  ]),
836
1007
  ], imports: [AXMPermissionsModule] }); }
837
1008
  }
@@ -845,13 +1016,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
845
1016
  declarations: [],
846
1017
  providers: [
847
1018
  // Module-specific providers (not part of manifest system)
1019
+ {
1020
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
1021
+ useValue: deviceSessionsAdminScopeMiddleware,
1022
+ multi: true,
1023
+ },
1024
+ {
1025
+ provide: AXP_ENTITY_MODIFIER,
1026
+ useValue: AXMUserProvisioningEntityModifier,
1027
+ multi: true,
1028
+ },
1029
+ {
1030
+ provide: HTTP_INTERCEPTORS,
1031
+ useClass: DeviceSessionsAdminScopeInterceptor,
1032
+ multi: true,
1033
+ },
848
1034
  {
849
1035
  provide: AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER,
850
1036
  useClass: AXMSecurityManagementEvaluatorScopeProvider,
851
1037
  multi: true,
852
1038
  },
853
1039
  provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => Promise.resolve().then(function () { return index; }).then((m) => m.AXMRolePermissionsPageComponentProvider)),
854
- provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-security-management-client-index-DKk9lEIl.mjs').then((m) => m.AXMUserRolesPageComponentProvider)),
1040
+ provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-security-management-client-index-B6qo6qLT.mjs').then((m) => m.AXMUserRolesPageComponentProvider)),
855
1041
  // Provider references (now using tokens)
856
1042
  {
857
1043
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
@@ -898,6 +1084,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
898
1084
  useClass: AXMSecurityManagementContextDefinitionProvider,
899
1085
  multi: true,
900
1086
  },
1087
+ provideLazyProvider(AXP_SETTING_DEFINITION_PROVIDER, () => import('./acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs').then((m) => m.AXMSecurityManagementSettingProvider)),
901
1088
  provideCommandSetups([
902
1089
  {
903
1090
  key: 'Session:Terminate',
@@ -905,15 +1092,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
905
1092
  },
906
1093
  {
907
1094
  key: 'SecurityManagement:User:SendPasswordResetEmail',
908
- command: () => import('./acorex-platform-module-security-management-client-send-password-reset-email.command-CoQgWdya.mjs').then((c) => c.AXPSendPasswordResetEmailCommand),
1095
+ command: () => import('./acorex-platform-module-security-management-client-send-password-reset-email.command-DFxm2T_x.mjs').then((c) => c.AXPSendPasswordResetEmailCommand),
909
1096
  },
910
1097
  {
911
1098
  key: 'SecurityManagement:User:ResetTwoFactor',
912
- command: () => import('./acorex-platform-module-security-management-client-reset-two-factor.command-psTDKoNf.mjs').then((c) => c.AXPResetTwoFactorCommand),
1099
+ command: () => import('./acorex-platform-module-security-management-client-reset-two-factor.command-C27mUZ1-.mjs').then((c) => c.AXPResetTwoFactorCommand),
913
1100
  },
914
1101
  {
915
1102
  key: 'SecurityManagement:User:Invite',
916
- command: () => import('./acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs').then((c) => c.AXPInviteUserCommand),
1103
+ command: () => import('./acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs').then((c) => c.AXPInviteUserCommand),
1104
+ },
1105
+ {
1106
+ key: 'SecurityManagement:User:CreateInTenant',
1107
+ command: () => import('./acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs').then((c) => c.AXPCreateUserInTenantCommand),
917
1108
  },
918
1109
  {
919
1110
  key: 'SecurityManagement:User:ResendInvitation',
@@ -923,6 +1114,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
923
1114
  key: 'SecurityManagement:User:CancelInvitation',
924
1115
  command: () => import('./acorex-platform-module-security-management-client-cancel-invitation.command-C3iaOEKI.mjs').then((c) => c.AXPCancelInvitationCommand),
925
1116
  },
1117
+ {
1118
+ key: 'SecurityManagement:User:ApproveJoinRequest',
1119
+ command: () => import('./acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs').then((c) => c.AXPApproveJoinRequestCommand),
1120
+ },
1121
+ {
1122
+ key: 'SecurityManagement:User:RejectJoinRequest',
1123
+ command: () => import('./acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs').then((c) => c.AXPRejectJoinRequestCommand),
1124
+ },
926
1125
  ]),
927
1126
  ],
928
1127
  }]
@@ -2178,4 +2377,4 @@ var permissionsWidgetColumn_component = /*#__PURE__*/Object.freeze({
2178
2377
  */
2179
2378
 
2180
2379
  export { AXMAssignPermissionsCommand as A, AXMDeviceSessionsService as a, AXMPermissionsModule as b, AXMRolePermissionGrantService as c, AXMRolePermissionsPageComponent as d, AXMRolePermissionsPageComponentProvider as e, AXMSecurityManagementModule as f, AXPPermissionsEditorComponent as g, AXPPermissionsWidget as h, AXPPermissionsWidgetColumnComponent as i, AXPPermissionsWidgetEditComponent as j, AXPPermissionsWidgetViewComponent as k, resolvePersistedEntityId as r };
2181
- //# sourceMappingURL=acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-BSGZRsGz.mjs.map
2380
+ //# sourceMappingURL=acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-B61j_cJF.mjs.map