mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 05:43:41 +00:00
[PM-23133] refactor members component (#16703)
* WIP: added new services, refactor members to use billing service and member action service * replace dialog logic and user logic with service implementations * WIP * wip add tests * add tests, continue refactoring * clean up * move BillingConstraintService to billing ownership * fix import * fix seat count not updating if feature flag is disabled * refactor billingMetadata, clean up
This commit is contained in:
@@ -30,6 +30,7 @@ import {
|
||||
} from "@bitwarden/web-vault/app/admin-console/common/people-table-data-source";
|
||||
import { openEntityEventsDialog } from "@bitwarden/web-vault/app/admin-console/organizations/manage/entity-events.component";
|
||||
import { BulkStatusComponent } from "@bitwarden/web-vault/app/admin-console/organizations/members/components/bulk/bulk-status.component";
|
||||
import { MemberActionResult } from "@bitwarden/web-vault/app/admin-console/organizations/members/services/member-actions/member-actions.service";
|
||||
|
||||
import {
|
||||
AddEditMemberDialogComponent,
|
||||
@@ -199,16 +200,27 @@ export class MembersComponent extends BaseMembersComponent<ProviderUser> {
|
||||
await this.load();
|
||||
}
|
||||
|
||||
async confirmUser(user: ProviderUser, publicKey: Uint8Array): Promise<void> {
|
||||
const providerKey = await this.keyService.getProviderKey(this.providerId);
|
||||
const key = await this.encryptService.encapsulateKeyUnsigned(providerKey, publicKey);
|
||||
const request = new ProviderUserConfirmRequest();
|
||||
request.key = key.encryptedString;
|
||||
await this.apiService.postProviderUserConfirm(this.providerId, user.id, request);
|
||||
async confirmUser(user: ProviderUser, publicKey: Uint8Array): Promise<MemberActionResult> {
|
||||
try {
|
||||
const providerKey = await this.keyService.getProviderKey(this.providerId);
|
||||
const key = await this.encryptService.encapsulateKeyUnsigned(providerKey, publicKey);
|
||||
const request = new ProviderUserConfirmRequest();
|
||||
request.key = key.encryptedString;
|
||||
await this.apiService.postProviderUserConfirm(this.providerId, user.id, request);
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
}
|
||||
|
||||
removeUser = (id: string): Promise<void> =>
|
||||
this.apiService.deleteProviderUser(this.providerId, id);
|
||||
removeUser = async (id: string): Promise<MemberActionResult> => {
|
||||
try {
|
||||
await this.apiService.deleteProviderUser(this.providerId, id);
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
};
|
||||
|
||||
edit = async (user: ProviderUser | null): Promise<void> => {
|
||||
const data: AddEditMemberDialogParams = {
|
||||
@@ -251,6 +263,12 @@ export class MembersComponent extends BaseMembersComponent<ProviderUser> {
|
||||
getUsers = (): Promise<ListResponse<ProviderUser>> =>
|
||||
this.apiService.getProviderUsers(this.providerId);
|
||||
|
||||
reinviteUser = (id: string): Promise<void> =>
|
||||
this.apiService.postProviderUserReinvite(this.providerId, id);
|
||||
reinviteUser = async (id: string): Promise<MemberActionResult> => {
|
||||
try {
|
||||
await this.apiService.postProviderUserReinvite(this.providerId, id);
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
return { success: false, error: error.message };
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user