@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.
- 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
- package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-B61j_cJF.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs +322 -0
- package/fesm2022/acorex-platform-module-security-management-client-approve-join-request.command-BSvK59LV.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs +21 -2
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-device-sessions.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs +173 -14
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entities-users.mjs.map +1 -1
- 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
- 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
- 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
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-lwQtCJoy.mjs.map +1 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-DuC5cfIb.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog.mjs +1 -1
- package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs +342 -4
- package/fesm2022/acorex-platform-module-security-management-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs +376 -0
- package/fesm2022/acorex-platform-module-security-management-client-create-user-in-tenant.command-BFnZRmh9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-security-management-client-index-DKk9lEIl.mjs → acorex-platform-module-security-management-client-index-B6qo6qLT.mjs} +5 -156
- package/fesm2022/acorex-platform-module-security-management-client-index-B6qo6qLT.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs +370 -0
- package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-ClQ6WxxN.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs +76 -0
- package/fesm2022/acorex-platform-module-security-management-client-reject-join-request.command-B3kiok6b.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-module-security-management-client-reset-two-factor.command-C27mUZ1-.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-module-security-management-client-send-password-reset-email.command-DFxm2T_x.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs +54 -0
- package/fesm2022/acorex-platform-module-security-management-client-settings.provider-CwDiU-C8.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client-user-role-grant.service-6U17jzjq.mjs +231 -0
- package/fesm2022/acorex-platform-module-security-management-client-user-role-grant.service-6U17jzjq.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-security-management-client.mjs +1 -1
- package/i18n/en-AU/security-management.json +91 -4
- package/i18n/en-US/security-management.json +91 -4
- package/i18n/fa-IR/security-management.json +91 -4
- package/package.json +1 -1
- package/types/acorex-platform-module-security-management-client-contracts.d.ts +288 -8
- package/fesm2022/acorex-platform-module-security-management-client-acorex-platform-module-security-management-client-BSGZRsGz.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-device-sessions.entity-CU-5X-qu.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-contracts-entity-catalog-users.entity-CJ7x5rjC.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-index-DKk9lEIl.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs +0 -143
- package/fesm2022/acorex-platform-module-security-management-client-invite-user.command-kFXjLdxy.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-reset-two-factor.command-psTDKoNf.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-security-management-client-send-password-reset-email.command-CoQgWdya.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AXPContextDefinition, AXPModuleManifest, AXPExpression } from '@acorex-platform/framework-shared/core';
|
|
2
|
-
import { AXPEntityModel, AXPEntity } from '@acorex-platform/framework-shared/entity';
|
|
2
|
+
import { AXPEntityModel, AXPEntity, AXPEntityAction } from '@acorex-platform/framework-shared/entity';
|
|
3
3
|
|
|
4
4
|
declare const AXM_SECURITY_CONTEXT_DEFINITIONS: AXPContextDefinition[];
|
|
5
5
|
|
|
@@ -236,13 +236,29 @@ interface AXMUserInvitationInfo {
|
|
|
236
236
|
sentAt: string;
|
|
237
237
|
invitedByUserId: string;
|
|
238
238
|
applicationIds?: string[];
|
|
239
|
-
/**
|
|
240
|
-
|
|
239
|
+
/** Role ids selected at invite time (flat union; mirrored onto scoped UserRole). */
|
|
240
|
+
roleIds?: string[];
|
|
241
|
+
/** TM Tenant Users: roles grouped by application (optional audit / accept helper). */
|
|
242
|
+
applicationRoleAssignments?: Array<{
|
|
243
|
+
applicationId: string;
|
|
244
|
+
roleIds: string[];
|
|
245
|
+
}>;
|
|
246
|
+
/**
|
|
247
|
+
* `invite` = admin sent; `join-request` = user requested membership from waiting room;
|
|
248
|
+
* `tenant-request` = user requested creation of a new tenant (public form).
|
|
249
|
+
*/
|
|
250
|
+
source: AXMMembershipInvitationSource;
|
|
241
251
|
/** Set when the invitee accepts; distinguishes accepted invite from create-in-tenant. */
|
|
242
252
|
acceptedAt?: string;
|
|
243
253
|
}
|
|
254
|
+
type AXMMembershipInvitationSource = 'invite' | 'join-request' | 'tenant-request';
|
|
255
|
+
declare const AXM_MEMBERSHIP_INVITATION_SOURCE: {
|
|
256
|
+
readonly Invite: "invite";
|
|
257
|
+
readonly JoinRequest: "join-request";
|
|
258
|
+
readonly TenantRequest: "tenant-request";
|
|
259
|
+
};
|
|
244
260
|
/** How a User identity row was created (directory provenance). */
|
|
245
|
-
type AXMUserCreatedVia = 'invite' | 'create-in-tenant' | 'register' | 'seed' | 'idp';
|
|
261
|
+
type AXMUserCreatedVia = 'invite' | 'create-in-tenant' | 'register' | 'seed' | 'idp' | 'tenant-request';
|
|
246
262
|
/**
|
|
247
263
|
* In-app inbox definition for membership invites to users who already have a tenant.
|
|
248
264
|
* Inbox row action opens the auth waiting room (Approve/Decline live there).
|
|
@@ -251,17 +267,97 @@ declare const AXM_MEMBERSHIP_INVITATION_NOTIFICATION_DEFINITION_KEY: "security-m
|
|
|
251
267
|
/** Query `source` value when opening waiting room from a membership-invite notification. */
|
|
252
268
|
declare const AXM_MEMBERSHIP_INVITE_WAITING_ROOM_SOURCE: "membership-invite";
|
|
253
269
|
|
|
270
|
+
/** Invite surface that decides which Role catalog rows are selectable. */
|
|
271
|
+
type AXMInviteRoleAssignmentMode = 'application' | 'tenant';
|
|
272
|
+
interface AXMInviteRoleScopeContext {
|
|
273
|
+
tenantId: string;
|
|
274
|
+
/** Required for application-mode filtering. */
|
|
275
|
+
applicationId?: string;
|
|
276
|
+
}
|
|
277
|
+
interface AXMInviteRoleScopeInfo {
|
|
278
|
+
tenantId?: string;
|
|
279
|
+
applicationId?: string;
|
|
280
|
+
}
|
|
281
|
+
declare function readInviteRoleScopeInfo(role: {
|
|
282
|
+
scopeInfo?: unknown;
|
|
283
|
+
} | null | undefined): AXMInviteRoleScopeInfo;
|
|
284
|
+
/**
|
|
285
|
+
* Whether a Role catalog row may appear in the invite roles multi-select.
|
|
286
|
+
*
|
|
287
|
+
* UI-only selection filter (does not change Role / RLS):
|
|
288
|
+
* - Application invite / per-app repeater row → current-tenant + that application overlays only
|
|
289
|
+
* - Tenant invite → current-tenant-wide rows only (no applicationId, no other-app overlays)
|
|
290
|
+
*/
|
|
291
|
+
declare function isRoleAssignableForInvite(role: {
|
|
292
|
+
scopeInfo?: unknown;
|
|
293
|
+
stateInfo?: unknown;
|
|
294
|
+
} | null | undefined, mode: AXMInviteRoleAssignmentMode, context: AXMInviteRoleScopeContext): boolean;
|
|
295
|
+
/**
|
|
296
|
+
* TM Tenant Users invite repeater only: overlay for current tenant + the
|
|
297
|
+
* application chosen on that row. Independent of {@link isRoleAssignableForInvite}
|
|
298
|
+
* so Security → Users invite can change without affecting this picker.
|
|
299
|
+
*/
|
|
300
|
+
declare function isRoleAssignableForTenantUserInviteRow(role: {
|
|
301
|
+
scopeInfo?: unknown;
|
|
302
|
+
stateInfo?: unknown;
|
|
303
|
+
} | null | undefined, context: AXMInviteRoleScopeContext): boolean;
|
|
304
|
+
|
|
305
|
+
/** One TM invite repeater row: application + multi-select roles for that app. */
|
|
306
|
+
interface AXMInviteApplicationRoleAssignment {
|
|
307
|
+
applicationId: string;
|
|
308
|
+
roleIds: string[];
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Submit-time merge for the TM invite repeater.
|
|
312
|
+
* Duplicate applications (same app on two rows, different role picks) become one assignment
|
|
313
|
+
* with the union of role ids. Empty application rows are dropped. Do not unique the dropdown
|
|
314
|
+
* instead — the UI may repeat an application.
|
|
315
|
+
*/
|
|
316
|
+
declare function normalizeInviteApplicationRoleAssignments(rows: unknown): AXMInviteApplicationRoleAssignment[];
|
|
317
|
+
declare function flattenInviteApplicationRoleAssignments(assignments: readonly AXMInviteApplicationRoleAssignment[]): {
|
|
318
|
+
applicationIds: string[];
|
|
319
|
+
roleIds: string[];
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
/** One TM create-in-tenant repeater row: application + multi-select roles for that app. */
|
|
323
|
+
interface AXMCreateApplicationRoleAssignment {
|
|
324
|
+
applicationId: string;
|
|
325
|
+
roleIds: string[];
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Submit-time merge for the TM create-in-tenant repeater.
|
|
329
|
+
* Duplicate applications (same app on two rows, different role picks) become one assignment
|
|
330
|
+
* with the union of role ids. Empty application rows are dropped.
|
|
331
|
+
*/
|
|
332
|
+
declare function normalizeCreateApplicationRoleAssignments(rows: unknown): AXMCreateApplicationRoleAssignment[];
|
|
333
|
+
declare function flattenCreateApplicationRoleAssignments(assignments: readonly AXMCreateApplicationRoleAssignment[]): {
|
|
334
|
+
applicationIds: string[];
|
|
335
|
+
roleIds: string[];
|
|
336
|
+
};
|
|
337
|
+
|
|
254
338
|
declare const AXMSecurityManagementServerCommands: {
|
|
255
339
|
readonly SendPasswordResetEmail: "SecurityManagement:Server:SendPasswordResetEmail";
|
|
256
340
|
readonly CompletePasswordReset: "SecurityManagement:Server:CompletePasswordReset";
|
|
257
341
|
readonly ChangeOwnPassword: "SecurityManagement:Server:ChangeOwnPassword";
|
|
342
|
+
readonly GetOwnPasswordStatus: "SecurityManagement:Server:GetOwnPasswordStatus";
|
|
258
343
|
readonly InviteUser: "SecurityManagement:Server:InviteUser";
|
|
344
|
+
/** Tenant-subscribed applications for TM invite picker (ADR-TEN-001 D-05). */
|
|
345
|
+
readonly ListTenantEntitledApplications: "SecurityManagement:Server:ListTenantEntitledApplications";
|
|
346
|
+
/** Per-app Role overlays for TM invite repeater (bypasses app-catalog list isolation). */
|
|
347
|
+
readonly ListInviteAssignableRoles: "SecurityManagement:Server:ListInviteAssignableRoles";
|
|
259
348
|
readonly ResendInvitation: "SecurityManagement:Server:ResendInvitation";
|
|
260
349
|
readonly CancelInvitation: "SecurityManagement:Server:CancelInvitation";
|
|
261
350
|
readonly AcceptInvitation: "SecurityManagement:Server:AcceptInvitation";
|
|
262
351
|
readonly ListMyPendingInvitations: "SecurityManagement:Server:ListMyPendingInvitations";
|
|
263
352
|
readonly DeclineInvitation: "SecurityManagement:Server:DeclineInvitation";
|
|
264
353
|
readonly AcceptMyInvitation: "SecurityManagement:Server:AcceptMyInvitation";
|
|
354
|
+
readonly LookupTenantByUniqueName: "SecurityManagement:Server:LookupTenantByUniqueName";
|
|
355
|
+
readonly RequestTenantMembership: "SecurityManagement:Server:RequestTenantMembership";
|
|
356
|
+
readonly ListMyJoinRequests: "SecurityManagement:Server:ListMyJoinRequests";
|
|
357
|
+
readonly CancelMyJoinRequest: "SecurityManagement:Server:CancelMyJoinRequest";
|
|
358
|
+
readonly ApproveJoinRequest: "SecurityManagement:Server:ApproveJoinRequest";
|
|
359
|
+
readonly RejectJoinRequest: "SecurityManagement:Server:RejectJoinRequest";
|
|
360
|
+
readonly CreateUserInTenant: "SecurityManagement:Server:CreateUserInTenant";
|
|
265
361
|
readonly StartTwoFactorEnrollment: "SecurityManagement:Server:StartTwoFactorEnrollment";
|
|
266
362
|
readonly ConfirmTwoFactorEnrollment: "SecurityManagement:Server:ConfirmTwoFactorEnrollment";
|
|
267
363
|
readonly DisableTwoFactor: "SecurityManagement:Server:DisableTwoFactor";
|
|
@@ -282,10 +378,13 @@ declare const AXM_CHANGE_OWN_PASSWORD_ERROR_CODES: {
|
|
|
282
378
|
declare const AXM_USER_SEND_PASSWORD_RESET_COMMAND = "SecurityManagement:User:SendPasswordResetEmail";
|
|
283
379
|
/** Client/UI action key (confirm dialog → server admin reset 2FA). */
|
|
284
380
|
declare const AXM_USER_RESET_TWO_FACTOR_COMMAND = "SecurityManagement:User:ResetTwoFactor";
|
|
285
|
-
/** Client/UI action keys for invite flows. */
|
|
381
|
+
/** Client/UI action keys for invite / create-in-tenant flows. */
|
|
286
382
|
declare const AXM_USER_INVITE_COMMAND = "SecurityManagement:User:Invite";
|
|
287
383
|
declare const AXM_USER_RESEND_INVITATION_COMMAND = "SecurityManagement:User:ResendInvitation";
|
|
288
384
|
declare const AXM_USER_CANCEL_INVITATION_COMMAND = "SecurityManagement:User:CancelInvitation";
|
|
385
|
+
declare const AXM_USER_APPROVE_JOIN_REQUEST_COMMAND = "SecurityManagement:User:ApproveJoinRequest";
|
|
386
|
+
declare const AXM_USER_REJECT_JOIN_REQUEST_COMMAND = "SecurityManagement:User:RejectJoinRequest";
|
|
387
|
+
declare const AXM_USER_CREATE_IN_TENANT_COMMAND = "SecurityManagement:User:CreateInTenant";
|
|
289
388
|
interface AXMSendPasswordResetEmailInput {
|
|
290
389
|
/** Admin path: target user id. */
|
|
291
390
|
userId?: string;
|
|
@@ -299,20 +398,66 @@ interface AXMCompletePasswordResetInput {
|
|
|
299
398
|
newPassword: string;
|
|
300
399
|
}
|
|
301
400
|
interface AXMChangeOwnPasswordInput {
|
|
302
|
-
|
|
401
|
+
/** Required when the account already has a password; omit/empty when setting the first password. */
|
|
402
|
+
currentPassword?: string;
|
|
303
403
|
newPassword: string;
|
|
304
404
|
}
|
|
305
405
|
interface AXMChangeOwnPasswordResult {
|
|
306
406
|
passwordChangedAt: string;
|
|
307
407
|
}
|
|
408
|
+
interface AXMGetOwnPasswordStatusResult {
|
|
409
|
+
/** True when the signed-in user has a non-empty stored password credential. */
|
|
410
|
+
hasPassword: boolean;
|
|
411
|
+
}
|
|
308
412
|
interface AXMInviteUserInput {
|
|
309
413
|
email: string;
|
|
310
414
|
displayName?: string;
|
|
311
415
|
applicationIds?: string[];
|
|
416
|
+
/**
|
|
417
|
+
* Role ids to assign on invite (scoped UserRole grant).
|
|
418
|
+
* Application invite → app-scoped grant; tenant invite without per-app rows → tenant-wide grant.
|
|
419
|
+
*/
|
|
420
|
+
roleIds?: string[];
|
|
421
|
+
/**
|
|
422
|
+
* TM Tenant Users repeater: roles per selected application.
|
|
423
|
+
* When present, server upserts a UserRole grant per application (not one tenant-wide grant).
|
|
424
|
+
*/
|
|
425
|
+
applicationRoleAssignments?: Array<{
|
|
426
|
+
applicationId: string;
|
|
427
|
+
roleIds: string[];
|
|
428
|
+
}>;
|
|
429
|
+
/**
|
|
430
|
+
* True when invite is from Tenant Users (tenant-membership) with multi-app UI.
|
|
431
|
+
* Server SoT with session edition feature — not Application.code === 'TM'.
|
|
432
|
+
*/
|
|
433
|
+
tenantMembershipInvite?: boolean;
|
|
312
434
|
/** Client sets true after warning that the identity already exists. */
|
|
313
435
|
confirmExisting?: boolean;
|
|
314
436
|
webOrigin?: string;
|
|
315
437
|
}
|
|
438
|
+
/** One selectable application for TM invite (tenant subscription entitlement). */
|
|
439
|
+
interface AXMTenantEntitledApplicationItem {
|
|
440
|
+
id: string;
|
|
441
|
+
/** Raw MLS / string title — client resolves for display. */
|
|
442
|
+
title: unknown;
|
|
443
|
+
}
|
|
444
|
+
interface AXMListTenantEntitledApplicationsResult {
|
|
445
|
+
items: AXMTenantEntitledApplicationItem[];
|
|
446
|
+
}
|
|
447
|
+
/** One Role overlay selectable on a TM invite repeater row. */
|
|
448
|
+
interface AXMInviteAssignableRoleItem {
|
|
449
|
+
id: string;
|
|
450
|
+
title: unknown;
|
|
451
|
+
name?: string;
|
|
452
|
+
applicationId: string;
|
|
453
|
+
}
|
|
454
|
+
interface AXMListInviteAssignableRolesInput {
|
|
455
|
+
/** When set, only overlays for this application (current tenant). */
|
|
456
|
+
applicationId?: string;
|
|
457
|
+
}
|
|
458
|
+
interface AXMListInviteAssignableRolesResult {
|
|
459
|
+
items: AXMInviteAssignableRoleItem[];
|
|
460
|
+
}
|
|
316
461
|
interface AXMInviteUserResult {
|
|
317
462
|
userId: string;
|
|
318
463
|
tenantUserId: string;
|
|
@@ -349,6 +494,8 @@ interface AXMPendingInvitationItem {
|
|
|
349
494
|
tenantUserId: string;
|
|
350
495
|
tenantId: string;
|
|
351
496
|
tenantTitle?: string;
|
|
497
|
+
/** Tenant branding logo URL / storage id when available. */
|
|
498
|
+
tenantLogo?: string;
|
|
352
499
|
invitedByUserId?: string;
|
|
353
500
|
expiresAt?: string;
|
|
354
501
|
sentAt?: string;
|
|
@@ -364,6 +511,98 @@ interface AXMAcceptMyInvitationInput {
|
|
|
364
511
|
interface AXMDeclineInvitationInput {
|
|
365
512
|
tenantUserId: string;
|
|
366
513
|
}
|
|
514
|
+
/** Stable codes for waiting-room join-by-unique-name (client maps to i18n). */
|
|
515
|
+
declare const AXM_JOIN_REQUEST_ERROR_CODES: {
|
|
516
|
+
readonly NotSignedIn: "JOIN_REQUEST_NOT_SIGNED_IN";
|
|
517
|
+
readonly InvalidInput: "JOIN_REQUEST_INVALID_INPUT";
|
|
518
|
+
readonly TenantNotFound: "JOIN_REQUEST_TENANT_NOT_FOUND";
|
|
519
|
+
readonly AlreadyMember: "JOIN_REQUEST_ALREADY_MEMBER";
|
|
520
|
+
readonly InvitePending: "JOIN_REQUEST_INVITE_PENDING";
|
|
521
|
+
readonly RequestNotFound: "JOIN_REQUEST_NOT_FOUND";
|
|
522
|
+
readonly NotPending: "JOIN_REQUEST_NOT_PENDING";
|
|
523
|
+
};
|
|
524
|
+
interface AXMLookupTenantByUniqueNameInput {
|
|
525
|
+
/** Tenant unique `name` or display `title` (any locale). Case-insensitive exact match. */
|
|
526
|
+
uniqueName: string;
|
|
527
|
+
}
|
|
528
|
+
interface AXMLookupTenantByUniqueNameItem {
|
|
529
|
+
id: string;
|
|
530
|
+
/** Stored unique name with original casing. */
|
|
531
|
+
name: string;
|
|
532
|
+
}
|
|
533
|
+
interface AXMLookupTenantByUniqueNameResult {
|
|
534
|
+
/** Present only when the name/title matches exactly one active tenant. */
|
|
535
|
+
item?: AXMLookupTenantByUniqueNameItem | null;
|
|
536
|
+
}
|
|
537
|
+
interface AXMRequestTenantMembershipInput {
|
|
538
|
+
/** Tenant unique `name` or display `title` (any locale). Case-insensitive exact match. */
|
|
539
|
+
uniqueName: string;
|
|
540
|
+
}
|
|
541
|
+
interface AXMRequestTenantMembershipResult {
|
|
542
|
+
tenantUserId: string;
|
|
543
|
+
tenantId: string;
|
|
544
|
+
tenantName: string;
|
|
545
|
+
}
|
|
546
|
+
interface AXMJoinRequestItem {
|
|
547
|
+
tenantUserId: string;
|
|
548
|
+
tenantId: string;
|
|
549
|
+
tenantName?: string;
|
|
550
|
+
tenantTitle?: string;
|
|
551
|
+
/** Tenant branding logo URL / storage id when available. */
|
|
552
|
+
tenantLogo?: string;
|
|
553
|
+
sentAt?: string;
|
|
554
|
+
expiresAt?: string;
|
|
555
|
+
}
|
|
556
|
+
interface AXMListMyJoinRequestsResult {
|
|
557
|
+
items: AXMJoinRequestItem[];
|
|
558
|
+
}
|
|
559
|
+
interface AXMCancelMyJoinRequestInput {
|
|
560
|
+
tenantUserId: string;
|
|
561
|
+
}
|
|
562
|
+
interface AXMApproveJoinRequestInput {
|
|
563
|
+
tenantUserId?: string;
|
|
564
|
+
userId?: string;
|
|
565
|
+
/** Product / app-scoped approve: roles for the current session application. */
|
|
566
|
+
roleIds?: string[];
|
|
567
|
+
applicationIds?: string[];
|
|
568
|
+
/** TM Tenant Users: per-application role rows (same shape as invite). */
|
|
569
|
+
applicationRoleAssignments?: Array<{
|
|
570
|
+
applicationId: string;
|
|
571
|
+
roleIds: string[];
|
|
572
|
+
}>;
|
|
573
|
+
/**
|
|
574
|
+
* When true, allow multi-application assignment (TM Tenant Users + edition feature).
|
|
575
|
+
* Mirrors invite `tenantMembershipInvite`.
|
|
576
|
+
*/
|
|
577
|
+
tenantMembershipApprove?: boolean;
|
|
578
|
+
}
|
|
579
|
+
interface AXMRejectJoinRequestInput {
|
|
580
|
+
tenantUserId?: string;
|
|
581
|
+
userId?: string;
|
|
582
|
+
}
|
|
583
|
+
interface AXMCreateUserInTenantInput {
|
|
584
|
+
email?: string;
|
|
585
|
+
username?: string;
|
|
586
|
+
displayName?: string;
|
|
587
|
+
password?: string;
|
|
588
|
+
applicationIds?: string[];
|
|
589
|
+
/** Product Users create: roles for the current session application. */
|
|
590
|
+
roleIds?: string[];
|
|
591
|
+
/** TM Tenant Users create: per-application role rows (merged client-side before submit). */
|
|
592
|
+
applicationRoleAssignments?: Array<{
|
|
593
|
+
applicationId: string;
|
|
594
|
+
roleIds: string[];
|
|
595
|
+
}>;
|
|
596
|
+
/**
|
|
597
|
+
* When true, allow multi-application assignment (TM Tenant Users + edition feature).
|
|
598
|
+
* Parallel to invite `tenantMembershipInvite`; Create path only.
|
|
599
|
+
*/
|
|
600
|
+
tenantMembershipCreate?: boolean;
|
|
601
|
+
}
|
|
602
|
+
interface AXMCreateUserInTenantResult {
|
|
603
|
+
userId: string;
|
|
604
|
+
tenantUserId: string;
|
|
605
|
+
}
|
|
367
606
|
/** Stable codes for two-factor self-service and login challenge (client maps to i18n). */
|
|
368
607
|
declare const AXM_TWO_FACTOR_ERROR_CODES: {
|
|
369
608
|
readonly NotSignedIn: "TWO_FACTOR_NOT_SIGNED_IN";
|
|
@@ -437,6 +676,39 @@ interface AXMVerifyTwoFactorLoginInput {
|
|
|
437
676
|
rememberMe?: boolean;
|
|
438
677
|
}
|
|
439
678
|
|
|
679
|
+
/** Platform settings owned by Security Management. */
|
|
680
|
+
declare const AXMSecurityManagementSettings: {
|
|
681
|
+
/**
|
|
682
|
+
* Which Users-list add actions are available.
|
|
683
|
+
* `create` and `invite` are primary. `both` shows them as secondary actions.
|
|
684
|
+
*/
|
|
685
|
+
readonly UserProvisioningMode: "SecurityManagement:Setting:User.ProvisioningMode";
|
|
686
|
+
};
|
|
687
|
+
declare const AXMUserProvisioningMode: {
|
|
688
|
+
readonly Create: "create";
|
|
689
|
+
readonly Invite: "invite";
|
|
690
|
+
readonly Both: "both";
|
|
691
|
+
};
|
|
692
|
+
type AXMUserProvisioningMode = (typeof AXMUserProvisioningMode)[keyof typeof AXMUserProvisioningMode];
|
|
693
|
+
/** Used when the platform setting has not been saved yet. */
|
|
694
|
+
declare const AXM_USER_PROVISIONING_MODE_DEFAULT: "both";
|
|
695
|
+
|
|
696
|
+
/**
|
|
697
|
+
|
|
698
|
+
* Explicit DeviceSessions admin operation scope (ADR-TEN-001 D-07).
|
|
699
|
+
|
|
700
|
+
* Selected by the calling surface (menu/view), not by Application.code / TM ids.
|
|
701
|
+
|
|
702
|
+
*/
|
|
703
|
+
type AXPDeviceSessionAdminScope = 'tenant' | 'application';
|
|
704
|
+
/** Query `params` key and HTTP header value for admin scope. */
|
|
705
|
+
declare const AXP_DEVICE_SESSION_ADMIN_SCOPE_PARAM = "deviceSessionAdminScope";
|
|
706
|
+
/** HTTP header (lowercase) carrying the same scope for getOne/update/delete. */
|
|
707
|
+
declare const AXP_DEVICE_SESSION_ADMIN_SCOPE_HEADER = "x-axp-device-session-admin-scope";
|
|
708
|
+
/** Entity list view name for TM → Tenant Sessions. */
|
|
709
|
+
declare const AXP_DEVICE_SESSION_TENANT_SESSIONS_VIEW = "tenant-sessions";
|
|
710
|
+
declare function normalizeDeviceSessionAdminScope(value: unknown): AXPDeviceSessionAdminScope;
|
|
711
|
+
|
|
440
712
|
declare enum AXMSessionStatusTypes {
|
|
441
713
|
revoked = "revoked",
|
|
442
714
|
expired = "expired",
|
|
@@ -668,5 +940,13 @@ interface AXMSecurityManagementUsersEntityModel extends AXPEntityModel<string> {
|
|
|
668
940
|
passwordReset?: AXMUserPasswordResetInfo | null;
|
|
669
941
|
}
|
|
670
942
|
|
|
671
|
-
|
|
672
|
-
|
|
943
|
+
/** Type-level Invite / Create actions, including the legacy Create dropdown. */
|
|
944
|
+
declare function isUserProvisioningListAction(action: AXPEntityAction): boolean;
|
|
945
|
+
/**
|
|
946
|
+
* Users list add actions driven by the platform provisioning setting.
|
|
947
|
+
* Create-only and invite-only stay primary. Both are secondary menu items.
|
|
948
|
+
*/
|
|
949
|
+
declare function userProvisioningListActions(): AXPEntityAction[];
|
|
950
|
+
|
|
951
|
+
export { AXMSecurityManagementServerCommands, AXMSecurityManagementSettings, AXMSessionStatusTypes, AXMUserAccessState, AXMUserEffectiveState, AXMUserProvisioningMode, AXM_ACCEPT_INVITATION_ERROR_CODES, AXM_CHANGE_OWN_PASSWORD_ERROR_CODES, AXM_IDENTITY_PROVIDER_PROTOCOL, AXM_JOIN_REQUEST_ERROR_CODES, AXM_MEMBERSHIP_INVITATION_NOTIFICATION_DEFINITION_KEY, AXM_MEMBERSHIP_INVITATION_SOURCE, AXM_MEMBERSHIP_INVITE_WAITING_ROOM_SOURCE, AXM_SECURITY_CONTEXT_DEFINITIONS, AXM_TWO_FACTOR_ERROR_CODES, AXM_USER_ACCESS_STATE_DEFINITION_KEY, AXM_USER_APPROVE_JOIN_REQUEST_COMMAND, AXM_USER_CANCEL_INVITATION_COMMAND, AXM_USER_CREATE_IN_TENANT_COMMAND, AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY, AXM_USER_INVITE_COMMAND, AXM_USER_PROVISIONING_MODE_DEFAULT, AXM_USER_REJECT_JOIN_REQUEST_COMMAND, AXM_USER_RESEND_INVITATION_COMMAND, AXM_USER_RESET_TWO_FACTOR_COMMAND, AXM_USER_SEND_PASSWORD_RESET_COMMAND, AXPAdministrationPermissionKeys, AXPSecurityManagementFeatureKeys, AXPSecurityManagementMenuKeys, AXPSecurityManagementPermissionKeys, AXP_DEVICE_SESSION_ADMIN_SCOPE_HEADER, AXP_DEVICE_SESSION_ADMIN_SCOPE_PARAM, AXP_DEVICE_SESSION_TENANT_SESSIONS_VIEW, ROLE_PERMISSIONS_PAGE_COMPONENT_KEY, RootConfig, SecurityManagementManifest, USER_ROLES_PAGE_COMPONENT_KEY, flattenCreateApplicationRoleAssignments, flattenInviteApplicationRoleAssignments, isRoleAssignableForInvite, isRoleAssignableForTenantUserInviteRow, isUserProvisioningListAction, normalizeCreateApplicationRoleAssignments, normalizeDeviceSessionAdminScope, normalizeInviteApplicationRoleAssignments, readInviteRoleScopeInfo, resolveAXMUserEffectiveState, userProvisioningListActions, userTwoFactorFactory };
|
|
952
|
+
export type { AXMAcceptInvitationInput, AXMAcceptInvitationPreviewResult, AXMAcceptInvitationReason, AXMAcceptMyInvitationInput, AXMAdminResetTwoFactorInput, AXMAdminResetTwoFactorResult, AXMApproveJoinRequestInput, AXMCancelInvitationInput, AXMCancelMyJoinRequestInput, AXMChangeOwnPasswordInput, AXMChangeOwnPasswordResult, AXMCompletePasswordResetInput, AXMConfirmTwoFactorEnrollmentInput, AXMConfirmTwoFactorEnrollmentResult, AXMCreateApplicationRoleAssignment, AXMCreateUserInTenantInput, AXMCreateUserInTenantResult, AXMDeclineInvitationInput, AXMDisableTwoFactorInput, AXMDisableTwoFactorResult, AXMGenerateTwoFactorRecoveryCodesInput, AXMGenerateTwoFactorRecoveryCodesResult, AXMGetOwnPasswordStatusResult, AXMGetTwoFactorStatusResult, AXMIdentityProviderEntityModel, AXMIdentityProviderProtocol, AXMInviteApplicationRoleAssignment, AXMInviteAssignableRoleItem, AXMInviteRoleAssignmentMode, AXMInviteRoleScopeContext, AXMInviteRoleScopeInfo, AXMInviteUserInput, AXMInviteUserResult, AXMJoinRequestItem, AXMListInviteAssignableRolesInput, AXMListInviteAssignableRolesResult, AXMListMyJoinRequestsResult, AXMListMyPendingInvitationsResult, AXMListTenantEntitledApplicationsResult, AXMLookupTenantByUniqueNameInput, AXMLookupTenantByUniqueNameItem, AXMLookupTenantByUniqueNameResult, AXMMembershipInvitationSource, AXMPendingInvitationItem, AXMPolicyEffect, AXMPolicyEffectRule, AXMPolicyScope, AXMRejectJoinRequestInput, AXMRequestTenantMembershipInput, AXMRequestTenantMembershipResult, AXMResendInvitationInput, AXMSecurityManagementDeviceSessionsEntityModel, AXMSecurityManagementPolicyEntityModel, AXMSecurityManagementProfileEntityModel, AXMSecurityManagementRolePermissionEntityModel, AXMSecurityManagementRolesEntityModel, AXMSecurityManagementUserRoleEntityModel, AXMSecurityManagementUserTwoFactorEntityModel, AXMSecurityManagementUsersEntityModel, AXMSendPasswordResetEmailInput, AXMStartTwoFactorEnrollmentInput, AXMStartTwoFactorEnrollmentResult, AXMTenantEntitledApplicationItem, AXMUserCreatedVia, AXMUserInvitationInfo, AXMUserPasswordResetInfo, AXMUserTwoFactorMethod, AXMUserTwoFactorRecoveryCode, AXMVerifyTwoFactorLoginInput, AXPDeviceSessionAdminScope };
|