bitwarden-estensione-browser/apps/cli/src/tools/send/commands/remove-password.command.ts

32 lines
1.1 KiB
TypeScript

import { firstValueFrom } from "rxjs";
import { EnvironmentService } from "@bitwarden/common/platform/abstractions/environment.service";
import { SendService } from "@bitwarden/common/tools/send/services//send.service.abstraction";
import { SendApiService } from "@bitwarden/common/tools/send/services/send-api.service.abstraction";
import { Response } from "../../../models/response";
import { SendResponse } from "../models/send.response";
export class SendRemovePasswordCommand {
constructor(
private sendService: SendService,
private sendApiService: SendApiService,
private environmentService: EnvironmentService,
) {}
async run(id: string) {
try {
await this.sendApiService.removePassword(id);
const updatedSend = await this.sendService.get(id);
const decSend = await updatedSend.decrypt();
const env = await firstValueFrom(this.environmentService.environment$);
const webVaultUrl = env.getWebVaultUrl();
const res = new SendResponse(decSend, webVaultUrl);
return Response.success(res);
} catch (e) {
return Response.error(e);
}
}
}