mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 01:03:35 +00:00
* [AC-1144] Added new messages for warning removing/revoking user without master password * [AC-1144] Added property 'hasMasterPassword' to OrganizationUserUserDetailsResponse and OrganizationUserView * [AC-1144] Added user's name to 'No master password' warning * [AC-1144] Added property 'hasMasterPassword' to ProviderUserResponse * [AC-1144] Added alert to bulk "remove/revoke users" action when a selected user has no master password * [AC-1144] Moved 'noMasterPasswordConfirmationDialog' method to BasePeopleComponent * [AC-1144] Removed await from noMasterPasswordConfirmationDialog * [AC-1144] Changed ApiService.getProviderUser to output ProviderUserUserDetailsResponse * [AC-1144] Added warning on removing a provider user without master password * [AC-1144] Added "No Master password" warning to provider users * [AC-1144] Added "no master password" warning when removing/revoking user in modal view * [AC-1144] Reverted changes made to ProviderUsers * [AC-1144] Converted showNoMasterPasswordWarning() into a property * [AC-1144] Fixed issue when opening invite member modal
86 lines
3.2 KiB
TypeScript
86 lines
3.2 KiB
TypeScript
import { OrganizationUserStatusType, OrganizationUserType } from "../../../admin-console/enums";
|
|
import { PermissionsApi } from "../../../admin-console/models/api/permissions.api";
|
|
import { SelectionReadOnlyResponse } from "../../../admin-console/models/response/selection-read-only.response";
|
|
import { KdfType } from "../../../enums";
|
|
import { BaseResponse } from "../../../models/response/base.response";
|
|
|
|
export class OrganizationUserResponse extends BaseResponse {
|
|
id: string;
|
|
userId: string;
|
|
type: OrganizationUserType;
|
|
status: OrganizationUserStatusType;
|
|
externalId: string;
|
|
accessAll: boolean;
|
|
accessSecretsManager: boolean;
|
|
permissions: PermissionsApi;
|
|
resetPasswordEnrolled: boolean;
|
|
hasMasterPassword: boolean;
|
|
collections: SelectionReadOnlyResponse[] = [];
|
|
groups: string[] = [];
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.id = this.getResponseProperty("Id");
|
|
this.userId = this.getResponseProperty("UserId");
|
|
this.type = this.getResponseProperty("Type");
|
|
this.status = this.getResponseProperty("Status");
|
|
this.permissions = new PermissionsApi(this.getResponseProperty("Permissions"));
|
|
this.externalId = this.getResponseProperty("ExternalId");
|
|
this.accessAll = this.getResponseProperty("AccessAll");
|
|
this.accessSecretsManager = this.getResponseProperty("AccessSecretsManager");
|
|
this.resetPasswordEnrolled = this.getResponseProperty("ResetPasswordEnrolled");
|
|
this.hasMasterPassword = this.getResponseProperty("HasMasterPassword");
|
|
|
|
const collections = this.getResponseProperty("Collections");
|
|
if (collections != null) {
|
|
this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));
|
|
}
|
|
const groups = this.getResponseProperty("Groups");
|
|
if (groups != null) {
|
|
this.groups = groups;
|
|
}
|
|
}
|
|
}
|
|
|
|
export class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {
|
|
name: string;
|
|
email: string;
|
|
avatarColor: string;
|
|
twoFactorEnabled: boolean;
|
|
usesKeyConnector: boolean;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.name = this.getResponseProperty("Name");
|
|
this.email = this.getResponseProperty("Email");
|
|
this.avatarColor = this.getResponseProperty("AvatarColor");
|
|
this.twoFactorEnabled = this.getResponseProperty("TwoFactorEnabled");
|
|
this.usesKeyConnector = this.getResponseProperty("UsesKeyConnector") ?? false;
|
|
}
|
|
}
|
|
|
|
export class OrganizationUserDetailsResponse extends OrganizationUserResponse {
|
|
constructor(response: any) {
|
|
super(response);
|
|
}
|
|
}
|
|
|
|
export class OrganizationUserResetPasswordDetailsResponse extends BaseResponse {
|
|
kdf: KdfType;
|
|
kdfIterations: number;
|
|
kdfMemory?: number;
|
|
kdfParallelism?: number;
|
|
resetPasswordKey: string;
|
|
encryptedPrivateKey: string;
|
|
|
|
constructor(response: any) {
|
|
super(response);
|
|
this.kdf = this.getResponseProperty("Kdf");
|
|
this.kdfIterations = this.getResponseProperty("KdfIterations");
|
|
this.kdfMemory = this.getResponseProperty("KdfMemory");
|
|
this.kdfParallelism = this.getResponseProperty("KdfParallelism");
|
|
this.resetPasswordKey = this.getResponseProperty("ResetPasswordKey");
|
|
this.encryptedPrivateKey = this.getResponseProperty("EncryptedPrivateKey");
|
|
}
|
|
}
|