mirror of
https://github.com/bitwarden/browser
synced 2026-02-24 00:23:17 +00:00
Merging master into branch
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
import { SecretVerificationRequest } from "@bitwarden/common/models/request/secretVerificationRequest";
|
||||
|
||||
export abstract class AccountApiService {
|
||||
abstract deleteAccount(request: SecretVerificationRequest): Promise<void>;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
import { Verification } from "../../types/verification";
|
||||
|
||||
export abstract class AccountService {
|
||||
abstract delete(verification: Verification): Promise<any>;
|
||||
}
|
||||
8
libs/common/src/interfaces/IEncrypted.ts
Normal file
8
libs/common/src/interfaces/IEncrypted.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { EncryptionType } from "../enums/encryptionType";
|
||||
|
||||
export interface IEncrypted {
|
||||
encryptionType?: EncryptionType;
|
||||
dataBytes: ArrayBuffer;
|
||||
macBytes: ArrayBuffer;
|
||||
ivBytes: ArrayBuffer;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
import { BaseResponse } from "./baseResponse";
|
||||
import { CipherResponse } from "./cipherResponse";
|
||||
import { CollectionResponse } from "./collectionResponse";
|
||||
import { ListResponse } from "./listResponse";
|
||||
|
||||
export class OrganizationExportResponse extends BaseResponse {
|
||||
collections: ListResponse<CollectionResponse>;
|
||||
ciphers: ListResponse<CipherResponse>;
|
||||
|
||||
constructor(response: any) {
|
||||
super(response);
|
||||
this.collections = this.getResponseProperty("Collections");
|
||||
this.ciphers = this.getResponseProperty("Ciphers");
|
||||
}
|
||||
}
|
||||
11
libs/common/src/services/account/account-api.service.ts
Normal file
11
libs/common/src/services/account/account-api.service.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { AccountApiService as AccountApiServiceAbstraction } from "@bitwarden/common/abstractions/account/account-api.service.abstraction";
|
||||
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
||||
import { SecretVerificationRequest } from "@bitwarden/common/models/request/secretVerificationRequest";
|
||||
|
||||
export class AccountApiService implements AccountApiServiceAbstraction {
|
||||
constructor(private apiService: ApiService) {}
|
||||
|
||||
deleteAccount(request: SecretVerificationRequest): Promise<void> {
|
||||
return this.apiService.send("DELETE", "/accounts", request, true, false);
|
||||
}
|
||||
}
|
||||
27
libs/common/src/services/account/account.service.ts
Normal file
27
libs/common/src/services/account/account.service.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { AccountApiService } from "@bitwarden/common/abstractions/account/account-api.service.abstraction";
|
||||
import { LogService } from "@bitwarden/common/abstractions/log.service";
|
||||
import { MessagingService } from "@bitwarden/common/abstractions/messaging.service";
|
||||
import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification.service";
|
||||
|
||||
import { AccountService as AccountServiceAbstraction } from "../../abstractions/account/account.service.abstraction";
|
||||
import { Verification } from "../../types/verification";
|
||||
|
||||
export class AccountService implements AccountServiceAbstraction {
|
||||
constructor(
|
||||
private accountApiService: AccountApiService,
|
||||
private userVerificationService: UserVerificationService,
|
||||
private messagingService: MessagingService,
|
||||
private logService: LogService
|
||||
) {}
|
||||
|
||||
async delete(verification: Verification): Promise<any> {
|
||||
try {
|
||||
const verificationRequest = await this.userVerificationService.buildRequest(verification);
|
||||
await this.accountApiService.deleteAccount(verificationRequest);
|
||||
this.messagingService.send("logout");
|
||||
} catch (e) {
|
||||
this.logService.error(e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user