mirror of
https://github.com/bitwarden/browser
synced 2026-02-01 09:13:54 +00:00
Member details model updates
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { BaseResponse } from "@bitwarden/common/models/response/base.response";
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsData } from "../data/member-details.data";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetails } from "../domain/member-details";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsView } from "../view/member-details.view";
|
||||
|
||||
/**
|
||||
* Converts a MemberDetails API response
|
||||
*
|
||||
* - See {@link MemberDetails} for domain model
|
||||
* - See {@link MemberDetailsData} for data model
|
||||
* - See {@link MemberDetailsView} from View Model
|
||||
*/
|
||||
export class MemberDetailsApi extends BaseResponse {
|
||||
userGuid: string;
|
||||
userName: string;
|
||||
email: string;
|
||||
cipherId: string;
|
||||
|
||||
constructor(data: any = null) {
|
||||
super(data);
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
this.userGuid = this.getResponseProperty("userGuid");
|
||||
this.userName = this.getResponseProperty("userName");
|
||||
this.email = this.getResponseProperty("email");
|
||||
this.cipherId = this.getResponseProperty("cipherId");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
import { MemberDetailsApi } from "../api/member-details.api";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetails } from "../domain/member-details";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsView } from "../view/member-details.view";
|
||||
|
||||
/**
|
||||
* Serializable data model for member details in risk insights report
|
||||
*
|
||||
* - See {@link MemberDetails} for domain model
|
||||
* - See {@link MemberDetailsApi} for API model
|
||||
* - See {@link MemberDetailsView} from View Model
|
||||
*/
|
||||
export class MemberDetailsData {
|
||||
userGuid: string;
|
||||
userName: string;
|
||||
email: string;
|
||||
cipherId: string;
|
||||
|
||||
constructor(data?: MemberDetailsApi) {
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.userGuid = data.userGuid;
|
||||
this.userName = data.userName;
|
||||
this.email = data.email;
|
||||
this.cipherId = data.cipherId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import { EncString } from "@bitwarden/common/key-management/crypto/models/enc-string";
|
||||
import Domain from "@bitwarden/common/platform/models/domain/domain-base";
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsApi } from "../api/member-details.api";
|
||||
import { MemberDetailsData } from "../data/member-details.data";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsView } from "../view/member-details.view";
|
||||
|
||||
/**
|
||||
* Domain model for Member Details in Risk Insights containing encrypted properties
|
||||
*
|
||||
* - See {@link MemberDetailsApi} for API model
|
||||
* - See {@link MemberDetailsData} for data model
|
||||
* - See {@link MemberDetailsView} from View Model
|
||||
*/
|
||||
export class MemberDetails extends Domain {
|
||||
userGuid: EncString = new EncString("");
|
||||
userName: EncString = new EncString("");
|
||||
email: EncString = new EncString("");
|
||||
cipherId: EncString = new EncString("");
|
||||
|
||||
constructor(data?: MemberDetailsData) {
|
||||
super();
|
||||
if (data == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.userGuid = new EncString(data.userGuid);
|
||||
this.userName = new EncString(data.userName);
|
||||
this.email = new EncString(data.email);
|
||||
this.cipherId = new EncString(data.cipherId);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import { Jsonify } from "type-fest";
|
||||
|
||||
import { View } from "@bitwarden/common/models/view/view";
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsApi } from "../api/member-details.api";
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import { MemberDetailsData } from "../data/member-details.data";
|
||||
import { MemberDetails } from "../domain/member-details";
|
||||
|
||||
/**
|
||||
* View model for Member Details in Risk Insights containing decrypted properties
|
||||
*
|
||||
* - See {@link MemberDetails} for domain model
|
||||
* - See {@link MemberDetailsData} for data model
|
||||
* - See {@link MemberDetailsApi} for API model
|
||||
*/
|
||||
export class MemberDetailsView implements View {
|
||||
userGuid: string = "";
|
||||
userName: string = "";
|
||||
email: string = "";
|
||||
cipherId: string = "";
|
||||
|
||||
constructor(m?: MemberDetails) {
|
||||
if (m == null) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
toJSON() {
|
||||
return this;
|
||||
}
|
||||
|
||||
static fromJSON(
|
||||
obj: Partial<Jsonify<MemberDetailsView>> | undefined,
|
||||
): MemberDetailsView | undefined {
|
||||
return Object.assign(new MemberDetailsView(), obj);
|
||||
}
|
||||
|
||||
// [TODO] SDK Mapping
|
||||
// toSdkMemberDetailsView(): SdkMemberDetailsView {}
|
||||
// static fromMemberDetailsView(obj?: SdkMemberDetailsView): MemberDetailsView | undefined {}
|
||||
}
|
||||
Reference in New Issue
Block a user