From c489482f704be683d61db48ed1da13e6a3e63b4e Mon Sep 17 00:00:00 2001 From: Thomas Rittson Date: Tue, 17 May 2022 17:13:19 +1000 Subject: [PATCH] Undo changes to CollectionService --- .../vault-filter/vault-filter.service.ts | 23 +++++++++++++++++-- common/src/abstractions/collection.service.ts | 1 - common/src/services/collection.service.ts | 20 +--------------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/angular/src/modules/vault-filter/vault-filter.service.ts b/angular/src/modules/vault-filter/vault-filter.service.ts index fe62d5e9..653cfbbf 100644 --- a/angular/src/modules/vault-filter/vault-filter.service.ts +++ b/angular/src/modules/vault-filter/vault-filter.service.ts @@ -1,5 +1,6 @@ import { Injectable } from "@angular/core"; +import { ApiService } from "jslib-common/abstractions/api.service"; import { CipherService } from "jslib-common/abstractions/cipher.service"; import { CollectionService } from "jslib-common/abstractions/collection.service"; import { FolderService } from "jslib-common/abstractions/folder.service"; @@ -7,7 +8,10 @@ import { OrganizationService } from "jslib-common/abstractions/organization.serv import { PolicyService } from "jslib-common/abstractions/policy.service"; import { StateService } from "jslib-common/abstractions/state.service"; import { PolicyType } from "jslib-common/enums/policyType"; +import { CollectionData } from "jslib-common/models/data/collectionData"; +import { Collection } from "jslib-common/models/domain/collection"; import { Organization } from "jslib-common/models/domain/organization"; +import { CollectionDetailsResponse } from "jslib-common/models/response/collectionResponse"; import { CollectionView } from "jslib-common/models/view/collectionView"; import { FolderView } from "jslib-common/models/view/folderView"; @@ -23,7 +27,8 @@ export class VaultFilterService { protected folderService: FolderService, protected cipherService: CipherService, protected collectionService: CollectionService, - protected policyService: PolicyService + protected policyService: PolicyService, + protected apiService: ApiService ) {} async storeCollapsedFilterNodes(collapsedFilterNodes: Set): Promise { @@ -61,7 +66,7 @@ export class VaultFilterService { async buildCollections(organizationId?: string): Promise> { const collections = this.getAllCollectionsFromServer - ? await this.collectionService.getOrgCollectionsFromServer(organizationId) + ? await this.getAdminCollections(organizationId) : await this.getUserCollections(organizationId); const nestedCollections = await this.collectionService.getAllNested(collections); @@ -71,6 +76,20 @@ export class VaultFilterService { }); } + private async getAdminCollections(organizationId: string) { + let result: CollectionView[] = []; + + const collectionResponse = await this.apiService.getCollections(organizationId); + if (collectionResponse?.data != null && collectionResponse.data.length) { + const collectionDomains = collectionResponse.data.map( + (r: CollectionDetailsResponse) => new Collection(new CollectionData(r)) + ); + result = await this.collectionService.decryptMany(collectionDomains); + } + + return result; + } + private async getUserCollections(organizationId?: string): Promise { const storedCollections = await this.collectionService.getAllDecrypted(); return organizationId != null diff --git a/common/src/abstractions/collection.service.ts b/common/src/abstractions/collection.service.ts index a4af81eb..0673e906 100644 --- a/common/src/abstractions/collection.service.ts +++ b/common/src/abstractions/collection.service.ts @@ -10,7 +10,6 @@ export abstract class CollectionService { get: (id: string) => Promise; getAll: () => Promise; getAllDecrypted: () => Promise; - getOrgCollectionsFromServer: (organizationId: string) => Promise; getAllNested: (collections?: CollectionView[]) => Promise[]>; getNested: (id: string) => Promise>; upsert: (collection: CollectionData | CollectionData[]) => Promise; diff --git a/common/src/services/collection.service.ts b/common/src/services/collection.service.ts index e2ecc3a8..4d3563d7 100644 --- a/common/src/services/collection.service.ts +++ b/common/src/services/collection.service.ts @@ -1,6 +1,3 @@ -import { ApiService } from "jslib-common/abstractions/api.service"; -import { CollectionDetailsResponse } from "jslib-common/models/response/collectionResponse"; - import { CollectionService as CollectionServiceAbstraction } from "../abstractions/collection.service"; import { CryptoService } from "../abstractions/crypto.service"; import { I18nService } from "../abstractions/i18n.service"; @@ -18,8 +15,7 @@ export class CollectionService implements CollectionServiceAbstraction { constructor( private cryptoService: CryptoService, private i18nService: I18nService, - private stateService: StateService, - private apiService: ApiService + private stateService: StateService ) {} async clearCache(userId?: string): Promise { @@ -158,18 +154,4 @@ export class CollectionService implements CollectionServiceAbstraction { await this.replace(collections); } - - async getOrgCollectionsFromServer(organizationId: string) { - let result: CollectionView[] = []; - - const collectionResponse = await this.apiService.getCollections(organizationId); - if (collectionResponse?.data != null && collectionResponse.data.length) { - const collectionDomains = collectionResponse.data.map( - (r) => new Collection(new CollectionData(r as CollectionDetailsResponse)) - ); - result = await this.decryptMany(collectionDomains); - } - - return result; - } }