From 46c8d96834f51d9b88dc21c85d1a7432b4be561e Mon Sep 17 00:00:00 2001 From: Thomas Rittson Date: Sat, 19 Jul 2025 10:51:08 +1000 Subject: [PATCH] Tweak Unassigned typing --- .../organizations/collections/vault.component.ts | 2 +- .../shared/models/routed-vault-filter-bridge.model.ts | 7 ++++--- .../src/common/collections/models/collection-admin.view.ts | 5 ++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/web/src/app/admin-console/organizations/collections/vault.component.ts b/apps/web/src/app/admin-console/organizations/collections/vault.component.ts index 47ad93d81e2..2455729ebe9 100644 --- a/apps/web/src/app/admin-console/organizations/collections/vault.component.ts +++ b/apps/web/src/app/admin-console/organizations/collections/vault.component.ts @@ -373,7 +373,7 @@ export class VaultComponent implements OnInit, OnDestroy { map(([organizationId, allCollections]) => { const noneCollection = new CollectionAdminView(); noneCollection.name = this.i18nService.t("unassigned"); - noneCollection.id = Unassigned; + noneCollection.id = Unassigned as CollectionId; noneCollection.organizationId = organizationId; return allCollections.concat(noneCollection); }), diff --git a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter-bridge.model.ts b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter-bridge.model.ts index 12d3a6e46b5..baa0be87217 100644 --- a/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter-bridge.model.ts +++ b/apps/web/src/app/vault/individual-vault/vault-filter/shared/models/routed-vault-filter-bridge.model.ts @@ -1,5 +1,5 @@ import { Unassigned } from "@bitwarden/admin-console/common"; -import { CollectionId } from "@bitwarden/common/types/guid"; +import { CollectionId, OrganizationId } from "@bitwarden/common/types/guid"; import { CipherType } from "@bitwarden/common/vault/enums"; import { TreeNode } from "@bitwarden/common/vault/models/domain/tree-node"; @@ -54,7 +54,8 @@ export class RoutedVaultFilterBridge implements VaultFilter { set selectedOrganizationNode(value: TreeNode) { this.bridgeService.navigate({ ...this.routedFilter, - organizationId: value?.node.id === "MyVault" ? Unassigned : value?.node.id, + organizationId: + value?.node.id === "MyVault" ? (Unassigned as OrganizationId) : value?.node.id, folderId: undefined, collectionId: undefined, }); @@ -102,7 +103,7 @@ export class RoutedVaultFilterBridge implements VaultFilter { let collectionId: CollectionId | undefined; if (value != null && value.node.id === null) { - collectionId = Unassigned; + collectionId = Unassigned as CollectionId; } else if ( value?.node.id === "AllCollections" && this.routedFilter.organizationIdParamType === "path" diff --git a/libs/admin-console/src/common/collections/models/collection-admin.view.ts b/libs/admin-console/src/common/collections/models/collection-admin.view.ts index 616e3d13cb3..b1bffb66b5b 100644 --- a/libs/admin-console/src/common/collections/models/collection-admin.view.ts +++ b/libs/admin-console/src/common/collections/models/collection-admin.view.ts @@ -6,9 +6,8 @@ import { CollectionAccessDetailsResponse } from "./collection.response"; import { CollectionView } from "./collection.view"; // TODO: this is used to represent the pseudo "Unassigned" collection as well as -// the user's personal vault (pseudo organization). This should be separated out into different values. -// The intersection type allows this to be glossed over for now. -export const Unassigned = "unassigned" as CollectionId & OrganizationId; +// the user's personal vault (as a pseudo organization). This should be separated out into different values. +export const Unassigned = "unassigned" as CollectionId | OrganizationId; export class CollectionAdminView extends CollectionView { groups: CollectionAccessSelectionView[] = [];