1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 13:23:34 +00:00

return updated folder when saving a folder (#12894)

This commit is contained in:
Jordan Aasen
2025-01-17 09:12:54 -08:00
committed by GitHub
parent dbb341141a
commit 457aa07aa9
3 changed files with 7 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ import { Utils } from "@bitwarden/common/platform/misc/utils";
import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service";
import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction";
import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction";
import { Folder } from "@bitwarden/common/vault/models/domain/folder";
import { KeyService } from "@bitwarden/key-management"; import { KeyService } from "@bitwarden/key-management";
import { OrganizationCollectionRequest } from "../admin-console/models/request/organization-collection.request"; import { OrganizationCollectionRequest } from "../admin-console/models/request/organization-collection.request";
@@ -152,8 +153,8 @@ export class EditCommand {
const userKey = await this.keyService.getUserKeyWithLegacySupport(activeUserId); const userKey = await this.keyService.getUserKeyWithLegacySupport(activeUserId);
const encFolder = await this.folderService.encrypt(folderView, userKey); const encFolder = await this.folderService.encrypt(folderView, userKey);
try { try {
await this.folderApiService.save(encFolder, activeUserId); const folder = await this.folderApiService.save(encFolder, activeUserId);
const updatedFolder = await this.folderService.get(folder.id, activeUserId); const updatedFolder = new Folder(folder);
const decFolder = await updatedFolder.decrypt(); const decFolder = await updatedFolder.decrypt();
const res = new FolderResponse(decFolder); const res = new FolderResponse(decFolder);
return Response.success(res); return Response.success(res);

View File

@@ -2,11 +2,12 @@
// @ts-strict-ignore // @ts-strict-ignore
import { UserId } from "../../../types/guid"; import { UserId } from "../../../types/guid";
import { FolderData } from "../../models/data/folder.data";
import { Folder } from "../../models/domain/folder"; import { Folder } from "../../models/domain/folder";
import { FolderResponse } from "../../models/response/folder.response"; import { FolderResponse } from "../../models/response/folder.response";
export class FolderApiServiceAbstraction { export class FolderApiServiceAbstraction {
save: (folder: Folder, userId: UserId) => Promise<any>; save: (folder: Folder, userId: UserId) => Promise<FolderData>;
delete: (id: string, userId: UserId) => Promise<any>; delete: (id: string, userId: UserId) => Promise<any>;
get: (id: string) => Promise<FolderResponse>; get: (id: string) => Promise<FolderResponse>;
deleteAll: (userId: UserId) => Promise<void>; deleteAll: (userId: UserId) => Promise<void>;

View File

@@ -13,7 +13,7 @@ export class FolderApiService implements FolderApiServiceAbstraction {
private apiService: ApiService, private apiService: ApiService,
) {} ) {}
async save(folder: Folder, userId: UserId): Promise<any> { async save(folder: Folder, userId: UserId): Promise<FolderData> {
const request = new FolderRequest(folder); const request = new FolderRequest(folder);
let response: FolderResponse; let response: FolderResponse;
@@ -26,6 +26,7 @@ export class FolderApiService implements FolderApiServiceAbstraction {
const data = new FolderData(response); const data = new FolderData(response);
await this.folderService.upsert(data, userId); await this.folderService.upsert(data, userId);
return data;
} }
async delete(id: string, userId: UserId): Promise<any> { async delete(id: string, userId: UserId): Promise<any> {