mirror of
https://github.com/bitwarden/jslib
synced 2025-12-06 00:03:29 +00:00
[refactor] Establish pattern for interfaces in module scoped services
This commit is contained in:
@@ -7,7 +7,7 @@ import { FolderView } from "jslib-common/models/view/folderView";
|
||||
|
||||
import { DynamicTreeNode } from "./models/dynamic-tree-node.model";
|
||||
import { VaultFilter } from "./models/vault-filter.model";
|
||||
import { VaultFilterService } from "./vault-filter.service";
|
||||
import { VaultFilterServiceInterface } from "./vault-filter.service.interface";
|
||||
|
||||
@Directive()
|
||||
export class VaultFilterComponent implements OnInit {
|
||||
@@ -30,7 +30,7 @@ export class VaultFilterComponent implements OnInit {
|
||||
collections: DynamicTreeNode<CollectionView>;
|
||||
folders: DynamicTreeNode<FolderView>;
|
||||
|
||||
constructor(protected vaultFilterService: VaultFilterService) {}
|
||||
constructor(protected vaultFilterService: VaultFilterServiceInterface) {}
|
||||
|
||||
get displayCollections() {
|
||||
return this.collections?.fullList != null && this.collections.fullList.length > 0;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import { Organization } from "jslib-common/models/domain/organization";
|
||||
import { CollectionView } from "jslib-common/models/view/collectionView";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
|
||||
import { DynamicTreeNode } from "./models/dynamic-tree-node.model";
|
||||
|
||||
export abstract class VaultFilterServiceInterface {
|
||||
storeCollapsedFilterNodes: (collapsedFilterNodes: Set<string>) => Promise<void>;
|
||||
buildCollapsedFilterNodes: () => Promise<Set<string>>;
|
||||
buildOrganizations: () => Promise<Organization[]>;
|
||||
buildFolders: (organizationId?: string) => Promise<DynamicTreeNode<FolderView>>;
|
||||
buildCollections: (organizationId?: string) => Promise<DynamicTreeNode<CollectionView>>;
|
||||
checkForSingleOrganizationPolicy: () => Promise<boolean>;
|
||||
checkForPersonalOwnershipPolicy: () => Promise<boolean>;
|
||||
}
|
||||
@@ -12,9 +12,10 @@ import { CollectionView } from "jslib-common/models/view/collectionView";
|
||||
import { FolderView } from "jslib-common/models/view/folderView";
|
||||
|
||||
import { DynamicTreeNode } from "./models/dynamic-tree-node.model";
|
||||
import { VaultFilterServiceInterface } from "./vault-filter.service.interface";
|
||||
|
||||
@Injectable()
|
||||
export class VaultFilterService {
|
||||
export class VaultFilterService implements VaultFilterServiceInterface {
|
||||
constructor(
|
||||
protected stateService: StateService,
|
||||
protected organizationService: OrganizationService,
|
||||
|
||||
Reference in New Issue
Block a user