@acorex-platform/module-security-management-client 0.0.15

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-security-management-client-contracts.mjs","sources":["../../../../libs/modules/security-management/client/contracts/src/datasource.keys.ts","../../../../libs/modules/security-management/client/contracts/src/features.keys.ts","../../../../libs/modules/security-management/client/contracts/src/menu.keys.ts","../../../../libs/modules/security-management/client/contracts/src/permission.keys.ts","../../../../libs/modules/security-management/client/contracts/src/root-config.ts","../../../../libs/modules/security-management/client/contracts/src/AXM_USER_ACCESS_STATE_DEFINITION_KEY.ts","../../../../libs/modules/security-management/client/contracts/src/AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY.ts","../../../../libs/modules/security-management/client/contracts/src/user-access-state.ts","../../../../libs/modules/security-management/client/contracts/src/user-effective-state.ts","../../../../libs/modules/security-management/client/contracts/src/entities/device-sessions/device-sessions.entity.ts","../../../../libs/modules/security-management/client/contracts/src/entities/device-sessions/device-sessions.types.ts","../../../../libs/modules/security-management/client/contracts/src/entities/policy/policy.entity.ts","../../../../libs/modules/security-management/client/contracts/src/entities/policy/policy.types.ts","../../../../libs/modules/security-management/client/contracts/src/entities/profile/profile.entity.ts","../../../../libs/modules/security-management/client/contracts/src/entities/roles/roles.entity.ts","../../../../libs/modules/security-management/client/contracts/src/entities/users/users.entity.ts","../../../../libs/modules/security-management/client/contracts/src/index.ts","../../../../libs/modules/security-management/client/contracts/src/acorex-platform-module-security-management-client-contracts.ts"],"sourcesContent":["//#region ---- Datasource keys ----\n\n/** Security Management datasource registry names. */\nexport const AXMSecurityManagementDataSourceKeys = {\n Users: 'users',\n} as const;\n\n//#endregion\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","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","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} as const;\n","/** Status provider key for `accessState` on SecurityManagement.User (transitions define editable paths in the status UI). */\nexport const AXM_USER_ACCESS_STATE_DEFINITION_KEY = 'security-management.access-state.user';\n","/** Status provider key for persisted `effectiveState` on SecurityManagement.User (derived; read-only in UI). */\nexport const AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY = 'security-management.effective-state.user';\n","//#region ---- User access state ----\n\n/**\n * Read-only sign-in gate from the authentication layer (distinct from account `accountState`).\n * Persisted as the enum string value (e.g. `allowed`).\n */\nexport enum AXMUserAccessState {\n Allowed = 'allowed',\n Blocked = 'blocked',\n Expired = 'expired',\n}\n\n//#endregion\n","//#region ---- User effective (unified) state ----\n\n/**\n * Single operational state derived from account lifecycle and sign-in gate (persisted snapshot in mock/backend).\n */\nexport enum AXMUserEffectiveState {\n Pending = 'pending',\n Active = 'active',\n Suspended = 'suspended',\n Inactive = 'inactive',\n Archived = 'archived',\n SignInBlocked = 'sign-in-blocked',\n CredentialExpired = 'credential-expired',\n}\n\n//#endregion\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function deviceSessionsFactory(): Promise<AXPEntity | null> {\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 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: 'Session:Terminate',\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: 'Session:Terminate',\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: 'Session:Terminate',\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 { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nexport enum AXMSessionStatusTypes {\n revoked = 'revoked',\n expired = 'expired',\n active = 'active',\n}\n\nexport interface AXMSecurityManagementDeviceSessionsEntityModel extends AXPEntityModel<string> {\n clientName: string;\n ipAddress: string;\n userAgent: string;\n authorizationId: string;\n status: string;\n userId: string;\n user: {\n id: string;\n name: string;\n };\n applicationId: string;\n application: {\n id: string;\n name: string;\n };\n tenantId: string;\n tenant: {\n id: string;\n name: string;\n };\n isActiveSession: boolean;\n\n deviceName: string;\n operatingSystem: string;\n browser: string;\n location: string;\n lastLoginDate: Date;\n}\n","import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\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 { AXPExpression } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\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// 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 { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\n\nexport async function profileFactory(): Promise<AXPEntity | null> {\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 //TODO dd\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: '{{ context.eval(\"firstName\") + \" \" + context.eval(\"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 { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { RootConfig } from '../../root-config';\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-feature.terms.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-feature.terms.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 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 },\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 label: {\n visible: false,\n },\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 { AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\nimport { AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, RootConfig } from '../../index';\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 name: 'status',\n options: {\n definition: 'security-management.account-state.user',\n field: 'accountState',\n isPrimary: false,\n groupId: 'user-account-access',\n title: '@security-management:users.entities.user.fields.account-lifecycle.title',\n showInCreate: false,\n generate: { views: { enabled: false } },\n },\n },\n {\n name: 'status',\n options: {\n field: 'accessState',\n definition: AXM_USER_ACCESS_STATE_DEFINITION_KEY,\n isPrimary: false,\n groupId: 'user-account-access',\n title: '@security-management:users.entities.user.fields.access-state.title',\n showInCreate: false,\n readonly: false,\n generate: { views: { enabled: false } },\n },\n },\n {\n name: 'status',\n options: {\n field: 'effectiveState',\n definition: AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY,\n isPrimary: true,\n groupId: 'user-account-access',\n title: '@security-management:users.entities.user.fields.effective-state.title',\n showInCreate: false,\n readonly: true,\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: 'avatar',\n title: '@general:terms.common.avatar',\n icon: 'fa-light fa-image',\n },\n {\n id: 'authorizations',\n title: `@${i18n}:users.entities.user.groups.authorizations`,\n },\n {\n id: 'user-account-access',\n title: '@security-management:users.entities.user.groups.account-access',\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 },\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: 'avatar',\n title: '@general:terms.common.avatar',\n groupId: 'avatar',\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Advanced.Image,\n options: {\n type: 'profile-photo',\n },\n },\n },\n },\n {\n name: 'pinCode',\n title: '@security-management:users.entities.user.fields.pin-code.title',\n groupId: 'authorizations',\n schema: {\n dataType: 'string',\n readonly: true,\n visible: false,\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 // columnResolve: {\n // strategy: 'countOnly',\n // countFieldPath: 'roles.length',\n // queryKey: 'SecurityManagement:User:RolesForListColumn',\n // queryParams: { userId: 'id' },\n // queryResultItemsPath: 'items',\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 order: 1,\n layout: { positions: { lg: { colSpan: 8, colStart: 1 } } },\n },\n {\n id: 'avatar',\n order: 2,\n layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },\n },\n {\n id: 'authorizations',\n order: 3,\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: 'avatar',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\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 order: 1,\n layout: { positions: { lg: { colSpan: 8, colStart: 1 } } },\n },\n {\n id: 'avatar',\n order: 2,\n layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },\n },\n {\n id: 'authorizations',\n order: 3,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n {\n id: 'user-account-access',\n order: 4,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\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: 'avatar',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\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 name: 'accountState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'accessState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'effectiveState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{ context.eval(\"displayName\") ?? context.eval(\"username\") }}',\n\n sections: [\n {\n id: 'basic-info',\n order: 1,\n layout: { positions: { lg: { colSpan: 8, colStart: 1 } } },\n },\n {\n id: 'avatar',\n order: 2,\n layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },\n },\n {\n id: 'authorizations',\n order: 3,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\n },\n {\n id: 'user-account-access',\n order: 4,\n layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },\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: 'avatar',\n layout: {\n label: { visible: false },\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\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: 'accountState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'accessState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n {\n name: 'effectiveState',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n layouts: {\n card: {\n enabled: true,\n header: {\n title: 'displayName',\n description: 'description',\n icon: 'icon',\n },\n fields: [\n {\n name: 'displayName',\n title: 'Display Name',\n showAs: {\n type: AXPWidgetsCatalog.text,\n },\n },\n {\n name: 'roleIds',\n },\n {\n name: 'username',\n },\n ],\n },\n table: {\n enabled: true,\n columns: [],\n },\n },\n views: [\n createAllQueryView({\n sorts: [{ name: 'displayName', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n return entityDef;\n}\n","//#region ---- Contracts barrel ----\n\nexport * from './datasource.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\n\nexport * from './root-config';\n\nexport * from './AXM_USER_ACCESS_STATE_DEFINITION_KEY';\nexport * from './AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY';\nexport * from './user-access-state';\nexport * from './user-effective-state';\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ import { AXDialogService } from '@acorex/components/dialog';
2
+ import { AXLoadingDialogService } from '@acorex/components/loading-dialog';
3
+ import { AXToastService } from '@acorex/components/toast';
4
+ import { AXTranslationService } from '@acorex/core/translation';
5
+ import { AXPSettingsService, AXPRefreshEvent, AXPCommonSettings } from '@acorex-platform/framework-client/common';
6
+ import { AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
7
+ import { AXPWorkflowEventService } from '@acorex-platform/framework-client/workflow';
8
+ import { RootConfig } from '@acorex-platform/module-security-management-client/contracts';
9
+ import * as i0 from '@angular/core';
10
+ import { inject, Injectable } from '@angular/core';
11
+
12
+ //#endregion
13
+ //#region ---- Terminate session command ----
14
+ /**
15
+ * Terminates one or more device sessions (entity list / detail actions).
16
+ * Replaces the former `terminate-entity` workflow (loading + terminate loop + success toast).
17
+ */
18
+ class AXPTerminateSessionCommand {
19
+ constructor() {
20
+ this.entityRegistry = inject(AXPEntityDefinitionRegistryService);
21
+ this.entityService = inject(AXPEntityService);
22
+ this.dialogService = inject(AXDialogService);
23
+ this.loadingDialog = inject(AXLoadingDialogService);
24
+ this.translationService = inject(AXTranslationService);
25
+ this.toastService = inject(AXToastService);
26
+ this.settingsService = inject(AXPSettingsService);
27
+ this.workflowEventService = inject(AXPWorkflowEventService);
28
+ this.deviceSessionsDataAccessor = this.entityService
29
+ .withEntity(RootConfig.module.name, RootConfig.entities.deviceSessions.name)
30
+ .data();
31
+ }
32
+ async execute(input = {}) {
33
+ const context = input.__context__;
34
+ if (!context?.entity || context.data == null) {
35
+ return { success: false };
36
+ }
37
+ const moduleEntity = context.entity;
38
+ const [moduleName, entityName] = moduleEntity.split('.');
39
+ const data = context.data;
40
+ const meta = { ...(context.meta ?? {}) };
41
+ const ids = Array.isArray(data) ? data.map((item) => String(item['id'])) : [String(data['id'])];
42
+ const entity = await this.entityRegistry.resolve(moduleName, entityName);
43
+ if (entity.parentKey && !Array.isArray(data) && data[entity.parentKey]) {
44
+ meta['refreshTargetId'] = data[entity.parentKey];
45
+ }
46
+ const dialog = this.loadingDialog.show({
47
+ title: await this.translationService.translateAsync('workflow.terminating'),
48
+ mode: 'determinate',
49
+ status: 'Terminating...',
50
+ progressValue: 0,
51
+ text: `0/${ids.length}`,
52
+ buttons: [
53
+ {
54
+ text: await this.translationService.translateAsync('cancel'),
55
+ color: 'danger',
56
+ onClick: () => {
57
+ dialog.close();
58
+ },
59
+ },
60
+ ],
61
+ });
62
+ let failedCounter = 0;
63
+ for (const id of ids) {
64
+ try {
65
+ await this.deviceSessionsDataAccessor.update(id, { status: 'revoked' });
66
+ }
67
+ catch {
68
+ failedCounter++;
69
+ await this.dialogService.alert(await this.translationService.translateAsync('workflow.fail-delete-title'), await this.translationService.translateAsync('workflow.fail-delete-body', {
70
+ params: { item: 1 },
71
+ }), 'danger');
72
+ }
73
+ }
74
+ const success = failedCounter === 0;
75
+ setTimeout(() => {
76
+ dialog.close();
77
+ this.workflowEventService.dispatch(AXPRefreshEvent({ entity: moduleEntity, meta }));
78
+ }, 300);
79
+ if (success) {
80
+ await this.showSuccessToast();
81
+ }
82
+ return { success };
83
+ }
84
+ async showSuccessToast() {
85
+ const showResult = await this.settingsService.get(AXPCommonSettings.EnableOperationToasts);
86
+ if (!showResult) {
87
+ return;
88
+ }
89
+ this.toastService.show({
90
+ color: 'success',
91
+ title: await this.translationService.translateAsync('workflow.session-terminated'),
92
+ content: await this.translationService.translateAsync('workflow.session-terminated-body'),
93
+ closeButton: true,
94
+ timeOut: 3000,
95
+ timeOutProgress: true,
96
+ });
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTerminateSessionCommand, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
99
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTerminateSessionCommand, providedIn: 'root' }); }
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPTerminateSessionCommand, decorators: [{
102
+ type: Injectable,
103
+ args: [{ providedIn: 'root' }]
104
+ }] });
105
+
106
+ export { AXPTerminateSessionCommand };
107
+ //# sourceMappingURL=acorex-platform-module-security-management-client-terminate-session.command-CKq-4Z4O.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-security-management-client-terminate-session.command-CKq-4Z4O.mjs","sources":["../../../../libs/modules/security-management/client/src/lib/commands/terminate-session.command.ts"],"sourcesContent":["import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPCommonSettings,\n AXPRefreshEvent,\n AXPSettingsService,\n} from '@acorex-platform/framework-client/common';\nimport { AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPWorkflowEventService } from '@acorex-platform/framework-client/workflow';\nimport { AXPExecuteCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPCommand } from '@acorex-platform/framework-shared/runtime';\nimport { RootConfig } from '@acorex-platform/module-security-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\n//#region ---- Types ----\n\nexport interface AXPTerminateSessionCommandContext {\n data: unknown;\n entity: string;\n entityInfo?: { parentKey?: string };\n options?: unknown;\n meta?: Record<string, unknown>;\n}\n\nexport interface AXPTerminateSessionCommandInput {\n __context__?: AXPTerminateSessionCommandContext;\n __metadata__?: unknown;\n}\n\n//#endregion\n\n//#region ---- Terminate session command ----\n\n/**\n * Terminates one or more device sessions (entity list / detail actions).\n * Replaces the former `terminate-entity` workflow (loading + terminate loop + success toast).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXPTerminateSessionCommand implements AXPCommand<AXPTerminateSessionCommandInput, AXPExecuteCommandResult> {\n private readonly entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private readonly entityService = inject(AXPEntityService);\n private readonly dialogService = inject(AXDialogService);\n private readonly loadingDialog = inject(AXLoadingDialogService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly settingsService = inject(AXPSettingsService);\n private readonly workflowEventService = inject(AXPWorkflowEventService);\n private readonly deviceSessionsDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.deviceSessions.name)\n .data<string, { id: string }>();\n\n async execute(input: AXPTerminateSessionCommandInput = {}): Promise<AXPExecuteCommandResult> {\n const context = input.__context__;\n if (!context?.entity || context.data == null) {\n return { success: false };\n }\n\n const moduleEntity = context.entity;\n const [moduleName, entityName] = moduleEntity.split('.');\n const data = context.data as Record<string, unknown> | Record<string, unknown>[];\n const meta = { ...(context.meta ?? {}) };\n\n const ids = Array.isArray(data) ? data.map((item) => String(item['id'])) : [String(data['id'])];\n const entity = await this.entityRegistry.resolve(moduleName, entityName);\n\n if (entity.parentKey && !Array.isArray(data) && data[entity.parentKey]) {\n meta['refreshTargetId'] = data[entity.parentKey];\n }\n\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 let failedCounter = 0;\n for (const id of ids) {\n try {\n await this.deviceSessionsDataAccessor.update(id, { status: 'revoked' });\n } catch {\n failedCounter++;\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\n const success = failedCounter === 0;\n setTimeout(() => {\n dialog.close();\n this.workflowEventService.dispatch(AXPRefreshEvent({ entity: moduleEntity, meta }));\n }, 300);\n\n if (success) {\n await this.showSuccessToast();\n }\n\n return { success };\n }\n\n private async showSuccessToast(): Promise<void> {\n const showResult = await this.settingsService.get(AXPCommonSettings.EnableOperationToasts);\n if (!showResult) {\n return;\n }\n\n this.toastService.show({\n color: 'success',\n title: await this.translationService.translateAsync('workflow.session-terminated'),\n content: await this.translationService.translateAsync('workflow.session-terminated-body'),\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}