From 43c0cbce452daff9bcc4c70866a56c8cbd548b4a Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Tue, 23 Oct 2018 16:16:59 -0400 Subject: [PATCH] save share response --- src/abstractions/api.service.ts | 2 +- src/services/api.service.ts | 5 +++-- src/services/cipher.service.ts | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/abstractions/api.service.ts b/src/abstractions/api.service.ts index abb2f93095..ee27049121 100644 --- a/src/abstractions/api.service.ts +++ b/src/abstractions/api.service.ts @@ -141,7 +141,7 @@ export abstract class ApiService { deleteCipherAdmin: (id: string) => Promise; deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise; putMoveCiphers: (request: CipherBulkMoveRequest) => Promise; - putShareCipher: (id: string, request: CipherShareRequest) => Promise; + putShareCipher: (id: string, request: CipherShareRequest) => Promise; putShareCiphers: (request: CipherBulkShareRequest) => Promise; putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise; putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise; diff --git a/src/services/api.service.ts b/src/services/api.service.ts index 8e502c91e0..40c7c6c78c 100644 --- a/src/services/api.service.ts +++ b/src/services/api.service.ts @@ -374,8 +374,9 @@ export class ApiService implements ApiServiceAbstraction { return this.send('PUT', '/ciphers/move', request, true, false); } - putShareCipher(id: string, request: CipherShareRequest): Promise { - return this.send('PUT', '/ciphers/' + id + '/share', request, true, false); + async putShareCipher(id: string, request: CipherShareRequest): Promise { + const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true); + return new CipherResponse(r); } putShareCiphers(request: CipherBulkShareRequest): Promise { diff --git a/src/services/cipher.service.ts b/src/services/cipher.service.ts index 3428851195..6cff911e34 100644 --- a/src/services/cipher.service.ts +++ b/src/services/cipher.service.ts @@ -465,9 +465,10 @@ export class CipherService implements CipherServiceAbstraction { cipher.collectionIds = collectionIds; const encCipher = await this.encrypt(cipher); const request = new CipherShareRequest(encCipher); - await this.apiService.putShareCipher(cipher.id, request); + const response = await this.apiService.putShareCipher(cipher.id, request); const userId = await this.userService.getUserId(); - await this.upsert(encCipher.toCipherData(userId)); + const data = new CipherData(response, userId, collectionIds); + await this.upsert(data); } async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {