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

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-security-management-client",
3
- "version": "0.0.15",
3
+ "version": "0.0.18",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -130,6 +130,44 @@ declare enum AXMUserEffectiveState {
130
130
  CredentialExpired = "credential-expired"
131
131
  }
132
132
 
133
+ /**
134
+ * Derives the unified operational state from account lifecycle and sign-in gate.
135
+ * Used for persisted `effectiveState` on SecurityManagement.User.
136
+ */
137
+ declare function resolveAXMUserEffectiveState(input: {
138
+ accountState: string | undefined;
139
+ accessState: AXMUserAccessState | string | undefined;
140
+ }): AXMUserEffectiveState;
141
+
142
+ /**
143
+ * One-time password-reset token state stored as JSON on SecurityManagement.User.
144
+ * The raw token is never persisted — only a SHA-256 hash.
145
+ */
146
+ interface AXMUserPasswordResetInfo {
147
+ tokenHash: string;
148
+ expiresAt: string;
149
+ sentAt: string;
150
+ }
151
+
152
+ declare const AXMSecurityManagementServerCommands: {
153
+ readonly SendPasswordResetEmail: "SecurityManagement:Server:SendPasswordResetEmail";
154
+ readonly CompletePasswordReset: "SecurityManagement:Server:CompletePasswordReset";
155
+ };
156
+ /** Client/UI action key (confirm dialog → server send). */
157
+ declare const AXM_USER_SEND_PASSWORD_RESET_COMMAND = "SecurityManagement:User:SendPasswordResetEmail";
158
+ interface AXMSendPasswordResetEmailInput {
159
+ /** Admin path: target user id. */
160
+ userId?: string;
161
+ /** Forgot path: email or username. */
162
+ login?: string;
163
+ /** Optional absolute web origin for reset link (defaults to env / localhost). */
164
+ webOrigin?: string;
165
+ }
166
+ interface AXMCompletePasswordResetInput {
167
+ token: string;
168
+ newPassword: string;
169
+ }
170
+
133
171
  declare function deviceSessionsFactory(): Promise<AXPEntity | null>;
134
172
 
135
173
  declare enum AXMSessionStatusTypes {
@@ -212,6 +250,8 @@ interface AXMSecurityManagementUsersEntityModel extends AXPEntityModel<string> {
212
250
  id: string;
213
251
  username: string;
214
252
  displayName: string;
253
+ /** Globally unique login email (required for password-reset email). */
254
+ email?: string;
215
255
  password: string;
216
256
  /** Profile photo file storage id or external URL. */
217
257
  avatar?: string | null;
@@ -222,7 +262,13 @@ interface AXMSecurityManagementUsersEntityModel extends AXPEntityModel<string> {
222
262
  effectiveState?: AXMUserEffectiveState | string;
223
263
  /** Sign-in gate (read-only in UI); lockout and credential expiry map here, not to `accountState`. */
224
264
  accessState?: AXMUserAccessState;
265
+ /** ISO timestamp of last successful password change. */
266
+ passwordChangedAt?: string | null;
267
+ /** ISO timestamp of last successful sign-in. */
268
+ lastSignInAt?: string | null;
269
+ /** Active password-reset challenge (hidden from UI). */
270
+ passwordReset?: AXMUserPasswordResetInfo | null;
225
271
  }
226
272
 
227
- export { AXMSecurityManagementDataSourceKeys, AXMSessionStatusTypes, AXMUserAccessState, AXMUserEffectiveState, AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, AXPSecurityManagementFeatureKeys, AXPSecurityManagementMenuKeys, AXPSecurityManagementPermissionKeys, RootConfig, deviceSessionsFactory, policyFactory, profileFactory, rolesFactory, usersFactory };
228
- export type { AXMPolicyEffect, AXMPolicyEffectRule, AXMPolicyScope, AXMSecurityManagementDeviceSessionsEntityModel, AXMSecurityManagementPolicyEntityModel, AXMSecurityManagementProfileEntityModel, AXMSecurityManagementRolesEntityModel, AXMSecurityManagementUsersEntityModel };
273
+ export { AXMSecurityManagementDataSourceKeys, AXMSecurityManagementServerCommands, AXMSessionStatusTypes, AXMUserAccessState, AXMUserEffectiveState, AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, AXM_USER_SEND_PASSWORD_RESET_COMMAND, AXPSecurityManagementFeatureKeys, AXPSecurityManagementMenuKeys, AXPSecurityManagementPermissionKeys, RootConfig, deviceSessionsFactory, policyFactory, profileFactory, resolveAXMUserEffectiveState, rolesFactory, usersFactory };
274
+ export type { AXMCompletePasswordResetInput, AXMPolicyEffect, AXMPolicyEffectRule, AXMPolicyScope, AXMSecurityManagementDeviceSessionsEntityModel, AXMSecurityManagementPolicyEntityModel, AXMSecurityManagementProfileEntityModel, AXMSecurityManagementRolesEntityModel, AXMSecurityManagementUsersEntityModel, AXMSendPasswordResetEmailInput, AXMUserPasswordResetInfo };