diff --git a/libs/common/src/admin-console/abstractions/organization-user/organization-user.service.ts b/libs/common/src/admin-console/abstractions/organization-user/organization-user.service.ts index d69955c7d0f..7058be08037 100644 --- a/libs/common/src/admin-console/abstractions/organization-user/organization-user.service.ts +++ b/libs/common/src/admin-console/abstractions/organization-user/organization-user.service.ts @@ -66,6 +66,16 @@ export abstract class OrganizationUserService { id: string, ): Promise; + /** + * Retrieve reset password details for many organization users + * @param organizationId - Identifier for the organization + * @param ids - A list of organization user identifiers + */ + abstract getManyOrganizationUserAccountRecoveryDetails( + organizationId: string, + ids: string[], + ): Promise>; + /** * Create new organization user invite(s) for the specified organization * @param organizationId - Identifier for the organization diff --git a/libs/common/src/admin-console/abstractions/organization-user/responses/organization-user.response.ts b/libs/common/src/admin-console/abstractions/organization-user/responses/organization-user.response.ts index 5fb7844793f..ccda2a564b6 100644 --- a/libs/common/src/admin-console/abstractions/organization-user/responses/organization-user.response.ts +++ b/libs/common/src/admin-console/abstractions/organization-user/responses/organization-user.response.ts @@ -70,6 +70,7 @@ export class OrganizationUserDetailsResponse extends OrganizationUserResponse { } export class OrganizationUserResetPasswordDetailsResponse extends BaseResponse { + organizationUserId: string; kdf: KdfType; kdfIterations: number; kdfMemory?: number; @@ -79,6 +80,7 @@ export class OrganizationUserResetPasswordDetailsResponse extends BaseResponse { constructor(response: any) { super(response); + this.organizationUserId = this.getResponseProperty("OrganizationUserId"); this.kdf = this.getResponseProperty("Kdf"); this.kdfIterations = this.getResponseProperty("KdfIterations"); this.kdfMemory = this.getResponseProperty("KdfMemory"); diff --git a/libs/common/src/admin-console/services/organization-user/organization-user.service.implementation.ts b/libs/common/src/admin-console/services/organization-user/organization-user.service.implementation.ts index e3f85e274d2..b66805a20b9 100644 --- a/libs/common/src/admin-console/services/organization-user/organization-user.service.implementation.ts +++ b/libs/common/src/admin-console/services/organization-user/organization-user.service.implementation.ts @@ -98,6 +98,20 @@ export class OrganizationUserServiceImplementation implements OrganizationUserSe return new OrganizationUserResetPasswordDetailsResponse(r); } + async getManyOrganizationUserAccountRecoveryDetails( + organizationId: string, + ids: string[], + ): Promise> { + const r = await this.apiService.send( + "POST", + "/organizations/" + organizationId + "/users/account-recovery-details", + new OrganizationUserBulkRequest(ids), + true, + true, + ); + return new ListResponse(r, OrganizationUserResetPasswordDetailsResponse); + } + postOrganizationUserInvite( organizationId: string, request: OrganizationUserInviteRequest,