From 8451cd5d436b4647f8810f7f49c15dd722466c14 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 25 Jan 2023 09:19:15 -0500 Subject: [PATCH 01/99] resolve tsconfig eslint errors (#4562) --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 6bcea9dd045..d48d9015324 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -7,7 +7,7 @@ "plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"], "parser": "@typescript-eslint/parser", "parserOptions": { - "project": ["./tsconfig.eslint.json"], + "project": ["**/tsconfig.eslint.json"], "sourceType": "module" }, "extends": [ From 0ce33fcd3b34852f353831d82fa41e41d74c4086 Mon Sep 17 00:00:00 2001 From: Jake Fink Date: Wed, 25 Jan 2023 10:58:08 -0500 Subject: [PATCH 02/99] [EC-1023] add bitMenuItem to menu buttons (#4551) --- apps/web/src/app/organizations/vault/vault.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/organizations/vault/vault.component.html b/apps/web/src/app/organizations/vault/vault.component.html index 4680ebfce17..dac8764cfcf 100644 --- a/apps/web/src/app/organizations/vault/vault.component.html +++ b/apps/web/src/app/organizations/vault/vault.component.html @@ -54,11 +54,11 @@ {{ "new" | i18n }} - - From d822c8591d95e087828478440a8ce140d46121ce Mon Sep 17 00:00:00 2001 From: Jake Fink Date: Wed, 25 Jan 2023 10:59:55 -0500 Subject: [PATCH 03/99] [EC-1021] move padding to permission select (#4550) --- .../components/access-selector/access-selector.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/organizations/shared/components/access-selector/access-selector.component.html b/apps/web/src/app/organizations/shared/components/access-selector/access-selector.component.html index 8cba0eb3f01..c0bc67c4f9e 100644 --- a/apps/web/src/app/organizations/shared/components/access-selector/access-selector.component.html +++ b/apps/web/src/app/organizations/shared/components/access-selector/access-selector.component.html @@ -1,5 +1,5 @@
- + {{ "permission" | i18n }} -

{{ "selfHostingTitle" | i18n }}

-

- {{ "selfHostingEnterpriseOrganizationSectionCopy" | i18n }} -

-
- - -
-
- -
-

{{ "additionalOptions" | i18n }}

-

- {{ "additionalOptionsDesc" | i18n }} -

-
- -
- - -
-
{{ "billingPlan" | i18n }}
-
{{ sub.plan.name }}
-
{{ "expiration" | i18n }}
-
- {{ sub.expiration | date: "mediumDate" }} - - - {{ "licenseIsExpired" | i18n }} - -
-
{{ "neverExpires" | i18n }}
-
-
- - - {{ "manageSubscription" | i18n }} - -
-
-
- -

{{ "updateLicense" | i18n }}

- -
-
-
-

- {{ "billingSync" | i18n }} -

-

- {{ "billingSyncDesc" | i18n }} -

- - - {{ "lastSync" | i18n }}: - - {{ userOrg.familySponsorshipLastSyncDate | date: "medium" }} - - - {{ "never" | i18n | lowercase }} - - -
-
- - - diff --git a/apps/web/src/app/organizations/billing/subscription-hidden.icon.ts b/apps/web/src/app/organizations/billing/subscription-hidden.component.ts similarity index 96% rename from apps/web/src/app/organizations/billing/subscription-hidden.icon.ts rename to apps/web/src/app/organizations/billing/subscription-hidden.component.ts index 3745747eceb..a603fff7804 100644 --- a/apps/web/src/app/organizations/billing/subscription-hidden.icon.ts +++ b/apps/web/src/app/organizations/billing/subscription-hidden.component.ts @@ -1,6 +1,8 @@ +import { Component, Input } from "@angular/core"; + import { svgIcon } from "@bitwarden/components"; -export const SubscriptionHiddenIcon = svgIcon` +const SubscriptionHiddenIcon = svgIcon` @@ -22,3 +24,16 @@ export const SubscriptionHiddenIcon = svgIcon` `; + +@Component({ + selector: "app-org-subscription-hidden", + template: `
+ +

{{ "billingManagedByProvider" | i18n: providerName }}

+

{{ "billingContactProviderForAssistance" | i18n }}

+
`, +}) +export class SubscriptionHiddenComponent { + @Input() providerName: string; + subscriptionHiddenIcon = SubscriptionHiddenIcon; +} diff --git a/apps/web/src/app/settings/billing-sync-key.component.ts b/apps/web/src/app/settings/billing-sync-key.component.ts index 70929ed8081..45b3a06d698 100644 --- a/apps/web/src/app/settings/billing-sync-key.component.ts +++ b/apps/web/src/app/settings/billing-sync-key.component.ts @@ -1,5 +1,7 @@ import { Component } from "@angular/core"; +import { ModalRef } from "@bitwarden/angular/components/modal/modal.ref"; +import { ModalConfig } from "@bitwarden/angular/services/modal.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationConnectionType } from "@bitwarden/common/enums/organizationConnectionType"; @@ -8,6 +10,13 @@ import { BillingSyncConfigRequest } from "@bitwarden/common/models/request/billi import { OrganizationConnectionRequest } from "@bitwarden/common/models/request/organization-connection.request"; import { OrganizationConnectionResponse } from "@bitwarden/common/models/response/organization-connection.response"; +export interface BillingSyncKeyModalData { + entityId: string; + existingConnectionId: string; + billingSyncKey: string; + setParentConnection: (connection: OrganizationConnectionResponse) => void; +} + @Component({ selector: "app-billing-sync-key", templateUrl: "billing-sync-key.component.html", @@ -20,7 +29,17 @@ export class BillingSyncKeyComponent { formPromise: Promise> | Promise; - constructor(private apiService: ApiService, private logService: LogService) {} + constructor( + private apiService: ApiService, + private logService: LogService, + protected modalRef: ModalRef, + config: ModalConfig + ) { + this.entityId = config.data.entityId; + this.existingConnectionId = config.data.existingConnectionId; + this.billingSyncKey = config.data.billingSyncKey; + this.setParentConnection = config.data.setParentConnection; + } async submit() { try { @@ -47,6 +66,7 @@ export class BillingSyncKeyComponent { this.existingConnectionId = response?.id; this.billingSyncKey = response?.config?.billingSyncKey; this.setParentConnection(response); + this.modalRef.close(); } catch (e) { this.logService.error(e); } @@ -56,5 +76,6 @@ export class BillingSyncKeyComponent { this.formPromise = this.apiService.deleteOrganizationConnection(this.existingConnectionId); await this.formPromise; this.setParentConnection(null); + this.modalRef.close(); } } diff --git a/apps/web/src/app/settings/update-license.component.html b/apps/web/src/app/settings/update-license.component.html index 3884f569350..56058b158e8 100644 --- a/apps/web/src/app/settings/update-license.component.html +++ b/apps/web/src/app/settings/update-license.component.html @@ -14,7 +14,7 @@ {{ "submit" | i18n }} - diff --git a/apps/web/src/app/settings/update-license.component.ts b/apps/web/src/app/settings/update-license.component.ts index de23be5f777..6a43a9df99f 100644 --- a/apps/web/src/app/settings/update-license.component.ts +++ b/apps/web/src/app/settings/update-license.component.ts @@ -12,6 +12,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti }) export class UpdateLicenseComponent { @Input() organizationId: string; + @Input() showCancel = true; @Output() onUpdated = new EventEmitter(); @Output() onCanceled = new EventEmitter(); diff --git a/apps/web/src/app/shared/shared.module.ts b/apps/web/src/app/shared/shared.module.ts index 0bc8321c171..7ac8e3a8e39 100644 --- a/apps/web/src/app/shared/shared.module.ts +++ b/apps/web/src/app/shared/shared.module.ts @@ -25,6 +25,7 @@ import { MultiSelectModule, TableModule, TabsModule, + RadioButtonModule, ToggleGroupModule, } from "@bitwarden/components"; @@ -68,6 +69,7 @@ import "./locales"; MultiSelectModule, TableModule, TabsModule, + RadioButtonModule, ToggleGroupModule, // Web specific @@ -100,6 +102,7 @@ import "./locales"; MultiSelectModule, TableModule, TabsModule, + RadioButtonModule, ToggleGroupModule, // Web specific diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index dcec317bf08..6cf0751911f 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -2058,6 +2058,9 @@ "manageSubscription": { "message": "Manage subscription" }, + "launchCloudSubscription": { + "message": "Launch Cloud Subscription" + }, "storage": { "message": "Storage" }, @@ -5239,11 +5242,8 @@ "billingSyncApiKeyRotated": { "message": "Token rotated" }, - "billingSync": { - "message": "Billing sync" - }, "billingSyncDesc": { - "message": "Billing sync provides Free Families plans for members and advanced billing capabilities by linking your self-hosted Bitwarden to the Bitwarden cloud server." + "message": "Billing sync unlocks Families sponsorships and automatic license syncing on your server. After making updates in the Bitwarden cloud server, select Sync License to apply changes." }, "billingSyncKeyDesc": { "message": "A billing sync token from your cloud organization's subscription settings is required to complete this form." @@ -6105,6 +6105,36 @@ } } }, + "licenseAndBillingManagement": { + "message": "License and billing management" + }, + "automaticSync": { + "message": "Automatic sync" + }, + "manualUpload": { + "message": "Manual upload" + }, + "manualUploadDesc": { + "message": "If you do not want to opt into billing sync, manually upload your license here." + }, + "syncLicense": { + "message": "Sync license" + }, + "licenseSyncSuccess": { + "message": "Successfully synced license" + }, + "licenseUploadSuccess": { + "message": "Successfully uploaded license" + }, + "lastLicenseSync": { + "message": "Last license sync" + }, + "billingSyncHelp": { + "message": "Billing Sync help" + }, + "uploadLicense": { + "message": "Upload license" + }, "lowKdfIterations": { "message": "Low KDF Iterations" }, diff --git a/libs/common/src/abstractions/organization/organization-api.service.abstraction.ts b/libs/common/src/abstractions/organization/organization-api.service.abstraction.ts index cd86b0b46aa..92f4711d146 100644 --- a/libs/common/src/abstractions/organization/organization-api.service.abstraction.ts +++ b/libs/common/src/abstractions/organization/organization-api.service.abstraction.ts @@ -58,4 +58,5 @@ export class OrganizationApiServiceAbstraction { updateKeys: (id: string, request: OrganizationKeysRequest) => Promise; getSso: (id: string) => Promise; updateSso: (id: string, request: OrganizationSsoRequest) => Promise; + selfHostedSyncLicense: (id: string) => Promise; } diff --git a/libs/common/src/models/api/billing-sync-config.api.ts b/libs/common/src/models/api/billing-sync-config.api.ts index 8850dc8c513..b99c6a89ce7 100644 --- a/libs/common/src/models/api/billing-sync-config.api.ts +++ b/libs/common/src/models/api/billing-sync-config.api.ts @@ -2,6 +2,7 @@ import { BaseResponse } from "../response/base.response"; export class BillingSyncConfigApi extends BaseResponse { billingSyncKey: string; + lastLicenseSync: Date; constructor(data: any) { super(data); @@ -9,5 +10,10 @@ export class BillingSyncConfigApi extends BaseResponse { return; } this.billingSyncKey = this.getResponseProperty("BillingSyncKey"); + + const lastLicenseSyncString = this.getResponseProperty("LastLicenseSync"); + if (lastLicenseSyncString) { + this.lastLicenseSync = new Date(lastLicenseSyncString); + } } } diff --git a/libs/common/src/services/organization/organization-api.service.ts b/libs/common/src/services/organization/organization-api.service.ts index 58630e73d87..51337eb91e6 100644 --- a/libs/common/src/services/organization/organization-api.service.ts +++ b/libs/common/src/services/organization/organization-api.service.ts @@ -87,7 +87,13 @@ export class OrganizationApiService implements OrganizationApiServiceAbstraction } async createLicense(data: FormData): Promise { - const r = await this.apiService.send("POST", "/organizations/license", data, true, true); + const r = await this.apiService.send( + "POST", + "/organizations/licenses/self-hosted", + data, + true, + true + ); return new OrganizationResponse(r); } @@ -177,7 +183,13 @@ export class OrganizationApiService implements OrganizationApiServiceAbstraction } async updateLicense(id: string, data: FormData): Promise { - await this.apiService.send("POST", "/organizations/" + id + "/license", data, true, false); + await this.apiService.send( + "POST", + "/organizations/licenses/self-hosted/" + id, + data, + true, + false + ); } async importDirectory(organizationId: string, request: ImportDirectoryRequest): Promise { @@ -270,4 +282,14 @@ export class OrganizationApiService implements OrganizationApiServiceAbstraction // Not broadcasting anything because data on this response doesn't correspond to `Organization` return new OrganizationSsoResponse(r); } + + async selfHostedSyncLicense(id: string) { + await this.apiService.send( + "POST", + "/organizations/licenses/self-hosted/" + id + "/sync/", + null, + true, + false + ); + } } diff --git a/libs/components/src/form/form.stories.ts b/libs/components/src/form/form.stories.ts index 050ea5e2c8f..741aac859a2 100644 --- a/libs/components/src/form/form.stories.ts +++ b/libs/components/src/form/form.stories.ts @@ -98,9 +98,15 @@ const FullExampleTemplate: Story = (args) => ({ Subscribe to updates? - Yes - No - Decide later + + Yes + + + No + + + Decide later + diff --git a/libs/components/src/radio-button/radio-button.component.html b/libs/components/src/radio-button/radio-button.component.html index 2bcd4c0d5f1..0d455596536 100644 --- a/libs/components/src/radio-button/radio-button.component.html +++ b/libs/components/src/radio-button/radio-button.component.html @@ -10,5 +10,6 @@ (change)="onInputChange()" (blur)="onBlur()" /> - + + diff --git a/libs/components/src/radio-button/radio-button.component.spec.ts b/libs/components/src/radio-button/radio-button.component.spec.ts index 1d2759c1af1..400b631d1ee 100644 --- a/libs/components/src/radio-button/radio-button.component.spec.ts +++ b/libs/components/src/radio-button/radio-button.component.spec.ts @@ -72,7 +72,7 @@ class MockedButtonGroupComponent implements Partial { @Component({ selector: "test-app", - template: ` Element`, + template: ` Element`, }) class TestApp { value?: string; diff --git a/libs/components/src/radio-button/radio-button.stories.ts b/libs/components/src/radio-button/radio-button.stories.ts index 4990c6b6ce0..abc7ddb92a5 100644 --- a/libs/components/src/radio-button/radio-button.stories.ts +++ b/libs/components/src/radio-button/radio-button.stories.ts @@ -12,21 +12,26 @@ const template = `
Group of radio buttons - First - Second - Third + + {{ option.key }} + This is a hint for the {{option.key}} option +
`; -enum TestValue { - First, - Second, - Third, -} +const TestValue = { + First: 0, + Second: 1, + Third: 2, +}; + +const reverseObject = (obj: Record) => + Object.fromEntries(Object.entries(obj).map(([key, value]) => [value, key])); @Component({ selector: "app-example", - template, + template: template, }) class ExampleComponent { protected TestValue = TestValue; @@ -35,9 +40,11 @@ class ExampleComponent { radio: TestValue.First, }); + @Input() layout: "block" | "inline" = "inline"; + @Input() label: boolean; - @Input() set selected(value: TestValue) { + @Input() set selected(value: number) { this.formObj.patchValue({ radio: value }); } @@ -49,7 +56,11 @@ class ExampleComponent { } } - @Input() optionDisabled = false; + @Input() optionDisabled: number[] = []; + + get blockLayout() { + return this.layout === "block"; + } constructor(private formBuilder: FormBuilder) {} } @@ -84,27 +95,53 @@ export default { args: { selected: TestValue.First, groupDisabled: false, - optionDisabled: false, + optionDisabled: null, label: true, + layout: "inline", }, argTypes: { selected: { - options: [TestValue.First, TestValue.Second, TestValue.Third], + options: Object.values(TestValue), control: { type: "inline-radio", - labels: { - [TestValue.First]: "First", - [TestValue.Second]: "Second", - [TestValue.Third]: "Third", - }, + labels: reverseObject(TestValue), + }, + }, + optionDisabled: { + options: Object.values(TestValue), + control: { + type: "check", + labels: reverseObject(TestValue), + }, + }, + layout: { + options: ["inline", "block"], + control: { + type: "inline-radio", + labels: ["inline", "block"], }, }, }, } as Meta; -const DefaultTemplate: Story = (args: ExampleComponent) => ({ +const storyTemplate = ``; + +const InlineTemplate: Story = (args: ExampleComponent) => ({ props: args, - template: ``, + template: storyTemplate, }); -export const Default = DefaultTemplate.bind({}); +export const Inline = InlineTemplate.bind({}); +Inline.args = { + layout: "inline", +}; + +const BlockTemplate: Story = (args: ExampleComponent) => ({ + props: args, + template: storyTemplate, +}); + +export const Block = BlockTemplate.bind({}); +Block.args = { + layout: "block", +}; From ce559d0587061f9e691f8b45fb06edd88b8f6347 Mon Sep 17 00:00:00 2001 From: SmithThe4th Date: Mon, 30 Jan 2023 21:22:07 -0500 Subject: [PATCH 28/99] [SG-1017] Fixed alignment and margin defect (#4604) * Fixed alignment and marghin defect * Updated warning message for iteration changes * Revert "Updated warning message for iteration changes" This reverts commit a2b66cb25230c7f8c985755f780db8c1414870da. --- apps/web/src/app/vault/vault.component.html | 4 +++- apps/web/src/app/vault/vault.component.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/vault/vault.component.html b/apps/web/src/app/vault/vault.component.html index 44feb609b9b..4cfee0d2fbf 100644 --- a/apps/web/src/app/vault/vault.component.html +++ b/apps/web/src/app/vault/vault.component.html @@ -83,7 +83,9 @@
- + + + Date: Tue, 31 Jan 2023 05:55:50 -0500 Subject: [PATCH 29/99] Updated warning message for iteration changes (#4606) --- apps/web/src/app/settings/change-kdf.component.html | 2 +- apps/web/src/locales/en/messages.json | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/src/app/settings/change-kdf.component.html b/apps/web/src/app/settings/change-kdf.component.html index b01b83a954c..0fdc67d04a9 100644 --- a/apps/web/src/app/settings/change-kdf.component.html +++ b/apps/web/src/app/settings/change-kdf.component.html @@ -1,7 +1,7 @@

{{ "encKeySettings" | i18n }}

-{{ "loggedOutWarning" | i18n }} +{{ "changeKdfLoggedOutWarning" | i18n }}
diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 6cf0751911f..98898b940d5 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -6143,5 +6143,8 @@ }, "changeKdfSettings": { "message": "Change KDF settings" + }, + "changeKdfLoggedOutWarning": { + "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour. We recommend exporting your vault before changing your encryption settings to prevent data loss." } } From 25d89f36a3e74e98eb279d17d388f554f1617400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rui=20Tom=C3=A9?= <108268980+r-tome@users.noreply.github.com> Date: Tue, 31 Jan 2023 12:53:07 +0000 Subject: [PATCH 30/99] [EC-1053] Combined 'queryParams' subscriptions to be fired in order to use syncService first (#4607) --- apps/web/src/app/vault/vault.component.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/web/src/app/vault/vault.component.ts b/apps/web/src/app/vault/vault.component.ts index ca0d93cf4c0..e6764c14bef 100644 --- a/apps/web/src/app/vault/vault.component.ts +++ b/apps/web/src/app/vault/vault.component.ts @@ -131,12 +131,7 @@ export class VaultComponent implements OnInit, OnDestroy { await this.editCipher(cipherView); } }), - takeUntil(this.destroy$) - ) - .subscribe(); - - this.route.queryParams - .pipe( + switchMap(() => this.route.queryParams), switchMap(async (params) => { const cipherId = getCipherIdFromParams(params); if (cipherId) { From 8ac8cc027411e81c71eedb48028490cdd1628a81 Mon Sep 17 00:00:00 2001 From: Will Martin Date: Tue, 31 Jan 2023 11:29:38 -0500 Subject: [PATCH 31/99] [SM-383] add create access token button (#4547) * rebase to master; add create access token button * add static method to access-tokens component --- .../layout/no-items.component.html | 6 ++-- .../projects-list.component.html | 6 ++-- .../access/access-list.component.html | 6 ++-- .../access/access-tokens.component.ts | 24 +++++----------- .../access-token-create-dialog.component.ts | 18 ++++++++++++ .../service-account.component.html | 4 +++ .../service-account.component.ts | 28 +++++++++++++++---- .../shared/secrets-list.component.html | 6 ++-- 8 files changed, 64 insertions(+), 34 deletions(-) diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/layout/no-items.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/layout/no-items.component.html index c2add8e479d..90e93dfc81a 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/layout/no-items.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/layout/no-items.component.html @@ -4,13 +4,13 @@

- +

- +

- +
diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/projects/projects-list/projects-list.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/projects/projects-list/projects-list.component.html index 89e7010c1d4..5e66994ed89 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/projects/projects-list/projects-list.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/projects/projects-list/projects-list.component.html @@ -3,9 +3,9 @@
- {{ "projectsNoItemsTitle" | i18n }} - {{ "projectsNoItemsMessage" | i18n }} - diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-list.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-list.component.html index d40b8456460..42a55dac60f 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-list.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-list.component.html @@ -3,9 +3,9 @@ - {{ "accessTokensNoItemsTitle" | i18n }} - {{ "accessTokensNoItemsDesc" | i18n }} - diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-tokens.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-tokens.component.ts index 8729dcb0150..d453afd429e 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-tokens.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/access-tokens.component.ts @@ -4,14 +4,10 @@ import { combineLatestWith, Observable, startWith, switchMap } from "rxjs"; import { DialogService } from "@bitwarden/components"; -import { ServiceAccountView } from "../../models/view/service-account.view"; import { AccessTokenView } from "../models/view/access-token.view"; import { AccessService } from "./access.service"; -import { - AccessTokenOperation, - AccessTokenCreateDialogComponent, -} from "./dialogs/access-token-create-dialog.component"; +import { AccessTokenCreateDialogComponent } from "./dialogs/access-token-create-dialog.component"; @Component({ selector: "sm-access-tokens", @@ -45,17 +41,11 @@ export class AccessTokenComponent implements OnInit { return await this.accessService.getAccessTokens(this.organizationId, this.serviceAccountId); } - async openNewAccessTokenDialog() { - // TODO once service account names are implemented in service account contents page pass in here. - const serviceAccountView = new ServiceAccountView(); - serviceAccountView.id = this.serviceAccountId; - serviceAccountView.name = "placeholder"; - - this.dialogService.open(AccessTokenCreateDialogComponent, { - data: { - organizationId: this.organizationId, - serviceAccountView: serviceAccountView, - }, - }); + protected openNewAccessTokenDialog() { + AccessTokenCreateDialogComponent.openNewAccessTokenDialog( + this.dialogService, + this.serviceAccountId, + this.organizationId + ); } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/access-token-create-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/access-token-create-dialog.component.ts index 93ef185f6aa..ad06778697e 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/access-token-create-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/access/dialogs/access-token-create-dialog.component.ts @@ -82,4 +82,22 @@ export class AccessTokenCreateDialogComponent implements OnInit { }, }); } + + static openNewAccessTokenDialog( + dialogService: DialogService, + serviceAccountId: string, + organizationId: string + ) { + // TODO once service account names are implemented in service account contents page pass in here. + const serviceAccountView = new ServiceAccountView(); + serviceAccountView.id = serviceAccountId; + serviceAccountView.name = "placeholder"; + + return dialogService.open(AccessTokenCreateDialogComponent, { + data: { + organizationId: organizationId, + serviceAccountView: serviceAccountView, + }, + }); + } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.html index a22dc5f13cb..0636ba2121d 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.html @@ -14,5 +14,9 @@ {{ "people" | i18n }} {{ "accessTokens" | i18n }} + diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.ts index d0288866f37..7be88fc9a83 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-account.component.ts @@ -2,6 +2,9 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { switchMap } from "rxjs"; +import { DialogService } from "@bitwarden/components"; + +import { AccessTokenCreateDialogComponent } from "./access/dialogs/access-token-create-dialog.component"; import { ServiceAccountService } from "./service-account.service"; @Component({ @@ -9,19 +12,34 @@ import { ServiceAccountService } from "./service-account.service"; templateUrl: "./service-account.component.html", }) export class ServiceAccountComponent { + private organizationId: string; + private serviceAccountId: string; + /** * TODO: remove when a server method is available that fetches a service account by ID */ protected serviceAccount$ = this.route.params.pipe( - switchMap((params) => - this.serviceAccountService + switchMap((params) => { + this.serviceAccountId = params.serviceAccountId; + this.organizationId = params.organizationId; + + return this.serviceAccountService .getServiceAccounts(params.organizationId) - .then((saList) => saList.find((sa) => sa.id === params.serviceAccountId)) - ) + .then((saList) => saList.find((sa) => sa.id === params.serviceAccountId)); + }) ); constructor( private route: ActivatedRoute, - private serviceAccountService: ServiceAccountService + private serviceAccountService: ServiceAccountService, + private dialogService: DialogService ) {} + + protected openNewAccessTokenDialog() { + AccessTokenCreateDialogComponent.openNewAccessTokenDialog( + this.dialogService, + this.serviceAccountId, + this.organizationId + ); + } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/shared/secrets-list.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/shared/secrets-list.component.html index aed896b3ff9..0c19bb20662 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/shared/secrets-list.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/shared/secrets-list.component.html @@ -3,9 +3,9 @@ - {{ "secretsNoItemsTitle" | i18n }} - {{ "secretsNoItemsMessage" | i18n }} - From 4d6e333d8d200176cae4040ccd81e9577a6540f3 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Tue, 31 Jan 2023 18:39:10 +0100 Subject: [PATCH 32/99] [SM-468] Add eslint rule for forcing type to buttons (#4576) * Add eslint rule for forcing type to buttons * Fix eslint js errors --- .eslintrc.json | 192 +-- .../popup/vault/vault-select.component.html | 2 + .../src/popup/vault/view.component.html | 2 + .../layout/account-switcher.component.html | 2 + apps/desktop/src/app/send/send.component.html | 2 + .../filters/collection-filter.component.html | 2 + .../filters/folder-filter.component.html | 2 + .../organization-filter.component.html | 2 + .../filters/status-filter.component.html | 2 + .../filters/type-filter.component.html | 2 + .../src/app/vault/vault-items.component.html | 2 + .../desktop/src/app/vault/view.component.html | 2 + .../trial-initiation.component.html | 2 + .../vertical-step-content.component.html | 2 + .../user-verification-prompt.component.html | 2 + .../web/src/app/layouts/navbar.component.html | 2 + .../product-switcher.component.html | 2 + ...zation-billing-history-view.component.html | 2 + .../manage/groups.component.html | 2 + .../members/people.component.html | 2 + .../organizations/vault/vault.component.html | 2 + apps/web/src/app/send/add-edit.component.html | 2 + apps/web/src/app/send/send.component.html | 2 + .../src/app/settings/account.component.html | 2 + .../billing-history-view.component.html | 2 + .../settings/emergency-access.component.html | 2 + .../settings/payment-method.component.html | 2 + .../app/settings/security-keys.component.html | 2 + .../sponsoring-org-row.component.html | 2 + .../settings/two-factor-setup.component.html | 2 + .../password-generator-history.component.html | 2 + .../organization-name-badge.component.html | 2 + .../organization-options.component.html | 2 + .../vault-filter-section.component.html | 2 + .../src/app/vault/vault-items.component.html | 2 + .../web/src/connectors/webauthn-fallback.html | 2 + apps/web/src/connectors/webauthn-mobile.html | 2 + apps/web/src/connectors/webauthn.html | 2 + .../clients/add-organization.component.html | 2 + .../providers/clients/clients.component.html | 2 + .../providers/manage/people.component.html | 2 + .../layout/header.component.html | 2 + .../layout/new-menu.component.html | 2 + .../layout/org-switcher.component.html | 2 + .../project/project-secrets.component.html | 2 + .../projects-list.component.html | 2 + .../dialog/secret-dialog.component.html | 2 + .../access/access-list.component.html | 2 + .../access-token-dialog.component.html | 2 + .../service-accounts-list.component.html | 2 + .../shared/secrets-list.component.html | 2 + .../src/banner/banner.component.html | 2 + .../breadcrumbs/breadcrumbs.component.html | 2 + .../simple-configurable-dialog.component.html | 2 + .../src/navigation/nav-group.component.html | 2 + .../src/navigation/nav-item.component.html | 2 + package-lock.json | 1027 ++++++++++++++++- package.json | 3 + 58 files changed, 1200 insertions(+), 132 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 6bcea9dd045..1bd7b04f21e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -4,106 +4,118 @@ "browser": true, "webextensions": true }, - "plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": ["./tsconfig.eslint.json"], - "sourceType": "module" - }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/recommended", - "plugin:import/typescript", - "prettier", - "plugin:rxjs/recommended" - ], - "settings": { - "import/parsers": { - "@typescript-eslint/parser": [".ts"] - }, - "import/resolver": { - "typescript": { - "alwaysTryTypes": true - } - } - }, - "rules": { - "@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled - "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], - "@typescript-eslint/explicit-member-accessibility": [ - "error", - { - "accessibility": "no-public" - } - ], - "@typescript-eslint/no-this-alias": [ - "error", - { - "allowedNames": ["self"] - } - ], - "no-console": "error", - "import/no-unresolved": "off", // TODO: Look into turning off once each package is an actual package. - "import/order": [ - "error", - { - "alphabetize": { - "order": "asc" + "overrides": [ + { + "files": ["*.ts", "*.js"], + "plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": ["./tsconfig.eslint.json"], + "sourceType": "module", + "ecmaVersion": 2020 + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:import/recommended", + "plugin:import/typescript", + "prettier", + "plugin:rxjs/recommended" + ], + "settings": { + "import/parsers": { + "@typescript-eslint/parser": [".ts"] }, - "newlines-between": "always", - "pathGroups": [ + "import/resolver": { + "typescript": { + "alwaysTryTypes": true + } + } + }, + "rules": { + "@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled + "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], + "@typescript-eslint/explicit-member-accessibility": [ + "error", { - "pattern": "@bitwarden/**", - "group": "external", - "position": "after" - }, - { - "pattern": "src/**/*", - "group": "parent", - "position": "before" + "accessibility": "no-public" } ], - "pathGroupsExcludedImportTypes": ["builtin"] - } - ], - "rxjs-angular/prefer-takeuntil": "error", - "rxjs/no-exposed-subjects": ["error", { "allowProtected": true }], - "no-restricted-syntax": [ - "error", - { - "message": "Calling `svgIcon` directly is not allowed", - "selector": "CallExpression[callee.name='svgIcon']" - }, - { - "message": "Accessing FormGroup using `get` is not allowed, use `.value` instead", - "selector": "ChainExpression[expression.object.callee.property.name='get'][expression.property.name='value']" - } - ], - "curly": ["error", "all"], - "import/namespace": ["off"], // This doesn't resolve namespace imports correctly, but TS will throw for this anyway - "import/no-restricted-paths": [ - "error", - { - "zones": [ - // Do not allow angular/node code to be imported into common + "@typescript-eslint/no-this-alias": [ + "error", { - "target": "./libs/common/**/*", - "from": "./libs/angular/**/*" + "allowedNames": ["self"] + } + ], + "no-console": "error", + "import/no-unresolved": "off", // TODO: Look into turning off once each package is an actual package. + "import/order": [ + "error", + { + "alphabetize": { + "order": "asc" + }, + "newlines-between": "always", + "pathGroups": [ + { + "pattern": "@bitwarden/**", + "group": "external", + "position": "after" + }, + { + "pattern": "src/**/*", + "group": "parent", + "position": "before" + } + ], + "pathGroupsExcludedImportTypes": ["builtin"] + } + ], + "rxjs-angular/prefer-takeuntil": "error", + "rxjs/no-exposed-subjects": ["error", { "allowProtected": true }], + "no-restricted-syntax": [ + "error", + { + "message": "Calling `svgIcon` directly is not allowed", + "selector": "CallExpression[callee.name='svgIcon']" }, { - "target": "./libs/common/**/*", - "from": "./libs/node/**/*" + "message": "Accessing FormGroup using `get` is not allowed, use `.value` instead", + "selector": "ChainExpression[expression.object.callee.property.name='get'][expression.property.name='value']" } + ], + "curly": ["error", "all"], + "import/namespace": ["off"], // This doesn't resolve namespace imports correctly, but TS will throw for this anyway + "import/no-restricted-paths": [ + "error", + { + "zones": [ + // Do not allow angular/node code to be imported into common + { + "target": "./libs/common/**/*", + "from": "./libs/angular/**/*" + }, + { + "target": "./libs/common/**/*", + "from": "./libs/node/**/*" + } + ] + } + ], + "no-restricted-imports": [ + "error", + { "patterns": ["src/**/*"], "paths": ["@fluffy-spoon/substitute"] } ] } - ], - "no-restricted-imports": [ - "error", - { "patterns": ["src/**/*"], "paths": ["@fluffy-spoon/substitute"] } - ] - }, - "overrides": [ + }, + { + "files": ["*.html"], + "parser": "@angular-eslint/template-parser", + "plugins": ["@angular-eslint/template"], + "rules": { + "@angular-eslint/template/button-has-type": "error" + } + }, { "files": ["libs/common/src/**/*.ts"], "rules": { diff --git a/apps/browser/src/popup/vault/vault-select.component.html b/apps/browser/src/popup/vault/vault-select.component.html index a25f49ebf2d..b6da7308ca2 100644 --- a/apps/browser/src/popup/vault/vault-select.component.html +++ b/apps/browser/src/popup/vault/vault-select.component.html @@ -1,3 +1,5 @@ + +
diff --git a/apps/browser/src/popup/vault/view.component.html b/apps/browser/src/popup/vault/view.component.html index 151460d0acf..3d5c5450bc9 100644 --- a/apps/browser/src/popup/vault/view.component.html +++ b/apps/browser/src/popup/vault/view.component.html @@ -1,3 +1,5 @@ + +
diff --git a/apps/desktop/src/app/layout/account-switcher.component.html b/apps/desktop/src/app/layout/account-switcher.component.html index 991e0dfb716..e5482b938fc 100644 --- a/apps/desktop/src/app/layout/account-switcher.component.html +++ b/apps/desktop/src/app/layout/account-switcher.component.html @@ -1,3 +1,5 @@ + + diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/layout/org-switcher.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/layout/org-switcher.component.html index 9b678157caf..1282b48d5af 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/layout/org-switcher.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/layout/org-switcher.component.html @@ -1,3 +1,5 @@ + + +
+ + +

+ {{ "secretsManagerBeta" | i18n }} + + + +

+

{{ "secretsManagerBetaDesc" | i18n }}

+ + + + {{ "userAccessSecretsManager" | i18n }} + + +
diff --git a/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts b/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts index 06596e101dc..f52fe284a06 100644 --- a/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts +++ b/apps/web/src/app/organizations/members/components/member-dialog/member-dialog.component.ts @@ -69,6 +69,7 @@ export class MemberDialogComponent implements OnInit, OnDestroy { organizationUserType = OrganizationUserType; canUseCustomPermissions: boolean; PermissionMode = PermissionMode; + canUseSecretsManager: boolean; protected organization: Organization; protected collectionAccessItems: AccessItemView[] = []; @@ -78,6 +79,7 @@ export class MemberDialogComponent implements OnInit, OnDestroy { emails: ["", [Validators.required, commaSeparatedEmails]], type: OrganizationUserType.User, accessAllCollections: false, + accessSecretsManager: false, access: [[] as AccessItemValue[]], groups: [[] as AccessItemValue[]], }); @@ -158,6 +160,7 @@ export class MemberDialogComponent implements OnInit, OnDestroy { .subscribe(({ organization, collections, userDetails, groups }) => { this.organization = organization; this.canUseCustomPermissions = organization.useCustomPermissions; + this.canUseSecretsManager = organization.useSecretsManager; this.collectionAccessItems = [].concat( collections.map((c) => mapCollectionToAccessItemView(c)) @@ -226,6 +229,7 @@ export class MemberDialogComponent implements OnInit, OnDestroy { type: userDetails.type, accessAllCollections: userDetails.accessAll, access: accessSelections, + accessSecretsManager: userDetails.accessSecretsManager, groups: groupAccessSelections, }); } @@ -324,6 +328,7 @@ export class MemberDialogComponent implements OnInit, OnDestroy { .filter((v) => v.type === AccessItemType.Collection) .map(convertToSelectionView); userView.groups = this.formGroup.value.groups.map((m) => m.id); + userView.accessSecretsManager = this.formGroup.value.accessSecretsManager; if (this.editMode) { await this.userService.save(userView); diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 98898b940d5..3c046cb1c5f 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -6146,5 +6146,14 @@ }, "changeKdfLoggedOutWarning": { "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour. We recommend exporting your vault before changing your encryption settings to prevent data loss." + }, + "secretsManagerBeta": { + "message": "Secrets Manager Beta" + }, + "secretsManagerBetaDesc": { + "message": "Enable user access to the Secrets Manager at no charge during the Beta program." + }, + "userAccessSecretsManager": { + "message": "This user can access the Secrets Manager Beta" } } diff --git a/libs/common/src/abstractions/organization-user/requests/organization-user-invite.request.ts b/libs/common/src/abstractions/organization-user/requests/organization-user-invite.request.ts index 66940fdbe88..ac69f2cdbce 100644 --- a/libs/common/src/abstractions/organization-user/requests/organization-user-invite.request.ts +++ b/libs/common/src/abstractions/organization-user/requests/organization-user-invite.request.ts @@ -6,6 +6,7 @@ export class OrganizationUserInviteRequest { emails: string[] = []; type: OrganizationUserType; accessAll: boolean; + accessSecretsManager: boolean; collections: SelectionReadOnlyRequest[] = []; groups: string[]; permissions: PermissionsApi; diff --git a/libs/common/src/abstractions/organization-user/requests/organization-user-update.request.ts b/libs/common/src/abstractions/organization-user/requests/organization-user-update.request.ts index 9971eda03d5..12addd7c98f 100644 --- a/libs/common/src/abstractions/organization-user/requests/organization-user-update.request.ts +++ b/libs/common/src/abstractions/organization-user/requests/organization-user-update.request.ts @@ -5,6 +5,7 @@ import { SelectionReadOnlyRequest } from "../../../models/request/selection-read export class OrganizationUserUpdateRequest { type: OrganizationUserType; accessAll: boolean; + accessSecretsManager: boolean; collections: SelectionReadOnlyRequest[] = []; groups: string[] = []; permissions: PermissionsApi; diff --git a/libs/common/src/abstractions/organization-user/responses/organization-user.response.ts b/libs/common/src/abstractions/organization-user/responses/organization-user.response.ts index 745d8e98445..f0f536ad601 100644 --- a/libs/common/src/abstractions/organization-user/responses/organization-user.response.ts +++ b/libs/common/src/abstractions/organization-user/responses/organization-user.response.ts @@ -11,6 +11,7 @@ export class OrganizationUserResponse extends BaseResponse { type: OrganizationUserType; status: OrganizationUserStatusType; accessAll: boolean; + accessSecretsManager: boolean; permissions: PermissionsApi; resetPasswordEnrolled: boolean; collections: SelectionReadOnlyResponse[] = []; @@ -24,6 +25,7 @@ export class OrganizationUserResponse extends BaseResponse { this.status = this.getResponseProperty("Status"); this.permissions = new PermissionsApi(this.getResponseProperty("Permissions")); this.accessAll = this.getResponseProperty("AccessAll"); + this.accessSecretsManager = this.getResponseProperty("AccessSecretsManager"); this.resetPasswordEnrolled = this.getResponseProperty("ResetPasswordEnrolled"); const collections = this.getResponseProperty("Collections"); diff --git a/libs/common/src/models/data/organization.data.ts b/libs/common/src/models/data/organization.data.ts index feb8036ed6c..838381e4ac2 100644 --- a/libs/common/src/models/data/organization.data.ts +++ b/libs/common/src/models/data/organization.data.ts @@ -45,6 +45,7 @@ export class OrganizationData { familySponsorshipLastSyncDate?: Date; familySponsorshipValidUntil?: Date; familySponsorshipToDelete?: boolean; + accessSecretsManager: boolean; constructor(response: ProfileOrganizationResponse) { this.id = response.id; @@ -86,5 +87,6 @@ export class OrganizationData { this.familySponsorshipLastSyncDate = response.familySponsorshipLastSyncDate; this.familySponsorshipValidUntil = response.familySponsorshipValidUntil; this.familySponsorshipToDelete = response.familySponsorshipToDelete; + this.accessSecretsManager = response.accessSecretsManager; } } diff --git a/libs/common/src/models/domain/organization.ts b/libs/common/src/models/domain/organization.ts index 52d1d8887aa..e4e5e746275 100644 --- a/libs/common/src/models/domain/organization.ts +++ b/libs/common/src/models/domain/organization.ts @@ -47,6 +47,7 @@ export class Organization { familySponsorshipLastSyncDate?: Date; familySponsorshipValidUntil?: Date; familySponsorshipToDelete?: boolean; + accessSecretsManager: boolean; constructor(obj?: OrganizationData) { if (obj == null) { @@ -93,6 +94,7 @@ export class Organization { this.familySponsorshipLastSyncDate = obj.familySponsorshipLastSyncDate; this.familySponsorshipValidUntil = obj.familySponsorshipValidUntil; this.familySponsorshipToDelete = obj.familySponsorshipToDelete; + this.accessSecretsManager = obj.accessSecretsManager; } get canAccess() { @@ -199,7 +201,7 @@ export class Organization { } get canAccessSecretsManager() { - return this.useSecretsManager; + return this.useSecretsManager && this.accessSecretsManager; } static fromJSON(json: Jsonify) { diff --git a/libs/common/src/models/response/profile-organization.response.ts b/libs/common/src/models/response/profile-organization.response.ts index 562b71710e6..d12153152f8 100644 --- a/libs/common/src/models/response/profile-organization.response.ts +++ b/libs/common/src/models/response/profile-organization.response.ts @@ -46,6 +46,7 @@ export class ProfileOrganizationResponse extends BaseResponse { familySponsorshipLastSyncDate?: Date; familySponsorshipValidUntil?: Date; familySponsorshipToDelete?: boolean; + accessSecretsManager: boolean; constructor(response: any) { super(response); @@ -99,5 +100,6 @@ export class ProfileOrganizationResponse extends BaseResponse { this.familySponsorshipValidUntil = new Date(familySponsorshipValidUntilString); } this.familySponsorshipToDelete = this.getResponseProperty("FamilySponsorshipToDelete"); + this.accessSecretsManager = this.getResponseProperty("AccessSecretsManager"); } } From 68839631e5f268d63cb32634582f1c67e569c5ec Mon Sep 17 00:00:00 2001 From: Daniel James Smith Date: Tue, 31 Jan 2023 19:45:40 +0100 Subject: [PATCH 36/99] Remove unneeded sidebarAction in main.background (#4544) With https://github.com/bitwarden/clients/pull/3571 the updating of the badge got refactored. Moving this variable/action into `browserApi.getSidebarAction` --- apps/browser/src/background/main.background.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index c7fda5d334f..6b92367193c 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -192,7 +192,6 @@ export default class MainBackground { private tabsBackground: TabsBackground; private webRequestBackground: WebRequestBackground; - private sidebarAction: any; private syncTimeout: any; private isSafari: boolean; private nativeMessagingBackground: NativeMessagingBackground; @@ -491,11 +490,6 @@ export default class MainBackground { // Other fields this.isSafari = this.platformUtilsService.isSafari(); - this.sidebarAction = this.isSafari - ? null - : typeof opr !== "undefined" && opr.sidebarAction - ? opr.sidebarAction - : (window as any).chrome.sidebarAction; // Background this.runtimeBackground = new RuntimeBackground( From bf1df6ebf69c7d99147163ca504c3d03c176bf6b Mon Sep 17 00:00:00 2001 From: Shane Melton Date: Tue, 31 Jan 2023 12:57:27 -0800 Subject: [PATCH 37/99] [EC-669] Hide Clone context menu item for items that belong to an organization (#4552) --- apps/desktop/src/app/vault/vault.component.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/app/vault/vault.component.ts b/apps/desktop/src/app/vault/vault.component.ts index 930e557a890..530e4528820 100644 --- a/apps/desktop/src/app/vault/vault.component.ts +++ b/apps/desktop/src/app/vault/vault.component.ts @@ -274,13 +274,15 @@ export class VaultComponent implements OnInit, OnDestroy { this.editCipher(cipher); }), }); - menu.push({ - label: this.i18nService.t("clone"), - click: () => - this.functionWithChangeDetection(() => { - this.cloneCipher(cipher); - }), - }); + if (!cipher.organizationId) { + menu.push({ + label: this.i18nService.t("clone"), + click: () => + this.functionWithChangeDetection(() => { + this.cloneCipher(cipher); + }), + }); + } } switch (cipher.type) { From 7ebedbecfbbdfe17b011ca6490bf98fdd5116016 Mon Sep 17 00:00:00 2001 From: Robyn MacCallum Date: Tue, 31 Jan 2023 16:08:37 -0500 Subject: [PATCH 38/99] [SG-998] and [SG-999] Vault and Autofill team refactor (#4542) * Move DeprecatedVaultFilterService to vault folder * [libs] move VaultItemsComponent * [libs] move AddEditComponent * [libs] move AddEditCustomFields * [libs] move attachmentsComponent * [libs] folderAddEditComponent * [libs] IconComponent * [libs] PasswordRepormptComponent * [libs] PremiumComponent * [libs] ViewCustomFieldsComponent * [libs] ViewComponent * [libs] PasswordRepromptService * [libs] Move FolderService and FolderApiService abstractions * [libs] FolderService imports * [libs] PasswordHistoryComponent * [libs] move Sync and SyncNotifier abstractions * [libs] SyncService imports * [libs] fix file casing for passwordReprompt abstraction * [libs] SyncNotifier import fix * [libs] CipherServiceAbstraction * [libs] PasswordRepromptService abstraction * [libs] Fix file casing for angular passwordReprompt service * [libs] fix file casing for SyncNotifierService * [libs] CipherRepromptType * [libs] rename CipherRepromptType * [libs] CipherType * [libs] Rename CipherType * [libs] CipherData * [libs] FolderData * [libs] PasswordHistoryData * [libs] AttachmentData * [libs] CardData * [libs] FieldData * [libs] IdentityData * [libs] LocalData * [libs] LoginData * [libs] SecureNoteData * [libs] LoginUriData * [libs] Domain classes * [libs] SecureNote * [libs] Request models * [libs] Response models * [libs] View part 1 * [libs] Views part 2 * [libs] Move folder services * [libs] Views fixes * [libs] Move sync services * [libs] cipher service * [libs] Types * [libs] Sync file casing * [libs] Fix folder service import * [libs] Move spec files * [libs] casing fixes on spec files * [browser] Autofill background, clipboard, commands * [browser] Fix ContextMenusBackground casing * [browser] Rename fix * [browser] Autofill content * [browser] autofill.js * [libs] enpass importer spec fix * [browser] autofill models * [browser] autofill manifest path updates * [browser] Autofill notification files * [browser] autofill services * [browser] Fix file casing * [browser] Vault popup loose components * [browser] Vault components * [browser] Manifest fixes * [browser] Vault services * [cli] vault commands and models * [browser] File capitilization fixes * [desktop] Vault components and services * [web] vault loose components * [web] Vault components * [browser] Fix misc-utils import * [libs] Fix psono spec imports * [fix] Add comments to address lint rules --- .eslintignore | 2 +- .github/whitelist-capital-letters.txt | 23 ------- .prettierignore | 2 +- apps/browser/src/alarms/alarm-state.ts | 2 +- apps/browser/src/alarms/on-alarm-listener.ts | 2 +- .../background/context-menus.background.ts} | 5 +- .../background/notification.background.ts | 29 ++++----- .../autofill-service.factory.ts | 33 +++++++--- .../background/tabs.background.ts | 3 +- .../cipher-context-menu-handler.spec.ts | 6 +- .../browser/cipher-context-menu-handler.ts | 20 +++--- .../context-menu-clicked-handler.spec.ts | 10 +-- .../browser/context-menu-clicked-handler.ts | 30 ++++----- .../browser/main-context-menu-handler.spec.ts | 8 +-- .../browser/main-context-menu-handler.ts | 14 ++-- .../clipboard/clear-clipboard.spec.ts | 2 +- .../clipboard/clear-clipboard.ts | 2 +- .../clipboard/copy-to-clipboard-command.ts | 2 +- ...rate-password-to-clipboard-command.spec.ts | 8 +-- .../generate-password-to-clipboard-command.ts | 4 +- .../src/{ => autofill}/clipboard/index.ts | 0 .../commands/autofill-tab-command.ts | 4 +- .../src/{ => autofill}/content/autofill.css | 0 .../src/{ => autofill}/content/autofill.js | 0 .../src/{ => autofill}/content/autofiller.ts | 0 .../content/context-menu-handler.ts} | 0 .../{ => autofill}/content/message_handler.ts | 0 .../src/{ => autofill}/content/misc-utils.ts | 2 +- .../content/notification-bar.ts} | 4 +- .../models/autofill-field.ts} | 0 .../models/autofill-form.ts} | 0 .../models/autofill-page-details.ts} | 4 +- .../models/autofill-script.ts} | 0 .../src/{ => autofill}/notification/bar.html | 0 .../src/{ => autofill}/notification/bar.js | 0 .../src/{ => autofill}/notification/bar.scss | 0 .../notification/variables.scss | 0 .../services/abstractions/autofill.service.ts | 8 +-- .../services/autofill.service.ts | 30 ++++----- .../browser/src/background/main.background.ts | 42 ++++++------ .../src/background/runtime.background.ts | 2 +- .../event-collection-service.factory.ts | 6 +- .../search-service.factory.ts | 6 +- .../vault-timeout-service.factory.ts | 10 ++- .../src/background/webRequest.background.ts | 2 +- apps/browser/src/listeners/index.ts | 4 +- .../src/listeners/onCommandListener.ts | 6 +- apps/browser/src/listeners/update-badge.ts | 6 +- .../models/browserGroupingsComponentState.ts | 6 +- .../src/popup/accounts/login.component.ts | 2 +- .../popup/accounts/set-password.component.ts | 2 +- .../src/popup/accounts/sso.component.ts | 2 +- .../popup/accounts/two-factor.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- apps/browser/src/popup/app-routing.module.ts | 17 ++--- apps/browser/src/popup/app.module.ts | 31 ++++----- .../popup/generator/generator.component.ts | 2 +- .../popup/send/send-groupings.component.ts | 2 +- .../popup/services/popup-search.service.ts | 2 +- .../src/popup/services/services.module.ts | 26 ++++---- .../settings/folder-add-edit.component.ts | 6 +- .../src/popup/settings/folders.component.ts | 4 +- .../src/popup/settings/premium.component.ts | 2 +- .../src/popup/settings/sync.component.ts | 2 +- .../src/popup/vault/collections.component.ts | 2 +- .../background/models/icon-details.ts} | 0 .../cipher-service.factory.ts | 47 ++++++++++---- .../folder-service.factory.ts | 26 +++++--- .../sync-notifier-service.factory.ts | 10 ++- .../components/action-buttons.component.html | 0 .../components/action-buttons.component.ts | 8 +-- .../components/cipher-row.component.html | 0 .../popup/components/cipher-row.component.ts | 2 +- .../password-reprompt.component.html | 0 .../components/password-reprompt.component.ts | 2 +- .../add-edit-custom-fields.component.html | 0 .../vault/add-edit-custom-fields.component.ts | 2 +- .../components}/vault/add-edit.component.html | 0 .../components}/vault/add-edit.component.ts | 16 ++--- .../vault/attachments.component.html | 0 .../vault/attachments.component.ts | 4 +- .../vault/current-tab.component.html | 0 .../vault/current-tab.component.ts | 20 +++--- .../vault/password-history.component.html | 0 .../vault/password-history.component.ts | 4 +- .../components}/vault/share.component.html | 0 .../components}/vault/share.component.ts | 2 +- .../vault/vault-filter.component.html | 0 .../vault/vault-filter.component.ts | 20 +++--- .../vault/vault-items.component.html | 0 .../vault/vault-items.component.ts | 22 +++---- .../vault/vault-select.component.html | 0 .../vault/vault-select.component.ts | 2 +- .../vault/view-custom-fields.component.html | 0 .../vault/view-custom-fields.component.ts | 2 +- .../components}/vault/view.component.html | 0 .../popup/components}/vault/view.component.ts | 20 +++--- .../services}/password-reprompt.service.ts | 2 +- .../services/browser-folder.service.ts | 8 +-- .../services/vault-filter.service.ts} | 6 +- apps/browser/webpack.config.js | 18 +++--- apps/cli/src/bw.ts | 12 ++-- .../convert-to-key-connector.command.ts | 2 +- apps/cli/src/commands/edit.command.ts | 10 +-- apps/cli/src/commands/get.command.ts | 14 ++-- apps/cli/src/commands/list.command.ts | 10 +-- apps/cli/src/commands/login.command.ts | 2 +- apps/cli/src/commands/restore.command.ts | 2 +- apps/cli/src/commands/serve.command.ts | 6 +- apps/cli/src/commands/share.command.ts | 4 +- apps/cli/src/commands/status.command.ts | 2 +- apps/cli/src/commands/unlock.command.ts | 2 +- .../cli/src/models/response/login.response.ts | 2 +- apps/cli/src/program.ts | 2 +- apps/cli/src/utils.ts | 2 +- apps/cli/src/vault.program.ts | 4 +- .../src/{commands => vault}/create.command.ts | 11 ++-- .../src/{commands => vault}/delete.command.ts | 6 +- .../models}/attachment.response.ts | 2 +- .../models}/cipher.response.ts | 9 +-- .../models}/folder.response.ts | 4 +- .../models}/password-history.response.ts | 2 +- .../src/{commands => vault}/sync.command.ts | 2 +- .../src/app/accounts/login.component.ts | 2 +- .../app/accounts/set-password.component.ts | 2 +- .../desktop/src/app/accounts/sso.component.ts | 2 +- .../src/app/accounts/two-factor.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- apps/desktop/src/app/app-routing.module.ts | 3 +- apps/desktop/src/app/app.component.ts | 18 +++--- apps/desktop/src/app/app.module.ts | 35 +++++----- apps/desktop/src/app/services/init.service.ts | 2 +- .../src/app/services/services.module.ts | 6 +- .../src/app/vault/collections.component.ts | 2 +- .../encrypted-message-handler.service.ts | 10 +-- .../app/accounts/premium.component.html | 0 .../app/accounts/premium.component.ts | 2 +- .../password-reprompt.component.html | 0 .../components/password-reprompt.component.ts | 2 +- .../add-edit-custom-fields.component.html | 0 .../vault/add-edit-custom-fields.component.ts | 2 +- .../app/vault/add-edit.component.html | 0 .../app/vault/add-edit.component.ts | 8 +-- .../app/vault/attachments.component.html | 0 .../app/vault/attachments.component.ts | 4 +- .../app/vault/folder-add-edit.component.html | 0 .../app/vault/folder-add-edit.component.ts | 6 +- .../app/vault/password-history.component.html | 0 .../app/vault/password-history.component.ts | 4 +- .../app/vault/share.component.html | 0 .../{ => vault}/app/vault/share.component.ts | 2 +- .../filters/folder-filter.component.html | 0 .../filters/folder-filter.component.ts | 0 .../filters/status-filter.component.html | 0 .../filters/status-filter.component.ts | 0 .../filters/type-filter.component.html | 0 .../filters/type-filter.component.ts | 0 .../vault-filter/vault-filter.component.html | 0 .../vault-filter/vault-filter.component.ts | 0 .../vault/vault-filter/vault-filter.module.ts | 7 +- .../app/vault/vault-items.component.html | 0 .../app/vault/vault-items.component.ts | 6 +- .../app/vault/vault.component.html | 0 .../{ => vault}/app/vault/vault.component.ts | 20 +++--- .../vault/view-custom-fields.component.html | 0 .../app/vault/view-custom-fields.component.ts | 2 +- .../{ => vault}/app/vault/view.component.html | 0 .../{ => vault}/app/vault/view.component.ts | 10 +-- .../services/password-reprompt.service.ts | 2 +- .../app/accounts/set-password.component.ts | 2 +- .../trial-initiation/billing.component.ts | 2 +- .../update-temp-password.component.ts | 2 +- apps/web/src/app/app.component.ts | 6 +- apps/web/src/app/core/core.module.ts | 7 +- apps/web/src/app/core/state/state.service.ts | 4 +- apps/web/src/app/layouts/navbar.component.ts | 2 +- .../guards/org-permissions.guard.spec.ts | 2 +- .../guards/org-permissions.guard.ts | 2 +- .../organizations/members/people.component.ts | 2 +- .../settings/delete-organization.component.ts | 6 +- ...families-for-enterprise-setup.component.ts | 2 +- .../exposed-passwords-report.component.ts | 8 +-- .../import-export/org-import-export.module.ts | 4 +- .../import-export/org-import.component.ts | 2 +- .../inactive-two-factor-report.component.ts | 6 +- .../reused-passwords-report.component.ts | 8 +-- .../unsecured-websites-report.component.ts | 6 +- .../tools/weak-passwords-report.component.ts | 8 +-- .../enroll-master-password-reset.component.ts | 2 +- .../organizations/vault/add-edit.component.ts | 18 +++--- .../vault/attachments.component.ts | 12 ++-- .../collection-badge.module.ts | 2 +- .../vault/collections.component.ts | 12 ++-- .../vault/group-badge/group-badge.module.ts | 2 +- .../vault-filter/vault-filter.component.ts | 8 +-- .../vault/vault-filter/vault-filter.module.ts | 4 +- .../vault-filter/vault-filter.service.ts | 8 +-- .../vault/vault-items.component.ts | 16 ++--- .../organizations/vault/vault.component.ts | 14 ++-- .../app/organizations/vault/vault.module.ts | 4 +- apps/web/src/app/oss-routing.module.ts | 2 +- apps/web/src/app/oss.module.ts | 5 +- .../reports/pages/cipher-report.component.ts | 8 +-- .../exposed-passwords-report.component.ts | 8 +-- .../inactive-two-factor-report.component.ts | 8 +-- .../reused-passwords-report.component.ts | 8 +-- .../unsecured-websites-report.component.ts | 8 +-- .../pages/weak-passwords-report.component.ts | 8 +-- .../shared/report-card/report-card.stories.ts | 2 +- .../shared/report-list/report-list.stories.ts | 2 +- .../app/settings/change-password.component.ts | 10 +-- .../emergency-access-attachments.component.ts | 8 +-- .../emergency-access-view.component.ts | 8 +-- .../settings/emergency-add-edit.component.ts | 12 ++-- .../settings/organization-plans.component.ts | 2 +- .../web/src/app/settings/premium.component.ts | 2 +- .../src/app/settings/purge-vault.component.ts | 2 +- .../settings/sponsored-families.component.ts | 2 +- .../src/app/settings/update-key.component.ts | 10 +-- .../src/app/shared/loose-components.module.ts | 16 ++--- .../import-export/import-export.module.ts | 4 +- .../tools/import-export/import.component.ts | 2 +- .../password-reprompt.component.html | 0 .../components/password-reprompt.component.ts | 2 +- .../app/components/premium-badge.component.ts | 0 .../app/components/premium-badge.stories.ts | 0 .../app/core}/password-reprompt.service.ts | 2 +- .../add-edit-custom-fields.component.html | 0 .../vault/add-edit-custom-fields.component.ts | 2 +- .../app/vault/add-edit.component.html | 0 .../app/vault/add-edit.component.ts | 12 ++-- .../app/vault/attachments.component.html | 0 .../app/vault/attachments.component.ts | 6 +- .../bulk-delete-dialog.component.html | 0 .../bulk-delete-dialog.component.ts | 4 +- .../bulk-dialogs.module.ts | 2 +- .../bulk-move-dialog.component.html | 0 .../bulk-move-dialog.component.ts | 6 +- .../bulk-restore-dialog.component.html | 0 .../bulk-restore-dialog.component.ts | 2 +- .../bulk-share-dialog.component.html | 0 .../bulk-share-dialog.component.ts | 4 +- .../app/vault/collections.component.html | 0 .../app/vault/collections.component.ts | 2 +- .../app/vault/folder-add-edit.component.html | 0 .../app/vault/folder-add-edit.component.ts | 6 +- .../organization-badge.module.ts | 2 +- .../organization-name-badge.component.html | 0 .../organization-name-badge.component.ts | 0 .../vault/pipes/get-collection-name.pipe.ts | 0 .../app/vault/pipes/get-group-name.pipe.ts | 2 +- .../vault/pipes/get-organization-name.pipe.ts | 0 .../app/vault/pipes/pipes.module.ts | 0 .../app/vault/share.component.html | 0 .../{ => vault}/app/vault/share.component.ts | 2 +- .../components/link-sso.component.html | 0 .../components/link-sso.component.ts | 0 .../organization-options.component.html | 0 .../organization-options.component.ts | 4 +- .../components/vault-filter.component.html | 0 .../components/vault-filter.component.ts | 4 +- .../organization-filter.component.html | 0 .../abstractions/vault-filter.service.ts | 2 +- .../services/vault-filter.service.spec.ts | 8 +-- .../services/vault-filter.service.ts | 8 +-- .../vault-filter-section.component.html | 0 .../vault-filter-section.component.ts | 0 .../models/vault-filter-section.type.ts | 0 .../shared/models/vault-filter.model.spec.ts | 6 +- .../shared/models/vault-filter.model.ts | 4 +- .../shared/models/vault-filter.type.ts | 6 +- .../shared/vault-filter-shared.module.ts | 4 +- .../vault/vault-filter/vault-filter.module.ts | 3 +- .../app/vault/vault-items.component.html | 0 .../app/vault/vault-items.component.ts | 14 ++-- .../app/vault/vault-routing.module.ts | 0 .../app/vault/vault.component.html | 0 .../{ => vault}/app/vault/vault.component.ts | 10 +-- .../src/{ => vault}/app/vault/vault.module.ts | 6 +- .../providers/services/webProvider.service.ts | 2 +- .../providers/settings/account.component.ts | 2 +- .../app/providers/setup/setup.component.ts | 2 +- .../src/components/collections.component.ts | 6 +- .../components/remove-password.component.ts | 2 +- .../src/components/set-password.component.ts | 2 +- .../angular/src/components/share.component.ts | 4 +- .../update-temp-password.component.ts | 2 +- libs/angular/src/jslib.module.ts | 2 +- libs/angular/src/pipes/search-ciphers.pipe.ts | 2 +- .../src/services/jslib-services.module.ts | 30 ++++----- .../deprecated-vault-filter.service.ts | 4 +- .../add-edit-custom-fields.component.ts | 6 +- .../components/add-edit.component.ts | 26 ++++---- .../components/attachments.component.ts | 8 +-- .../components/folder-add-edit.component.ts | 6 +- .../components/icon.component.html | 0 .../{ => vault}/components/icon.component.ts | 4 +- .../components/password-history.component.ts | 4 +- .../components/password-reprompt.component.ts | 2 +- .../components/premium.component.ts | 0 .../components/vault-items.component.ts | 2 +- .../view-custom-fields.component.ts | 4 +- .../{ => vault}/components/view.component.ts | 18 +++--- .../services/password-reprompt.service.ts} | 5 +- .../components/folder-filter.component.ts | 2 +- .../components/type-filter.component.ts | 2 +- .../components/vault-filter.component.ts | 4 +- .../models/vault-filter.model.spec.ts | 4 +- .../vault-filter/models/vault-filter.model.ts | 4 +- .../services/vault-filter.service.ts | 8 +-- .../importers/chrome-csv-importer.spec.ts | 6 +- .../importers/dashlane-csv-importer.spec.ts | 2 +- .../enpass/enpass-json-importer.spec.ts | 4 +- .../importers/firefox-csv-importer.spec.ts | 6 +- .../importers/keepass2-xml-importer.spec.ts | 2 +- .../importers/lastpass-csv-importer.spec.ts | 6 +- .../spec/importers/myki-csv-importer.spec.ts | 4 +- .../importers/nordpass-csv-importer.spec.ts | 6 +- .../onepassword-1pux-importer.spec.ts | 4 +- .../onepassword-mac-csv-importer.spec.ts | 4 +- .../onepassword-win-csv-importer.spec.ts | 6 +- .../importers/psono-json-importer.spec.ts | 4 +- .../importers/safari-csv-importer.spec.ts | 6 +- .../spec/services/export.service.spec.ts | 18 +++--- .../spec/services/import.service.spec.ts | 4 +- libs/common/src/abstractions/api.service.ts | 28 ++++---- .../src/abstractions/fileUpload.service.ts | 2 +- .../common/src/abstractions/search.service.ts | 2 +- libs/common/src/abstractions/state.service.ts | 8 +-- .../src/importers/avast-json-importer.ts | 2 +- libs/common/src/importers/base-importer.ts | 14 ++-- .../src/importers/bitwarden-csv-importer.ts | 12 ++-- .../dashlane/dashlane-csv-importer.ts | 10 +-- .../dashlane/dashlane-json-importer.ts | 10 +-- .../src/importers/encryptr-csv-importer.ts | 4 +- .../importers/enpass/enpass-csv-importer.ts | 6 +- .../importers/enpass/enpass-json-importer.ts | 8 +-- .../fsecure/fsecure-fsk-importer.spec.ts | 2 +- .../importers/fsecure/fsecure-fsk-importer.ts | 6 +- .../src/importers/keepass2-xml-importer.ts | 2 +- .../src/importers/lastpass-csv-importer.ts | 14 ++-- .../src/importers/msecure-csv-importer.ts | 4 +- .../common/src/importers/myki-csv-importer.ts | 10 +-- .../src/importers/nordpass-csv-importer.ts | 6 +- .../onepassword/cipher-import-context.ts | 2 +- .../onepassword/onepassword-1pif-importer.ts | 12 ++-- .../onepassword/onepassword-1pux-importer.ts | 16 ++--- .../onepassword/onepassword-csv-importer.ts | 4 +- .../onepassword-mac-csv-importer.ts | 8 +-- .../onepassword-win-csv-importer.ts | 10 +-- .../importers/passwordboss-json-importer.ts | 6 +- .../importers/psono/psono-json-importer.ts | 6 +- .../src/importers/remembear-csv-importer.ts | 4 +- .../src/importers/safeincloud-xml-importer.ts | 10 +-- .../src/importers/splashid-csv-importer.ts | 2 +- .../src/importers/truekey-csv-importer.ts | 6 +- .../src/importers/zohovault-csv-importer.ts | 2 +- .../src/misc/linkedFieldOption.decorator.ts | 2 +- libs/common/src/models/domain/account.ts | 6 +- .../common/src/models/domain/import-result.ts | 4 +- libs/common/src/models/export/card.export.ts | 4 +- .../models/export/cipher-with-ids.export.ts | 4 +- .../common/src/models/export/cipher.export.ts | 8 +-- libs/common/src/models/export/field.export.ts | 4 +- .../models/export/folder-with-id.export.ts | 4 +- .../common/src/models/export/folder.export.ts | 4 +- .../src/models/export/identity.export.ts | 4 +- .../src/models/export/login-uri.export.ts | 4 +- libs/common/src/models/export/login.export.ts | 4 +- .../src/models/export/secure-note.export.ts | 4 +- .../models/request/import-ciphers.request.ts | 5 +- .../import-organization-ciphers.request.ts | 3 +- .../src/models/request/update-key.request.ts | 5 +- .../response/emergency-access.response.ts | 2 +- .../response/organization-export.response.ts | 3 +- libs/common/src/services/api.service.ts | 26 ++++---- .../cryptography/get-class-initializer.ts | 4 +- .../event/event-collection.service.ts | 2 +- libs/common/src/services/export.service.ts | 16 ++--- .../common/src/services/fileUpload.service.ts | 2 +- .../src/services/import/import.service.ts | 12 ++-- .../src/services/notifications.service.ts | 2 +- .../organization/organization-api.service.ts | 2 +- libs/common/src/services/search.service.ts | 6 +- libs/common/src/services/state.service.ts | 8 +-- .../src/services/stateMigration.service.ts | 4 +- .../vaultTimeout/vaultTimeout.service.ts | 4 +- .../abstractions/cipher.service.ts | 6 +- .../folder/folder-api.service.abstraction.ts | 0 .../folder/folder.service.abstraction.ts | 2 +- .../password-reprompt.service.ts} | 0 .../sync-notifier.service.abstraction.ts} | 2 +- .../sync/sync.service.abstraction.ts | 2 +- .../enums/cipher-reprompt-type.ts} | 0 .../enums/cipher-type.ts} | 0 .../models/data/attachment.data.ts | 0 .../src/{ => vault}/models/data/card.data.ts | 2 +- .../{ => vault}/models/data/cipher.data.ts | 4 +- .../src/{ => vault}/models/data/field.data.ts | 6 +- .../{ => vault}/models/data/folder.data.ts | 0 .../{ => vault}/models/data/identity.data.ts | 2 +- .../src/{ => vault}/models/data/local.data.ts | 0 .../{ => vault}/models/data/login-uri.data.ts | 4 +- .../src/{ => vault}/models/data/login.data.ts | 2 +- .../models/data/password-history.data.ts | 0 .../models/data/secure-note.data.ts | 4 +- .../vault}/models/domain/attachment.spec.ts | 17 +++-- .../{ => vault}/models/domain/attachment.ts | 9 ++- .../vault}/models/domain/card.spec.ts | 9 ++- .../src/{ => vault}/models/domain/card.ts | 7 +- .../vault}/models/domain/cipher.spec.ts | 41 ++++++------ .../src/{ => vault}/models/domain/cipher.ts | 14 ++-- .../vault}/models/domain/field.spec.ts | 11 ++-- .../src/{ => vault}/models/domain/field.ts | 11 ++-- .../vault}/models/domain/folder.spec.ts | 11 ++-- .../src/{ => vault}/models/domain/folder.ts | 5 +- .../vault}/models/domain/identity.spec.ts | 9 ++- .../src/{ => vault}/models/domain/identity.ts | 7 +- .../vault/models/domain/login-uri.spec.ts} | 10 +-- .../{ => vault}/models/domain/login-uri.ts | 9 ++- .../vault}/models/domain/login.spec.ts | 15 ++--- .../src/{ => vault}/models/domain/login.ts | 6 +- .../vault}/models/domain/password.spec.ts | 9 ++- .../src/{ => vault}/models/domain/password.ts | 7 +- .../vault/models/domain/secure-note.spec.ts} | 7 +- .../{ => vault}/models/domain/secure-note.ts | 7 +- .../models/domain/sorted-ciphers-cache.ts | 0 .../models/request/attachment.request.ts | 0 .../request/cipher-bulk-delete.request.ts | 0 .../request/cipher-bulk-move.request.ts | 0 .../request/cipher-bulk-restore.request.ts | 0 .../request/cipher-bulk-share.request.ts | 0 .../request/cipher-collections.request.ts | 0 .../models/request/cipher-create.request.ts | 0 .../models/request/cipher-partial.request.ts | 0 .../models/request/cipher-share.request.ts | 0 .../models/request/cipher-with-id.request.ts | 0 .../models/request/cipher.request.ts | 16 ++--- .../models/request/folder-with-id.request.ts | 0 .../models/request/folder.request.ts | 0 .../request/password-history.request.ts | 0 .../attachment-upload-data.response.ts | 4 +- .../models/response/attachment.response.ts | 2 +- .../models/response/cipher.response.ts | 14 ++-- .../models/response/folder.response.ts | 2 +- .../response/password-history.response.ts | 2 +- .../models/response/sync.response.ts | 13 ++-- .../models/view/attachment.view.spec.ts} | 8 +-- .../models/view/attachment.view.ts | 5 +- .../src/{ => vault}/models/view/card.view.ts | 4 +- .../vault/models/view/cipher.view.spec.ts} | 28 ++++---- .../{ => vault}/models/view/cipher.view.ts | 12 ++-- .../src/{ => vault}/models/view/field.view.ts | 7 +- .../vault/models/view/folder.view.spec.ts} | 2 +- .../{ => vault}/models/view/folder.view.ts | 5 +- .../{ => vault}/models/view/identity.view.ts | 6 +- .../src/{ => vault}/models/view/item.view.ts | 5 +- .../vault/models}/view/login-uri-view.spec.ts | 5 +- .../{ => vault}/models/view/login-uri.view.ts | 7 +- .../vault/models/view/login.view.spec.ts} | 8 +-- .../src/{ => vault}/models/view/login.view.ts | 6 +- .../view/password-history.view.spec.ts} | 2 +- .../models/view/password-history.view.ts | 3 +- .../models/view/secure-note.view.ts | 2 +- .../vault}/services/cipher.service.spec.ts | 29 +++++---- .../{ => vault}/services/cipher.service.ts | 42 ++++++------ .../services/folder/folder-api.service.ts | 14 ++-- .../services/folder}/folder.service.spec.ts | 20 +++--- .../services/folder/folder.service.ts | 22 +++---- .../services/sync/sync-notifier.service.ts} | 4 +- .../{ => vault}/services/sync/sync.service.ts | 64 +++++++++---------- .../types/sync-event-args.ts} | 0 472 files changed, 1371 insertions(+), 1328 deletions(-) rename apps/browser/src/{background/contextMenus.background.ts => autofill/background/context-menus.background.ts} (86%) rename apps/browser/src/{ => autofill}/background/notification.background.ts (92%) rename apps/browser/src/{ => autofill}/background/service_factories/autofill-service.factory.ts (59%) rename apps/browser/src/{ => autofill}/background/tabs.background.ts (96%) rename apps/browser/src/{ => autofill}/browser/cipher-context-menu-handler.spec.ts (93%) rename apps/browser/src/{ => autofill}/browser/cipher-context-menu-handler.ts (88%) rename apps/browser/src/{ => autofill}/browser/context-menu-clicked-handler.spec.ts (93%) rename apps/browser/src/{ => autofill}/browser/context-menu-clicked-handler.ts (87%) rename apps/browser/src/{ => autofill}/browser/main-context-menu-handler.spec.ts (92%) rename apps/browser/src/{ => autofill}/browser/main-context-menu-handler.ts (92%) rename apps/browser/src/{ => autofill}/clipboard/clear-clipboard.spec.ts (95%) rename apps/browser/src/{ => autofill}/clipboard/clear-clipboard.ts (92%) rename apps/browser/src/{ => autofill}/clipboard/copy-to-clipboard-command.ts (92%) rename apps/browser/src/{ => autofill}/clipboard/generate-password-to-clipboard-command.spec.ts (90%) rename apps/browser/src/{ => autofill}/clipboard/generate-password-to-clipboard-command.ts (85%) rename apps/browser/src/{ => autofill}/clipboard/index.ts (100%) rename apps/browser/src/{ => autofill}/commands/autofill-tab-command.ts (91%) rename apps/browser/src/{ => autofill}/content/autofill.css (100%) rename apps/browser/src/{ => autofill}/content/autofill.js (100%) rename apps/browser/src/{ => autofill}/content/autofiller.ts (100%) rename apps/browser/src/{content/contextMenuHandler.ts => autofill/content/context-menu-handler.ts} (100%) rename apps/browser/src/{ => autofill}/content/message_handler.ts (100%) rename apps/browser/src/{ => autofill}/content/misc-utils.ts (89%) rename apps/browser/src/{content/notificationBar.ts => autofill/content/notification-bar.ts} (99%) rename apps/browser/src/{models/autofillField.ts => autofill/models/autofill-field.ts} (100%) rename apps/browser/src/{models/autofillForm.ts => autofill/models/autofill-form.ts} (100%) rename apps/browser/src/{models/autofillPageDetails.ts => autofill/models/autofill-page-details.ts} (72%) rename apps/browser/src/{models/autofillScript.ts => autofill/models/autofill-script.ts} (100%) rename apps/browser/src/{ => autofill}/notification/bar.html (100%) rename apps/browser/src/{ => autofill}/notification/bar.js (100%) rename apps/browser/src/{ => autofill}/notification/bar.scss (100%) rename apps/browser/src/{ => autofill}/notification/variables.scss (100%) rename apps/browser/src/{ => autofill}/services/abstractions/autofill.service.ts (78%) rename apps/browser/src/{ => autofill}/services/autofill.service.ts (98%) rename apps/browser/src/{background/models/iconDetails.ts => vault/background/models/icon-details.ts} (100%) rename apps/browser/src/{ => vault}/background/service_factories/cipher-service.factory.ts (55%) rename apps/browser/src/{ => vault}/background/service_factories/folder-service.factory.ts (67%) rename apps/browser/src/{ => vault}/background/service_factories/sync-notifier-service.factory.ts (63%) rename apps/browser/src/{ => vault}/popup/components/action-buttons.component.html (100%) rename apps/browser/src/{ => vault}/popup/components/action-buttons.component.ts (88%) rename apps/browser/src/{ => vault}/popup/components/cipher-row.component.html (100%) rename apps/browser/src/{ => vault}/popup/components/cipher-row.component.ts (89%) rename apps/browser/src/{ => vault}/popup/components/password-reprompt.component.html (100%) rename apps/{desktop/src/app => browser/src/vault/popup}/components/password-reprompt.component.ts (76%) rename apps/browser/src/{popup => vault/popup/components}/vault/add-edit-custom-fields.component.html (100%) rename apps/{desktop/src/app => browser/src/vault/popup/components}/vault/add-edit-custom-fields.component.ts (87%) rename apps/browser/src/{popup => vault/popup/components}/vault/add-edit.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/add-edit.component.ts (91%) rename apps/browser/src/{popup => vault/popup/components}/vault/attachments.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/attachments.component.ts (93%) rename apps/browser/src/{popup => vault/popup/components}/vault/current-tab.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/current-tab.component.ts (90%) rename apps/browser/src/{popup => vault/popup/components}/vault/password-history.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/password-history.component.ts (89%) rename apps/browser/src/{popup => vault/popup/components}/vault/share.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/share.component.ts (96%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-filter.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-filter.component.ts (94%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-items.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-items.component.ts (92%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-select.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/vault-select.component.ts (98%) rename apps/browser/src/{popup => vault/popup/components}/vault/view-custom-fields.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/view-custom-fields.component.ts (86%) rename apps/browser/src/{popup => vault/popup/components}/vault/view.component.html (100%) rename apps/browser/src/{popup => vault/popup/components}/vault/view.component.ts (91%) rename apps/{web/src/app/core => browser/src/vault/popup/services}/password-reprompt.service.ts (82%) rename apps/browser/src/{ => vault}/services/browser-folder.service.ts (60%) rename apps/browser/src/{services/vaultFilter.service.ts => vault/services/vault-filter.service.ts} (89%) rename apps/cli/src/{commands => vault}/create.command.ts (94%) rename apps/cli/src/{commands => vault}/delete.command.ts (92%) rename apps/cli/src/{models/response => vault/models}/attachment.response.ts (77%) rename apps/cli/src/{models/response => vault/models}/cipher.response.ts (79%) rename apps/cli/src/{models/response => vault/models}/folder.response.ts (66%) rename apps/cli/src/{models/response => vault/models}/password-history.response.ts (67%) rename apps/cli/src/{commands => vault}/sync.command.ts (92%) rename apps/desktop/src/{ => vault}/app/accounts/premium.component.html (100%) rename apps/desktop/src/{ => vault}/app/accounts/premium.component.ts (94%) rename apps/desktop/src/{ => vault}/app/components/password-reprompt.component.html (100%) rename apps/{browser/src/popup => desktop/src/vault/app}/components/password-reprompt.component.ts (76%) rename apps/desktop/src/{ => vault}/app/vault/add-edit-custom-fields.component.html (100%) rename apps/{browser/src/popup => desktop/src/vault/app}/vault/add-edit-custom-fields.component.ts (87%) rename apps/desktop/src/{ => vault}/app/vault/add-edit.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/add-edit.component.ts (91%) rename apps/desktop/src/{ => vault}/app/vault/attachments.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/attachments.component.ts (90%) rename apps/desktop/src/{ => vault}/app/vault/folder-add-edit.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/folder-add-edit.component.ts (73%) rename apps/desktop/src/{ => vault}/app/vault/password-history.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/password-history.component.ts (80%) rename apps/desktop/src/{ => vault}/app/vault/share.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/share.component.ts (93%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/folder-filter.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/folder-filter.component.ts (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/status-filter.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/status-filter.component.ts (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/type-filter.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/filters/type-filter.component.ts (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/vault-filter.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/vault-filter.component.ts (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-filter/vault-filter.module.ts (76%) rename apps/desktop/src/{ => vault}/app/vault/vault-items.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault-items.component.ts (77%) rename apps/desktop/src/{ => vault}/app/vault/vault.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/vault.component.ts (96%) rename apps/desktop/src/{ => vault}/app/vault/view-custom-fields.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/view-custom-fields.component.ts (86%) rename apps/desktop/src/{ => vault}/app/vault/view.component.html (100%) rename apps/desktop/src/{ => vault}/app/vault/view.component.ts (90%) rename apps/desktop/src/{ => vault}/services/password-reprompt.service.ts (82%) rename apps/web/src/{ => vault}/app/components/password-reprompt.component.html (100%) rename apps/web/src/{ => vault}/app/components/password-reprompt.component.ts (76%) rename apps/web/src/{ => vault}/app/components/premium-badge.component.ts (100%) rename apps/web/src/{ => vault}/app/components/premium-badge.stories.ts (100%) rename apps/{browser/src/popup/services => web/src/vault/app/core}/password-reprompt.service.ts (82%) rename apps/web/src/{ => vault}/app/vault/add-edit-custom-fields.component.html (100%) rename apps/web/src/{ => vault}/app/vault/add-edit-custom-fields.component.ts (89%) rename apps/web/src/{ => vault}/app/vault/add-edit.component.html (100%) rename apps/web/src/{ => vault}/app/vault/add-edit.component.ts (93%) rename apps/web/src/{ => vault}/app/vault/attachments.component.html (100%) rename apps/web/src/{ => vault}/app/vault/attachments.component.ts (88%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.html (100%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts (95%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts (93%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.html (100%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts (90%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.html (100%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts (95%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.html (100%) rename apps/web/src/{ => vault}/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts (96%) rename apps/web/src/{ => vault}/app/vault/collections.component.html (100%) rename apps/web/src/{ => vault}/app/vault/collections.component.ts (94%) rename apps/web/src/{ => vault}/app/vault/folder-add-edit.component.html (100%) rename apps/web/src/{ => vault}/app/vault/folder-add-edit.component.ts (75%) rename apps/web/src/{ => vault}/app/vault/organization-badge/organization-badge.module.ts (84%) rename apps/web/src/{ => vault}/app/vault/organization-badge/organization-name-badge.component.html (100%) rename apps/web/src/{ => vault}/app/vault/organization-badge/organization-name-badge.component.ts (100%) rename apps/web/src/{ => vault}/app/vault/pipes/get-collection-name.pipe.ts (100%) rename apps/web/src/{ => vault}/app/vault/pipes/get-group-name.pipe.ts (81%) rename apps/web/src/{ => vault}/app/vault/pipes/get-organization-name.pipe.ts (100%) rename apps/web/src/{ => vault}/app/vault/pipes/pipes.module.ts (100%) rename apps/web/src/{ => vault}/app/vault/share.component.html (100%) rename apps/web/src/{ => vault}/app/vault/share.component.ts (94%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/link-sso.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/link-sso.component.ts (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/organization-options.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/organization-options.component.ts (96%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/vault-filter.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/components/vault-filter.component.ts (98%) rename apps/web/src/{ => vault}/app/vault/vault-filter/organization-filter/organization-filter.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/services/abstractions/vault-filter.service.ts (93%) rename apps/web/src/{ => vault}/app/vault/vault-filter/services/vault-filter.service.spec.ts (97%) rename apps/web/src/{ => vault}/app/vault/vault-filter/services/vault-filter.service.ts (96%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/components/vault-filter-section.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/components/vault-filter-section.component.ts (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/models/vault-filter-section.type.ts (100%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts (97%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/models/vault-filter.model.ts (96%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/models/vault-filter.type.ts (69%) rename apps/web/src/{ => vault}/app/vault/vault-filter/shared/vault-filter-shared.module.ts (67%) rename apps/web/src/{ => vault}/app/vault/vault-filter/vault-filter.module.ts (88%) rename apps/web/src/{ => vault}/app/vault/vault-items.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault-items.component.ts (96%) rename apps/web/src/{ => vault}/app/vault/vault-routing.module.ts (100%) rename apps/web/src/{ => vault}/app/vault/vault.component.html (100%) rename apps/web/src/{ => vault}/app/vault/vault.component.ts (97%) rename apps/web/src/{ => vault}/app/vault/vault.module.ts (76%) rename libs/angular/src/{ => vault}/abstractions/deprecated-vault-filter.service.ts (83%) rename libs/angular/src/{ => vault}/components/add-edit-custom-fields.component.ts (93%) rename libs/angular/src/{ => vault}/components/add-edit.component.ts (94%) rename libs/angular/src/{ => vault}/components/attachments.component.ts (96%) rename libs/angular/src/{ => vault}/components/folder-add-edit.component.ts (90%) rename libs/angular/src/{ => vault}/components/icon.component.html (100%) rename libs/angular/src/{ => vault}/components/icon.component.ts (95%) rename libs/angular/src/{ => vault}/components/password-history.component.ts (86%) rename libs/angular/src/{ => vault}/components/password-reprompt.component.ts (95%) rename libs/angular/src/{ => vault}/components/premium.component.ts (100%) rename libs/angular/src/{ => vault}/components/vault-items.component.ts (97%) rename libs/angular/src/{ => vault}/components/view-custom-fields.component.ts (88%) rename libs/angular/src/{ => vault}/components/view.component.ts (94%) rename libs/angular/src/{services/passwordReprompt.service.ts => vault/services/password-reprompt.service.ts} (89%) rename libs/common/src/{ => vault}/abstractions/cipher.service.ts (94%) rename libs/common/src/{ => vault}/abstractions/folder/folder-api.service.abstraction.ts (100%) rename libs/common/src/{ => vault}/abstractions/folder/folder.service.abstraction.ts (92%) rename libs/common/src/{abstractions/passwordReprompt.service.ts => vault/abstractions/password-reprompt.service.ts} (100%) rename libs/common/src/{abstractions/sync/syncNotifier.service.abstraction.ts => vault/abstractions/sync/sync-notifier.service.abstraction.ts} (72%) rename libs/common/src/{ => vault}/abstractions/sync/sync.service.abstraction.ts (93%) rename libs/common/src/{enums/cipherRepromptType.ts => vault/enums/cipher-reprompt-type.ts} (100%) rename libs/common/src/{enums/cipherType.ts => vault/enums/cipher-type.ts} (100%) rename libs/common/src/{ => vault}/models/data/attachment.data.ts (100%) rename libs/common/src/{ => vault}/models/data/card.data.ts (88%) rename libs/common/src/{ => vault}/models/data/cipher.data.ts (95%) rename libs/common/src/{ => vault}/models/data/field.data.ts (65%) rename libs/common/src/{ => vault}/models/data/folder.data.ts (100%) rename libs/common/src/{ => vault}/models/data/identity.data.ts (94%) rename libs/common/src/{ => vault}/models/data/local.data.ts (100%) rename libs/common/src/{ => vault}/models/data/login-uri.data.ts (63%) rename libs/common/src/{ => vault}/models/data/login.data.ts (91%) rename libs/common/src/{ => vault}/models/data/password-history.data.ts (100%) rename libs/common/src/{ => vault}/models/data/secure-note.data.ts (56%) rename libs/common/{spec => src/vault}/models/domain/attachment.spec.ts (87%) rename libs/common/src/{ => vault}/models/domain/attachment.ts (90%) rename libs/common/{spec => src/vault}/models/domain/card.spec.ts (90%) rename libs/common/src/{ => vault}/models/domain/card.ts (89%) rename libs/common/{spec => src/vault}/models/domain/cipher.spec.ts (94%) rename libs/common/src/{ => vault}/models/domain/cipher.ts (94%) rename libs/common/{spec => src/vault}/models/domain/field.spec.ts (84%) rename libs/common/src/{ => vault}/models/domain/field.ts (80%) rename libs/common/{spec => src/vault}/models/domain/folder.spec.ts (80%) rename libs/common/src/{ => vault}/models/domain/folder.ts (88%) rename libs/common/{spec => src/vault}/models/domain/identity.spec.ts (95%) rename libs/common/src/{ => vault}/models/domain/identity.ts (94%) rename libs/common/{spec/models/domain/loginUri.spec.ts => src/vault/models/domain/login-uri.spec.ts} (82%) rename libs/common/src/{ => vault}/models/domain/login-uri.ts (80%) rename libs/common/{spec => src/vault}/models/domain/login.spec.ts (88%) rename libs/common/src/{ => vault}/models/domain/login.ts (92%) rename libs/common/{spec => src/vault}/models/domain/password.spec.ts (86%) rename libs/common/src/{ => vault}/models/domain/password.ts (86%) rename libs/common/{spec/models/domain/secureNote.spec.ts => src/vault/models/domain/secure-note.spec.ts} (81%) rename libs/common/src/{ => vault}/models/domain/secure-note.ts (79%) rename libs/common/src/{ => vault}/models/domain/sorted-ciphers-cache.ts (100%) rename libs/common/src/{ => vault}/models/request/attachment.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-bulk-delete.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-bulk-move.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-bulk-restore.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-bulk-share.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-collections.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-create.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-partial.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-share.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher-with-id.request.ts (100%) rename libs/common/src/{ => vault}/models/request/cipher.request.ts (93%) rename libs/common/src/{ => vault}/models/request/folder-with-id.request.ts (100%) rename libs/common/src/{ => vault}/models/request/folder.request.ts (100%) rename libs/common/src/{ => vault}/models/request/password-history.request.ts (100%) rename libs/common/src/{ => vault}/models/response/attachment-upload-data.response.ts (86%) rename libs/common/src/{ => vault}/models/response/attachment.response.ts (88%) rename libs/common/src/{ => vault}/models/response/cipher.response.ts (86%) rename libs/common/src/{ => vault}/models/response/folder.response.ts (82%) rename libs/common/src/{ => vault}/models/response/password-history.response.ts (80%) rename libs/common/src/{ => vault}/models/response/sync.response.ts (77%) rename libs/common/{spec/models/view/attachmentView.spec.ts => src/vault/models/view/attachment.view.spec.ts} (53%) rename libs/common/src/{ => vault}/models/view/attachment.view.ts (86%) rename libs/common/src/{ => vault}/models/view/card.view.ts (93%) rename libs/common/{spec/models/view/cipherView.spec.ts => src/vault/models/view/cipher.view.spec.ts} (71%) rename libs/common/src/{ => vault}/models/view/cipher.view.ts (92%) rename libs/common/src/{ => vault}/models/view/field.view.ts (80%) rename libs/common/{spec/models/view/folderView.spec.ts => src/vault/models/view/folder.view.spec.ts} (87%) rename libs/common/src/{ => vault}/models/view/folder.view.ts (82%) rename libs/common/src/{ => vault}/models/view/identity.view.ts (94%) rename libs/common/src/{ => vault}/models/view/item.view.ts (52%) rename libs/common/{spec => src/vault/models}/view/login-uri-view.spec.ts (93%) rename libs/common/src/{ => vault}/models/view/login-uri.view.ts (95%) rename libs/common/{spec/models/view/loginView.spec.ts => src/vault/models/view/login.view.spec.ts} (70%) rename libs/common/src/{ => vault}/models/view/login.view.ts (89%) rename libs/common/{spec/models/view/passwordHistoryView.spec.ts => src/vault/models/view/password-history.view.spec.ts} (76%) rename libs/common/src/{ => vault}/models/view/password-history.view.ts (92%) rename libs/common/src/{ => vault}/models/view/secure-note.view.ts (88%) rename libs/common/{spec => src/vault}/services/cipher.service.spec.ts (66%) rename libs/common/src/{ => vault}/services/cipher.service.ts (96%) rename libs/common/src/{ => vault}/services/folder/folder-api.service.ts (71%) rename libs/common/{spec/services => src/vault/services/folder}/folder.service.spec.ts (88%) rename libs/common/src/{ => vault}/services/folder/folder.service.ts (87%) rename libs/common/src/{services/sync/syncNotifier.service.ts => vault/services/sync/sync-notifier.service.ts} (78%) rename libs/common/src/{ => vault}/services/sync/sync.service.ts (83%) rename libs/common/src/{types/syncEventArgs.ts => vault/types/sync-event-args.ts} (100%) diff --git a/.eslintignore b/.eslintignore index e1bc65d74b1..96ea1708dad 100644 --- a/.eslintignore +++ b/.eslintignore @@ -11,7 +11,7 @@ storybook-static **/gulpfile.js apps/browser/config/config.js -apps/browser/src/content/autofill.js +apps/browser/src/autofill/content/autofill.js apps/browser/src/scripts/duo.js apps/desktop/desktop_native diff --git a/.github/whitelist-capital-letters.txt b/.github/whitelist-capital-letters.txt index 2339c1756bd..b100c980f03 100644 --- a/.github/whitelist-capital-letters.txt +++ b/.github/whitelist-capital-letters.txt @@ -27,7 +27,6 @@ ./libs/angular/src/components/captchaProtected.component.ts ./libs/angular/src/validators/inputsFieldMatch.validator.ts ./libs/angular/src/validators/notAllowedValueAsync.validator.ts -./libs/angular/src/services/passwordReprompt.service.ts ./libs/angular/src/services/theming/themeBuilder.ts ./libs/angular/src/interfaces/selectOptions.ts ./libs/components/src/stories/Introduction.stories.mdx @@ -36,14 +35,7 @@ ./libs/common/spec/misc/logInStrategies/ssoLogIn.strategy.spec.ts ./libs/common/spec/web/services/webCryptoFunction.service.spec.ts ./libs/common/spec/shared/interceptConsole.ts -./libs/common/spec/models/view/passwordHistoryView.spec.ts -./libs/common/spec/models/view/cipherView.spec.ts -./libs/common/spec/models/view/folderView.spec.ts -./libs/common/spec/models/view/attachmentView.spec.ts -./libs/common/spec/models/view/loginView.spec.ts -./libs/common/spec/models/domain/loginUri.spec.ts ./libs/common/spec/models/domain/encString.spec.ts -./libs/common/spec/models/domain/secureNote.spec.ts ./libs/common/spec/models/domain/symmetricCryptoKey.spec.ts ./libs/common/spec/models/domain/encArrayBuffer.spec.ts ./libs/common/spec/models/domain/sendAccess.spec.ts @@ -63,10 +55,8 @@ ./libs/common/src/misc/serviceUtils.spec.ts ./libs/common/src/types/twoFactorResponse.ts ./libs/common/src/types/authResponse.ts -./libs/common/src/types/syncEventArgs.ts ./libs/common/src/enums/kdfType.ts ./libs/common/src/enums/fileUploadType.ts -./libs/common/src/enums/cipherType.ts ./libs/common/src/enums/twoFactorProviderType.ts ./libs/common/src/enums/clientType.ts ./libs/common/src/enums/encryptedExportType.ts @@ -107,7 +97,6 @@ ./libs/common/src/enums/authRequestType.ts ./libs/common/src/enums/emergencyAccessStatusType.ts ./libs/common/src/enums/nativeMessagingVersion.ts -./libs/common/src/enums/cipherRepromptType.ts ./libs/common/src/enums/organizationUserType.ts ./libs/common/src/factories/accountFactory.ts ./libs/common/src/factories/globalStateFactory.ts @@ -120,7 +109,6 @@ ./libs/common/src/abstractions/fileDownload/fileDownload.service.ts ./libs/common/src/abstractions/fileDownload/fileDownloadRequest.ts ./libs/common/src/abstractions/passwordGeneration.service.ts -./libs/common/src/abstractions/passwordReprompt.service.ts ./libs/common/src/abstractions/formValidationErrors.service.ts ./libs/common/src/abstractions/vaultTimeout/vaultTimeoutSettings.service.ts ./libs/common/src/abstractions/vaultTimeout/vaultTimeout.service.ts @@ -131,7 +119,6 @@ ./libs/common/src/abstractions/appId.service.ts ./libs/common/src/abstractions/usernameGeneration.service.ts ./libs/common/src/abstractions/twoFactor.service.ts -./libs/common/src/abstractions/sync/syncNotifier.service.abstraction.ts ./libs/common/src/services/userVerification/userVerification-api.service.ts ./libs/common/src/services/userVerification/userVerification.service.ts ./libs/common/src/services/azureFileUpload.service.ts @@ -148,7 +135,6 @@ ./libs/common/src/services/usernameGeneration.service.ts ./libs/common/src/services/noopMessaging.service.ts ./libs/common/src/services/twoFactor.service.ts -./libs/common/src/services/sync/syncNotifier.service.ts ./libs/common/src/services/memoryStorage.service.ts ./libs/common/src/services/bitwardenFileUpload.service.ts ./libs/common/src/services/webCryptoFunction.service.ts @@ -178,24 +164,16 @@ ./apps/browser/src/background/models/addLoginRuntimeMessage.ts ./apps/browser/src/background/models/addChangePasswordQueueMessage.ts ./apps/browser/src/background/models/addLoginQueueMessage.ts -./apps/browser/src/background/models/iconDetails.ts ./apps/browser/src/background/models/changePasswordRuntimeMessage.ts ./apps/browser/src/background/models/notificationQueueMessage.ts ./apps/browser/src/background/models/notificationQueueMessageType.ts ./apps/browser/src/background/models/lockedVaultPendingNotificationsItem.ts -./apps/browser/src/background/contextMenus.background.ts ./apps/browser/src/background/webRequest.background.ts ./apps/browser/src/popup/services/debounceNavigationService.ts -./apps/browser/src/content/contextMenuHandler.ts -./apps/browser/src/content/notificationBar.ts ./apps/browser/src/models/browserComponentState.ts -./apps/browser/src/models/autofillScript.ts ./apps/browser/src/models/browserSendComponentState.ts ./apps/browser/src/models/browserGroupingsComponentState.ts ./apps/browser/src/models/biometricErrors.ts -./apps/browser/src/models/autofillPageDetails.ts -./apps/browser/src/models/autofillForm.ts -./apps/browser/src/models/autofillField.ts ./apps/browser/src/browser/safariApp.ts ./apps/browser/src/browser/browserApi.ts ./apps/browser/src/safari/desktop/ViewController.swift @@ -222,7 +200,6 @@ ./apps/browser/src/services/abstractions/abstractKeyGeneration.service.ts ./apps/browser/src/services/browserLocalStorage.service.ts ./apps/browser/src/services/localBackedSessionStorage.service.ts -./apps/browser/src/services/vaultFilter.service.ts ./apps/browser/src/services/browserMessagingPrivateModePopup.service.ts ./apps/browser/src/services/browserMessaging.service.ts ./apps/browser/src/services/keyGeneration.service.ts diff --git a/.prettierignore b/.prettierignore index d4257ee2d03..245cb91c21f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -9,7 +9,7 @@ storybook-static # External libraries / auto synced locales apps/browser/src/_locales apps/browser/src/scripts/duo.js -apps/browser/src/content/autofill.js +apps/browser/src/autofill/content/autofill.js apps/browser/src/safari apps/desktop/src/locales diff --git a/apps/browser/src/alarms/alarm-state.ts b/apps/browser/src/alarms/alarm-state.ts index 774bcfe1c03..71f7b518197 100644 --- a/apps/browser/src/alarms/alarm-state.ts +++ b/apps/browser/src/alarms/alarm-state.ts @@ -1,5 +1,5 @@ +import { clearClipboardAlarmName } from "../autofill/clipboard"; import { BrowserApi } from "../browser/browserApi"; -import { clearClipboardAlarmName } from "../clipboard"; export const alarmKeys = [clearClipboardAlarmName] as const; export type AlarmKeys = typeof alarmKeys[number]; diff --git a/apps/browser/src/alarms/on-alarm-listener.ts b/apps/browser/src/alarms/on-alarm-listener.ts index 4b246908778..a476b6e4961 100644 --- a/apps/browser/src/alarms/on-alarm-listener.ts +++ b/apps/browser/src/alarms/on-alarm-listener.ts @@ -1,4 +1,4 @@ -import { ClearClipboard, clearClipboardAlarmName } from "../clipboard"; +import { ClearClipboard, clearClipboardAlarmName } from "../autofill/clipboard"; import { alarmKeys, clearAlarmTime, getAlarmTime } from "./alarm-state"; diff --git a/apps/browser/src/background/contextMenus.background.ts b/apps/browser/src/autofill/background/context-menus.background.ts similarity index 86% rename from apps/browser/src/background/contextMenus.background.ts rename to apps/browser/src/autofill/background/context-menus.background.ts index 9a9ba0f5140..9d04571a7c4 100644 --- a/apps/browser/src/background/contextMenus.background.ts +++ b/apps/browser/src/autofill/background/context-menus.background.ts @@ -1,8 +1,7 @@ -import { BrowserApi } from "../browser/browserApi"; +import LockedVaultPendingNotificationsItem from "../../background/models/lockedVaultPendingNotificationsItem"; +import { BrowserApi } from "../../browser/browserApi"; import { ContextMenuClickedHandler } from "../browser/context-menu-clicked-handler"; -import LockedVaultPendingNotificationsItem from "./models/lockedVaultPendingNotificationsItem"; - export default class ContextMenusBackground { private contextMenus: typeof chrome.contextMenus; diff --git a/apps/browser/src/background/notification.background.ts b/apps/browser/src/autofill/background/notification.background.ts similarity index 92% rename from apps/browser/src/background/notification.background.ts rename to apps/browser/src/autofill/background/notification.background.ts index 2da4791857d..6729fc8bd6b 100644 --- a/apps/browser/src/background/notification.background.ts +++ b/apps/browser/src/autofill/background/notification.background.ts @@ -1,28 +1,27 @@ import { firstValueFrom } from "rxjs"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { ThemeType } from "@bitwarden/common/enums/themeType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; -import { BrowserApi } from "../browser/browserApi"; +import AddChangePasswordQueueMessage from "../../background/models/addChangePasswordQueueMessage"; +import AddLoginQueueMessage from "../../background/models/addLoginQueueMessage"; +import AddLoginRuntimeMessage from "../../background/models/addLoginRuntimeMessage"; +import ChangePasswordRuntimeMessage from "../../background/models/changePasswordRuntimeMessage"; +import LockedVaultPendingNotificationsItem from "../../background/models/lockedVaultPendingNotificationsItem"; +import { NotificationQueueMessageType } from "../../background/models/notificationQueueMessageType"; +import { BrowserApi } from "../../browser/browserApi"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; import { AutofillService } from "../services/abstractions/autofill.service"; -import { BrowserStateService } from "../services/abstractions/browser-state.service"; - -import AddChangePasswordQueueMessage from "./models/addChangePasswordQueueMessage"; -import AddLoginQueueMessage from "./models/addLoginQueueMessage"; -import AddLoginRuntimeMessage from "./models/addLoginRuntimeMessage"; -import ChangePasswordRuntimeMessage from "./models/changePasswordRuntimeMessage"; -import LockedVaultPendingNotificationsItem from "./models/lockedVaultPendingNotificationsItem"; -import { NotificationQueueMessageType } from "./models/notificationQueueMessageType"; export default class NotificationBackground { private notificationQueue: (AddLoginQueueMessage | AddChangePasswordQueueMessage)[] = []; diff --git a/apps/browser/src/background/service_factories/autofill-service.factory.ts b/apps/browser/src/autofill/background/service_factories/autofill-service.factory.ts similarity index 59% rename from apps/browser/src/background/service_factories/autofill-service.factory.ts rename to apps/browser/src/autofill/background/service_factories/autofill-service.factory.ts index 1df2ec9bbdf..6187a87161e 100644 --- a/apps/browser/src/background/service_factories/autofill-service.factory.ts +++ b/apps/browser/src/autofill/background/service_factories/autofill-service.factory.ts @@ -1,15 +1,30 @@ -import { AutofillService as AbstractAutoFillService } from "../../services/abstractions/autofill.service"; -import AutofillService from "../../services/autofill.service"; - -import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; import { EventCollectionServiceInitOptions, eventCollectionServiceFactory, -} from "./event-collection-service.factory"; -import { CachedServices, factory, FactoryOptions } from "./factory-options"; -import { logServiceFactory, LogServiceInitOptions } from "./log-service.factory"; -import { stateServiceFactory, StateServiceInitOptions } from "./state-service.factory"; -import { totpServiceFactory, TotpServiceInitOptions } from "./totp-service.factory"; +} from "../../../background/service_factories/event-collection-service.factory"; +import { + CachedServices, + factory, + FactoryOptions, +} from "../../../background/service_factories/factory-options"; +import { + logServiceFactory, + LogServiceInitOptions, +} from "../../../background/service_factories/log-service.factory"; +import { + stateServiceFactory, + StateServiceInitOptions, +} from "../../../background/service_factories/state-service.factory"; +import { + totpServiceFactory, + TotpServiceInitOptions, +} from "../../../background/service_factories/totp-service.factory"; +import { + cipherServiceFactory, + CipherServiceInitOptions, +} from "../../../vault/background/service_factories/cipher-service.factory"; +import { AutofillService as AbstractAutoFillService } from "../../services/abstractions/autofill.service"; +import AutofillService from "../../services/autofill.service"; type AutoFillServiceOptions = FactoryOptions; diff --git a/apps/browser/src/background/tabs.background.ts b/apps/browser/src/autofill/background/tabs.background.ts similarity index 96% rename from apps/browser/src/background/tabs.background.ts rename to apps/browser/src/autofill/background/tabs.background.ts index 70d2ce1f002..0f724c84dd5 100644 --- a/apps/browser/src/background/tabs.background.ts +++ b/apps/browser/src/autofill/background/tabs.background.ts @@ -1,4 +1,5 @@ -import MainBackground from "./main.background"; +import MainBackground from "../../background/main.background"; + import NotificationBackground from "./notification.background"; export default class TabsBackground { diff --git a/apps/browser/src/browser/cipher-context-menu-handler.spec.ts b/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts similarity index 93% rename from apps/browser/src/browser/cipher-context-menu-handler.spec.ts rename to apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts index 39b7f8e3619..fe1e5b4271d 100644 --- a/apps/browser/src/browser/cipher-context-menu-handler.spec.ts +++ b/apps/browser/src/autofill/browser/cipher-context-menu-handler.spec.ts @@ -1,10 +1,10 @@ import { mock, MockProxy } from "jest-mock-extended"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; import { CipherContextMenuHandler } from "./cipher-context-menu-handler"; import { MainContextMenuHandler } from "./main-context-menu-handler"; diff --git a/apps/browser/src/browser/cipher-context-menu-handler.ts b/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts similarity index 88% rename from apps/browser/src/browser/cipher-context-menu-handler.ts rename to apps/browser/src/autofill/browser/cipher-context-menu-handler.ts index 5942ce3b140..366f2e4659d 100644 --- a/apps/browser/src/browser/cipher-context-menu-handler.ts +++ b/apps/browser/src/autofill/browser/cipher-context-menu-handler.ts @@ -1,27 +1,27 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { Utils } from "@bitwarden/common/misc/utils"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { authServiceFactory, AuthServiceInitOptions, -} from "../background/service_factories/auth-service.factory"; +} from "../../background/service_factories/auth-service.factory"; +import { CachedServices } from "../../background/service_factories/factory-options"; +import { searchServiceFactory } from "../../background/service_factories/search-service.factory"; +import { BrowserApi } from "../../browser/browserApi"; +import { Account } from "../../models/account"; import { cipherServiceFactory, CipherServiceInitOptions, -} from "../background/service_factories/cipher-service.factory"; -import { CachedServices } from "../background/service_factories/factory-options"; -import { searchServiceFactory } from "../background/service_factories/search-service.factory"; -import { Account } from "../models/account"; +} from "../../vault/background/service_factories/cipher-service.factory"; -import { BrowserApi } from "./browserApi"; import { MainContextMenuHandler } from "./main-context-menu-handler"; const NOT_IMPLEMENTED = (..._args: unknown[]) => Promise.resolve(); diff --git a/apps/browser/src/browser/context-menu-clicked-handler.spec.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts similarity index 93% rename from apps/browser/src/browser/context-menu-clicked-handler.spec.ts rename to apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts index a4d84aad126..89e97512578 100644 --- a/apps/browser/src/browser/context-menu-clicked-handler.spec.ts +++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.spec.ts @@ -1,13 +1,13 @@ import { mock, MockProxy } from "jest-mock-extended"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { AutofillTabCommand } from "../commands/autofill-tab-command"; diff --git a/apps/browser/src/browser/context-menu-clicked-handler.ts b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts similarity index 87% rename from apps/browser/src/browser/context-menu-clicked-handler.ts rename to apps/browser/src/autofill/browser/context-menu-clicked-handler.ts index f0043805da3..63b83049df1 100644 --- a/apps/browser/src/browser/context-menu-clicked-handler.ts +++ b/apps/browser/src/autofill/browser/context-menu-clicked-handler.ts @@ -1,35 +1,35 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import LockedVaultPendingNotificationsItem from "../background/models/lockedVaultPendingNotificationsItem"; +import LockedVaultPendingNotificationsItem from "../../background/models/lockedVaultPendingNotificationsItem"; import { authServiceFactory, AuthServiceInitOptions, -} from "../background/service_factories/auth-service.factory"; -import { autofillServiceFactory } from "../background/service_factories/autofill-service.factory"; +} from "../../background/service_factories/auth-service.factory"; +import { eventCollectionServiceFactory } from "../../background/service_factories/event-collection-service.factory"; +import { CachedServices } from "../../background/service_factories/factory-options"; +import { passwordGenerationServiceFactory } from "../../background/service_factories/password-generation-service.factory"; +import { searchServiceFactory } from "../../background/service_factories/search-service.factory"; +import { stateServiceFactory } from "../../background/service_factories/state-service.factory"; +import { totpServiceFactory } from "../../background/service_factories/totp-service.factory"; +import { BrowserApi } from "../../browser/browserApi"; +import { Account } from "../../models/account"; import { cipherServiceFactory, CipherServiceInitOptions, -} from "../background/service_factories/cipher-service.factory"; -import { eventCollectionServiceFactory } from "../background/service_factories/event-collection-service.factory"; -import { CachedServices } from "../background/service_factories/factory-options"; -import { passwordGenerationServiceFactory } from "../background/service_factories/password-generation-service.factory"; -import { searchServiceFactory } from "../background/service_factories/search-service.factory"; -import { stateServiceFactory } from "../background/service_factories/state-service.factory"; -import { totpServiceFactory } from "../background/service_factories/totp-service.factory"; -import { BrowserApi } from "../browser/browserApi"; +} from "../../vault/background/service_factories/cipher-service.factory"; +import { autofillServiceFactory } from "../background/service_factories/autofill-service.factory"; import { copyToClipboard, GeneratePasswordToClipboardCommand } from "../clipboard"; import { AutofillTabCommand } from "../commands/autofill-tab-command"; -import { Account } from "../models/account"; import { AUTOFILL_ID, diff --git a/apps/browser/src/browser/main-context-menu-handler.spec.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts similarity index 92% rename from apps/browser/src/browser/main-context-menu-handler.spec.ts rename to apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts index 2dd41faf043..d3a90140107 100644 --- a/apps/browser/src/browser/main-context-menu-handler.spec.ts +++ b/apps/browser/src/autofill/browser/main-context-menu-handler.spec.ts @@ -1,11 +1,11 @@ import { mock, MockProxy } from "jest-mock-extended"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { BrowserStateService } from "../services/abstractions/browser-state.service"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; import { MainContextMenuHandler } from "./main-context-menu-handler"; diff --git a/apps/browser/src/browser/main-context-menu-handler.ts b/apps/browser/src/autofill/browser/main-context-menu-handler.ts similarity index 92% rename from apps/browser/src/browser/main-context-menu-handler.ts rename to apps/browser/src/autofill/browser/main-context-menu-handler.ts index e78fb89023d..898bd46e4a1 100644 --- a/apps/browser/src/browser/main-context-menu-handler.ts +++ b/apps/browser/src/autofill/browser/main-context-menu-handler.ts @@ -1,21 +1,21 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { Utils } from "@bitwarden/common/misc/utils"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { CachedServices } from "../background/service_factories/factory-options"; +import { CachedServices } from "../../background/service_factories/factory-options"; import { i18nServiceFactory, I18nServiceInitOptions, -} from "../background/service_factories/i18n-service.factory"; +} from "../../background/service_factories/i18n-service.factory"; import { stateServiceFactory, StateServiceInitOptions, -} from "../background/service_factories/state-service.factory"; -import { Account } from "../models/account"; -import { BrowserStateService } from "../services/abstractions/browser-state.service"; +} from "../../background/service_factories/state-service.factory"; +import { Account } from "../../models/account"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; export const ROOT_ID = "root"; diff --git a/apps/browser/src/clipboard/clear-clipboard.spec.ts b/apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts similarity index 95% rename from apps/browser/src/clipboard/clear-clipboard.spec.ts rename to apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts index 0166bdb47af..baced83894d 100644 --- a/apps/browser/src/clipboard/clear-clipboard.spec.ts +++ b/apps/browser/src/autofill/clipboard/clear-clipboard.spec.ts @@ -1,4 +1,4 @@ -import { BrowserApi } from "../browser/browserApi"; +import { BrowserApi } from "../../browser/browserApi"; import { ClearClipboard } from "./clear-clipboard"; diff --git a/apps/browser/src/clipboard/clear-clipboard.ts b/apps/browser/src/autofill/clipboard/clear-clipboard.ts similarity index 92% rename from apps/browser/src/clipboard/clear-clipboard.ts rename to apps/browser/src/autofill/clipboard/clear-clipboard.ts index 149992555b9..a96a72fc658 100644 --- a/apps/browser/src/clipboard/clear-clipboard.ts +++ b/apps/browser/src/autofill/clipboard/clear-clipboard.ts @@ -1,4 +1,4 @@ -import { BrowserApi } from "../browser/browserApi"; +import { BrowserApi } from "../../browser/browserApi"; export const clearClipboardAlarmName = "clearClipboard"; diff --git a/apps/browser/src/clipboard/copy-to-clipboard-command.ts b/apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts similarity index 92% rename from apps/browser/src/clipboard/copy-to-clipboard-command.ts rename to apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts index e1f2cca3f2c..926b78b9762 100644 --- a/apps/browser/src/clipboard/copy-to-clipboard-command.ts +++ b/apps/browser/src/autofill/clipboard/copy-to-clipboard-command.ts @@ -1,4 +1,4 @@ -import { BrowserApi } from "../browser/browserApi"; +import { BrowserApi } from "../../browser/browserApi"; /** * Copies text to the clipboard in a MV3 safe way. diff --git a/apps/browser/src/clipboard/generate-password-to-clipboard-command.spec.ts b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts similarity index 90% rename from apps/browser/src/clipboard/generate-password-to-clipboard-command.spec.ts rename to apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts index 5d119513f43..4c1460c86ef 100644 --- a/apps/browser/src/clipboard/generate-password-to-clipboard-command.spec.ts +++ b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.spec.ts @@ -2,14 +2,14 @@ import { mock, MockProxy } from "jest-mock-extended"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { setAlarmTime } from "../alarms/alarm-state"; -import { BrowserApi } from "../browser/browserApi"; -import { BrowserStateService } from "../services/abstractions/browser-state.service"; +import { setAlarmTime } from "../../alarms/alarm-state"; +import { BrowserApi } from "../../browser/browserApi"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; import { clearClipboardAlarmName } from "./clear-clipboard"; import { GeneratePasswordToClipboardCommand } from "./generate-password-to-clipboard-command"; -jest.mock("../alarms/alarm-state", () => { +jest.mock("../../alarms/alarm-state", () => { return { setAlarmTime: jest.fn(), }; diff --git a/apps/browser/src/clipboard/generate-password-to-clipboard-command.ts b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts similarity index 85% rename from apps/browser/src/clipboard/generate-password-to-clipboard-command.ts rename to apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts index 0cd8eec2c93..eec0b31834d 100644 --- a/apps/browser/src/clipboard/generate-password-to-clipboard-command.ts +++ b/apps/browser/src/autofill/clipboard/generate-password-to-clipboard-command.ts @@ -1,7 +1,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { setAlarmTime } from "../alarms/alarm-state"; -import { BrowserStateService } from "../services/abstractions/browser-state.service"; +import { setAlarmTime } from "../../alarms/alarm-state"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; import { clearClipboardAlarmName } from "./clear-clipboard"; import { copyToClipboard } from "./copy-to-clipboard-command"; diff --git a/apps/browser/src/clipboard/index.ts b/apps/browser/src/autofill/clipboard/index.ts similarity index 100% rename from apps/browser/src/clipboard/index.ts rename to apps/browser/src/autofill/clipboard/index.ts diff --git a/apps/browser/src/commands/autofill-tab-command.ts b/apps/browser/src/autofill/commands/autofill-tab-command.ts similarity index 91% rename from apps/browser/src/commands/autofill-tab-command.ts rename to apps/browser/src/autofill/commands/autofill-tab-command.ts index cf94dc93ae3..4910a6cf6fa 100644 --- a/apps/browser/src/commands/autofill-tab-command.ts +++ b/apps/browser/src/autofill/commands/autofill-tab-command.ts @@ -1,6 +1,6 @@ -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import AutofillPageDetails from "../models/autofillPageDetails"; +import AutofillPageDetails from "../models/autofill-page-details"; import { AutofillService } from "../services/abstractions/autofill.service"; export class AutofillTabCommand { diff --git a/apps/browser/src/content/autofill.css b/apps/browser/src/autofill/content/autofill.css similarity index 100% rename from apps/browser/src/content/autofill.css rename to apps/browser/src/autofill/content/autofill.css diff --git a/apps/browser/src/content/autofill.js b/apps/browser/src/autofill/content/autofill.js similarity index 100% rename from apps/browser/src/content/autofill.js rename to apps/browser/src/autofill/content/autofill.js diff --git a/apps/browser/src/content/autofiller.ts b/apps/browser/src/autofill/content/autofiller.ts similarity index 100% rename from apps/browser/src/content/autofiller.ts rename to apps/browser/src/autofill/content/autofiller.ts diff --git a/apps/browser/src/content/contextMenuHandler.ts b/apps/browser/src/autofill/content/context-menu-handler.ts similarity index 100% rename from apps/browser/src/content/contextMenuHandler.ts rename to apps/browser/src/autofill/content/context-menu-handler.ts diff --git a/apps/browser/src/content/message_handler.ts b/apps/browser/src/autofill/content/message_handler.ts similarity index 100% rename from apps/browser/src/content/message_handler.ts rename to apps/browser/src/autofill/content/message_handler.ts diff --git a/apps/browser/src/content/misc-utils.ts b/apps/browser/src/autofill/content/misc-utils.ts similarity index 89% rename from apps/browser/src/content/misc-utils.ts rename to apps/browser/src/autofill/content/misc-utils.ts index 94e2e0f7a09..b34a27a30a5 100644 --- a/apps/browser/src/content/misc-utils.ts +++ b/apps/browser/src/autofill/content/misc-utils.ts @@ -1,4 +1,4 @@ -import { TabMessage } from "../types/tab-messages"; +import { TabMessage } from "../../types/tab-messages"; async function copyText(text: string) { await window.navigator.clipboard.writeText(text); diff --git a/apps/browser/src/content/notificationBar.ts b/apps/browser/src/autofill/content/notification-bar.ts similarity index 99% rename from apps/browser/src/content/notificationBar.ts rename to apps/browser/src/autofill/content/notification-bar.ts index 76a8a7c277e..5a6d519b75e 100644 --- a/apps/browser/src/content/notificationBar.ts +++ b/apps/browser/src/autofill/content/notification-bar.ts @@ -1,5 +1,5 @@ -import AddLoginRuntimeMessage from "../background/models/addLoginRuntimeMessage"; -import ChangePasswordRuntimeMessage from "../background/models/changePasswordRuntimeMessage"; +import AddLoginRuntimeMessage from "../../background/models/addLoginRuntimeMessage"; +import ChangePasswordRuntimeMessage from "../../background/models/changePasswordRuntimeMessage"; document.addEventListener("DOMContentLoaded", (event) => { if (window.location.hostname.endsWith("vault.bitwarden.com")) { diff --git a/apps/browser/src/models/autofillField.ts b/apps/browser/src/autofill/models/autofill-field.ts similarity index 100% rename from apps/browser/src/models/autofillField.ts rename to apps/browser/src/autofill/models/autofill-field.ts diff --git a/apps/browser/src/models/autofillForm.ts b/apps/browser/src/autofill/models/autofill-form.ts similarity index 100% rename from apps/browser/src/models/autofillForm.ts rename to apps/browser/src/autofill/models/autofill-form.ts diff --git a/apps/browser/src/models/autofillPageDetails.ts b/apps/browser/src/autofill/models/autofill-page-details.ts similarity index 72% rename from apps/browser/src/models/autofillPageDetails.ts rename to apps/browser/src/autofill/models/autofill-page-details.ts index 1c91386930e..144ba07f632 100644 --- a/apps/browser/src/models/autofillPageDetails.ts +++ b/apps/browser/src/autofill/models/autofill-page-details.ts @@ -1,5 +1,5 @@ -import AutofillField from "./autofillField"; -import AutofillForm from "./autofillForm"; +import AutofillField from "./autofill-field"; +import AutofillForm from "./autofill-form"; export default class AutofillPageDetails { documentUUID: string; diff --git a/apps/browser/src/models/autofillScript.ts b/apps/browser/src/autofill/models/autofill-script.ts similarity index 100% rename from apps/browser/src/models/autofillScript.ts rename to apps/browser/src/autofill/models/autofill-script.ts diff --git a/apps/browser/src/notification/bar.html b/apps/browser/src/autofill/notification/bar.html similarity index 100% rename from apps/browser/src/notification/bar.html rename to apps/browser/src/autofill/notification/bar.html diff --git a/apps/browser/src/notification/bar.js b/apps/browser/src/autofill/notification/bar.js similarity index 100% rename from apps/browser/src/notification/bar.js rename to apps/browser/src/autofill/notification/bar.js diff --git a/apps/browser/src/notification/bar.scss b/apps/browser/src/autofill/notification/bar.scss similarity index 100% rename from apps/browser/src/notification/bar.scss rename to apps/browser/src/autofill/notification/bar.scss diff --git a/apps/browser/src/notification/variables.scss b/apps/browser/src/autofill/notification/variables.scss similarity index 100% rename from apps/browser/src/notification/variables.scss rename to apps/browser/src/autofill/notification/variables.scss diff --git a/apps/browser/src/services/abstractions/autofill.service.ts b/apps/browser/src/autofill/services/abstractions/autofill.service.ts similarity index 78% rename from apps/browser/src/services/abstractions/autofill.service.ts rename to apps/browser/src/autofill/services/abstractions/autofill.service.ts index c900875f5e4..b65467eec72 100644 --- a/apps/browser/src/services/abstractions/autofill.service.ts +++ b/apps/browser/src/autofill/services/abstractions/autofill.service.ts @@ -1,8 +1,8 @@ -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import AutofillField from "../../models/autofillField"; -import AutofillForm from "../../models/autofillForm"; -import AutofillPageDetails from "../../models/autofillPageDetails"; +import AutofillField from "../../models/autofill-field"; +import AutofillForm from "../../models/autofill-form"; +import AutofillPageDetails from "../../models/autofill-page-details"; export interface PageDetail { frameId: number; diff --git a/apps/browser/src/services/autofill.service.ts b/apps/browser/src/autofill/services/autofill.service.ts similarity index 98% rename from apps/browser/src/services/autofill.service.ts rename to apps/browser/src/autofill/services/autofill.service.ts index 60bcf3100f8..c7f9d879a4e 100644 --- a/apps/browser/src/services/autofill.service.ts +++ b/apps/browser/src/autofill/services/autofill.service.ts @@ -1,19 +1,25 @@ -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; -import { BrowserApi } from "../browser/browserApi"; -import AutofillField from "../models/autofillField"; -import AutofillPageDetails from "../models/autofillPageDetails"; -import AutofillScript from "../models/autofillScript"; +import { BrowserApi } from "../../browser/browserApi"; +import { BrowserStateService } from "../../services/abstractions/browser-state.service"; +import { + AutoFillConstants, + CreditCardAutoFillConstants, + IdentityAutoFillConstants, +} from "../../services/autofillConstants"; +import AutofillField from "../models/autofill-field"; +import AutofillPageDetails from "../models/autofill-page-details"; +import AutofillScript from "../models/autofill-script"; import { AutoFillOptions, @@ -21,12 +27,6 @@ import { PageDetail, FormData, } from "./abstractions/autofill.service"; -import { BrowserStateService } from "./abstractions/browser-state.service"; -import { - AutoFillConstants, - CreditCardAutoFillConstants, - IdentityAutoFillConstants, -} from "./autofillConstants"; export interface GenerateFillScriptOptions { skipUsernameOnlyFill: boolean; diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index 6b92367193c..8561564975a 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -3,7 +3,6 @@ import { ApiService as ApiServiceAbstraction } from "@bitwarden/common/abstracti import { AppIdService as AppIdServiceAbstraction } from "@bitwarden/common/abstractions/appId.service"; import { AuditService as AuditServiceAbstraction } from "@bitwarden/common/abstractions/audit.service"; import { AuthService as AuthServiceAbstraction } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService as CollectionServiceAbstraction } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService as CryptoServiceAbstraction } from "@bitwarden/common/abstractions/crypto.service"; import { CryptoFunctionService as CryptoFunctionServiceAbstraction } from "@bitwarden/common/abstractions/cryptoFunction.service"; @@ -12,8 +11,6 @@ import { EventCollectionService as EventCollectionServiceAbstraction } from "@bi import { EventUploadService as EventUploadServiceAbstraction } from "@bitwarden/common/abstractions/event/event-upload.service"; import { ExportService as ExportServiceAbstraction } from "@bitwarden/common/abstractions/export.service"; import { FileUploadService as FileUploadServiceAbstraction } from "@bitwarden/common/abstractions/fileUpload.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { InternalFolderService as InternalFolderServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService as KeyConnectorServiceAbstraction } from "@bitwarden/common/abstractions/keyConnector.service"; import { LogService as LogServiceAbstraction } from "@bitwarden/common/abstractions/log.service"; @@ -32,8 +29,6 @@ import { AbstractMemoryStorageService, AbstractStorageService, } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; -import { SyncNotifierService as SyncNotifierServiceAbstraction } from "@bitwarden/common/abstractions/sync/syncNotifier.service.abstraction"; import { SystemService as SystemServiceAbstraction } from "@bitwarden/common/abstractions/system.service"; import { TokenService as TokenServiceAbstraction } from "@bitwarden/common/abstractions/token.service"; import { TotpService as TotpServiceAbstraction } from "@bitwarden/common/abstractions/totp.service"; @@ -45,13 +40,11 @@ import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from "@bitwarde import { VaultTimeoutSettingsService as VaultTimeoutSettingsServiceAbstraction } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeoutSettings.service"; import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { AvatarUpdateService } from "@bitwarden/common/services/account/avatar-update.service"; import { ApiService } from "@bitwarden/common/services/api.service"; import { AppIdService } from "@bitwarden/common/services/appId.service"; import { AuditService } from "@bitwarden/common/services/audit.service"; import { AuthService } from "@bitwarden/common/services/auth.service"; -import { CipherService } from "@bitwarden/common/services/cipher.service"; import { CollectionService } from "@bitwarden/common/services/collection.service"; import { ConsoleLogService } from "@bitwarden/common/services/consoleLog.service"; import { ContainerService } from "@bitwarden/common/services/container.service"; @@ -61,7 +54,6 @@ import { EventCollectionService } from "@bitwarden/common/services/event/event-c import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service"; import { ExportService } from "@bitwarden/common/services/export.service"; import { FileUploadService } from "@bitwarden/common/services/fileUpload.service"; -import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.service"; import { KeyConnectorService } from "@bitwarden/common/services/keyConnector.service"; import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service"; import { NotificationsService } from "@bitwarden/common/services/notifications.service"; @@ -71,8 +63,6 @@ import { ProviderService } from "@bitwarden/common/services/provider.service"; import { SearchService } from "@bitwarden/common/services/search.service"; import { SendService } from "@bitwarden/common/services/send.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync/sync.service"; -import { SyncNotifierService } from "@bitwarden/common/services/sync/syncNotifier.service"; import { SystemService } from "@bitwarden/common/services/system.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; @@ -82,22 +72,34 @@ import { UserVerificationService } from "@bitwarden/common/services/userVerifica import { UsernameGenerationService } from "@bitwarden/common/services/usernameGeneration.service"; import { VaultTimeoutSettingsService } from "@bitwarden/common/services/vaultTimeout/vaultTimeoutSettings.service"; import { WebCryptoFunctionService } from "@bitwarden/common/services/webCryptoFunction.service"; +import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { InternalFolderService as InternalFolderServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { SyncNotifierService as SyncNotifierServiceAbstraction } from "@bitwarden/common/vault/abstractions/sync/sync-notifier.service.abstraction"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/services/cipher.service"; +import { FolderApiService } from "@bitwarden/common/vault/services/folder/folder-api.service"; +import { SyncNotifierService } from "@bitwarden/common/vault/services/sync/sync-notifier.service"; +import { SyncService } from "@bitwarden/common/vault/services/sync/sync.service"; +import ContextMenusBackground from "../autofill/background/context-menus.background"; +import NotificationBackground from "../autofill/background/notification.background"; +import TabsBackground from "../autofill/background/tabs.background"; +import { CipherContextMenuHandler } from "../autofill/browser/cipher-context-menu-handler"; +import { ContextMenuClickedHandler } from "../autofill/browser/context-menu-clicked-handler"; +import { MainContextMenuHandler } from "../autofill/browser/main-context-menu-handler"; +import { AutofillTabCommand } from "../autofill/commands/autofill-tab-command"; +import { AutofillService as AutofillServiceAbstraction } from "../autofill/services/abstractions/autofill.service"; +import AutofillService from "../autofill/services/autofill.service"; import { BrowserApi } from "../browser/browserApi"; -import { CipherContextMenuHandler } from "../browser/cipher-context-menu-handler"; -import { ContextMenuClickedHandler } from "../browser/context-menu-clicked-handler"; -import { MainContextMenuHandler } from "../browser/main-context-menu-handler"; import { SafariApp } from "../browser/safariApp"; -import { AutofillTabCommand } from "../commands/autofill-tab-command"; import { flagEnabled } from "../flags"; import { UpdateBadge } from "../listeners/update-badge"; import { Account } from "../models/account"; import { PopupUtilsService } from "../popup/services/popup-utils.service"; -import { AutofillService as AutofillServiceAbstraction } from "../services/abstractions/autofill.service"; import { BrowserStateService as StateServiceAbstraction } from "../services/abstractions/browser-state.service"; -import AutofillService from "../services/autofill.service"; import { BrowserEnvironmentService } from "../services/browser-environment.service"; -import { BrowserFolderService } from "../services/browser-folder.service"; import { BrowserI18nService } from "../services/browser-i18n.service"; import { BrowserOrganizationService } from "../services/browser-organization.service"; import { BrowserPolicyService } from "../services/browser-policy.service"; @@ -110,16 +112,14 @@ import BrowserMessagingPrivateModeBackgroundService from "../services/browserMes import BrowserPlatformUtilsService from "../services/browserPlatformUtils.service"; import { KeyGenerationService } from "../services/keyGeneration.service"; import { LocalBackedSessionStorageService } from "../services/localBackedSessionStorage.service"; -import { VaultFilterService } from "../services/vaultFilter.service"; import VaultTimeoutService from "../services/vaultTimeout/vaultTimeout.service"; +import { BrowserFolderService } from "../vault/services/browser-folder.service"; +import { VaultFilterService } from "../vault/services/vault-filter.service"; import CommandsBackground from "./commands.background"; -import ContextMenusBackground from "./contextMenus.background"; import IdleBackground from "./idle.background"; import { NativeMessagingBackground } from "./nativeMessaging.background"; -import NotificationBackground from "./notification.background"; import RuntimeBackground from "./runtime.background"; -import TabsBackground from "./tabs.background"; import WebRequestBackground from "./webRequest.background"; export default class MainBackground { diff --git a/apps/browser/src/background/runtime.background.ts b/apps/browser/src/background/runtime.background.ts index 1e0dee9e789..5576640c546 100644 --- a/apps/browser/src/background/runtime.background.ts +++ b/apps/browser/src/background/runtime.background.ts @@ -5,8 +5,8 @@ import { NotificationsService } from "@bitwarden/common/abstractions/notificatio import { SystemService } from "@bitwarden/common/abstractions/system.service"; import { Utils } from "@bitwarden/common/misc/utils"; +import { AutofillService } from "../autofill/services/abstractions/autofill.service"; import { BrowserApi } from "../browser/browserApi"; -import { AutofillService } from "../services/abstractions/autofill.service"; import { BrowserEnvironmentService } from "../services/browser-environment.service"; import BrowserPlatformUtilsService from "../services/browserPlatformUtils.service"; diff --git a/apps/browser/src/background/service_factories/event-collection-service.factory.ts b/apps/browser/src/background/service_factories/event-collection-service.factory.ts index 477797d1b42..4266db43ece 100644 --- a/apps/browser/src/background/service_factories/event-collection-service.factory.ts +++ b/apps/browser/src/background/service_factories/event-collection-service.factory.ts @@ -1,7 +1,11 @@ import { EventCollectionService as AbstractEventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { EventCollectionService } from "@bitwarden/common/services/event/event-collection.service"; -import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; +import { + cipherServiceFactory, + CipherServiceInitOptions, +} from "../../vault/background/service_factories/cipher-service.factory"; + import { eventUploadServiceFactory, EventUploadServiceInitOptions, diff --git a/apps/browser/src/background/service_factories/search-service.factory.ts b/apps/browser/src/background/service_factories/search-service.factory.ts index 29318c45250..09d26237e14 100644 --- a/apps/browser/src/background/service_factories/search-service.factory.ts +++ b/apps/browser/src/background/service_factories/search-service.factory.ts @@ -1,7 +1,11 @@ import { SearchService as AbstractSearchService } from "@bitwarden/common/abstractions/search.service"; import { SearchService } from "@bitwarden/common/services/search.service"; -import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; +import { + cipherServiceFactory, + CipherServiceInitOptions, +} from "../../vault/background/service_factories/cipher-service.factory"; + import { CachedServices, factory, FactoryOptions } from "./factory-options"; import { i18nServiceFactory, I18nServiceInitOptions } from "./i18n-service.factory"; import { logServiceFactory, LogServiceInitOptions } from "./log-service.factory"; diff --git a/apps/browser/src/background/service_factories/vault-timeout-service.factory.ts b/apps/browser/src/background/service_factories/vault-timeout-service.factory.ts index 3029b94f008..7dc28fd88fa 100644 --- a/apps/browser/src/background/service_factories/vault-timeout-service.factory.ts +++ b/apps/browser/src/background/service_factories/vault-timeout-service.factory.ts @@ -1,16 +1,22 @@ import { VaultTimeoutService as AbstractVaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeout.service"; import VaultTimeoutService from "../../services/vaultTimeout/vaultTimeout.service"; +import { + cipherServiceFactory, + CipherServiceInitOptions, +} from "../../vault/background/service_factories/cipher-service.factory"; +import { + folderServiceFactory, + FolderServiceInitOptions, +} from "../../vault/background/service_factories/folder-service.factory"; import { authServiceFactory, AuthServiceInitOptions } from "./auth-service.factory"; -import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; import { collectionServiceFactory, CollectionServiceInitOptions, } from "./collection-service.factory"; import { cryptoServiceFactory, CryptoServiceInitOptions } from "./crypto-service.factory"; import { CachedServices, factory, FactoryOptions } from "./factory-options"; -import { folderServiceFactory, FolderServiceInitOptions } from "./folder-service.factory"; import { keyConnectorServiceFactory, KeyConnectorServiceInitOptions, diff --git a/apps/browser/src/background/webRequest.background.ts b/apps/browser/src/background/webRequest.background.ts index b4b4cc4f37c..6424dec3b45 100644 --- a/apps/browser/src/background/webRequest.background.ts +++ b/apps/browser/src/background/webRequest.background.ts @@ -1,8 +1,8 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { BrowserApi } from "../browser/browserApi"; diff --git a/apps/browser/src/listeners/index.ts b/apps/browser/src/listeners/index.ts index 0c00dea784f..e9dc0908278 100644 --- a/apps/browser/src/listeners/index.ts +++ b/apps/browser/src/listeners/index.ts @@ -1,5 +1,5 @@ -import { CipherContextMenuHandler } from "../browser/cipher-context-menu-handler"; -import { ContextMenuClickedHandler } from "../browser/context-menu-clicked-handler"; +import { CipherContextMenuHandler } from "../autofill/browser/cipher-context-menu-handler"; +import { ContextMenuClickedHandler } from "../autofill/browser/context-menu-clicked-handler"; import { combine } from "./combine"; import { onCommandListener } from "./onCommandListener"; diff --git a/apps/browser/src/listeners/onCommandListener.ts b/apps/browser/src/listeners/onCommandListener.ts index 395285d40e6..319dda7b014 100644 --- a/apps/browser/src/listeners/onCommandListener.ts +++ b/apps/browser/src/listeners/onCommandListener.ts @@ -3,8 +3,10 @@ import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStat import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; +import { autofillServiceFactory } from "../autofill/background/service_factories/autofill-service.factory"; +import { GeneratePasswordToClipboardCommand } from "../autofill/clipboard"; +import { AutofillTabCommand } from "../autofill/commands/autofill-tab-command"; import { authServiceFactory } from "../background/service_factories/auth-service.factory"; -import { autofillServiceFactory } from "../background/service_factories/autofill-service.factory"; import { CachedServices } from "../background/service_factories/factory-options"; import { logServiceFactory } from "../background/service_factories/log-service.factory"; import { @@ -13,8 +15,6 @@ import { } from "../background/service_factories/password-generation-service.factory"; import { stateServiceFactory } from "../background/service_factories/state-service.factory"; import { BrowserApi } from "../browser/browserApi"; -import { GeneratePasswordToClipboardCommand } from "../clipboard"; -import { AutofillTabCommand } from "../commands/autofill-tab-command"; import { Account } from "../models/account"; export const onCommandListener = async (command: string, tab: chrome.tabs.Tab) => { diff --git a/apps/browser/src/listeners/update-badge.ts b/apps/browser/src/listeners/update-badge.ts index ac1ce880389..8595d2ae437 100644 --- a/apps/browser/src/listeners/update-badge.ts +++ b/apps/browser/src/listeners/update-badge.ts @@ -1,5 +1,4 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EncryptService } from "@bitwarden/common/abstractions/encrypt.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; @@ -7,16 +6,17 @@ import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { Utils } from "@bitwarden/common/misc/utils"; import { GlobalState } from "@bitwarden/common/models/domain/global-state"; import { ContainerService } from "@bitwarden/common/services/container.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; -import IconDetails from "../background/models/iconDetails"; import { authServiceFactory } from "../background/service_factories/auth-service.factory"; -import { cipherServiceFactory } from "../background/service_factories/cipher-service.factory"; import { searchServiceFactory } from "../background/service_factories/search-service.factory"; import { stateServiceFactory } from "../background/service_factories/state-service.factory"; import { BrowserApi } from "../browser/browserApi"; import { Account } from "../models/account"; import { BrowserStateService } from "../services/abstractions/browser-state.service"; import BrowserPlatformUtilsService from "../services/browserPlatformUtils.service"; +import IconDetails from "../vault/background/models/icon-details"; +import { cipherServiceFactory } from "../vault/background/service_factories/cipher-service.factory"; export type BadgeOptions = { tab?: chrome.tabs.Tab; diff --git a/apps/browser/src/models/browserGroupingsComponentState.ts b/apps/browser/src/models/browserGroupingsComponentState.ts index f406e3d8271..a09c336f961 100644 --- a/apps/browser/src/models/browserGroupingsComponentState.ts +++ b/apps/browser/src/models/browserGroupingsComponentState.ts @@ -1,9 +1,9 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; import { DeepJsonify } from "@bitwarden/common/types/deep-jsonify"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { BrowserComponentState } from "./browserComponentState"; diff --git a/apps/browser/src/popup/accounts/login.component.ts b/apps/browser/src/popup/accounts/login.component.ts index 7630f31ac3d..5defbb472b9 100644 --- a/apps/browser/src/popup/accounts/login.component.ts +++ b/apps/browser/src/popup/accounts/login.component.ts @@ -15,8 +15,8 @@ import { LoginService } from "@bitwarden/common/abstractions/login.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Utils } from "@bitwarden/common/misc/utils"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-login", diff --git a/apps/browser/src/popup/accounts/set-password.component.ts b/apps/browser/src/popup/accounts/set-password.component.ts index 25732b07148..c8d42b961ab 100644 --- a/apps/browser/src/popup/accounts/set-password.component.ts +++ b/apps/browser/src/popup/accounts/set-password.component.ts @@ -13,7 +13,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-set-password", diff --git a/apps/browser/src/popup/accounts/sso.component.ts b/apps/browser/src/popup/accounts/sso.component.ts index 7483cc51a27..09b6cd8d85e 100644 --- a/apps/browser/src/popup/accounts/sso.component.ts +++ b/apps/browser/src/popup/accounts/sso.component.ts @@ -11,9 +11,9 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeout.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { BrowserApi } from "../../browser/browserApi"; diff --git a/apps/browser/src/popup/accounts/two-factor.component.ts b/apps/browser/src/popup/accounts/two-factor.component.ts index 5bfb637e4ca..d97cedeb3f2 100644 --- a/apps/browser/src/popup/accounts/two-factor.component.ts +++ b/apps/browser/src/popup/accounts/two-factor.component.ts @@ -14,9 +14,9 @@ import { LoginService } from "@bitwarden/common/abstractions/login.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { TwoFactorProviderType } from "@bitwarden/common/enums/twoFactorProviderType"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { BrowserApi } from "../../browser/browserApi"; import { PopupUtilsService } from "../services/popup-utils.service"; diff --git a/apps/browser/src/popup/accounts/update-temp-password.component.ts b/apps/browser/src/popup/accounts/update-temp-password.component.ts index 9468209f36e..aa9b75940a2 100644 --- a/apps/browser/src/popup/accounts/update-temp-password.component.ts +++ b/apps/browser/src/popup/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/browser/src/popup/app-routing.module.ts b/apps/browser/src/popup/app-routing.module.ts index 2ba44c1e4ae..1969fb564ae 100644 --- a/apps/browser/src/popup/app-routing.module.ts +++ b/apps/browser/src/popup/app-routing.module.ts @@ -5,6 +5,15 @@ import { AuthGuard } from "@bitwarden/angular/guards/auth.guard"; import { LockGuard } from "@bitwarden/angular/guards/lock.guard"; import { UnauthGuard } from "@bitwarden/angular/guards/unauth.guard"; +import { AddEditComponent } from "../vault/popup/components/vault/add-edit.component"; +import { AttachmentsComponent } from "../vault/popup/components/vault/attachments.component"; +import { CurrentTabComponent } from "../vault/popup/components/vault/current-tab.component"; +import { PasswordHistoryComponent } from "../vault/popup/components/vault/password-history.component"; +import { ShareComponent } from "../vault/popup/components/vault/share.component"; +import { VaultFilterComponent } from "../vault/popup/components/vault/vault-filter.component"; +import { VaultItemsComponent } from "../vault/popup/components/vault/vault-items.component"; +import { ViewComponent } from "../vault/popup/components/vault/view.component"; + import { EnvironmentComponent } from "./accounts/environment.component"; import { HintComponent } from "./accounts/hint.component"; import { HomeComponent } from "./accounts/home.component"; @@ -32,15 +41,7 @@ import { PremiumComponent } from "./settings/premium.component"; import { SettingsComponent } from "./settings/settings.component"; import { SyncComponent } from "./settings/sync.component"; import { TabsComponent } from "./tabs.component"; -import { AddEditComponent } from "./vault/add-edit.component"; -import { AttachmentsComponent } from "./vault/attachments.component"; import { CollectionsComponent } from "./vault/collections.component"; -import { CurrentTabComponent } from "./vault/current-tab.component"; -import { PasswordHistoryComponent } from "./vault/password-history.component"; -import { ShareComponent } from "./vault/share.component"; -import { VaultFilterComponent } from "./vault/vault-filter.component"; -import { VaultItemsComponent } from "./vault/vault-items.component"; -import { ViewComponent } from "./vault/view.component"; const routes: Routes = [ { diff --git a/apps/browser/src/popup/app.module.ts b/apps/browser/src/popup/app.module.ts index e871b2a7874..56975417154 100644 --- a/apps/browser/src/popup/app.module.ts +++ b/apps/browser/src/popup/app.module.ts @@ -67,6 +67,22 @@ import { JslibModule } from "@bitwarden/angular/jslib.module"; import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe"; import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe"; +import { CollectionsComponent } from "../popup/vault/collections.component"; +import { ActionButtonsComponent } from "../vault/popup/components/action-buttons.component"; +import { CipherRowComponent } from "../vault/popup/components/cipher-row.component"; +import { PasswordRepromptComponent } from "../vault/popup/components/password-reprompt.component"; +import { AddEditCustomFieldsComponent } from "../vault/popup/components/vault/add-edit-custom-fields.component"; +import { AddEditComponent } from "../vault/popup/components/vault/add-edit.component"; +import { AttachmentsComponent } from "../vault/popup/components/vault/attachments.component"; +import { CurrentTabComponent } from "../vault/popup/components/vault/current-tab.component"; +import { PasswordHistoryComponent } from "../vault/popup/components/vault/password-history.component"; +import { ShareComponent } from "../vault/popup/components/vault/share.component"; +import { VaultFilterComponent } from "../vault/popup/components/vault/vault-filter.component"; +import { VaultItemsComponent } from "../vault/popup/components/vault/vault-items.component"; +import { VaultSelectComponent } from "../vault/popup/components/vault/vault-select.component"; +import { ViewCustomFieldsComponent } from "../vault/popup/components/vault/view-custom-fields.component"; +import { ViewComponent } from "../vault/popup/components/vault/view.component"; + import { EnvironmentComponent } from "./accounts/environment.component"; import { HintComponent } from "./accounts/hint.component"; import { HomeComponent } from "./accounts/home.component"; @@ -81,9 +97,6 @@ import { TwoFactorComponent } from "./accounts/two-factor.component"; import { UpdateTempPasswordComponent } from "./accounts/update-temp-password.component"; import { AppRoutingModule } from "./app-routing.module"; import { AppComponent } from "./app.component"; -import { ActionButtonsComponent } from "./components/action-buttons.component"; -import { CipherRowComponent } from "./components/cipher-row.component"; -import { PasswordRepromptComponent } from "./components/password-reprompt.component"; import { PopOutComponent } from "./components/pop-out.component"; import { PrivateModeWarningComponent } from "./components/private-mode-warning.component"; import { SendListComponent } from "./components/send-list.component"; @@ -107,18 +120,6 @@ import { SettingsComponent } from "./settings/settings.component"; import { SyncComponent } from "./settings/sync.component"; import { VaultTimeoutInputComponent } from "./settings/vault-timeout-input.component"; import { TabsComponent } from "./tabs.component"; -import { AddEditCustomFieldsComponent } from "./vault/add-edit-custom-fields.component"; -import { AddEditComponent } from "./vault/add-edit.component"; -import { AttachmentsComponent } from "./vault/attachments.component"; -import { CollectionsComponent } from "./vault/collections.component"; -import { CurrentTabComponent } from "./vault/current-tab.component"; -import { PasswordHistoryComponent } from "./vault/password-history.component"; -import { ShareComponent } from "./vault/share.component"; -import { VaultFilterComponent } from "./vault/vault-filter.component"; -import { VaultItemsComponent } from "./vault/vault-items.component"; -import { VaultSelectComponent } from "./vault/vault-select.component"; -import { ViewCustomFieldsComponent } from "./vault/view-custom-fields.component"; -import { ViewComponent } from "./vault/view.component"; registerLocaleData(localeAr, "ar"); registerLocaleData(localeAz, "az"); diff --git a/apps/browser/src/popup/generator/generator.component.ts b/apps/browser/src/popup/generator/generator.component.ts index cff5e9e3c37..d16115f53d2 100644 --- a/apps/browser/src/popup/generator/generator.component.ts +++ b/apps/browser/src/popup/generator/generator.component.ts @@ -9,7 +9,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { UsernameGenerationService } from "@bitwarden/common/abstractions/usernameGeneration.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Component({ selector: "app-generator", diff --git a/apps/browser/src/popup/send/send-groupings.component.ts b/apps/browser/src/popup/send/send-groupings.component.ts index a5d63eb9d58..5e442f71122 100644 --- a/apps/browser/src/popup/send/send-groupings.component.ts +++ b/apps/browser/src/popup/send/send-groupings.component.ts @@ -10,9 +10,9 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SendService } from "@bitwarden/common/abstractions/send.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { SendType } from "@bitwarden/common/enums/sendType"; import { SendView } from "@bitwarden/common/models/view/send.view"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { BrowserSendComponentState } from "../../models/browserSendComponentState"; import { BrowserStateService } from "../../services/abstractions/browser-state.service"; diff --git a/apps/browser/src/popup/services/popup-search.service.ts b/apps/browser/src/popup/services/popup-search.service.ts index bf65522b8f3..b36ea5a060f 100644 --- a/apps/browser/src/popup/services/popup-search.service.ts +++ b/apps/browser/src/popup/services/popup-search.service.ts @@ -1,7 +1,7 @@ -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { ConsoleLogService } from "@bitwarden/common/services/consoleLog.service"; import { SearchService } from "@bitwarden/common/services/search.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; export class PopupSearchService extends SearchService { constructor( diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index 5d9da20d2a4..0ec710cc1cf 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -10,7 +10,6 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AppIdService } from "@bitwarden/common/abstractions/appId.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { AuthService as AuthServiceAbstraction } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { ConfigApiServiceAbstraction } from "@bitwarden/common/abstractions/config/config-api.service.abstraction"; import { ConfigServiceAbstraction } from "@bitwarden/common/abstractions/config/config.service.abstraction"; @@ -23,11 +22,6 @@ import { EventUploadService } from "@bitwarden/common/abstractions/event/event-u import { ExportService } from "@bitwarden/common/abstractions/export.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { FileUploadService } from "@bitwarden/common/abstractions/fileUpload.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { - FolderService, - InternalFolderService, -} from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { LogService as LogServiceAbstraction } from "@bitwarden/common/abstractions/log.service"; @@ -36,7 +30,6 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { @@ -56,7 +49,6 @@ import { AbstractMemoryStorageService, AbstractStorageService, } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; @@ -69,19 +61,26 @@ import { GlobalState } from "@bitwarden/common/models/domain/global-state"; import { AuthService } from "@bitwarden/common/services/auth.service"; import { ConsoleLogService } from "@bitwarden/common/services/consoleLog.service"; import { ContainerService } from "@bitwarden/common/services/container.service"; -import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.service"; import { LoginService } from "@bitwarden/common/services/login.service"; import { PolicyApiService } from "@bitwarden/common/services/policy/policy-api.service"; import { SearchService } from "@bitwarden/common/services/search.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { + FolderService, + InternalFolderService, +} from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { FolderApiService } from "@bitwarden/common/vault/services/folder/folder-api.service"; +import { AutofillService } from "../../autofill/services/abstractions/autofill.service"; import MainBackground from "../../background/main.background"; import { BrowserApi } from "../../browser/browserApi"; import { Account } from "../../models/account"; -import { AutofillService } from "../../services/abstractions/autofill.service"; import { BrowserStateService as StateServiceAbstraction } from "../../services/abstractions/browser-state.service"; import { BrowserConfigService } from "../../services/browser-config.service"; import { BrowserEnvironmentService } from "../../services/browser-environment.service"; -import { BrowserFolderService } from "../../services/browser-folder.service"; import { BrowserI18nService } from "../../services/browser-i18n.service"; import { BrowserOrganizationService } from "../../services/browser-organization.service"; import { BrowserPolicyService } from "../../services/browser-policy.service"; @@ -90,12 +89,13 @@ import { BrowserStateService } from "../../services/browser-state.service"; import { BrowserFileDownloadService } from "../../services/browserFileDownloadService"; import BrowserMessagingService from "../../services/browserMessaging.service"; import BrowserMessagingPrivateModePopupService from "../../services/browserMessagingPrivateModePopup.service"; -import { VaultFilterService } from "../../services/vaultFilter.service"; +import { PasswordRepromptService } from "../../vault/popup/services/password-reprompt.service"; +import { BrowserFolderService } from "../../vault/services/browser-folder.service"; +import { VaultFilterService } from "../../vault/services/vault-filter.service"; import { DebounceNavigationService } from "./debounceNavigationService"; import { InitService } from "./init.service"; import { LockGuardService } from "./lock-guard.service"; -import { PasswordRepromptService } from "./password-reprompt.service"; import { PopupSearchService } from "./popup-search.service"; import { PopupUtilsService } from "./popup-utils.service"; import { UnauthGuardService } from "./unauth-guard.service"; diff --git a/apps/browser/src/popup/settings/folder-add-edit.component.ts b/apps/browser/src/popup/settings/folder-add-edit.component.ts index 8ff8ba3b1a2..54c7cc7d435 100644 --- a/apps/browser/src/popup/settings/folder-add-edit.component.ts +++ b/apps/browser/src/popup/settings/folder-add-edit.component.ts @@ -2,12 +2,12 @@ import { Component } from "@angular/core"; import { ActivatedRoute, Router } from "@angular/router"; import { first } from "rxjs/operators"; -import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/components/folder-add-edit.component"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; +import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/vault/components/folder-add-edit.component"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; @Component({ selector: "app-folder-add-edit", diff --git a/apps/browser/src/popup/settings/folders.component.ts b/apps/browser/src/popup/settings/folders.component.ts index 45f92d52212..cae5d6f5106 100644 --- a/apps/browser/src/popup/settings/folders.component.ts +++ b/apps/browser/src/popup/settings/folders.component.ts @@ -2,8 +2,8 @@ import { Component } from "@angular/core"; import { Router } from "@angular/router"; import { map, Observable } from "rxjs"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; @Component({ selector: "app-folders", diff --git a/apps/browser/src/popup/settings/premium.component.ts b/apps/browser/src/popup/settings/premium.component.ts index d44fdb09a70..2bb7383da35 100644 --- a/apps/browser/src/popup/settings/premium.component.ts +++ b/apps/browser/src/popup/settings/premium.component.ts @@ -1,7 +1,7 @@ import { CurrencyPipe, Location } from "@angular/common"; import { Component } from "@angular/core"; -import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/components/premium.component"; +import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; diff --git a/apps/browser/src/popup/settings/sync.component.ts b/apps/browser/src/popup/settings/sync.component.ts index 4b77870aa1d..2ce6d2c27b3 100644 --- a/apps/browser/src/popup/settings/sync.component.ts +++ b/apps/browser/src/popup/settings/sync.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from "@angular/core"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-sync", diff --git a/apps/browser/src/popup/vault/collections.component.ts b/apps/browser/src/popup/vault/collections.component.ts index 13e529ce737..766b51e2ec9 100644 --- a/apps/browser/src/popup/vault/collections.component.ts +++ b/apps/browser/src/popup/vault/collections.component.ts @@ -4,11 +4,11 @@ import { ActivatedRoute } from "@angular/router"; import { first } from "rxjs/operators"; import { CollectionsComponent as BaseCollectionsComponent } from "@bitwarden/angular/components/collections.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-collections", diff --git a/apps/browser/src/background/models/iconDetails.ts b/apps/browser/src/vault/background/models/icon-details.ts similarity index 100% rename from apps/browser/src/background/models/iconDetails.ts rename to apps/browser/src/vault/background/models/icon-details.ts diff --git a/apps/browser/src/background/service_factories/cipher-service.factory.ts b/apps/browser/src/vault/background/service_factories/cipher-service.factory.ts similarity index 55% rename from apps/browser/src/background/service_factories/cipher-service.factory.ts rename to apps/browser/src/vault/background/service_factories/cipher-service.factory.ts index 020c19983c2..ad2259f1415 100644 --- a/apps/browser/src/background/service_factories/cipher-service.factory.ts +++ b/apps/browser/src/vault/background/service_factories/cipher-service.factory.ts @@ -1,19 +1,44 @@ -import { CipherService as AbstractCipherService } from "@bitwarden/common/abstractions/cipher.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { CipherService } from "@bitwarden/common/services/cipher.service"; +import { CipherService as AbstractCipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherService } from "@bitwarden/common/vault/services/cipher.service"; -import { apiServiceFactory, ApiServiceInitOptions } from "./api-service.factory"; -import { cryptoServiceFactory, CryptoServiceInitOptions } from "./crypto-service.factory"; -import { encryptServiceFactory, EncryptServiceInitOptions } from "./encrypt-service.factory"; -import { CachedServices, factory, FactoryOptions } from "./factory-options"; +import { + apiServiceFactory, + ApiServiceInitOptions, +} from "../../../background/service_factories/api-service.factory"; +import { + cryptoServiceFactory, + CryptoServiceInitOptions, +} from "../../../background/service_factories/crypto-service.factory"; +import { + encryptServiceFactory, + EncryptServiceInitOptions, +} from "../../../background/service_factories/encrypt-service.factory"; +import { + CachedServices, + factory, + FactoryOptions, +} from "../../../background/service_factories/factory-options"; import { FileUploadServiceInitOptions, fileUploadServiceFactory, -} from "./file-upload-service.factory"; -import { i18nServiceFactory, I18nServiceInitOptions } from "./i18n-service.factory"; -import { logServiceFactory, LogServiceInitOptions } from "./log-service.factory"; -import { SettingsServiceInitOptions, settingsServiceFactory } from "./settings-service.factory"; -import { stateServiceFactory, StateServiceInitOptions } from "./state-service.factory"; +} from "../../../background/service_factories/file-upload-service.factory"; +import { + i18nServiceFactory, + I18nServiceInitOptions, +} from "../../../background/service_factories/i18n-service.factory"; +import { + logServiceFactory, + LogServiceInitOptions, +} from "../../../background/service_factories/log-service.factory"; +import { + SettingsServiceInitOptions, + settingsServiceFactory, +} from "../../../background/service_factories/settings-service.factory"; +import { + stateServiceFactory, + StateServiceInitOptions, +} from "../../../background/service_factories/state-service.factory"; type CipherServiceFactoryOptions = FactoryOptions & { cipherServiceOptions?: { diff --git a/apps/browser/src/background/service_factories/folder-service.factory.ts b/apps/browser/src/vault/background/service_factories/folder-service.factory.ts similarity index 67% rename from apps/browser/src/background/service_factories/folder-service.factory.ts rename to apps/browser/src/vault/background/service_factories/folder-service.factory.ts index bb35970325f..ba6cad613fc 100644 --- a/apps/browser/src/background/service_factories/folder-service.factory.ts +++ b/apps/browser/src/vault/background/service_factories/folder-service.factory.ts @@ -1,15 +1,25 @@ -import { FolderService as AbstractFolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; +import { FolderService as AbstractFolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; -import { BrowserFolderService } from "../../services/browser-folder.service"; - -import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; -import { cryptoServiceFactory, CryptoServiceInitOptions } from "./crypto-service.factory"; -import { CachedServices, factory, FactoryOptions } from "./factory-options"; -import { i18nServiceFactory, I18nServiceInitOptions } from "./i18n-service.factory"; +import { + cryptoServiceFactory, + CryptoServiceInitOptions, +} from "../../../background/service_factories/crypto-service.factory"; +import { + CachedServices, + factory, + FactoryOptions, +} from "../../../background/service_factories/factory-options"; +import { + i18nServiceFactory, + I18nServiceInitOptions, +} from "../../../background/service_factories/i18n-service.factory"; import { stateServiceFactory as stateServiceFactory, StateServiceInitOptions, -} from "./state-service.factory"; +} from "../../../background/service_factories/state-service.factory"; +import { BrowserFolderService } from "../../services/browser-folder.service"; + +import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory"; type FolderServiceFactoryOptions = FactoryOptions; diff --git a/apps/browser/src/background/service_factories/sync-notifier-service.factory.ts b/apps/browser/src/vault/background/service_factories/sync-notifier-service.factory.ts similarity index 63% rename from apps/browser/src/background/service_factories/sync-notifier-service.factory.ts rename to apps/browser/src/vault/background/service_factories/sync-notifier-service.factory.ts index 58699bdff58..78ebb0c7730 100644 --- a/apps/browser/src/background/service_factories/sync-notifier-service.factory.ts +++ b/apps/browser/src/vault/background/service_factories/sync-notifier-service.factory.ts @@ -1,7 +1,11 @@ -import { SyncNotifierService as AbstractSyncNotifierService } from "@bitwarden/common/abstractions/sync/syncNotifier.service.abstraction"; -import { SyncNotifierService } from "@bitwarden/common/services/sync/syncNotifier.service"; +import { SyncNotifierService as AbstractSyncNotifierService } from "@bitwarden/common/vault/abstractions/sync/sync-notifier.service.abstraction"; +import { SyncNotifierService } from "@bitwarden/common/vault/services/sync/sync-notifier.service"; -import { FactoryOptions, CachedServices, factory } from "./factory-options"; +import { + FactoryOptions, + CachedServices, + factory, +} from "../../../background/service_factories/factory-options"; type SyncNotifierServiceFactoryOptions = FactoryOptions; diff --git a/apps/browser/src/popup/components/action-buttons.component.html b/apps/browser/src/vault/popup/components/action-buttons.component.html similarity index 100% rename from apps/browser/src/popup/components/action-buttons.component.html rename to apps/browser/src/vault/popup/components/action-buttons.component.html diff --git a/apps/browser/src/popup/components/action-buttons.component.ts b/apps/browser/src/vault/popup/components/action-buttons.component.ts similarity index 88% rename from apps/browser/src/popup/components/action-buttons.component.ts rename to apps/browser/src/vault/popup/components/action-buttons.component.ts index 60bc0051fbb..f2a75b7de51 100644 --- a/apps/browser/src/popup/components/action-buttons.component.ts +++ b/apps/browser/src/vault/popup/components/action-buttons.component.ts @@ -2,14 +2,14 @@ import { Component, EventEmitter, Input, Output } from "@angular/core"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Component({ selector: "app-action-buttons", diff --git a/apps/browser/src/popup/components/cipher-row.component.html b/apps/browser/src/vault/popup/components/cipher-row.component.html similarity index 100% rename from apps/browser/src/popup/components/cipher-row.component.html rename to apps/browser/src/vault/popup/components/cipher-row.component.html diff --git a/apps/browser/src/popup/components/cipher-row.component.ts b/apps/browser/src/vault/popup/components/cipher-row.component.ts similarity index 89% rename from apps/browser/src/popup/components/cipher-row.component.ts rename to apps/browser/src/vault/popup/components/cipher-row.component.ts index bb99316dd25..e2992ad1840 100644 --- a/apps/browser/src/popup/components/cipher-row.component.ts +++ b/apps/browser/src/vault/popup/components/cipher-row.component.ts @@ -1,6 +1,6 @@ import { Component, EventEmitter, Input, Output } from "@angular/core"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Component({ selector: "app-cipher-row", diff --git a/apps/browser/src/popup/components/password-reprompt.component.html b/apps/browser/src/vault/popup/components/password-reprompt.component.html similarity index 100% rename from apps/browser/src/popup/components/password-reprompt.component.html rename to apps/browser/src/vault/popup/components/password-reprompt.component.html diff --git a/apps/desktop/src/app/components/password-reprompt.component.ts b/apps/browser/src/vault/popup/components/password-reprompt.component.ts similarity index 76% rename from apps/desktop/src/app/components/password-reprompt.component.ts rename to apps/browser/src/vault/popup/components/password-reprompt.component.ts index ef72c8a7a17..f63da5ed48e 100644 --- a/apps/desktop/src/app/components/password-reprompt.component.ts +++ b/apps/browser/src/vault/popup/components/password-reprompt.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/components/password-reprompt.component"; +import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/vault/components/password-reprompt.component"; @Component({ templateUrl: "password-reprompt.component.html", diff --git a/apps/browser/src/popup/vault/add-edit-custom-fields.component.html b/apps/browser/src/vault/popup/components/vault/add-edit-custom-fields.component.html similarity index 100% rename from apps/browser/src/popup/vault/add-edit-custom-fields.component.html rename to apps/browser/src/vault/popup/components/vault/add-edit-custom-fields.component.html diff --git a/apps/desktop/src/app/vault/add-edit-custom-fields.component.ts b/apps/browser/src/vault/popup/components/vault/add-edit-custom-fields.component.ts similarity index 87% rename from apps/desktop/src/app/vault/add-edit-custom-fields.component.ts rename to apps/browser/src/vault/popup/components/vault/add-edit-custom-fields.component.ts index 44f9e9539ad..517e5016c6f 100644 --- a/apps/desktop/src/app/vault/add-edit-custom-fields.component.ts +++ b/apps/browser/src/vault/popup/components/vault/add-edit-custom-fields.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/components/add-edit-custom-fields.component"; +import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/vault/components/add-edit-custom-fields.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; diff --git a/apps/browser/src/popup/vault/add-edit.component.html b/apps/browser/src/vault/popup/components/vault/add-edit.component.html similarity index 100% rename from apps/browser/src/popup/vault/add-edit.component.html rename to apps/browser/src/vault/popup/components/vault/add-edit.component.html diff --git a/apps/browser/src/popup/vault/add-edit.component.ts b/apps/browser/src/vault/popup/components/vault/add-edit.component.ts similarity index 91% rename from apps/browser/src/popup/vault/add-edit.component.ts rename to apps/browser/src/vault/popup/components/vault/add-edit.component.ts index 54d8fb1ade3..5bd1bde37b8 100644 --- a/apps/browser/src/popup/vault/add-edit.component.ts +++ b/apps/browser/src/vault/popup/components/vault/add-edit.component.ts @@ -3,25 +3,25 @@ import { Component } from "@angular/core"; import { ActivatedRoute, Router } from "@angular/router"; import { first } from "rxjs/operators"; -import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/components/add-edit.component"; +import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/vault/components/add-edit.component"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; -import { BrowserApi } from "../../browser/browserApi"; -import { PopupUtilsService } from "../services/popup-utils.service"; +import { BrowserApi } from "../../../../browser/browserApi"; +import { PopupUtilsService } from "../../../../popup/services/popup-utils.service"; @Component({ selector: "app-vault-add-edit", diff --git a/apps/browser/src/popup/vault/attachments.component.html b/apps/browser/src/vault/popup/components/vault/attachments.component.html similarity index 100% rename from apps/browser/src/popup/vault/attachments.component.html rename to apps/browser/src/vault/popup/components/vault/attachments.component.html diff --git a/apps/browser/src/popup/vault/attachments.component.ts b/apps/browser/src/vault/popup/components/vault/attachments.component.ts similarity index 93% rename from apps/browser/src/popup/vault/attachments.component.ts rename to apps/browser/src/vault/popup/components/vault/attachments.component.ts index a8dc7a52787..152ece9c099 100644 --- a/apps/browser/src/popup/vault/attachments.component.ts +++ b/apps/browser/src/vault/popup/components/vault/attachments.component.ts @@ -3,15 +3,15 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { first } from "rxjs/operators"; -import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/components/attachments.component"; +import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/vault/components/attachments.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-attachments", diff --git a/apps/browser/src/popup/vault/current-tab.component.html b/apps/browser/src/vault/popup/components/vault/current-tab.component.html similarity index 100% rename from apps/browser/src/popup/vault/current-tab.component.html rename to apps/browser/src/vault/popup/components/vault/current-tab.component.html diff --git a/apps/browser/src/popup/vault/current-tab.component.ts b/apps/browser/src/vault/popup/components/vault/current-tab.component.ts similarity index 90% rename from apps/browser/src/popup/vault/current-tab.component.ts rename to apps/browser/src/vault/popup/components/vault/current-tab.component.ts index fd0e356476a..dca76d3ac11 100644 --- a/apps/browser/src/popup/vault/current-tab.component.ts +++ b/apps/browser/src/vault/popup/components/vault/current-tab.component.ts @@ -4,23 +4,23 @@ import { Subject } from "rxjs"; import { debounceTime, takeUntil } from "rxjs/operators"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { BrowserApi } from "../../browser/browserApi"; -import { AutofillService } from "../../services/abstractions/autofill.service"; -import { VaultFilterService } from "../../services/vaultFilter.service"; -import { PopupUtilsService } from "../services/popup-utils.service"; +import { AutofillService } from "../../../../autofill/services/abstractions/autofill.service"; +import { BrowserApi } from "../../../../browser/browserApi"; +import { PopupUtilsService } from "../../../../popup/services/popup-utils.service"; +import { VaultFilterService } from "../../../services/vault-filter.service"; const BroadcasterSubscriptionId = "CurrentTabComponent"; diff --git a/apps/browser/src/popup/vault/password-history.component.html b/apps/browser/src/vault/popup/components/vault/password-history.component.html similarity index 100% rename from apps/browser/src/popup/vault/password-history.component.html rename to apps/browser/src/vault/popup/components/vault/password-history.component.html diff --git a/apps/browser/src/popup/vault/password-history.component.ts b/apps/browser/src/vault/popup/components/vault/password-history.component.ts similarity index 89% rename from apps/browser/src/popup/vault/password-history.component.ts rename to apps/browser/src/vault/popup/components/vault/password-history.component.ts index 62109869277..44c5d683b83 100644 --- a/apps/browser/src/popup/vault/password-history.component.ts +++ b/apps/browser/src/vault/popup/components/vault/password-history.component.ts @@ -3,10 +3,10 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { first } from "rxjs/operators"; -import { PasswordHistoryComponent as BasePasswordHistoryComponent } from "@bitwarden/angular/components/password-history.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; +import { PasswordHistoryComponent as BasePasswordHistoryComponent } from "@bitwarden/angular/vault/components/password-history.component"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-password-history", diff --git a/apps/browser/src/popup/vault/share.component.html b/apps/browser/src/vault/popup/components/vault/share.component.html similarity index 100% rename from apps/browser/src/popup/vault/share.component.html rename to apps/browser/src/vault/popup/components/vault/share.component.html diff --git a/apps/browser/src/popup/vault/share.component.ts b/apps/browser/src/vault/popup/components/vault/share.component.ts similarity index 96% rename from apps/browser/src/popup/vault/share.component.ts rename to apps/browser/src/vault/popup/components/vault/share.component.ts index 112b432c0e0..23f5e91ca26 100644 --- a/apps/browser/src/popup/vault/share.component.ts +++ b/apps/browser/src/vault/popup/components/vault/share.component.ts @@ -3,12 +3,12 @@ import { ActivatedRoute, Router } from "@angular/router"; import { first } from "rxjs/operators"; import { ShareComponent as BaseShareComponent } from "@bitwarden/angular/components/share.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-share", diff --git a/apps/browser/src/popup/vault/vault-filter.component.html b/apps/browser/src/vault/popup/components/vault/vault-filter.component.html similarity index 100% rename from apps/browser/src/popup/vault/vault-filter.component.html rename to apps/browser/src/vault/popup/components/vault/vault-filter.component.html diff --git a/apps/browser/src/popup/vault/vault-filter.component.ts b/apps/browser/src/vault/popup/components/vault/vault-filter.component.ts similarity index 94% rename from apps/browser/src/popup/vault/vault-filter.component.ts rename to apps/browser/src/vault/popup/components/vault/vault-filter.component.ts index e67fe69f601..e40040c0521 100644 --- a/apps/browser/src/popup/vault/vault-filter.component.ts +++ b/apps/browser/src/vault/popup/components/vault/vault-filter.component.ts @@ -6,21 +6,21 @@ import { first } from "rxjs/operators"; import { VaultFilter } from "@bitwarden/angular/vault/vault-filter/models/vault-filter.model"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { BrowserApi } from "../../browser/browserApi"; -import { BrowserGroupingsComponentState } from "../../models/browserGroupingsComponentState"; -import { BrowserStateService } from "../../services/abstractions/browser-state.service"; -import { VaultFilterService } from "../../services/vaultFilter.service"; -import { PopupUtilsService } from "../services/popup-utils.service"; +import { BrowserApi } from "../../../../browser/browserApi"; +import { BrowserGroupingsComponentState } from "../../../../models/browserGroupingsComponentState"; +import { PopupUtilsService } from "../../../../popup/services/popup-utils.service"; +import { BrowserStateService } from "../../../../services/abstractions/browser-state.service"; +import { VaultFilterService } from "../../../services/vault-filter.service"; const ComponentId = "VaultComponent"; diff --git a/apps/browser/src/popup/vault/vault-items.component.html b/apps/browser/src/vault/popup/components/vault/vault-items.component.html similarity index 100% rename from apps/browser/src/popup/vault/vault-items.component.html rename to apps/browser/src/vault/popup/components/vault/vault-items.component.html diff --git a/apps/browser/src/popup/vault/vault-items.component.ts b/apps/browser/src/vault/popup/components/vault/vault-items.component.ts similarity index 92% rename from apps/browser/src/popup/vault/vault-items.component.ts rename to apps/browser/src/vault/popup/components/vault/vault-items.component.ts index b7f63d6d71d..b4141abbf33 100644 --- a/apps/browser/src/popup/vault/vault-items.component.ts +++ b/apps/browser/src/vault/popup/components/vault/vault-items.component.ts @@ -3,27 +3,27 @@ import { ChangeDetectorRef, Component, NgZone, OnDestroy, OnInit } from "@angula import { ActivatedRoute, Router } from "@angular/router"; import { first } from "rxjs/operators"; -import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/components/vault-items.component"; +import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/vault/components/vault-items.component"; import { VaultFilter } from "@bitwarden/angular/vault/vault-filter/models/vault-filter.model"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { BrowserApi } from "../../browser/browserApi"; -import { BrowserComponentState } from "../../models/browserComponentState"; -import { BrowserStateService } from "../../services/abstractions/browser-state.service"; -import { VaultFilterService } from "../../services/vaultFilter.service"; -import { PopupUtilsService } from "../services/popup-utils.service"; +import { BrowserApi } from "../../../../browser/browserApi"; +import { BrowserComponentState } from "../../../../models/browserComponentState"; +import { PopupUtilsService } from "../../../../popup/services/popup-utils.service"; +import { BrowserStateService } from "../../../../services/abstractions/browser-state.service"; +import { VaultFilterService } from "../../../services/vault-filter.service"; const ComponentId = "VaultItemsComponent"; diff --git a/apps/browser/src/popup/vault/vault-select.component.html b/apps/browser/src/vault/popup/components/vault/vault-select.component.html similarity index 100% rename from apps/browser/src/popup/vault/vault-select.component.html rename to apps/browser/src/vault/popup/components/vault/vault-select.component.html diff --git a/apps/browser/src/popup/vault/vault-select.component.ts b/apps/browser/src/vault/popup/components/vault/vault-select.component.ts similarity index 98% rename from apps/browser/src/popup/vault/vault-select.component.ts rename to apps/browser/src/vault/popup/components/vault/vault-select.component.ts index 957e181ed96..2a0cd1b23e3 100644 --- a/apps/browser/src/popup/vault/vault-select.component.ts +++ b/apps/browser/src/vault/popup/components/vault/vault-select.component.ts @@ -23,7 +23,7 @@ import { import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { VaultFilterService } from "../../services/vaultFilter.service"; +import { VaultFilterService } from "../../../services/vault-filter.service"; @Component({ selector: "app-vault-select", diff --git a/apps/browser/src/popup/vault/view-custom-fields.component.html b/apps/browser/src/vault/popup/components/vault/view-custom-fields.component.html similarity index 100% rename from apps/browser/src/popup/vault/view-custom-fields.component.html rename to apps/browser/src/vault/popup/components/vault/view-custom-fields.component.html diff --git a/apps/browser/src/popup/vault/view-custom-fields.component.ts b/apps/browser/src/vault/popup/components/vault/view-custom-fields.component.ts similarity index 86% rename from apps/browser/src/popup/vault/view-custom-fields.component.ts rename to apps/browser/src/vault/popup/components/vault/view-custom-fields.component.ts index 3ea41db713c..249f83c4444 100644 --- a/apps/browser/src/popup/vault/view-custom-fields.component.ts +++ b/apps/browser/src/vault/popup/components/vault/view-custom-fields.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { ViewCustomFieldsComponent as BaseViewCustomFieldsComponent } from "@bitwarden/angular/components/view-custom-fields.component"; +import { ViewCustomFieldsComponent as BaseViewCustomFieldsComponent } from "@bitwarden/angular/vault/components/view-custom-fields.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; @Component({ diff --git a/apps/browser/src/popup/vault/view.component.html b/apps/browser/src/vault/popup/components/vault/view.component.html similarity index 100% rename from apps/browser/src/popup/vault/view.component.html rename to apps/browser/src/vault/popup/components/vault/view.component.html diff --git a/apps/browser/src/popup/vault/view.component.ts b/apps/browser/src/vault/popup/components/vault/view.component.ts similarity index 91% rename from apps/browser/src/popup/vault/view.component.ts rename to apps/browser/src/vault/popup/components/vault/view.component.ts index 9a6aa03f189..c37283e6984 100644 --- a/apps/browser/src/popup/vault/view.component.ts +++ b/apps/browser/src/vault/popup/components/vault/view.component.ts @@ -3,30 +3,30 @@ import { ChangeDetectorRef, Component, NgZone } from "@angular/core"; import { ActivatedRoute, Router } from "@angular/router"; import { first } from "rxjs/operators"; -import { ViewComponent as BaseViewComponent } from "@bitwarden/angular/components/view.component"; +import { ViewComponent as BaseViewComponent } from "@bitwarden/angular/vault/components/view.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; -import { BrowserApi } from "../../browser/browserApi"; -import { AutofillService } from "../../services/abstractions/autofill.service"; -import { PopupUtilsService } from "../services/popup-utils.service"; +import { AutofillService } from "../../../../autofill/services/abstractions/autofill.service"; +import { BrowserApi } from "../../../../browser/browserApi"; +import { PopupUtilsService } from "../../../../popup/services/popup-utils.service"; const BroadcasterSubscriptionId = "ChildViewComponent"; diff --git a/apps/web/src/app/core/password-reprompt.service.ts b/apps/browser/src/vault/popup/services/password-reprompt.service.ts similarity index 82% rename from apps/web/src/app/core/password-reprompt.service.ts rename to apps/browser/src/vault/popup/services/password-reprompt.service.ts index fdd176e42d2..22bbcf44d7f 100644 --- a/apps/web/src/app/core/password-reprompt.service.ts +++ b/apps/browser/src/vault/popup/services/password-reprompt.service.ts @@ -1,6 +1,6 @@ import { Injectable } from "@angular/core"; -import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/services/passwordReprompt.service"; +import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/vault/services/password-reprompt.service"; import { PasswordRepromptComponent } from "../components/password-reprompt.component"; diff --git a/apps/browser/src/services/browser-folder.service.ts b/apps/browser/src/vault/services/browser-folder.service.ts similarity index 60% rename from apps/browser/src/services/browser-folder.service.ts rename to apps/browser/src/vault/services/browser-folder.service.ts index a9573ab0f78..ca7b57989ff 100644 --- a/apps/browser/src/services/browser-folder.service.ts +++ b/apps/browser/src/vault/services/browser-folder.service.ts @@ -1,10 +1,10 @@ import { BehaviorSubject } from "rxjs"; -import { Folder } from "@bitwarden/common/models/domain/folder"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; -import { FolderService as BaseFolderService } from "@bitwarden/common/services/folder/folder.service"; +import { Folder } from "@bitwarden/common/vault/models/domain/folder"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; +import { FolderService as BaseFolderService } from "@bitwarden/common/vault/services/folder/folder.service"; -import { browserSession, sessionSync } from "../decorators/session-sync-observable"; +import { browserSession, sessionSync } from "../../decorators/session-sync-observable"; @browserSession export class BrowserFolderService extends BaseFolderService { diff --git a/apps/browser/src/services/vaultFilter.service.ts b/apps/browser/src/vault/services/vault-filter.service.ts similarity index 89% rename from apps/browser/src/services/vaultFilter.service.ts rename to apps/browser/src/vault/services/vault-filter.service.ts index f8b2e37d0ea..bc7b7a68612 100644 --- a/apps/browser/src/services/vaultFilter.service.ts +++ b/apps/browser/src/vault/services/vault-filter.service.ts @@ -1,12 +1,12 @@ import { VaultFilter } from "@bitwarden/angular/vault/vault-filter/models/vault-filter.model"; import { VaultFilterService as BaseVaultFilterService } from "@bitwarden/angular/vault/vault-filter/services/vault-filter.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; export class VaultFilterService extends BaseVaultFilterService { vaultFilter: VaultFilter = new VaultFilter(); diff --git a/apps/browser/webpack.config.js b/apps/browser/webpack.config.js index dde421daa59..4d2f96d96ab 100644 --- a/apps/browser/webpack.config.js +++ b/apps/browser/webpack.config.js @@ -92,7 +92,7 @@ const plugins = [ chunks: ["popup/polyfills", "popup/vendor-angular", "popup/vendor", "popup/main"], }), new HtmlWebpackPlugin({ - template: "./src/notification/bar.html", + template: "./src/autofill/notification/bar.html", filename: "notification/bar.html", chunks: ["notification/bar"], }), @@ -105,7 +105,7 @@ const plugins = [ { from: "./src/_locales", to: "_locales" }, { from: "./src/images", to: "images" }, { from: "./src/popup/images", to: "popup/images" }, - { from: "./src/content/autofill.css", to: "content" }, + { from: "./src/autofill/content/autofill.css", to: "content" }, ], }), new MiniCssExtractPlugin({ @@ -141,12 +141,12 @@ const mainConfig = { entry: { "popup/polyfills": "./src/popup/polyfills.ts", "popup/main": "./src/popup/main.ts", - "content/autofill": "./src/content/autofill.js", - "content/autofiller": "./src/content/autofiller.ts", - "content/notificationBar": "./src/content/notificationBar.ts", - "content/contextMenuHandler": "./src/content/contextMenuHandler.ts", - "content/message_handler": "./src/content/message_handler.ts", - "notification/bar": "./src/notification/bar.js", + "content/autofill": "./src/autofill/content/autofill.js", + "content/autofiller": "./src/autofill/content/autofiller.ts", + "content/notificationBar": "./src/autofill/content/notification-bar.ts", + "content/contextMenuHandler": "./src/autofill/content/context-menu-handler.ts", + "content/message_handler": "./src/autofill/content/message_handler.ts", + "notification/bar": "./src/autofill/notification/bar.js", "encrypt-worker": "../../libs/common/src/services/cryptography/encrypt.worker.ts", }, optimization: { @@ -254,7 +254,7 @@ if (manifestVersion == 2) { } else { // Manifest v3 needs an extra helper for utilities in the content script. // The javascript output of this should be added to manifest.v3.json - mainConfig.entry["content/misc-utils"] = "./src/content/misc-utils.ts"; + mainConfig.entry["content/misc-utils"] = "./src/autofill/content/misc-utils.ts"; /** * @type {import("webpack").Configuration} diff --git a/apps/cli/src/bw.ts b/apps/cli/src/bw.ts index 429b8e53886..3a62dbf1856 100644 --- a/apps/cli/src/bw.ts +++ b/apps/cli/src/bw.ts @@ -4,7 +4,6 @@ import * as path from "path"; import * as program from "commander"; import * as jsdom from "jsdom"; -import { InternalFolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { ImportApiServiceAbstraction } from "@bitwarden/common/abstractions/import/import-api.service.abstraction"; import { OrganizationUserService } from "@bitwarden/common/abstractions/organization-user/organization-user.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; @@ -18,7 +17,6 @@ import { AppIdService } from "@bitwarden/common/services/appId.service"; import { AuditService } from "@bitwarden/common/services/audit.service"; import { AuthService } from "@bitwarden/common/services/auth.service"; import { BroadcasterService } from "@bitwarden/common/services/broadcaster.service"; -import { CipherService } from "@bitwarden/common/services/cipher.service"; import { CollectionService } from "@bitwarden/common/services/collection.service"; import { ContainerService } from "@bitwarden/common/services/container.service"; import { CryptoService } from "@bitwarden/common/services/crypto.service"; @@ -26,8 +24,6 @@ import { EncryptServiceImplementation } from "@bitwarden/common/services/cryptog import { EnvironmentService } from "@bitwarden/common/services/environment.service"; import { ExportService } from "@bitwarden/common/services/export.service"; import { FileUploadService } from "@bitwarden/common/services/fileUpload.service"; -import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.service"; -import { FolderService } from "@bitwarden/common/services/folder/folder.service"; import { ImportApiService } from "@bitwarden/common/services/import/import-api.service"; import { ImportService } from "@bitwarden/common/services/import/import.service"; import { KeyConnectorService } from "@bitwarden/common/services/keyConnector.service"; @@ -44,8 +40,6 @@ import { SendService } from "@bitwarden/common/services/send.service"; import { SettingsService } from "@bitwarden/common/services/settings.service"; import { StateService } from "@bitwarden/common/services/state.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync/sync.service"; -import { SyncNotifierService } from "@bitwarden/common/services/sync/syncNotifier.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; import { TwoFactorService } from "@bitwarden/common/services/twoFactor.service"; @@ -53,6 +47,12 @@ import { UserVerificationApiService } from "@bitwarden/common/services/userVerif import { UserVerificationService } from "@bitwarden/common/services/userVerification/userVerification.service"; import { VaultTimeoutService } from "@bitwarden/common/services/vaultTimeout/vaultTimeout.service"; import { VaultTimeoutSettingsService } from "@bitwarden/common/services/vaultTimeout/vaultTimeoutSettings.service"; +import { InternalFolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherService } from "@bitwarden/common/vault/services/cipher.service"; +import { FolderApiService } from "@bitwarden/common/vault/services/folder/folder-api.service"; +import { FolderService } from "@bitwarden/common/vault/services/folder/folder.service"; +import { SyncNotifierService } from "@bitwarden/common/vault/services/sync/sync-notifier.service"; +import { SyncService } from "@bitwarden/common/vault/services/sync/sync.service"; import { NodeCryptoFunctionService } from "@bitwarden/node/services/node-crypto-function.service"; import { Program } from "./program"; diff --git a/apps/cli/src/commands/convert-to-key-connector.command.ts b/apps/cli/src/commands/convert-to-key-connector.command.ts index 82756edc985..3d6149f2a55 100644 --- a/apps/cli/src/commands/convert-to-key-connector.command.ts +++ b/apps/cli/src/commands/convert-to-key-connector.command.ts @@ -3,7 +3,7 @@ import * as inquirer from "inquirer"; import { EnvironmentService } from "@bitwarden/common/abstractions/environment.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Response } from "../models/response"; import { MessageResponse } from "../models/response/message.response"; diff --git a/apps/cli/src/commands/edit.command.ts b/apps/cli/src/commands/edit.command.ts index d6cd120da0d..2a10065ace1 100644 --- a/apps/cli/src/commands/edit.command.ts +++ b/apps/cli/src/commands/edit.command.ts @@ -1,21 +1,21 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { Utils } from "@bitwarden/common/misc/utils"; import { CipherExport } from "@bitwarden/common/models/export/cipher.export"; import { CollectionExport } from "@bitwarden/common/models/export/collection.export"; import { FolderExport } from "@bitwarden/common/models/export/folder.export"; import { CollectionRequest } from "@bitwarden/common/models/request/collection.request"; import { SelectionReadOnlyRequest } from "@bitwarden/common/models/request/selection-read-only.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { OrganizationCollectionRequest } from "../models/request/organization-collection.request"; import { Response } from "../models/response"; -import { CipherResponse } from "../models/response/cipher.response"; -import { FolderResponse } from "../models/response/folder.response"; import { OrganizationCollectionResponse } from "../models/response/organization-collection.response"; import { CliUtils } from "../utils"; +import { CipherResponse } from "../vault/models/cipher.response"; +import { FolderResponse } from "../vault/models/folder.response"; export class EditCommand { constructor( diff --git a/apps/cli/src/commands/get.command.ts b/apps/cli/src/commands/get.command.ts index 92d7e31258e..78c80b92113 100644 --- a/apps/cli/src/commands/get.command.ts +++ b/apps/cli/src/commands/get.command.ts @@ -1,14 +1,11 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { SendType } from "@bitwarden/common/enums/sendType"; import { Utils } from "@bitwarden/common/misc/utils"; import { EncString } from "@bitwarden/common/models/domain/enc-string"; @@ -23,15 +20,16 @@ import { LoginUriExport } from "@bitwarden/common/models/export/login-uri.export import { LoginExport } from "@bitwarden/common/models/export/login.export"; import { SecureNoteExport } from "@bitwarden/common/models/export/secure-note.export"; import { ErrorResponse } from "@bitwarden/common/models/response/error.response"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { OrganizationCollectionRequest } from "../models/request/organization-collection.request"; import { Response } from "../models/response"; -import { CipherResponse } from "../models/response/cipher.response"; import { CollectionResponse } from "../models/response/collection.response"; -import { FolderResponse } from "../models/response/folder.response"; import { OrganizationCollectionResponse } from "../models/response/organization-collection.response"; import { OrganizationResponse } from "../models/response/organization.response"; import { SendResponse } from "../models/response/send.response"; @@ -39,6 +37,8 @@ import { StringResponse } from "../models/response/string.response"; import { TemplateResponse } from "../models/response/template.response"; import { SelectionReadOnly } from "../models/selection-read-only"; import { CliUtils } from "../utils"; +import { CipherResponse } from "../vault/models/cipher.response"; +import { FolderResponse } from "../vault/models/folder.response"; import { DownloadCommand } from "./download.command"; diff --git a/apps/cli/src/commands/list.command.ts b/apps/cli/src/commands/list.command.ts index 7f7793620fc..13292e1b647 100644 --- a/apps/cli/src/commands/list.command.ts +++ b/apps/cli/src/commands/list.command.ts @@ -1,7 +1,5 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { OrganizationUserService } from "@bitwarden/common/abstractions/organization-user/organization-user.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; @@ -13,16 +11,18 @@ import { CollectionResponse as ApiCollectionResponse, } from "@bitwarden/common/models/response/collection.response"; import { ListResponse as ApiListResponse } from "@bitwarden/common/models/response/list.response"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { Response } from "../models/response"; -import { CipherResponse } from "../models/response/cipher.response"; import { CollectionResponse } from "../models/response/collection.response"; -import { FolderResponse } from "../models/response/folder.response"; import { ListResponse } from "../models/response/list.response"; import { OrganizationUserResponse } from "../models/response/organization-user.response"; import { OrganizationResponse } from "../models/response/organization.response"; import { CliUtils } from "../utils"; +import { CipherResponse } from "../vault/models/cipher.response"; +import { FolderResponse } from "../vault/models/folder.response"; export class ListCommand { constructor( diff --git a/apps/cli/src/commands/login.command.ts b/apps/cli/src/commands/login.command.ts index b6ec7f39590..7942917622c 100644 --- a/apps/cli/src/commands/login.command.ts +++ b/apps/cli/src/commands/login.command.ts @@ -15,7 +15,6 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { TwoFactorProviderType } from "@bitwarden/common/enums/twoFactorProviderType"; import { NodeUtils } from "@bitwarden/common/misc/nodeUtils"; @@ -30,6 +29,7 @@ import { TokenTwoFactorRequest } from "@bitwarden/common/models/request/identity import { TwoFactorEmailRequest } from "@bitwarden/common/models/request/two-factor-email.request"; import { UpdateTempPasswordRequest } from "@bitwarden/common/models/request/update-temp-password.request"; import { ErrorResponse } from "@bitwarden/common/models/response/error.response"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Response } from "../models/response"; import { MessageResponse } from "../models/response/message.response"; diff --git a/apps/cli/src/commands/restore.command.ts b/apps/cli/src/commands/restore.command.ts index 48e6b2aa9cc..96179e7b687 100644 --- a/apps/cli/src/commands/restore.command.ts +++ b/apps/cli/src/commands/restore.command.ts @@ -1,4 +1,4 @@ -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { Response } from "../models/response"; diff --git a/apps/cli/src/commands/serve.command.ts b/apps/cli/src/commands/serve.command.ts index 6b5dd97f032..854d71567bb 100644 --- a/apps/cli/src/commands/serve.command.ts +++ b/apps/cli/src/commands/serve.command.ts @@ -11,10 +11,11 @@ import { Utils } from "@bitwarden/common/misc/utils"; import { Main } from "../bw"; import { Response } from "../models/response"; import { FileResponse } from "../models/response/file.response"; +import { CreateCommand } from "../vault/create.command"; +import { DeleteCommand } from "../vault/delete.command"; +import { SyncCommand } from "../vault/sync.command"; import { ConfirmCommand } from "./confirm.command"; -import { CreateCommand } from "./create.command"; -import { DeleteCommand } from "./delete.command"; import { EditCommand } from "./edit.command"; import { GenerateCommand } from "./generate.command"; import { GetCommand } from "./get.command"; @@ -29,7 +30,6 @@ import { SendListCommand } from "./send/list.command"; import { SendRemovePasswordCommand } from "./send/remove-password.command"; import { ShareCommand } from "./share.command"; import { StatusCommand } from "./status.command"; -import { SyncCommand } from "./sync.command"; import { UnlockCommand } from "./unlock.command"; export class ServeCommand { diff --git a/apps/cli/src/commands/share.command.ts b/apps/cli/src/commands/share.command.ts index c04760b9d93..cf76c353efc 100644 --- a/apps/cli/src/commands/share.command.ts +++ b/apps/cli/src/commands/share.command.ts @@ -1,8 +1,8 @@ -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { Response } from "../models/response"; -import { CipherResponse } from "../models/response/cipher.response"; import { CliUtils } from "../utils"; +import { CipherResponse } from "../vault/models/cipher.response"; export class ShareCommand { constructor(private cipherService: CipherService) {} diff --git a/apps/cli/src/commands/status.command.ts b/apps/cli/src/commands/status.command.ts index 7cd109309c1..c73dbdca888 100644 --- a/apps/cli/src/commands/status.command.ts +++ b/apps/cli/src/commands/status.command.ts @@ -1,8 +1,8 @@ import { AuthService } from "@bitwarden/common/abstractions/auth.service"; import { EnvironmentService } from "@bitwarden/common/abstractions/environment.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Response } from "../models/response"; import { TemplateResponse } from "../models/response/template.response"; diff --git a/apps/cli/src/commands/unlock.command.ts b/apps/cli/src/commands/unlock.command.ts index 28c892b58b4..73a4a802563 100644 --- a/apps/cli/src/commands/unlock.command.ts +++ b/apps/cli/src/commands/unlock.command.ts @@ -5,11 +5,11 @@ import { EnvironmentService } from "@bitwarden/common/abstractions/environment.s import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { HashPurpose } from "@bitwarden/common/enums/hashPurpose"; import { Utils } from "@bitwarden/common/misc/utils"; import { SecretVerificationRequest } from "@bitwarden/common/models/request/secret-verification.request"; import { ConsoleLogService } from "@bitwarden/common/services/consoleLog.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Response } from "../models/response"; import { MessageResponse } from "../models/response/message.response"; diff --git a/apps/cli/src/models/response/login.response.ts b/apps/cli/src/models/response/login.response.ts index 7aa6e9184d6..1f339743fa8 100644 --- a/apps/cli/src/models/response/login.response.ts +++ b/apps/cli/src/models/response/login.response.ts @@ -1,5 +1,5 @@ import { LoginExport } from "@bitwarden/common/models/export/login.export"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; export class LoginResponse extends LoginExport { passwordRevisionDate: Date; diff --git a/apps/cli/src/program.ts b/apps/cli/src/program.ts index 930d3f93440..e3e7613b531 100644 --- a/apps/cli/src/program.ts +++ b/apps/cli/src/program.ts @@ -14,7 +14,6 @@ import { LoginCommand } from "./commands/login.command"; import { LogoutCommand } from "./commands/logout.command"; import { ServeCommand } from "./commands/serve.command"; import { StatusCommand } from "./commands/status.command"; -import { SyncCommand } from "./commands/sync.command"; import { UnlockCommand } from "./commands/unlock.command"; import { UpdateCommand } from "./commands/update.command"; import { Response } from "./models/response"; @@ -23,6 +22,7 @@ import { MessageResponse } from "./models/response/message.response"; import { StringResponse } from "./models/response/string.response"; import { TemplateResponse } from "./models/response/template.response"; import { CliUtils } from "./utils"; +import { SyncCommand } from "./vault/sync.command"; const writeLn = CliUtils.writeLn; diff --git a/apps/cli/src/utils.ts b/apps/cli/src/utils.ts index e41c1c7896a..cb6f8695bf5 100644 --- a/apps/cli/src/utils.ts +++ b/apps/cli/src/utils.ts @@ -9,7 +9,7 @@ import { NodeUtils } from "@bitwarden/common/misc/nodeUtils"; import { Utils } from "@bitwarden/common/misc/utils"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { Response } from "./models/response"; import { MessageResponse } from "./models/response/message.response"; diff --git a/apps/cli/src/vault.program.ts b/apps/cli/src/vault.program.ts index 4fe87a737a0..c02812fb17d 100644 --- a/apps/cli/src/vault.program.ts +++ b/apps/cli/src/vault.program.ts @@ -2,8 +2,6 @@ import * as program from "commander"; import { Main } from "./bw"; import { ConfirmCommand } from "./commands/confirm.command"; -import { CreateCommand } from "./commands/create.command"; -import { DeleteCommand } from "./commands/delete.command"; import { EditCommand } from "./commands/edit.command"; import { ExportCommand } from "./commands/export.command"; import { GetCommand } from "./commands/get.command"; @@ -14,6 +12,8 @@ import { ShareCommand } from "./commands/share.command"; import { Response } from "./models/response"; import { Program } from "./program"; import { CliUtils } from "./utils"; +import { CreateCommand } from "./vault/create.command"; +import { DeleteCommand } from "./vault/delete.command"; const writeLn = CliUtils.writeLn; diff --git a/apps/cli/src/commands/create.command.ts b/apps/cli/src/vault/create.command.ts similarity index 94% rename from apps/cli/src/commands/create.command.ts rename to apps/cli/src/vault/create.command.ts index 92855ee6f79..82ce29f643a 100644 --- a/apps/cli/src/commands/create.command.ts +++ b/apps/cli/src/vault/create.command.ts @@ -2,10 +2,7 @@ import * as fs from "fs"; import * as path from "path"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { Utils } from "@bitwarden/common/misc/utils"; import { CipherExport } from "@bitwarden/common/models/export/cipher.export"; @@ -13,14 +10,18 @@ import { CollectionExport } from "@bitwarden/common/models/export/collection.exp import { FolderExport } from "@bitwarden/common/models/export/folder.export"; import { CollectionRequest } from "@bitwarden/common/models/request/collection.request"; import { SelectionReadOnlyRequest } from "@bitwarden/common/models/request/selection-read-only.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { OrganizationCollectionRequest } from "../models/request/organization-collection.request"; import { Response } from "../models/response"; -import { CipherResponse } from "../models/response/cipher.response"; -import { FolderResponse } from "../models/response/folder.response"; import { OrganizationCollectionResponse } from "../models/response/organization-collection.response"; import { CliUtils } from "../utils"; +import { CipherResponse } from "./models/cipher.response"; +import { FolderResponse } from "./models/folder.response"; + export class CreateCommand { constructor( private cipherService: CipherService, diff --git a/apps/cli/src/commands/delete.command.ts b/apps/cli/src/vault/delete.command.ts similarity index 92% rename from apps/cli/src/commands/delete.command.ts rename to apps/cli/src/vault/delete.command.ts index 86bfc8cbbc2..cf952e3a681 100644 --- a/apps/cli/src/commands/delete.command.ts +++ b/apps/cli/src/vault/delete.command.ts @@ -1,9 +1,9 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { Utils } from "@bitwarden/common/misc/utils"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { Response } from "../models/response"; import { CliUtils } from "../utils"; diff --git a/apps/cli/src/models/response/attachment.response.ts b/apps/cli/src/vault/models/attachment.response.ts similarity index 77% rename from apps/cli/src/models/response/attachment.response.ts rename to apps/cli/src/vault/models/attachment.response.ts index 2c6cb66e45d..c4450fa8def 100644 --- a/apps/cli/src/models/response/attachment.response.ts +++ b/apps/cli/src/vault/models/attachment.response.ts @@ -1,4 +1,4 @@ -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; export class AttachmentResponse { id: string; diff --git a/apps/cli/src/models/response/cipher.response.ts b/apps/cli/src/vault/models/cipher.response.ts similarity index 79% rename from apps/cli/src/models/response/cipher.response.ts rename to apps/cli/src/vault/models/cipher.response.ts index 182bff6e7f2..a730894366c 100644 --- a/apps/cli/src/models/response/cipher.response.ts +++ b/apps/cli/src/vault/models/cipher.response.ts @@ -1,10 +1,11 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { CipherWithIdExport } from "@bitwarden/common/models/export/cipher-with-ids.export"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; + +import { BaseResponse } from "../../models/response/base.response"; +import { LoginResponse } from "../../models/response/login.response"; import { AttachmentResponse } from "./attachment.response"; -import { BaseResponse } from "./base.response"; -import { LoginResponse } from "./login.response"; import { PasswordHistoryResponse } from "./password-history.response"; export class CipherResponse extends CipherWithIdExport implements BaseResponse { diff --git a/apps/cli/src/models/response/folder.response.ts b/apps/cli/src/vault/models/folder.response.ts similarity index 66% rename from apps/cli/src/models/response/folder.response.ts rename to apps/cli/src/vault/models/folder.response.ts index 5a73d7feb28..7b1b204debd 100644 --- a/apps/cli/src/models/response/folder.response.ts +++ b/apps/cli/src/vault/models/folder.response.ts @@ -1,7 +1,7 @@ import { FolderWithIdExport } from "@bitwarden/common/models/export/folder-with-id.export"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { BaseResponse } from "./base.response"; +import { BaseResponse } from "../../models/response/base.response"; export class FolderResponse extends FolderWithIdExport implements BaseResponse { object: string; diff --git a/apps/cli/src/models/response/password-history.response.ts b/apps/cli/src/vault/models/password-history.response.ts similarity index 67% rename from apps/cli/src/models/response/password-history.response.ts rename to apps/cli/src/vault/models/password-history.response.ts index 32f8878a380..af22b694e16 100644 --- a/apps/cli/src/models/response/password-history.response.ts +++ b/apps/cli/src/vault/models/password-history.response.ts @@ -1,4 +1,4 @@ -import { PasswordHistoryView } from "@bitwarden/common/models/view/password-history.view"; +import { PasswordHistoryView } from "@bitwarden/common/vault/models/view/password-history.view"; export class PasswordHistoryResponse { lastUsedDate: Date; diff --git a/apps/cli/src/commands/sync.command.ts b/apps/cli/src/vault/sync.command.ts similarity index 92% rename from apps/cli/src/commands/sync.command.ts rename to apps/cli/src/vault/sync.command.ts index 3d72b6b89ea..073b9b5df48 100644 --- a/apps/cli/src/commands/sync.command.ts +++ b/apps/cli/src/vault/sync.command.ts @@ -1,4 +1,4 @@ -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { Response } from "../models/response"; import { MessageResponse } from "../models/response/message.response"; diff --git a/apps/desktop/src/app/accounts/login.component.ts b/apps/desktop/src/app/accounts/login.component.ts index db77a783100..740dbcce075 100644 --- a/apps/desktop/src/app/accounts/login.component.ts +++ b/apps/desktop/src/app/accounts/login.component.ts @@ -18,7 +18,7 @@ import { MessagingService } from "@bitwarden/common/abstractions/messaging.servi import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { EnvironmentComponent } from "./environment.component"; diff --git a/apps/desktop/src/app/accounts/set-password.component.ts b/apps/desktop/src/app/accounts/set-password.component.ts index fd9d41a6acd..2fe0e161dc0 100644 --- a/apps/desktop/src/app/accounts/set-password.component.ts +++ b/apps/desktop/src/app/accounts/set-password.component.ts @@ -14,7 +14,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; const BroadcasterSubscriptionId = "SetPasswordComponent"; diff --git a/apps/desktop/src/app/accounts/sso.component.ts b/apps/desktop/src/app/accounts/sso.component.ts index 1d0aebaa873..83af8dc4b08 100644 --- a/apps/desktop/src/app/accounts/sso.component.ts +++ b/apps/desktop/src/app/accounts/sso.component.ts @@ -11,7 +11,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-sso", diff --git a/apps/desktop/src/app/accounts/two-factor.component.ts b/apps/desktop/src/app/accounts/two-factor.component.ts index 858ddfc5ae7..6b52899b1de 100644 --- a/apps/desktop/src/app/accounts/two-factor.component.ts +++ b/apps/desktop/src/app/accounts/two-factor.component.ts @@ -12,9 +12,9 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { LoginService } from "@bitwarden/common/abstractions/login.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService } from "@bitwarden/common/abstractions/twoFactor.service"; import { TwoFactorProviderType } from "@bitwarden/common/enums/twoFactorProviderType"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { TwoFactorOptionsComponent } from "./two-factor-options.component"; diff --git a/apps/desktop/src/app/accounts/update-temp-password.component.ts b/apps/desktop/src/app/accounts/update-temp-password.component.ts index 109eec23003..64c40ddc75b 100644 --- a/apps/desktop/src/app/accounts/update-temp-password.component.ts +++ b/apps/desktop/src/app/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/desktop/src/app/app-routing.module.ts b/apps/desktop/src/app/app-routing.module.ts index 239c14b203a..1759eac3a6d 100644 --- a/apps/desktop/src/app/app-routing.module.ts +++ b/apps/desktop/src/app/app-routing.module.ts @@ -4,6 +4,8 @@ import { RouterModule, Routes } from "@angular/router"; import { AuthGuard } from "@bitwarden/angular/guards/auth.guard"; import { LockGuard } from "@bitwarden/angular/guards/lock.guard"; +import { VaultComponent } from "../vault/app/vault/vault.component"; + import { AccessibilityCookieComponent } from "./accounts/accessibility-cookie.component"; import { HintComponent } from "./accounts/hint.component"; import { LockComponent } from "./accounts/lock.component"; @@ -16,7 +18,6 @@ import { TwoFactorComponent } from "./accounts/two-factor.component"; import { UpdateTempPasswordComponent } from "./accounts/update-temp-password.component"; import { LoginGuard } from "./guards/login.guard"; import { SendComponent } from "./send/send.component"; -import { VaultComponent } from "./vault/vault.component"; const routes: Routes = [ { path: "", redirectTo: "/vault", pathMatch: "full" }, diff --git a/apps/desktop/src/app/app.component.ts b/apps/desktop/src/app/app.component.ts index 3d6d864f671..54d24bb7d8d 100644 --- a/apps/desktop/src/app/app.component.ts +++ b/apps/desktop/src/app/app.component.ts @@ -17,11 +17,9 @@ import { ModalRef } from "@bitwarden/angular/components/modal/modal.ref"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EventUploadService } from "@bitwarden/common/abstractions/event/event-upload.service"; -import { InternalFolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; @@ -33,22 +31,24 @@ import { InternalPolicyService } from "@bitwarden/common/abstractions/policy/pol import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { SystemService } from "@bitwarden/common/abstractions/system.service"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeout.service"; import { VaultTimeoutSettingsService } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeoutSettings.service"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { InternalFolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { ExportComponent } from "../app/vault/export.component"; +import { GeneratorComponent } from "../app/vault/generator.component"; +import { PasswordGeneratorHistoryComponent } from "../app/vault/password-generator-history.component"; import { MenuUpdateRequest } from "../main/menu/menu.updater"; +import { PremiumComponent } from "../vault/app/accounts/premium.component"; +import { FolderAddEditComponent } from "../vault/app/vault/folder-add-edit.component"; import { DeleteAccountComponent } from "./accounts/delete-account.component"; -import { PremiumComponent } from "./accounts/premium.component"; import { SettingsComponent } from "./accounts/settings.component"; -import { ExportComponent } from "./vault/export.component"; -import { FolderAddEditComponent } from "./vault/folder-add-edit.component"; -import { GeneratorComponent } from "./vault/generator.component"; -import { PasswordGeneratorHistoryComponent } from "./vault/password-generator-history.component"; const BroadcasterSubscriptionId = "AppComponent"; const IdleTimeout = 60000 * 10; // 10 minutes diff --git a/apps/desktop/src/app/app.module.ts b/apps/desktop/src/app/app.module.ts index d40c9833f65..b07db465ed6 100644 --- a/apps/desktop/src/app/app.module.ts +++ b/apps/desktop/src/app/app.module.ts @@ -61,13 +61,30 @@ import { NgModule } from "@angular/core"; import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe"; import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe"; +import { CollectionsComponent } from "../app/vault/collections.component"; +import { ExportComponent } from "../app/vault/export.component"; +import { GeneratorComponent } from "../app/vault/generator.component"; +import { PasswordGeneratorHistoryComponent } from "../app/vault/password-generator-history.component"; +import { PremiumComponent } from "../vault/app/accounts/premium.component"; +import { PasswordRepromptComponent } from "../vault/app/components/password-reprompt.component"; +import { AddEditCustomFieldsComponent } from "../vault/app/vault/add-edit-custom-fields.component"; +import { AddEditComponent } from "../vault/app/vault/add-edit.component"; +import { AttachmentsComponent } from "../vault/app/vault/attachments.component"; +import { FolderAddEditComponent } from "../vault/app/vault/folder-add-edit.component"; +import { PasswordHistoryComponent } from "../vault/app/vault/password-history.component"; +import { ShareComponent } from "../vault/app/vault/share.component"; +import { VaultFilterModule } from "../vault/app/vault/vault-filter/vault-filter.module"; +import { VaultItemsComponent } from "../vault/app/vault/vault-items.component"; +import { VaultComponent } from "../vault/app/vault/vault.component"; +import { ViewCustomFieldsComponent } from "../vault/app/vault/view-custom-fields.component"; +import { ViewComponent } from "../vault/app/vault/view.component"; + import { AccessibilityCookieComponent } from "./accounts/accessibility-cookie.component"; import { DeleteAccountComponent } from "./accounts/delete-account.component"; import { EnvironmentComponent } from "./accounts/environment.component"; import { HintComponent } from "./accounts/hint.component"; import { LockComponent } from "./accounts/lock.component"; import { LoginComponent } from "./accounts/login.component"; -import { PremiumComponent } from "./accounts/premium.component"; import { RegisterComponent } from "./accounts/register.component"; import { RemovePasswordComponent } from "./accounts/remove-password.component"; import { SetPasswordComponent } from "./accounts/set-password.component"; @@ -79,7 +96,6 @@ import { UpdateTempPasswordComponent } from "./accounts/update-temp-password.com import { VaultTimeoutInputComponent } from "./accounts/vault-timeout-input.component"; import { AppRoutingModule } from "./app-routing.module"; import { AppComponent } from "./app.component"; -import { PasswordRepromptComponent } from "./components/password-reprompt.component"; import { SetPinComponent } from "./components/set-pin.component"; import { UserVerificationComponent } from "./components/user-verification.component"; import { AccountSwitcherComponent } from "./layout/account-switcher.component"; @@ -90,21 +106,6 @@ import { AddEditComponent as SendAddEditComponent } from "./send/add-edit.compon import { EffluxDatesComponent as SendEffluxDatesComponent } from "./send/efflux-dates.component"; import { SendComponent } from "./send/send.component"; import { SharedModule } from "./shared/shared.module"; -import { AddEditCustomFieldsComponent } from "./vault/add-edit-custom-fields.component"; -import { AddEditComponent } from "./vault/add-edit.component"; -import { AttachmentsComponent } from "./vault/attachments.component"; -import { CollectionsComponent } from "./vault/collections.component"; -import { ExportComponent } from "./vault/export.component"; -import { FolderAddEditComponent } from "./vault/folder-add-edit.component"; -import { GeneratorComponent } from "./vault/generator.component"; -import { PasswordGeneratorHistoryComponent } from "./vault/password-generator-history.component"; -import { PasswordHistoryComponent } from "./vault/password-history.component"; -import { ShareComponent } from "./vault/share.component"; -import { VaultFilterModule } from "./vault/vault-filter/vault-filter.module"; -import { VaultItemsComponent } from "./vault/vault-items.component"; -import { VaultComponent } from "./vault/vault.component"; -import { ViewCustomFieldsComponent } from "./vault/view-custom-fields.component"; -import { ViewComponent } from "./vault/view.component"; registerLocaleData(localeAf, "af"); registerLocaleData(localeAr, "ar"); diff --git a/apps/desktop/src/app/services/init.service.ts b/apps/desktop/src/app/services/init.service.ts index fd29631ab4b..b5158b55888 100644 --- a/apps/desktop/src/app/services/init.service.ts +++ b/apps/desktop/src/app/services/init.service.ts @@ -10,12 +10,12 @@ import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstrac import { NotificationsService as NotificationsServiceAbstraction } from "@bitwarden/common/abstractions/notifications.service"; import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService as StateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TwoFactorService as TwoFactorServiceAbstraction } from "@bitwarden/common/abstractions/twoFactor.service"; import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeout.service"; import { ContainerService } from "@bitwarden/common/services/container.service"; import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service"; import { VaultTimeoutService } from "@bitwarden/common/services/vaultTimeout/vaultTimeout.service"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { I18nService } from "../../services/i18n.service"; import { NativeMessagingService } from "../../services/native-messaging.service"; diff --git a/apps/desktop/src/app/services/services.module.ts b/apps/desktop/src/app/services/services.module.ts index 28d27a9ce22..bb6887a0cac 100644 --- a/apps/desktop/src/app/services/services.module.ts +++ b/apps/desktop/src/app/services/services.module.ts @@ -13,7 +13,6 @@ import { JslibServicesModule } from "@bitwarden/angular/services/jslib-services. import { AbstractThemingService } from "@bitwarden/angular/services/theming/theming.service.abstraction"; import { AuthService as AuthServiceAbstraction } from "@bitwarden/common/abstractions/auth.service"; import { BroadcasterService as BroadcasterServiceAbstraction } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService as CryptoServiceAbstraction } from "@bitwarden/common/abstractions/crypto.service"; import { CryptoFunctionService as CryptoFunctionServiceAbstraction } from "@bitwarden/common/abstractions/cryptoFunction.service"; import { EncryptService } from "@bitwarden/common/abstractions/encrypt.service"; @@ -26,7 +25,6 @@ import { import { LoginService as LoginServiceAbstraction } from "@bitwarden/common/abstractions/login.service"; import { MessagingService as MessagingServiceAbstraction } from "@bitwarden/common/abstractions/messaging.service"; import { PasswordGenerationService as PasswordGenerationServiceAbstraction } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService as PolicyServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService as StateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; @@ -39,6 +37,8 @@ import { GlobalState } from "@bitwarden/common/models/domain/global-state"; import { LoginService } from "@bitwarden/common/services/login.service"; import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service"; import { SystemService } from "@bitwarden/common/services/system.service"; +import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; import { Account } from "../../models/account"; import { ElectronCryptoService } from "../../services/electron-crypto.service"; @@ -51,8 +51,8 @@ import { EncryptedMessageHandlerService } from "../../services/encrypted-message import { I18nService } from "../../services/i18n.service"; import { NativeMessageHandlerService } from "../../services/native-message-handler.service"; import { NativeMessagingService } from "../../services/native-messaging.service"; -import { PasswordRepromptService } from "../../services/password-reprompt.service"; import { StateService } from "../../services/state.service"; +import { PasswordRepromptService } from "../../vault/services/password-reprompt.service"; import { LoginGuard } from "../guards/login.guard"; import { SearchBarService } from "../layout/search/search-bar.service"; diff --git a/apps/desktop/src/app/vault/collections.component.ts b/apps/desktop/src/app/vault/collections.component.ts index 4b53f4d8680..56beb83cfe8 100644 --- a/apps/desktop/src/app/vault/collections.component.ts +++ b/apps/desktop/src/app/vault/collections.component.ts @@ -1,11 +1,11 @@ import { Component } from "@angular/core"; import { CollectionsComponent as BaseCollectionsComponent } from "@bitwarden/angular/components/collections.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-collections", diff --git a/apps/desktop/src/services/encrypted-message-handler.service.ts b/apps/desktop/src/services/encrypted-message-handler.service.ts index 5f45118768e..57550c9bc06 100644 --- a/apps/desktop/src/services/encrypted-message-handler.service.ts +++ b/apps/desktop/src/services/encrypted-message-handler.service.ts @@ -1,16 +1,16 @@ import { firstValueFrom } from "rxjs"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { AuthenticationStatus } from "@bitwarden/common/enums/authenticationStatus"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { DecryptedCommandData } from "../models/native-messaging/decrypted-command-data"; import { CredentialCreatePayload } from "../models/native-messaging/encrypted-message-payloads/credential-create-payload"; diff --git a/apps/desktop/src/app/accounts/premium.component.html b/apps/desktop/src/vault/app/accounts/premium.component.html similarity index 100% rename from apps/desktop/src/app/accounts/premium.component.html rename to apps/desktop/src/vault/app/accounts/premium.component.html diff --git a/apps/desktop/src/app/accounts/premium.component.ts b/apps/desktop/src/vault/app/accounts/premium.component.ts similarity index 94% rename from apps/desktop/src/app/accounts/premium.component.ts rename to apps/desktop/src/vault/app/accounts/premium.component.ts index c18584b0ebe..c8c4710006e 100644 --- a/apps/desktop/src/app/accounts/premium.component.ts +++ b/apps/desktop/src/vault/app/accounts/premium.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/components/premium.component"; +import { PremiumComponent as BasePremiumComponent } from "@bitwarden/angular/vault/components/premium.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; diff --git a/apps/desktop/src/app/components/password-reprompt.component.html b/apps/desktop/src/vault/app/components/password-reprompt.component.html similarity index 100% rename from apps/desktop/src/app/components/password-reprompt.component.html rename to apps/desktop/src/vault/app/components/password-reprompt.component.html diff --git a/apps/browser/src/popup/components/password-reprompt.component.ts b/apps/desktop/src/vault/app/components/password-reprompt.component.ts similarity index 76% rename from apps/browser/src/popup/components/password-reprompt.component.ts rename to apps/desktop/src/vault/app/components/password-reprompt.component.ts index ef72c8a7a17..f63da5ed48e 100644 --- a/apps/browser/src/popup/components/password-reprompt.component.ts +++ b/apps/desktop/src/vault/app/components/password-reprompt.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/components/password-reprompt.component"; +import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/vault/components/password-reprompt.component"; @Component({ templateUrl: "password-reprompt.component.html", diff --git a/apps/desktop/src/app/vault/add-edit-custom-fields.component.html b/apps/desktop/src/vault/app/vault/add-edit-custom-fields.component.html similarity index 100% rename from apps/desktop/src/app/vault/add-edit-custom-fields.component.html rename to apps/desktop/src/vault/app/vault/add-edit-custom-fields.component.html diff --git a/apps/browser/src/popup/vault/add-edit-custom-fields.component.ts b/apps/desktop/src/vault/app/vault/add-edit-custom-fields.component.ts similarity index 87% rename from apps/browser/src/popup/vault/add-edit-custom-fields.component.ts rename to apps/desktop/src/vault/app/vault/add-edit-custom-fields.component.ts index 44f9e9539ad..517e5016c6f 100644 --- a/apps/browser/src/popup/vault/add-edit-custom-fields.component.ts +++ b/apps/desktop/src/vault/app/vault/add-edit-custom-fields.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/components/add-edit-custom-fields.component"; +import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/vault/components/add-edit-custom-fields.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; diff --git a/apps/desktop/src/app/vault/add-edit.component.html b/apps/desktop/src/vault/app/vault/add-edit.component.html similarity index 100% rename from apps/desktop/src/app/vault/add-edit.component.html rename to apps/desktop/src/vault/app/vault/add-edit.component.html diff --git a/apps/desktop/src/app/vault/add-edit.component.ts b/apps/desktop/src/vault/app/vault/add-edit.component.ts similarity index 91% rename from apps/desktop/src/app/vault/add-edit.component.ts rename to apps/desktop/src/vault/app/vault/add-edit.component.ts index 3cf9475b6b9..ab53f91ca42 100644 --- a/apps/desktop/src/app/vault/add-edit.component.ts +++ b/apps/desktop/src/vault/app/vault/add-edit.component.ts @@ -1,21 +1,21 @@ import { Component, NgZone, OnChanges, OnDestroy, ViewChild } from "@angular/core"; import { NgForm } from "@angular/forms"; -import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/components/add-edit.component"; +import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/vault/components/add-edit.component"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; const BroadcasterSubscriptionId = "AddEditComponent"; diff --git a/apps/desktop/src/app/vault/attachments.component.html b/apps/desktop/src/vault/app/vault/attachments.component.html similarity index 100% rename from apps/desktop/src/app/vault/attachments.component.html rename to apps/desktop/src/vault/app/vault/attachments.component.html diff --git a/apps/desktop/src/app/vault/attachments.component.ts b/apps/desktop/src/vault/app/vault/attachments.component.ts similarity index 90% rename from apps/desktop/src/app/vault/attachments.component.ts rename to apps/desktop/src/vault/app/vault/attachments.component.ts index 40a3f619ee6..6f6e5467670 100644 --- a/apps/desktop/src/app/vault/attachments.component.ts +++ b/apps/desktop/src/vault/app/vault/attachments.component.ts @@ -1,14 +1,14 @@ import { Component } from "@angular/core"; -import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/components/attachments.component"; +import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/vault/components/attachments.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-attachments", diff --git a/apps/desktop/src/app/vault/folder-add-edit.component.html b/apps/desktop/src/vault/app/vault/folder-add-edit.component.html similarity index 100% rename from apps/desktop/src/app/vault/folder-add-edit.component.html rename to apps/desktop/src/vault/app/vault/folder-add-edit.component.html diff --git a/apps/desktop/src/app/vault/folder-add-edit.component.ts b/apps/desktop/src/vault/app/vault/folder-add-edit.component.ts similarity index 73% rename from apps/desktop/src/app/vault/folder-add-edit.component.ts rename to apps/desktop/src/vault/app/vault/folder-add-edit.component.ts index a014389577d..08863c9ecfa 100644 --- a/apps/desktop/src/app/vault/folder-add-edit.component.ts +++ b/apps/desktop/src/vault/app/vault/folder-add-edit.component.ts @@ -1,11 +1,11 @@ import { Component } from "@angular/core"; -import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/components/folder-add-edit.component"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; +import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/vault/components/folder-add-edit.component"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; @Component({ selector: "app-folder-add-edit", diff --git a/apps/desktop/src/app/vault/password-history.component.html b/apps/desktop/src/vault/app/vault/password-history.component.html similarity index 100% rename from apps/desktop/src/app/vault/password-history.component.html rename to apps/desktop/src/vault/app/vault/password-history.component.html diff --git a/apps/desktop/src/app/vault/password-history.component.ts b/apps/desktop/src/vault/app/vault/password-history.component.ts similarity index 80% rename from apps/desktop/src/app/vault/password-history.component.ts rename to apps/desktop/src/vault/app/vault/password-history.component.ts index 0413e9f67a9..e52236a0c0b 100644 --- a/apps/desktop/src/app/vault/password-history.component.ts +++ b/apps/desktop/src/vault/app/vault/password-history.component.ts @@ -1,9 +1,9 @@ import { Component } from "@angular/core"; -import { PasswordHistoryComponent as BasePasswordHistoryComponent } from "@bitwarden/angular/components/password-history.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; +import { PasswordHistoryComponent as BasePasswordHistoryComponent } from "@bitwarden/angular/vault/components/password-history.component"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-password-history", diff --git a/apps/desktop/src/app/vault/share.component.html b/apps/desktop/src/vault/app/vault/share.component.html similarity index 100% rename from apps/desktop/src/app/vault/share.component.html rename to apps/desktop/src/vault/app/vault/share.component.html diff --git a/apps/desktop/src/app/vault/share.component.ts b/apps/desktop/src/vault/app/vault/share.component.ts similarity index 93% rename from apps/desktop/src/app/vault/share.component.ts rename to apps/desktop/src/vault/app/vault/share.component.ts index 3b0eb9ad490..f11a7537d92 100644 --- a/apps/desktop/src/app/vault/share.component.ts +++ b/apps/desktop/src/vault/app/vault/share.component.ts @@ -2,12 +2,12 @@ import { Component } from "@angular/core"; import { ModalRef } from "@bitwarden/angular/components/modal/modal.ref"; import { ShareComponent as BaseShareComponent } from "@bitwarden/angular/components/share.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-share", diff --git a/apps/desktop/src/app/vault/vault-filter/filters/folder-filter.component.html b/apps/desktop/src/vault/app/vault/vault-filter/filters/folder-filter.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/folder-filter.component.html rename to apps/desktop/src/vault/app/vault/vault-filter/filters/folder-filter.component.html diff --git a/apps/desktop/src/app/vault/vault-filter/filters/folder-filter.component.ts b/apps/desktop/src/vault/app/vault/vault-filter/filters/folder-filter.component.ts similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/folder-filter.component.ts rename to apps/desktop/src/vault/app/vault/vault-filter/filters/folder-filter.component.ts diff --git a/apps/desktop/src/app/vault/vault-filter/filters/status-filter.component.html b/apps/desktop/src/vault/app/vault/vault-filter/filters/status-filter.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/status-filter.component.html rename to apps/desktop/src/vault/app/vault/vault-filter/filters/status-filter.component.html diff --git a/apps/desktop/src/app/vault/vault-filter/filters/status-filter.component.ts b/apps/desktop/src/vault/app/vault/vault-filter/filters/status-filter.component.ts similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/status-filter.component.ts rename to apps/desktop/src/vault/app/vault/vault-filter/filters/status-filter.component.ts diff --git a/apps/desktop/src/app/vault/vault-filter/filters/type-filter.component.html b/apps/desktop/src/vault/app/vault/vault-filter/filters/type-filter.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/type-filter.component.html rename to apps/desktop/src/vault/app/vault/vault-filter/filters/type-filter.component.html diff --git a/apps/desktop/src/app/vault/vault-filter/filters/type-filter.component.ts b/apps/desktop/src/vault/app/vault/vault-filter/filters/type-filter.component.ts similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/filters/type-filter.component.ts rename to apps/desktop/src/vault/app/vault/vault-filter/filters/type-filter.component.ts diff --git a/apps/desktop/src/app/vault/vault-filter/vault-filter.component.html b/apps/desktop/src/vault/app/vault/vault-filter/vault-filter.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/vault-filter.component.html rename to apps/desktop/src/vault/app/vault/vault-filter/vault-filter.component.html diff --git a/apps/desktop/src/app/vault/vault-filter/vault-filter.component.ts b/apps/desktop/src/vault/app/vault/vault-filter/vault-filter.component.ts similarity index 100% rename from apps/desktop/src/app/vault/vault-filter/vault-filter.component.ts rename to apps/desktop/src/vault/app/vault/vault-filter/vault-filter.component.ts diff --git a/apps/desktop/src/app/vault/vault-filter/vault-filter.module.ts b/apps/desktop/src/vault/app/vault/vault-filter/vault-filter.module.ts similarity index 76% rename from apps/desktop/src/app/vault/vault-filter/vault-filter.module.ts rename to apps/desktop/src/vault/app/vault/vault-filter/vault-filter.module.ts index 996bdf807ab..9b9f0ab342c 100644 --- a/apps/desktop/src/app/vault/vault-filter/vault-filter.module.ts +++ b/apps/desktop/src/vault/app/vault/vault-filter/vault-filter.module.ts @@ -1,13 +1,14 @@ import { NgModule } from "@angular/core"; import { BrowserModule } from "@angular/platform-browser"; -import { DeprecatedVaultFilterService as DeprecatedVaultFilterServiceAbstraction } from "@bitwarden/angular/abstractions/deprecated-vault-filter.service"; import { JslibModule } from "@bitwarden/angular/jslib.module"; +import { DeprecatedVaultFilterService as DeprecatedVaultFilterServiceAbstraction } from "@bitwarden/angular/vault/abstractions/deprecated-vault-filter.service"; import { VaultFilterService } from "@bitwarden/angular/vault/vault-filter/services/vault-filter.service"; -import { CollectionFilterComponent } from "./filters/collection-filter.component"; +import { CollectionFilterComponent } from "../../../../app/vault/vault-filter/filters/collection-filter.component"; +import { OrganizationFilterComponent } from "../../../../app/vault/vault-filter/filters/organization-filter.component"; + import { FolderFilterComponent } from "./filters/folder-filter.component"; -import { OrganizationFilterComponent } from "./filters/organization-filter.component"; import { StatusFilterComponent } from "./filters/status-filter.component"; import { TypeFilterComponent } from "./filters/type-filter.component"; import { VaultFilterComponent } from "./vault-filter.component"; diff --git a/apps/desktop/src/app/vault/vault-items.component.html b/apps/desktop/src/vault/app/vault/vault-items.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault-items.component.html rename to apps/desktop/src/vault/app/vault/vault-items.component.html diff --git a/apps/desktop/src/app/vault/vault-items.component.ts b/apps/desktop/src/vault/app/vault/vault-items.component.ts similarity index 77% rename from apps/desktop/src/app/vault/vault-items.component.ts rename to apps/desktop/src/vault/app/vault/vault-items.component.ts index 1bd039d6994..c35f7730515 100644 --- a/apps/desktop/src/app/vault/vault-items.component.ts +++ b/apps/desktop/src/vault/app/vault/vault-items.component.ts @@ -1,10 +1,10 @@ import { Component } from "@angular/core"; -import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/components/vault-items.component"; +import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/vault/components/vault-items.component"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { SearchBarService } from "../layout/search/search-bar.service"; +import { SearchBarService } from "../../../app/layout/search/search-bar.service"; @Component({ selector: "app-vault-items", diff --git a/apps/desktop/src/app/vault/vault.component.html b/apps/desktop/src/vault/app/vault/vault.component.html similarity index 100% rename from apps/desktop/src/app/vault/vault.component.html rename to apps/desktop/src/vault/app/vault/vault.component.html diff --git a/apps/desktop/src/app/vault/vault.component.ts b/apps/desktop/src/vault/app/vault/vault.component.ts similarity index 96% rename from apps/desktop/src/app/vault/vault.component.ts rename to apps/desktop/src/vault/app/vault/vault.component.ts index 530e4528820..7d0f48809ab 100644 --- a/apps/desktop/src/app/vault/vault.component.ts +++ b/apps/desktop/src/vault/app/vault/vault.component.ts @@ -17,25 +17,25 @@ import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.s import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { invokeMenu, RendererMenuItem } from "../../utils"; -import { SearchBarService } from "../layout/search/search-bar.service"; +import { SearchBarService } from "../../../app/layout/search/search-bar.service"; +import { CollectionsComponent } from "../../../app/vault/collections.component"; +import { GeneratorComponent } from "../../../app/vault/generator.component"; +import { invokeMenu, RendererMenuItem } from "../../../utils"; import { AddEditComponent } from "./add-edit.component"; import { AttachmentsComponent } from "./attachments.component"; -import { CollectionsComponent } from "./collections.component"; import { FolderAddEditComponent } from "./folder-add-edit.component"; -import { GeneratorComponent } from "./generator.component"; import { PasswordHistoryComponent } from "./password-history.component"; import { ShareComponent } from "./share.component"; import { VaultFilterComponent } from "./vault-filter/vault-filter.component"; diff --git a/apps/desktop/src/app/vault/view-custom-fields.component.html b/apps/desktop/src/vault/app/vault/view-custom-fields.component.html similarity index 100% rename from apps/desktop/src/app/vault/view-custom-fields.component.html rename to apps/desktop/src/vault/app/vault/view-custom-fields.component.html diff --git a/apps/desktop/src/app/vault/view-custom-fields.component.ts b/apps/desktop/src/vault/app/vault/view-custom-fields.component.ts similarity index 86% rename from apps/desktop/src/app/vault/view-custom-fields.component.ts rename to apps/desktop/src/vault/app/vault/view-custom-fields.component.ts index 3ea41db713c..249f83c4444 100644 --- a/apps/desktop/src/app/vault/view-custom-fields.component.ts +++ b/apps/desktop/src/vault/app/vault/view-custom-fields.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { ViewCustomFieldsComponent as BaseViewCustomFieldsComponent } from "@bitwarden/angular/components/view-custom-fields.component"; +import { ViewCustomFieldsComponent as BaseViewCustomFieldsComponent } from "@bitwarden/angular/vault/components/view-custom-fields.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; @Component({ diff --git a/apps/desktop/src/app/vault/view.component.html b/apps/desktop/src/vault/app/vault/view.component.html similarity index 100% rename from apps/desktop/src/app/vault/view.component.html rename to apps/desktop/src/vault/app/vault/view.component.html diff --git a/apps/desktop/src/app/vault/view.component.ts b/apps/desktop/src/vault/app/vault/view.component.ts similarity index 90% rename from apps/desktop/src/app/vault/view.component.ts rename to apps/desktop/src/vault/app/vault/view.component.ts index 70f55d400a4..b409addd51f 100644 --- a/apps/desktop/src/app/vault/view.component.ts +++ b/apps/desktop/src/vault/app/vault/view.component.ts @@ -7,24 +7,24 @@ import { Output, } from "@angular/core"; -import { ViewComponent as BaseViewComponent } from "@bitwarden/angular/components/view.component"; +import { ViewComponent as BaseViewComponent } from "@bitwarden/angular/vault/components/view.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; const BroadcasterSubscriptionId = "ViewComponent"; diff --git a/apps/desktop/src/services/password-reprompt.service.ts b/apps/desktop/src/vault/services/password-reprompt.service.ts similarity index 82% rename from apps/desktop/src/services/password-reprompt.service.ts rename to apps/desktop/src/vault/services/password-reprompt.service.ts index fc0ed815851..ebff838d5ca 100644 --- a/apps/desktop/src/services/password-reprompt.service.ts +++ b/apps/desktop/src/vault/services/password-reprompt.service.ts @@ -1,6 +1,6 @@ import { Injectable } from "@angular/core"; -import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/services/passwordReprompt.service"; +import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/vault/services/password-reprompt.service"; import { PasswordRepromptComponent } from "../app/components/password-reprompt.component"; diff --git a/apps/web/src/app/accounts/set-password.component.ts b/apps/web/src/app/accounts/set-password.component.ts index 2e6deb2f5fb..4046d3d0871 100644 --- a/apps/web/src/app/accounts/set-password.component.ts +++ b/apps/web/src/app/accounts/set-password.component.ts @@ -13,7 +13,7 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-set-password", diff --git a/apps/web/src/app/accounts/trial-initiation/billing.component.ts b/apps/web/src/app/accounts/trial-initiation/billing.component.ts index 0817c19c26b..b75258e6c9d 100644 --- a/apps/web/src/app/accounts/trial-initiation/billing.component.ts +++ b/apps/web/src/app/accounts/trial-initiation/billing.component.ts @@ -11,8 +11,8 @@ import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstraction import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProductType } from "@bitwarden/common/enums/productType"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { OrganizationPlansComponent } from "../../settings/organization-plans.component"; diff --git a/apps/web/src/app/accounts/update-temp-password.component.ts b/apps/web/src/app/accounts/update-temp-password.component.ts index 1bdc2b3becc..12a087d6b6e 100644 --- a/apps/web/src/app/accounts/update-temp-password.component.ts +++ b/apps/web/src/app/accounts/update-temp-password.component.ts @@ -10,7 +10,7 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-update-temp-password", diff --git a/apps/web/src/app/app.component.ts b/apps/web/src/app/app.component.ts index 12f499a01cc..b9dac0c6dbf 100644 --- a/apps/web/src/app/app.component.ts +++ b/apps/web/src/app/app.component.ts @@ -9,11 +9,9 @@ import Swal from "sweetalert2"; import { AuthService } from "@bitwarden/common/abstractions/auth.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EventUploadService } from "@bitwarden/common/abstractions/event/event-upload.service"; -import { InternalFolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service"; @@ -23,8 +21,10 @@ import { InternalPolicyService } from "@bitwarden/common/abstractions/policy/pol import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { VaultTimeoutService } from "@bitwarden/common/abstractions/vaultTimeout/vaultTimeout.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { InternalFolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { PolicyListService, RouterService } from "./core"; import { diff --git a/apps/web/src/app/core/core.module.ts b/apps/web/src/app/core/core.module.ts index 8a37e5f44ac..4b30a37ff58 100644 --- a/apps/web/src/app/core/core.module.ts +++ b/apps/web/src/app/core/core.module.ts @@ -15,7 +15,6 @@ import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstractions/i18n.service"; import { LoginService as LoginServiceAbstraction } from "@bitwarden/common/abstractions/login.service"; import { MessagingService as MessagingServiceAbstraction } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService as BaseStateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; import { StateMigrationService as StateMigrationServiceAbstraction } from "@bitwarden/common/abstractions/stateMigration.service"; @@ -23,6 +22,11 @@ import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.s import { StateFactory } from "@bitwarden/common/factories/stateFactory"; import { LoginService } from "@bitwarden/common/services/login.service"; import { MemoryStorageService } from "@bitwarden/common/services/memoryStorage.service"; +import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; + +// TODO refine elsint rule for **/app/core/* +// eslint-disable-next-line no-restricted-imports +import { PasswordRepromptService } from "../../vault/app/core/password-reprompt.service"; import { BroadcasterMessagingService } from "./broadcaster-messaging.service"; import { EventService } from "./event.service"; @@ -30,7 +34,6 @@ import { HtmlStorageService } from "./html-storage.service"; import { I18nService } from "./i18n.service"; import { InitService } from "./init.service"; import { ModalService } from "./modal.service"; -import { PasswordRepromptService } from "./password-reprompt.service"; import { PolicyListService } from "./policy-list.service"; import { RouterService } from "./router.service"; import { Account, GlobalState, StateService } from "./state"; diff --git a/apps/web/src/app/core/state/state.service.ts b/apps/web/src/app/core/state/state.service.ts index 0b7a56790f4..d2fcb55a10a 100644 --- a/apps/web/src/app/core/state/state.service.ts +++ b/apps/web/src/app/core/state/state.service.ts @@ -13,12 +13,12 @@ import { AbstractStorageService, } from "@bitwarden/common/abstractions/storage.service"; import { StateFactory } from "@bitwarden/common/factories/stateFactory"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; import { CollectionData } from "@bitwarden/common/models/data/collection.data"; -import { FolderData } from "@bitwarden/common/models/data/folder.data"; import { SendData } from "@bitwarden/common/models/data/send.data"; import { StorageOptions } from "@bitwarden/common/models/domain/storage-options"; import { StateService as BaseStateService } from "@bitwarden/common/services/state.service"; +import { CipherData } from "@bitwarden/common/vault/models/data/cipher.data"; +import { FolderData } from "@bitwarden/common/vault/models/data/folder.data"; import { Account } from "./account"; import { GlobalState } from "./global-state"; diff --git a/apps/web/src/app/layouts/navbar.component.ts b/apps/web/src/app/layouts/navbar.component.ts index aae5c516daf..3fbcfc3e2ba 100644 --- a/apps/web/src/app/layouts/navbar.component.ts +++ b/apps/web/src/app/layouts/navbar.component.ts @@ -10,10 +10,10 @@ import { } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { ProviderService } from "@bitwarden/common/abstractions/provider.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { Provider } from "@bitwarden/common/models/domain/provider"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-navbar", diff --git a/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts b/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts index 350f3879f08..64295fdebb8 100644 --- a/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts +++ b/apps/web/src/app/organizations/guards/org-permissions.guard.spec.ts @@ -9,9 +9,9 @@ import { mock, MockProxy } from "jest-mock-extended"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { OrganizationUserType } from "@bitwarden/common/enums/organizationUserType"; import { Organization } from "@bitwarden/common/models/domain/organization"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { OrganizationPermissionsGuard } from "./org-permissions.guard"; diff --git a/apps/web/src/app/organizations/guards/org-permissions.guard.ts b/apps/web/src/app/organizations/guards/org-permissions.guard.ts index 594c1d04b8e..8cad346acc0 100644 --- a/apps/web/src/app/organizations/guards/org-permissions.guard.ts +++ b/apps/web/src/app/organizations/guards/org-permissions.guard.ts @@ -7,8 +7,8 @@ import { OrganizationService, } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Organization } from "@bitwarden/common/models/domain/organization"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Injectable({ providedIn: "root", diff --git a/apps/web/src/app/organizations/members/people.component.ts b/apps/web/src/app/organizations/members/people.component.ts index 5918538e4c5..97cadf3a6c6 100644 --- a/apps/web/src/app/organizations/members/people.component.ts +++ b/apps/web/src/app/organizations/members/people.component.ts @@ -22,7 +22,6 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ValidationService } from "@bitwarden/common/abstractions/validation.service"; import { OrganizationUserStatusType } from "@bitwarden/common/enums/organizationUserStatusType"; import { OrganizationUserType } from "@bitwarden/common/enums/organizationUserType"; @@ -34,6 +33,7 @@ import { Organization } from "@bitwarden/common/models/domain/organization"; import { OrganizationKeysRequest } from "@bitwarden/common/models/request/organization-keys.request"; import { CollectionDetailsResponse } from "@bitwarden/common/models/response/collection.response"; import { ListResponse } from "@bitwarden/common/models/response/list.response"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { DialogService, SimpleDialogCloseType, diff --git a/apps/web/src/app/organizations/settings/delete-organization.component.ts b/apps/web/src/app/organizations/settings/delete-organization.component.ts index 1857a94f4c9..279d2f32895 100644 --- a/apps/web/src/app/organizations/settings/delete-organization.component.ts +++ b/apps/web/src/app/organizations/settings/delete-organization.component.ts @@ -1,16 +1,16 @@ import { Component, EventEmitter, OnInit, Output } from "@angular/core"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification/userVerification.service.abstraction"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { Verification } from "@bitwarden/common/types/verification"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; class CountBasedLocalizationKey { singular: string; diff --git a/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts b/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts index b0db38a850c..0b7e291583b 100644 --- a/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts +++ b/apps/web/src/app/organizations/sponsorships/families-for-enterprise-setup.component.ts @@ -8,13 +8,13 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ValidationService } from "@bitwarden/common/abstractions/validation.service"; import { PlanSponsorshipType } from "@bitwarden/common/enums/planSponsorshipType"; import { PlanType } from "@bitwarden/common/enums/planType"; import { ProductType } from "@bitwarden/common/enums/productType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { OrganizationSponsorshipRedeemRequest } from "@bitwarden/common/models/request/organization/organization-sponsorship-redeem.request"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { DeleteOrganizationComponent } from "../../organizations/settings"; import { OrganizationPlansComponent } from "../../settings/organization-plans.component"; diff --git a/apps/web/src/app/organizations/tools/exposed-passwords-report.component.ts b/apps/web/src/app/organizations/tools/exposed-passwords-report.component.ts index 703ac038d72..ecc49e41faa 100644 --- a/apps/web/src/app/organizations/tools/exposed-passwords-report.component.ts +++ b/apps/web/src/app/organizations/tools/exposed-passwords-report.component.ts @@ -3,12 +3,12 @@ import { ActivatedRoute } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; // eslint-disable-next-line no-restricted-imports import { ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent } from "../../reports/pages/exposed-passwords-report.component"; diff --git a/apps/web/src/app/organizations/tools/import-export/org-import-export.module.ts b/apps/web/src/app/organizations/tools/import-export/org-import-export.module.ts index 3140050262f..8429ea983ac 100644 --- a/apps/web/src/app/organizations/tools/import-export/org-import-export.module.ts +++ b/apps/web/src/app/organizations/tools/import-export/org-import-export.module.ts @@ -1,15 +1,15 @@ import { NgModule } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { ImportApiServiceAbstraction } from "@bitwarden/common/abstractions/import/import-api.service.abstraction"; import { ImportService as ImportServiceAbstraction } from "@bitwarden/common/abstractions/import/import.service.abstraction"; import { ImportApiService } from "@bitwarden/common/services/import/import-api.service"; import { ImportService } from "@bitwarden/common/services/import/import.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { LooseComponentsModule, SharedModule } from "../../../shared"; diff --git a/apps/web/src/app/organizations/tools/import-export/org-import.component.ts b/apps/web/src/app/organizations/tools/import-export/org-import.component.ts index cf1935c85f1..d30e411b3af 100644 --- a/apps/web/src/app/organizations/tools/import-export/org-import.component.ts +++ b/apps/web/src/app/organizations/tools/import-export/org-import.component.ts @@ -8,7 +8,7 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { ImportComponent } from "../../../tools/import-export/import.component"; diff --git a/apps/web/src/app/organizations/tools/inactive-two-factor-report.component.ts b/apps/web/src/app/organizations/tools/inactive-two-factor-report.component.ts index 5b6c3be08d2..69b3b9b6a6a 100644 --- a/apps/web/src/app/organizations/tools/inactive-two-factor-report.component.ts +++ b/apps/web/src/app/organizations/tools/inactive-two-factor-report.component.ts @@ -2,12 +2,12 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; // eslint-disable-next-line no-restricted-imports import { InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent } from "../../reports/pages/inactive-two-factor-report.component"; diff --git a/apps/web/src/app/organizations/tools/reused-passwords-report.component.ts b/apps/web/src/app/organizations/tools/reused-passwords-report.component.ts index 1c43c7f748b..00526b51548 100644 --- a/apps/web/src/app/organizations/tools/reused-passwords-report.component.ts +++ b/apps/web/src/app/organizations/tools/reused-passwords-report.component.ts @@ -2,13 +2,13 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; // eslint-disable-next-line no-restricted-imports import { ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent } from "../../reports/pages/reused-passwords-report.component"; diff --git a/apps/web/src/app/organizations/tools/unsecured-websites-report.component.ts b/apps/web/src/app/organizations/tools/unsecured-websites-report.component.ts index a2d46e6ae2a..524947533ac 100644 --- a/apps/web/src/app/organizations/tools/unsecured-websites-report.component.ts +++ b/apps/web/src/app/organizations/tools/unsecured-websites-report.component.ts @@ -2,11 +2,11 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; // eslint-disable-next-line no-restricted-imports import { UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent } from "../../reports/pages/unsecured-websites-report.component"; diff --git a/apps/web/src/app/organizations/tools/weak-passwords-report.component.ts b/apps/web/src/app/organizations/tools/weak-passwords-report.component.ts index ccf6bfb5e00..ea0c3365260 100644 --- a/apps/web/src/app/organizations/tools/weak-passwords-report.component.ts +++ b/apps/web/src/app/organizations/tools/weak-passwords-report.component.ts @@ -2,13 +2,13 @@ import { Component } from "@angular/core"; import { ActivatedRoute } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; // eslint-disable-next-line no-restricted-imports import { WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent } from "../../reports/pages/weak-passwords-report.component"; diff --git a/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts b/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts index 1b117636fa5..d47e73baac5 100644 --- a/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts +++ b/apps/web/src/app/organizations/users/enroll-master-password-reset.component.ts @@ -9,11 +9,11 @@ import { OrganizationUserService } from "@bitwarden/common/abstractions/organiza import { OrganizationUserResetPasswordEnrollmentRequest } from "@bitwarden/common/abstractions/organization-user/requests"; import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification/userVerification.service.abstraction"; import { Utils } from "@bitwarden/common/misc/utils"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { Verification } from "@bitwarden/common/types/verification"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-enroll-master-password-reset", diff --git a/apps/web/src/app/organizations/vault/add-edit.component.ts b/apps/web/src/app/organizations/vault/add-edit.component.ts index 6a03696c2ef..5f05840c826 100644 --- a/apps/web/src/app/organizations/vault/add-edit.component.ts +++ b/apps/web/src/app/organizations/vault/add-edit.component.ts @@ -2,30 +2,30 @@ import { Component } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherCreateRequest } from "@bitwarden/common/models/request/cipher-create.request"; -import { CipherRequest } from "@bitwarden/common/models/request/cipher.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherData } from "@bitwarden/common/vault/models/data/cipher.data"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherCreateRequest } from "@bitwarden/common/vault/models/request/cipher-create.request"; +import { CipherRequest } from "@bitwarden/common/vault/models/request/cipher.request"; -import { AddEditComponent as BaseAddEditComponent } from "../../vault/add-edit.component"; +import { AddEditComponent as BaseAddEditComponent } from "../../../vault/app/vault/add-edit.component"; @Component({ selector: "app-org-vault-add-edit", - templateUrl: "../../vault/add-edit.component.html", + templateUrl: "../../../vault/app/vault/add-edit.component.html", }) export class AddEditComponent extends BaseAddEditComponent { originalCipher: Cipher = null; diff --git a/apps/web/src/app/organizations/vault/attachments.component.ts b/apps/web/src/app/organizations/vault/attachments.component.ts index 79ed8e67b84..720c08bee58 100644 --- a/apps/web/src/app/organizations/vault/attachments.component.ts +++ b/apps/web/src/app/organizations/vault/attachments.component.ts @@ -1,23 +1,23 @@ import { Component } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherData } from "@bitwarden/common/vault/models/data/cipher.data"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; -import { AttachmentsComponent as BaseAttachmentsComponent } from "../../vault/attachments.component"; +import { AttachmentsComponent as BaseAttachmentsComponent } from "../../../vault/app/vault/attachments.component"; @Component({ selector: "app-org-vault-attachments", - templateUrl: "../../vault/attachments.component.html", + templateUrl: "../../../vault/app/vault/attachments.component.html", }) export class AttachmentsComponent extends BaseAttachmentsComponent { viewOnly = false; diff --git a/apps/web/src/app/organizations/vault/collection-badge/collection-badge.module.ts b/apps/web/src/app/organizations/vault/collection-badge/collection-badge.module.ts index fdaf76bbf96..5f1a21fdc22 100644 --- a/apps/web/src/app/organizations/vault/collection-badge/collection-badge.module.ts +++ b/apps/web/src/app/organizations/vault/collection-badge/collection-badge.module.ts @@ -1,7 +1,7 @@ import { NgModule } from "@angular/core"; +import { PipesModule } from "../../../../vault/app/vault/pipes/pipes.module"; import { SharedModule } from "../../../shared"; -import { PipesModule } from "../../../vault/pipes/pipes.module"; import { CollectionNameBadgeComponent } from "./collection-name.badge.component"; diff --git a/apps/web/src/app/organizations/vault/collections.component.ts b/apps/web/src/app/organizations/vault/collections.component.ts index 59fb4c8d15f..e78f54aa686 100644 --- a/apps/web/src/app/organizations/vault/collections.component.ts +++ b/apps/web/src/app/organizations/vault/collections.component.ts @@ -1,21 +1,21 @@ import { Component } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherCollectionsRequest } from "@bitwarden/common/models/request/cipher-collections.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherData } from "@bitwarden/common/vault/models/data/cipher.data"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherCollectionsRequest } from "@bitwarden/common/vault/models/request/cipher-collections.request"; -import { CollectionsComponent as BaseCollectionsComponent } from "../../vault/collections.component"; +import { CollectionsComponent as BaseCollectionsComponent } from "../../../vault/app/vault/collections.component"; @Component({ selector: "app-org-vault-collections", - templateUrl: "../../vault/collections.component.html", + templateUrl: "../../../vault/app/vault/collections.component.html", }) export class CollectionsComponent extends BaseCollectionsComponent { organization: Organization; diff --git a/apps/web/src/app/organizations/vault/group-badge/group-badge.module.ts b/apps/web/src/app/organizations/vault/group-badge/group-badge.module.ts index 9e997c97da8..d243d50efc1 100644 --- a/apps/web/src/app/organizations/vault/group-badge/group-badge.module.ts +++ b/apps/web/src/app/organizations/vault/group-badge/group-badge.module.ts @@ -1,7 +1,7 @@ import { NgModule } from "@angular/core"; +import { PipesModule } from "../../../../vault/app/vault/pipes/pipes.module"; import { SharedModule } from "../../../shared"; -import { PipesModule } from "../../../vault/pipes/pipes.module"; import { GroupNameBadgeComponent } from "./group-name-badge.component"; diff --git a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.component.ts b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.component.ts index 5a2fa97ab14..44f53203b31 100644 --- a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.component.ts +++ b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.component.ts @@ -5,16 +5,16 @@ import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { VaultFilterComponent as BaseVaultFilterComponent } from "../../../vault/vault-filter/components/vault-filter.component"; +import { VaultFilterComponent as BaseVaultFilterComponent } from "../../../../vault/app/vault/vault-filter/components/vault-filter.component"; import { VaultFilterList, VaultFilterType, -} from "../../../vault/vault-filter/shared/models/vault-filter-section.type"; -import { CollectionFilter } from "../../../vault/vault-filter/shared/models/vault-filter.type"; +} from "../../../../vault/app/vault/vault-filter/shared/models/vault-filter-section.type"; +import { CollectionFilter } from "../../../../vault/app/vault/vault-filter/shared/models/vault-filter.type"; @Component({ selector: "app-organization-vault-filter", - templateUrl: "../../../vault/vault-filter/components/vault-filter.component.html", + templateUrl: "../../../../vault/app/vault/vault-filter/components/vault-filter.component.html", }) export class VaultFilterComponent extends BaseVaultFilterComponent implements OnInit, OnDestroy { @Input() set organization(value: Organization) { diff --git a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.module.ts b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.module.ts index 04f08d8546b..9bc5bdb2eea 100644 --- a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.module.ts +++ b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.module.ts @@ -1,7 +1,7 @@ import { NgModule } from "@angular/core"; -import { VaultFilterService as VaultFilterServiceAbstraction } from "../../../vault/vault-filter/services/abstractions/vault-filter.service"; -import { VaultFilterSharedModule } from "../../../vault/vault-filter/shared/vault-filter-shared.module"; +import { VaultFilterService as VaultFilterServiceAbstraction } from "../../../../vault/app/vault/vault-filter/services/abstractions/vault-filter.service"; +import { VaultFilterSharedModule } from "../../../../vault/app/vault/vault-filter/shared/vault-filter-shared.module"; import { VaultFilterComponent } from "./vault-filter.component"; import { VaultFilterService } from "./vault-filter.service"; diff --git a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.service.ts b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.service.ts index 737ac431256..49f2c0518e8 100644 --- a/apps/web/src/app/organizations/vault/vault-filter/vault-filter.service.ts +++ b/apps/web/src/app/organizations/vault/vault-filter/vault-filter.service.ts @@ -1,9 +1,7 @@ import { Injectable, OnDestroy } from "@angular/core"; import { filter, map, Observable, ReplaySubject, Subject, switchMap, takeUntil } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { canAccessVaultTab, @@ -13,9 +11,11 @@ import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.serv import { StateService } from "@bitwarden/common/abstractions/state.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; -import { VaultFilterService as BaseVaultFilterService } from "../../../vault/vault-filter/services/vault-filter.service"; -import { CollectionFilter } from "../../../vault/vault-filter/shared/models/vault-filter.type"; +import { VaultFilterService as BaseVaultFilterService } from "../../../../vault/app/vault/vault-filter/services/vault-filter.service"; +import { CollectionFilter } from "../../../../vault/app/vault/vault-filter/shared/models/vault-filter.type"; import { CollectionAdminView } from "../../core"; import { CollectionAdminService } from "../../core/services/collection-admin.service"; diff --git a/apps/web/src/app/organizations/vault/vault-items.component.ts b/apps/web/src/app/organizations/vault/vault-items.component.ts index 0a5a1a939f9..3417a7f0552 100644 --- a/apps/web/src/app/organizations/vault/vault-items.component.ts +++ b/apps/web/src/app/organizations/vault/vault-items.component.ts @@ -3,12 +3,10 @@ import { lastValueFrom } from "rxjs"; import { SearchPipe } from "@bitwarden/angular/pipes/search.pipe"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; @@ -16,20 +14,22 @@ import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { DialogService } from "@bitwarden/components"; import { BulkDeleteDialogResult, openBulkDeleteDialog, -} from "../../vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component"; -import { VaultFilterService } from "../../vault/vault-filter/services/abstractions/vault-filter.service"; -import { CollectionFilter } from "../../vault/vault-filter/shared/models/vault-filter.type"; +} from "../../../vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component"; +import { VaultFilterService } from "../../../vault/app/vault/vault-filter/services/abstractions/vault-filter.service"; +import { CollectionFilter } from "../../../vault/app/vault/vault-filter/shared/models/vault-filter.type"; import { VaultItemRow, VaultItemsComponent as BaseVaultItemsComponent, -} from "../../vault/vault-items.component"; +} from "../../../vault/app/vault/vault-items.component"; import { CollectionAdminView } from "../core"; import { GroupService } from "../core/services/group/group.service"; import { @@ -42,7 +42,7 @@ const MaxCheckedCount = 500; @Component({ selector: "app-org-vault-items", - templateUrl: "../../vault/vault-items.component.html", + templateUrl: "../../../vault/app/vault/vault-items.component.html", }) export class VaultItemsComponent extends BaseVaultItemsComponent implements OnDestroy { @Input() set initOrganization(value: Organization) { diff --git a/apps/web/src/app/organizations/vault/vault.component.ts b/apps/web/src/app/organizations/vault/vault.component.ts index e3e6fbc7413..b30b6ad3497 100644 --- a/apps/web/src/app/organizations/vault/vault.component.ts +++ b/apps/web/src/app/organizations/vault/vault.component.ts @@ -13,17 +13,17 @@ import { first, switchMap, takeUntil } from "rxjs/operators"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProductType } from "@bitwarden/common/enums/productType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { DialogService, SimpleDialogCloseType, @@ -31,9 +31,9 @@ import { SimpleDialogType, } from "@bitwarden/components"; -import { VaultFilterService } from "../../vault/vault-filter/services/abstractions/vault-filter.service"; -import { VaultFilter } from "../../vault/vault-filter/shared/models/vault-filter.model"; -import { CollectionFilter } from "../../vault/vault-filter/shared/models/vault-filter.type"; +import { VaultFilterService } from "../../../vault/app/vault/vault-filter/services/abstractions/vault-filter.service"; +import { VaultFilter } from "../../../vault/app/vault/vault-filter/shared/models/vault-filter.model"; +import { CollectionFilter } from "../../../vault/app/vault/vault-filter/shared/models/vault-filter.type"; import { CollectionAdminService } from "../core"; import { EntityEventsComponent } from "../manage/entity-events.component"; import { diff --git a/apps/web/src/app/organizations/vault/vault.module.ts b/apps/web/src/app/organizations/vault/vault.module.ts index 97db97132bd..9bd25cb761e 100644 --- a/apps/web/src/app/organizations/vault/vault.module.ts +++ b/apps/web/src/app/organizations/vault/vault.module.ts @@ -2,10 +2,10 @@ import { NgModule } from "@angular/core"; import { BreadcrumbsModule } from "@bitwarden/components"; +import { OrganizationBadgeModule } from "../../../vault/app/vault/organization-badge/organization-badge.module"; +import { PipesModule } from "../../../vault/app/vault/pipes/pipes.module"; import { LooseComponentsModule } from "../../shared/loose-components.module"; import { SharedModule } from "../../shared/shared.module"; -import { OrganizationBadgeModule } from "../../vault/organization-badge/organization-badge.module"; -import { PipesModule } from "../../vault/pipes/pipes.module"; import { CollectionBadgeModule } from "./collection-badge/collection-badge.module"; import { GroupBadgeModule } from "./group-badge/group-badge.module"; diff --git a/apps/web/src/app/oss-routing.module.ts b/apps/web/src/app/oss-routing.module.ts index 76b81f27ea3..e2e4d40f10b 100644 --- a/apps/web/src/app/oss-routing.module.ts +++ b/apps/web/src/app/oss-routing.module.ts @@ -6,6 +6,7 @@ import { LockGuard } from "@bitwarden/angular/guards/lock.guard"; import { UnauthGuard } from "@bitwarden/angular/guards/unauth.guard"; import { flagEnabled, Flags } from "../utils/flags"; +import { VaultModule } from "../vault/app/vault/vault.module"; import { AcceptEmergencyComponent } from "./accounts/accept-emergency.component"; import { AcceptOrganizationComponent } from "./accounts/accept-organization.component"; @@ -45,7 +46,6 @@ import { SponsoredFamiliesComponent } from "./settings/sponsored-families.compon import { SubscriptionRoutingModule } from "./settings/subscription-routing.module"; import { GeneratorComponent } from "./tools/generator.component"; import { ToolsComponent } from "./tools/tools.component"; -import { VaultModule } from "./vault/vault.module"; const routes: Routes = [ { diff --git a/apps/web/src/app/oss.module.ts b/apps/web/src/app/oss.module.ts index 457200a0e9b..99887178f24 100644 --- a/apps/web/src/app/oss.module.ts +++ b/apps/web/src/app/oss.module.ts @@ -1,13 +1,14 @@ import { NgModule } from "@angular/core"; +import { OrganizationBadgeModule } from "../vault/app/vault/organization-badge/organization-badge.module"; +import { VaultFilterModule } from "../vault/app/vault/vault-filter/vault-filter.module"; + import { LoginModule } from "./accounts/login/login.module"; import { TrialInitiationModule } from "./accounts/trial-initiation/trial-initiation.module"; import { OrganizationCreateModule } from "./organizations/create/organization-create.module"; import { OrganizationManageModule } from "./organizations/manage/organization-manage.module"; import { OrganizationUserModule } from "./organizations/users/organization-user.module"; import { LooseComponentsModule, SharedModule } from "./shared"; -import { OrganizationBadgeModule } from "./vault/organization-badge/organization-badge.module"; -import { VaultFilterModule } from "./vault/vault-filter/vault-filter.module"; @NgModule({ imports: [ diff --git a/apps/web/src/app/reports/pages/cipher-report.component.ts b/apps/web/src/app/reports/pages/cipher-report.component.ts index baec67eee35..3e987360fc1 100644 --- a/apps/web/src/app/reports/pages/cipher-report.component.ts +++ b/apps/web/src/app/reports/pages/cipher-report.component.ts @@ -2,13 +2,13 @@ import { Directive, ViewChild, ViewContainerRef } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { AddEditComponent } from "../../../vault/app/vault/add-edit.component"; import { AddEditComponent as OrgAddEditComponent } from "../../organizations/vault/add-edit.component"; -import { AddEditComponent } from "../../vault/add-edit.component"; @Directive() export class CipherReportComponent { diff --git a/apps/web/src/app/reports/pages/exposed-passwords-report.component.ts b/apps/web/src/app/reports/pages/exposed-passwords-report.component.ts index 5f51baa0024..6489c076729 100644 --- a/apps/web/src/app/reports/pages/exposed-passwords-report.component.ts +++ b/apps/web/src/app/reports/pages/exposed-passwords-report.component.ts @@ -2,11 +2,11 @@ import { Component, OnInit } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherReportComponent } from "./cipher-report.component"; diff --git a/apps/web/src/app/reports/pages/inactive-two-factor-report.component.ts b/apps/web/src/app/reports/pages/inactive-two-factor-report.component.ts index 0beaa53035d..3691026d272 100644 --- a/apps/web/src/app/reports/pages/inactive-two-factor-report.component.ts +++ b/apps/web/src/app/reports/pages/inactive-two-factor-report.component.ts @@ -1,13 +1,13 @@ import { Component, OnInit } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherReportComponent } from "./cipher-report.component"; diff --git a/apps/web/src/app/reports/pages/reused-passwords-report.component.ts b/apps/web/src/app/reports/pages/reused-passwords-report.component.ts index adcfa0ec5c2..04ee658762f 100644 --- a/apps/web/src/app/reports/pages/reused-passwords-report.component.ts +++ b/apps/web/src/app/reports/pages/reused-passwords-report.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherReportComponent } from "./cipher-report.component"; diff --git a/apps/web/src/app/reports/pages/unsecured-websites-report.component.ts b/apps/web/src/app/reports/pages/unsecured-websites-report.component.ts index 3918116c221..456e9bba834 100644 --- a/apps/web/src/app/reports/pages/unsecured-websites-report.component.ts +++ b/apps/web/src/app/reports/pages/unsecured-websites-report.component.ts @@ -1,11 +1,11 @@ import { Component, OnInit } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherReportComponent } from "./cipher-report.component"; diff --git a/apps/web/src/app/reports/pages/weak-passwords-report.component.ts b/apps/web/src/app/reports/pages/weak-passwords-report.component.ts index 6d781784266..e354973fca0 100644 --- a/apps/web/src/app/reports/pages/weak-passwords-report.component.ts +++ b/apps/web/src/app/reports/pages/weak-passwords-report.component.ts @@ -1,12 +1,12 @@ import { Component, OnInit } from "@angular/core"; import { ModalService } from "@bitwarden/angular/services/modal.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { BadgeTypes } from "@bitwarden/components"; import { CipherReportComponent } from "./cipher-report.component"; diff --git a/apps/web/src/app/reports/shared/report-card/report-card.stories.ts b/apps/web/src/app/reports/shared/report-card/report-card.stories.ts index 52aa46fe28a..dc56d818290 100644 --- a/apps/web/src/app/reports/shared/report-card/report-card.stories.ts +++ b/apps/web/src/app/reports/shared/report-card/report-card.stories.ts @@ -4,7 +4,7 @@ import { Meta, Story, moduleMetadata } from "@storybook/angular"; import { JslibModule } from "@bitwarden/angular/jslib.module"; import { BadgeModule, IconModule } from "@bitwarden/components"; -import { PremiumBadgeComponent } from "../../../components/premium-badge.component"; +import { PremiumBadgeComponent } from "../../../../vault/app/components/premium-badge.component"; import { PreloadedEnglishI18nModule } from "../../../tests/preloaded-english-i18n.module"; import { ReportVariant } from "../models/report-variant"; diff --git a/apps/web/src/app/reports/shared/report-list/report-list.stories.ts b/apps/web/src/app/reports/shared/report-list/report-list.stories.ts index d1cadbd3562..e04d423f0e6 100644 --- a/apps/web/src/app/reports/shared/report-list/report-list.stories.ts +++ b/apps/web/src/app/reports/shared/report-list/report-list.stories.ts @@ -4,7 +4,7 @@ import { Meta, Story, moduleMetadata } from "@storybook/angular"; import { JslibModule } from "@bitwarden/angular/jslib.module"; import { BadgeModule, IconModule } from "@bitwarden/components"; -import { PremiumBadgeComponent } from "../../../components/premium-badge.component"; +import { PremiumBadgeComponent } from "../../../../vault/app/components/premium-badge.component"; import { PreloadedEnglishI18nModule } from "../../../tests/preloaded-english-i18n.module"; import { reports } from "../../reports"; import { ReportVariant } from "../models/report-variant"; diff --git a/apps/web/src/app/settings/change-password.component.ts b/apps/web/src/app/settings/change-password.component.ts index 8d0266410ff..6553f8accaa 100644 --- a/apps/web/src/app/settings/change-password.component.ts +++ b/apps/web/src/app/settings/change-password.component.ts @@ -4,9 +4,7 @@ import { firstValueFrom } from "rxjs"; import { ChangePasswordComponent as BaseChangePasswordComponent } from "@bitwarden/angular/components/change-password.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; @@ -19,17 +17,19 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { SendService } from "@bitwarden/common/abstractions/send.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EmergencyAccessStatusType } from "@bitwarden/common/enums/emergencyAccessStatusType"; import { Utils } from "@bitwarden/common/misc/utils"; import { EncString } from "@bitwarden/common/models/domain/enc-string"; import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; -import { CipherWithIdRequest } from "@bitwarden/common/models/request/cipher-with-id.request"; import { EmergencyAccessUpdateRequest } from "@bitwarden/common/models/request/emergency-access-update.request"; -import { FolderWithIdRequest } from "@bitwarden/common/models/request/folder-with-id.request"; import { PasswordRequest } from "@bitwarden/common/models/request/password.request"; import { SendWithIdRequest } from "@bitwarden/common/models/request/send-with-id.request"; import { UpdateKeyRequest } from "@bitwarden/common/models/request/update-key.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherWithIdRequest } from "@bitwarden/common/vault/models/request/cipher-with-id.request"; +import { FolderWithIdRequest } from "@bitwarden/common/vault/models/request/folder-with-id.request"; @Component({ selector: "app-change-password", diff --git a/apps/web/src/app/settings/emergency-access-attachments.component.ts b/apps/web/src/app/settings/emergency-access-attachments.component.ts index 383078e3368..6830fd27b78 100644 --- a/apps/web/src/app/settings/emergency-access-attachments.component.ts +++ b/apps/web/src/app/settings/emergency-access-attachments.component.ts @@ -1,19 +1,19 @@ import { Component } from "@angular/core"; -import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/components/attachments.component"; +import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/vault/components/attachments.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; @Component({ selector: "emergency-access-attachments", - templateUrl: "../vault/attachments.component.html", + templateUrl: "../../vault/app/vault/attachments.component.html", }) export class EmergencyAccessAttachmentsComponent extends BaseAttachmentsComponent { viewOnly = true; diff --git a/apps/web/src/app/settings/emergency-access-view.component.ts b/apps/web/src/app/settings/emergency-access-view.component.ts index 6c314aabc31..2cf95f4d2f7 100644 --- a/apps/web/src/app/settings/emergency-access-view.component.ts +++ b/apps/web/src/app/settings/emergency-access-view.component.ts @@ -3,13 +3,13 @@ import { ActivatedRoute, Router } from "@angular/router"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; import { EmergencyAccessViewResponse } from "@bitwarden/common/models/response/emergency-access.response"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherData } from "@bitwarden/common/vault/models/data/cipher.data"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { EmergencyAccessAttachmentsComponent } from "./emergency-access-attachments.component"; import { EmergencyAddEditComponent } from "./emergency-add-edit.component"; diff --git a/apps/web/src/app/settings/emergency-add-edit.component.ts b/apps/web/src/app/settings/emergency-add-edit.component.ts index 3e97067d6f9..63e4bd17f5e 100644 --- a/apps/web/src/app/settings/emergency-add-edit.component.ts +++ b/apps/web/src/app/settings/emergency-add-edit.component.ts @@ -1,27 +1,27 @@ import { Component } from "@angular/core"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; -import { AddEditComponent as BaseAddEditComponent } from "../vault/add-edit.component"; +import { AddEditComponent as BaseAddEditComponent } from "../../vault/app/vault/add-edit.component"; @Component({ selector: "app-org-vault-add-edit", - templateUrl: "../vault/add-edit.component.html", + templateUrl: "../../vault/app/vault/add-edit.component.html", }) export class EmergencyAddEditComponent extends BaseAddEditComponent { originalCipher: Cipher = null; diff --git a/apps/web/src/app/settings/organization-plans.component.ts b/apps/web/src/app/settings/organization-plans.component.ts index 5c449894231..7bf5bb4733c 100644 --- a/apps/web/src/app/settings/organization-plans.component.ts +++ b/apps/web/src/app/settings/organization-plans.component.ts @@ -20,7 +20,6 @@ import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstraction import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PaymentMethodType } from "@bitwarden/common/enums/paymentMethodType"; import { PlanType } from "@bitwarden/common/enums/planType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; @@ -32,6 +31,7 @@ import { OrganizationKeysRequest } from "@bitwarden/common/models/request/organi import { OrganizationUpgradeRequest } from "@bitwarden/common/models/request/organization-upgrade.request"; import { ProviderOrganizationCreateRequest } from "@bitwarden/common/models/request/provider/provider-organization-create.request"; import { PlanResponse } from "@bitwarden/common/models/response/plan.response"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { PaymentComponent } from "./payment.component"; import { TaxInfoComponent } from "./tax-info.component"; diff --git a/apps/web/src/app/settings/premium.component.ts b/apps/web/src/app/settings/premium.component.ts index 1699eeb6539..0dcab671ef2 100644 --- a/apps/web/src/app/settings/premium.component.ts +++ b/apps/web/src/app/settings/premium.component.ts @@ -7,8 +7,8 @@ import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { PaymentComponent } from "./payment.component"; import { TaxInfoComponent } from "./tax-info.component"; diff --git a/apps/web/src/app/settings/purge-vault.component.ts b/apps/web/src/app/settings/purge-vault.component.ts index 52cb89e4c61..e93e68f91e1 100644 --- a/apps/web/src/app/settings/purge-vault.component.ts +++ b/apps/web/src/app/settings/purge-vault.component.ts @@ -5,9 +5,9 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { UserVerificationService } from "@bitwarden/common/abstractions/userVerification/userVerification.service.abstraction"; import { Verification } from "@bitwarden/common/types/verification"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "app-purge-vault", diff --git a/apps/web/src/app/settings/sponsored-families.component.ts b/apps/web/src/app/settings/sponsored-families.component.ts index b0cf27e9639..aad04e2dd26 100644 --- a/apps/web/src/app/settings/sponsored-families.component.ts +++ b/apps/web/src/app/settings/sponsored-families.component.ts @@ -8,9 +8,9 @@ import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PlanSponsorshipType } from "@bitwarden/common/enums/planSponsorshipType"; import { Organization } from "@bitwarden/common/models/domain/organization"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; interface RequestSponsorshipForm { selectedSponsorshipOrgId: FormControl; diff --git a/apps/web/src/app/settings/update-key.component.ts b/apps/web/src/app/settings/update-key.component.ts index 5ebd432fb4b..243c3334fa4 100644 --- a/apps/web/src/app/settings/update-key.component.ts +++ b/apps/web/src/app/settings/update-key.component.ts @@ -2,18 +2,18 @@ import { Component } from "@angular/core"; import { firstValueFrom } from "rxjs"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { CipherWithIdRequest } from "@bitwarden/common/models/request/cipher-with-id.request"; -import { FolderWithIdRequest } from "@bitwarden/common/models/request/folder-with-id.request"; import { UpdateKeyRequest } from "@bitwarden/common/models/request/update-key.request"; +import { CipherWithIdRequest } from "@bitwarden/common/vault//models/request/cipher-with-id.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { FolderWithIdRequest } from "@bitwarden/common/vault/models/request/folder-with-id.request"; @Component({ selector: "app-update-key", diff --git a/apps/web/src/app/shared/loose-components.module.ts b/apps/web/src/app/shared/loose-components.module.ts index 1cb5832bc97..f00a4359b58 100644 --- a/apps/web/src/app/shared/loose-components.module.ts +++ b/apps/web/src/app/shared/loose-components.module.ts @@ -1,5 +1,13 @@ import { NgModule } from "@angular/core"; +import { PasswordRepromptComponent } from "../../../src/vault/app/components/password-reprompt.component"; +import { PremiumBadgeComponent } from "../../vault/app/components/premium-badge.component"; +import { AddEditCustomFieldsComponent } from "../../vault/app/vault/add-edit-custom-fields.component"; +import { AddEditComponent } from "../../vault/app/vault/add-edit.component"; +import { AttachmentsComponent } from "../../vault/app/vault/attachments.component"; +import { CollectionsComponent } from "../../vault/app/vault/collections.component"; +import { FolderAddEditComponent } from "../../vault/app/vault/folder-add-edit.component"; +import { ShareComponent } from "../../vault/app/vault/share.component"; import { AcceptEmergencyComponent } from "../accounts/accept-emergency.component"; import { AcceptOrganizationComponent } from "../accounts/accept-organization.component"; import { HintComponent } from "../accounts/hint.component"; @@ -18,8 +26,6 @@ import { VerifyEmailTokenComponent } from "../accounts/verify-email-token.compon import { VerifyRecoverDeleteComponent } from "../accounts/verify-recover-delete.component"; import { DynamicAvatarComponent } from "../components/dynamic-avatar.component"; import { OrganizationSwitcherComponent } from "../components/organization-switcher.component"; -import { PasswordRepromptComponent } from "../components/password-reprompt.component"; -import { PremiumBadgeComponent } from "../components/premium-badge.component"; import { SelectableAvatarComponent } from "../components/selectable-avatar.component"; import { UserVerificationPromptComponent } from "../components/user-verification-prompt.component"; import { UserVerificationComponent } from "../components/user-verification.component"; @@ -105,12 +111,6 @@ import { VerifyEmailComponent } from "../settings/verify-email.component"; import { GeneratorComponent } from "../tools/generator.component"; import { PasswordGeneratorHistoryComponent } from "../tools/password-generator-history.component"; import { ToolsComponent } from "../tools/tools.component"; -import { AddEditCustomFieldsComponent } from "../vault/add-edit-custom-fields.component"; -import { AddEditComponent } from "../vault/add-edit.component"; -import { AttachmentsComponent } from "../vault/attachments.component"; -import { CollectionsComponent } from "../vault/collections.component"; -import { FolderAddEditComponent } from "../vault/folder-add-edit.component"; -import { ShareComponent } from "../vault/share.component"; import { SharedModule } from "./shared.module"; diff --git a/apps/web/src/app/tools/import-export/import-export.module.ts b/apps/web/src/app/tools/import-export/import-export.module.ts index 1d33cb1210d..1f2647a29f2 100644 --- a/apps/web/src/app/tools/import-export/import-export.module.ts +++ b/apps/web/src/app/tools/import-export/import-export.module.ts @@ -1,15 +1,15 @@ import { NgModule } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { ImportApiServiceAbstraction } from "@bitwarden/common/abstractions/import/import-api.service.abstraction"; import { ImportService as ImportServiceAbstraction } from "@bitwarden/common/abstractions/import/import.service.abstraction"; import { ImportApiService } from "@bitwarden/common/services/import/import-api.service"; import { ImportService } from "@bitwarden/common/services/import/import.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; import { LooseComponentsModule, SharedModule } from "../../shared"; diff --git a/apps/web/src/app/tools/import-export/import.component.ts b/apps/web/src/app/tools/import-export/import.component.ts index 98310120f9b..7d96109e8da 100644 --- a/apps/web/src/app/tools/import-export/import.component.ts +++ b/apps/web/src/app/tools/import-export/import.component.ts @@ -10,10 +10,10 @@ import { ImportService } from "@bitwarden/common/abstractions/import/import.serv import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ImportOption, ImportType } from "@bitwarden/common/enums/importOptions"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { ImportError } from "@bitwarden/common/importers/import-error"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { FilePasswordPromptComponent } from "./file-password-prompt.component"; diff --git a/apps/web/src/app/components/password-reprompt.component.html b/apps/web/src/vault/app/components/password-reprompt.component.html similarity index 100% rename from apps/web/src/app/components/password-reprompt.component.html rename to apps/web/src/vault/app/components/password-reprompt.component.html diff --git a/apps/web/src/app/components/password-reprompt.component.ts b/apps/web/src/vault/app/components/password-reprompt.component.ts similarity index 76% rename from apps/web/src/app/components/password-reprompt.component.ts rename to apps/web/src/vault/app/components/password-reprompt.component.ts index ef72c8a7a17..f63da5ed48e 100644 --- a/apps/web/src/app/components/password-reprompt.component.ts +++ b/apps/web/src/vault/app/components/password-reprompt.component.ts @@ -1,6 +1,6 @@ import { Component } from "@angular/core"; -import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/components/password-reprompt.component"; +import { PasswordRepromptComponent as BasePasswordRepromptComponent } from "@bitwarden/angular/vault/components/password-reprompt.component"; @Component({ templateUrl: "password-reprompt.component.html", diff --git a/apps/web/src/app/components/premium-badge.component.ts b/apps/web/src/vault/app/components/premium-badge.component.ts similarity index 100% rename from apps/web/src/app/components/premium-badge.component.ts rename to apps/web/src/vault/app/components/premium-badge.component.ts diff --git a/apps/web/src/app/components/premium-badge.stories.ts b/apps/web/src/vault/app/components/premium-badge.stories.ts similarity index 100% rename from apps/web/src/app/components/premium-badge.stories.ts rename to apps/web/src/vault/app/components/premium-badge.stories.ts diff --git a/apps/browser/src/popup/services/password-reprompt.service.ts b/apps/web/src/vault/app/core/password-reprompt.service.ts similarity index 82% rename from apps/browser/src/popup/services/password-reprompt.service.ts rename to apps/web/src/vault/app/core/password-reprompt.service.ts index fdd176e42d2..22bbcf44d7f 100644 --- a/apps/browser/src/popup/services/password-reprompt.service.ts +++ b/apps/web/src/vault/app/core/password-reprompt.service.ts @@ -1,6 +1,6 @@ import { Injectable } from "@angular/core"; -import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/services/passwordReprompt.service"; +import { PasswordRepromptService as BasePasswordRepromptService } from "@bitwarden/angular/vault/services/password-reprompt.service"; import { PasswordRepromptComponent } from "../components/password-reprompt.component"; diff --git a/apps/web/src/app/vault/add-edit-custom-fields.component.html b/apps/web/src/vault/app/vault/add-edit-custom-fields.component.html similarity index 100% rename from apps/web/src/app/vault/add-edit-custom-fields.component.html rename to apps/web/src/vault/app/vault/add-edit-custom-fields.component.html diff --git a/apps/web/src/app/vault/add-edit-custom-fields.component.ts b/apps/web/src/vault/app/vault/add-edit-custom-fields.component.ts similarity index 89% rename from apps/web/src/app/vault/add-edit-custom-fields.component.ts rename to apps/web/src/vault/app/vault/add-edit-custom-fields.component.ts index aa51edaf9b7..0deb3f9c0be 100644 --- a/apps/web/src/app/vault/add-edit-custom-fields.component.ts +++ b/apps/web/src/vault/app/vault/add-edit-custom-fields.component.ts @@ -1,6 +1,6 @@ import { Component, Input } from "@angular/core"; -import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/components/add-edit-custom-fields.component"; +import { AddEditCustomFieldsComponent as BaseAddEditCustomFieldsComponent } from "@bitwarden/angular/vault/components/add-edit-custom-fields.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; diff --git a/apps/web/src/app/vault/add-edit.component.html b/apps/web/src/vault/app/vault/add-edit.component.html similarity index 100% rename from apps/web/src/app/vault/add-edit.component.html rename to apps/web/src/vault/app/vault/add-edit.component.html diff --git a/apps/web/src/app/vault/add-edit.component.ts b/apps/web/src/vault/app/vault/add-edit.component.ts similarity index 93% rename from apps/web/src/app/vault/add-edit.component.ts rename to apps/web/src/vault/app/vault/add-edit.component.ts index c17009fab9e..1226a9e2f53 100644 --- a/apps/web/src/app/vault/add-edit.component.ts +++ b/apps/web/src/vault/app/vault/add-edit.component.ts @@ -1,24 +1,24 @@ import { Component, OnDestroy, OnInit } from "@angular/core"; -import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/components/add-edit.component"; +import { AddEditComponent as BaseAddEditComponent } from "@bitwarden/angular/vault/components/add-edit.component"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; @Component({ selector: "app-vault-add-edit", diff --git a/apps/web/src/app/vault/attachments.component.html b/apps/web/src/vault/app/vault/attachments.component.html similarity index 100% rename from apps/web/src/app/vault/attachments.component.html rename to apps/web/src/vault/app/vault/attachments.component.html diff --git a/apps/web/src/app/vault/attachments.component.ts b/apps/web/src/vault/app/vault/attachments.component.ts similarity index 88% rename from apps/web/src/app/vault/attachments.component.ts rename to apps/web/src/vault/app/vault/attachments.component.ts index 63e1f8bf39f..82930f819d5 100644 --- a/apps/web/src/app/vault/attachments.component.ts +++ b/apps/web/src/vault/app/vault/attachments.component.ts @@ -1,15 +1,15 @@ import { Component } from "@angular/core"; -import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/components/attachments.component"; +import { AttachmentsComponent as BaseAttachmentsComponent } from "@bitwarden/angular/vault/components/attachments.component"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; @Component({ selector: "app-vault-attachments", diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.html b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.html similarity index 100% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.html rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.html diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts similarity index 95% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts index e4a88b18c68..66f87c34582 100644 --- a/apps/web/src/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts +++ b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-delete-dialog/bulk-delete-dialog.component.ts @@ -2,12 +2,12 @@ import { DialogConfig, DialogRef, DIALOG_DATA } from "@angular/cdk/dialog"; import { Component, Inject } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherBulkDeleteRequest } from "@bitwarden/common/models/request/cipher-bulk-delete.request"; import { CollectionBulkDeleteRequest } from "@bitwarden/common/models/request/collection-bulk-delete.request"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherBulkDeleteRequest } from "@bitwarden/common/vault/models/request/cipher-bulk-delete.request"; import { DialogService } from "@bitwarden/components"; export interface BulkDeleteDialogParams { diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts similarity index 93% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts index 90d49ee58e3..3fe4979c1c5 100644 --- a/apps/web/src/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts +++ b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-dialogs.module.ts @@ -1,6 +1,6 @@ import { NgModule } from "@angular/core"; -import { SharedModule } from "../../shared"; +import { SharedModule } from "../../../../app/shared"; import { BulkDeleteDialogComponent } from "./bulk-delete-dialog/bulk-delete-dialog.component"; import { BulkMoveDialogComponent } from "./bulk-move-dialog/bulk-move-dialog.component"; diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.html b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.html similarity index 100% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.html rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.html diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts similarity index 90% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts index 99688fcdf10..5aeb987dccc 100644 --- a/apps/web/src/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts +++ b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-move-dialog/bulk-move-dialog.component.ts @@ -3,11 +3,11 @@ import { Component, Inject, OnInit } from "@angular/core"; import { FormBuilder, Validators } from "@angular/forms"; import { firstValueFrom, Observable } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { DialogService } from "@bitwarden/components"; export interface BulkMoveDialogParams { diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.html b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.html similarity index 100% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.html rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.html diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts similarity index 95% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts index 78a47fc70c9..8f25a805275 100644 --- a/apps/web/src/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts +++ b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-restore-dialog/bulk-restore-dialog.component.ts @@ -1,9 +1,9 @@ import { DialogConfig, DialogRef, DIALOG_DATA } from "@angular/cdk/dialog"; import { Component, Inject } from "@angular/core"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { DialogService } from "@bitwarden/components"; export interface BulkRestoreDialogParams { diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.html b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.html similarity index 100% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.html rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.html diff --git a/apps/web/src/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts similarity index 96% rename from apps/web/src/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts rename to apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts index 7cfe8228e72..ebb08babd67 100644 --- a/apps/web/src/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts +++ b/apps/web/src/vault/app/vault/bulk-action-dialogs/bulk-share-dialog/bulk-share-dialog.component.ts @@ -1,16 +1,16 @@ import { DialogConfig, DialogRef, DIALOG_DATA } from "@angular/cdk/dialog"; import { Component, Inject, OnInit } from "@angular/core"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; import { Checkable, isChecked } from "@bitwarden/common/types/checkable"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { DialogService } from "@bitwarden/components"; export interface BulkShareDialogParams { diff --git a/apps/web/src/app/vault/collections.component.html b/apps/web/src/vault/app/vault/collections.component.html similarity index 100% rename from apps/web/src/app/vault/collections.component.html rename to apps/web/src/vault/app/vault/collections.component.html diff --git a/apps/web/src/app/vault/collections.component.ts b/apps/web/src/vault/app/vault/collections.component.ts similarity index 94% rename from apps/web/src/app/vault/collections.component.ts rename to apps/web/src/vault/app/vault/collections.component.ts index d169bb7b332..739e88f1c11 100644 --- a/apps/web/src/app/vault/collections.component.ts +++ b/apps/web/src/vault/app/vault/collections.component.ts @@ -1,12 +1,12 @@ import { Component, OnDestroy } from "@angular/core"; import { CollectionsComponent as BaseCollectionsComponent } from "@bitwarden/angular/components/collections.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-collections", diff --git a/apps/web/src/app/vault/folder-add-edit.component.html b/apps/web/src/vault/app/vault/folder-add-edit.component.html similarity index 100% rename from apps/web/src/app/vault/folder-add-edit.component.html rename to apps/web/src/vault/app/vault/folder-add-edit.component.html diff --git a/apps/web/src/app/vault/folder-add-edit.component.ts b/apps/web/src/vault/app/vault/folder-add-edit.component.ts similarity index 75% rename from apps/web/src/app/vault/folder-add-edit.component.ts rename to apps/web/src/vault/app/vault/folder-add-edit.component.ts index 9c1910b32ca..bb3c03f750d 100644 --- a/apps/web/src/app/vault/folder-add-edit.component.ts +++ b/apps/web/src/vault/app/vault/folder-add-edit.component.ts @@ -1,11 +1,11 @@ import { Component } from "@angular/core"; -import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/components/folder-add-edit.component"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; +import { FolderAddEditComponent as BaseFolderAddEditComponent } from "@bitwarden/angular/vault/components/folder-add-edit.component"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; @Component({ selector: "app-folder-add-edit", diff --git a/apps/web/src/app/vault/organization-badge/organization-badge.module.ts b/apps/web/src/vault/app/vault/organization-badge/organization-badge.module.ts similarity index 84% rename from apps/web/src/app/vault/organization-badge/organization-badge.module.ts rename to apps/web/src/vault/app/vault/organization-badge/organization-badge.module.ts index 7da25980ac8..ad4d0b2299f 100644 --- a/apps/web/src/app/vault/organization-badge/organization-badge.module.ts +++ b/apps/web/src/vault/app/vault/organization-badge/organization-badge.module.ts @@ -1,6 +1,6 @@ import { NgModule } from "@angular/core"; -import { SharedModule } from "../../shared"; +import { SharedModule } from "../../../../app/shared"; import { OrganizationNameBadgeComponent } from "./organization-name-badge.component"; diff --git a/apps/web/src/app/vault/organization-badge/organization-name-badge.component.html b/apps/web/src/vault/app/vault/organization-badge/organization-name-badge.component.html similarity index 100% rename from apps/web/src/app/vault/organization-badge/organization-name-badge.component.html rename to apps/web/src/vault/app/vault/organization-badge/organization-name-badge.component.html diff --git a/apps/web/src/app/vault/organization-badge/organization-name-badge.component.ts b/apps/web/src/vault/app/vault/organization-badge/organization-name-badge.component.ts similarity index 100% rename from apps/web/src/app/vault/organization-badge/organization-name-badge.component.ts rename to apps/web/src/vault/app/vault/organization-badge/organization-name-badge.component.ts diff --git a/apps/web/src/app/vault/pipes/get-collection-name.pipe.ts b/apps/web/src/vault/app/vault/pipes/get-collection-name.pipe.ts similarity index 100% rename from apps/web/src/app/vault/pipes/get-collection-name.pipe.ts rename to apps/web/src/vault/app/vault/pipes/get-collection-name.pipe.ts diff --git a/apps/web/src/app/vault/pipes/get-group-name.pipe.ts b/apps/web/src/vault/app/vault/pipes/get-group-name.pipe.ts similarity index 81% rename from apps/web/src/app/vault/pipes/get-group-name.pipe.ts rename to apps/web/src/vault/app/vault/pipes/get-group-name.pipe.ts index cd553fff355..45cdaa101ad 100644 --- a/apps/web/src/app/vault/pipes/get-group-name.pipe.ts +++ b/apps/web/src/vault/app/vault/pipes/get-group-name.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, PipeTransform } from "@angular/core"; -import { GroupView } from "../../organizations/core"; +import { GroupView } from "../../../../app/organizations/core"; @Pipe({ name: "groupNameFromId", diff --git a/apps/web/src/app/vault/pipes/get-organization-name.pipe.ts b/apps/web/src/vault/app/vault/pipes/get-organization-name.pipe.ts similarity index 100% rename from apps/web/src/app/vault/pipes/get-organization-name.pipe.ts rename to apps/web/src/vault/app/vault/pipes/get-organization-name.pipe.ts diff --git a/apps/web/src/app/vault/pipes/pipes.module.ts b/apps/web/src/vault/app/vault/pipes/pipes.module.ts similarity index 100% rename from apps/web/src/app/vault/pipes/pipes.module.ts rename to apps/web/src/vault/app/vault/pipes/pipes.module.ts diff --git a/apps/web/src/app/vault/share.component.html b/apps/web/src/vault/app/vault/share.component.html similarity index 100% rename from apps/web/src/app/vault/share.component.html rename to apps/web/src/vault/app/vault/share.component.html diff --git a/apps/web/src/app/vault/share.component.ts b/apps/web/src/vault/app/vault/share.component.ts similarity index 94% rename from apps/web/src/app/vault/share.component.ts rename to apps/web/src/vault/app/vault/share.component.ts index 2fd64268a83..fb3e1cb8731 100644 --- a/apps/web/src/app/vault/share.component.ts +++ b/apps/web/src/vault/app/vault/share.component.ts @@ -1,13 +1,13 @@ import { Component, OnDestroy } from "@angular/core"; import { ShareComponent as BaseShareComponent } from "@bitwarden/angular/components/share.component"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; @Component({ selector: "app-vault-share", diff --git a/apps/web/src/app/vault/vault-filter/components/link-sso.component.html b/apps/web/src/vault/app/vault/vault-filter/components/link-sso.component.html similarity index 100% rename from apps/web/src/app/vault/vault-filter/components/link-sso.component.html rename to apps/web/src/vault/app/vault/vault-filter/components/link-sso.component.html diff --git a/apps/web/src/app/vault/vault-filter/components/link-sso.component.ts b/apps/web/src/vault/app/vault/vault-filter/components/link-sso.component.ts similarity index 100% rename from apps/web/src/app/vault/vault-filter/components/link-sso.component.ts rename to apps/web/src/vault/app/vault/vault-filter/components/link-sso.component.ts diff --git a/apps/web/src/app/vault/vault-filter/components/organization-options.component.html b/apps/web/src/vault/app/vault/vault-filter/components/organization-options.component.html similarity index 100% rename from apps/web/src/app/vault/vault-filter/components/organization-options.component.html rename to apps/web/src/vault/app/vault/vault-filter/components/organization-options.component.html diff --git a/apps/web/src/app/vault/vault-filter/components/organization-options.component.ts b/apps/web/src/vault/app/vault/vault-filter/components/organization-options.component.ts similarity index 96% rename from apps/web/src/app/vault/vault-filter/components/organization-options.component.ts rename to apps/web/src/vault/app/vault/vault-filter/components/organization-options.component.ts index 08bd5305ca5..c9e6d2c7267 100644 --- a/apps/web/src/app/vault/vault-filter/components/organization-options.component.ts +++ b/apps/web/src/vault/app/vault/vault-filter/components/organization-options.component.ts @@ -10,12 +10,12 @@ import { OrganizationUserResetPasswordEnrollmentRequest } from "@bitwarden/commo import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { Policy } from "@bitwarden/common/models/domain/policy"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; -import { EnrollMasterPasswordReset } from "../../../organizations/users/enroll-master-password-reset.component"; +import { EnrollMasterPasswordReset } from "../../../../../app/organizations/users/enroll-master-password-reset.component"; import { OptionsInput } from "../shared/components/vault-filter-section.component"; import { OrganizationFilter } from "../shared/models/vault-filter.type"; diff --git a/apps/web/src/app/vault/vault-filter/components/vault-filter.component.html b/apps/web/src/vault/app/vault/vault-filter/components/vault-filter.component.html similarity index 100% rename from apps/web/src/app/vault/vault-filter/components/vault-filter.component.html rename to apps/web/src/vault/app/vault/vault-filter/components/vault-filter.component.html diff --git a/apps/web/src/app/vault/vault-filter/components/vault-filter.component.ts b/apps/web/src/vault/app/vault/vault-filter/components/vault-filter.component.ts similarity index 98% rename from apps/web/src/app/vault/vault-filter/components/vault-filter.component.ts rename to apps/web/src/vault/app/vault/vault-filter/components/vault-filter.component.ts index 985f9523a78..1b9a6821d5b 100644 --- a/apps/web/src/app/vault/vault-filter/components/vault-filter.component.ts +++ b/apps/web/src/vault/app/vault/vault-filter/components/vault-filter.component.ts @@ -4,11 +4,11 @@ import { firstValueFrom, Subject, switchMap, takeUntil } from "rxjs"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { VaultFilterService } from "../services/abstractions/vault-filter.service"; import { diff --git a/apps/web/src/app/vault/vault-filter/organization-filter/organization-filter.component.html b/apps/web/src/vault/app/vault/vault-filter/organization-filter/organization-filter.component.html similarity index 100% rename from apps/web/src/app/vault/vault-filter/organization-filter/organization-filter.component.html rename to apps/web/src/vault/app/vault/vault-filter/organization-filter/organization-filter.component.html diff --git a/apps/web/src/app/vault/vault-filter/services/abstractions/vault-filter.service.ts b/apps/web/src/vault/app/vault/vault-filter/services/abstractions/vault-filter.service.ts similarity index 93% rename from apps/web/src/app/vault/vault-filter/services/abstractions/vault-filter.service.ts rename to apps/web/src/vault/app/vault/vault-filter/services/abstractions/vault-filter.service.ts index f5d9fd289d5..7ae84244a82 100644 --- a/apps/web/src/app/vault/vault-filter/services/abstractions/vault-filter.service.ts +++ b/apps/web/src/vault/app/vault/vault-filter/services/abstractions/vault-filter.service.ts @@ -3,7 +3,7 @@ import { Observable } from "rxjs"; import { Organization } from "@bitwarden/common/src/models/domain/organization"; import { TreeNode } from "@bitwarden/common/src/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/src/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/src/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/src/vault/models/view/folder.view"; import { CipherTypeFilter, diff --git a/apps/web/src/app/vault/vault-filter/services/vault-filter.service.spec.ts b/apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.spec.ts similarity index 97% rename from apps/web/src/app/vault/vault-filter/services/vault-filter.service.spec.ts rename to apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.spec.ts index b23074f8134..e6272582344 100644 --- a/apps/web/src/app/vault/vault-filter/services/vault-filter.service.spec.ts +++ b/apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.spec.ts @@ -1,18 +1,18 @@ import { mock, MockProxy } from "jest-mock-extended"; import { firstValueFrom, ReplaySubject, take } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { VaultFilterService } from "./vault-filter.service"; diff --git a/apps/web/src/app/vault/vault-filter/services/vault-filter.service.ts b/apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.ts similarity index 96% rename from apps/web/src/app/vault/vault-filter/services/vault-filter.service.ts rename to apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.ts index 397ce4ac25b..bae89751b8e 100644 --- a/apps/web/src/app/vault/vault-filter/services/vault-filter.service.ts +++ b/apps/web/src/vault/app/vault/vault-filter/services/vault-filter.service.ts @@ -10,9 +10,7 @@ import { switchMap, } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; @@ -22,9 +20,11 @@ import { ServiceUtils } from "@bitwarden/common/misc/serviceUtils"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { CollectionAdminView } from "../../../organizations/core"; +import { CollectionAdminView } from "../../../../../app/organizations/core"; import { CipherTypeFilter, CollectionFilter, diff --git a/apps/web/src/app/vault/vault-filter/shared/components/vault-filter-section.component.html b/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html similarity index 100% rename from apps/web/src/app/vault/vault-filter/shared/components/vault-filter-section.component.html rename to apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html diff --git a/apps/web/src/app/vault/vault-filter/shared/components/vault-filter-section.component.ts b/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.ts similarity index 100% rename from apps/web/src/app/vault/vault-filter/shared/components/vault-filter-section.component.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.ts diff --git a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter-section.type.ts b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter-section.type.ts similarity index 100% rename from apps/web/src/app/vault/vault-filter/shared/models/vault-filter-section.type.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter-section.type.ts diff --git a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts similarity index 97% rename from apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts index 0e889c5cba8..e47f6dfe30c 100644 --- a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts +++ b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.spec.ts @@ -1,9 +1,9 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { VaultFilter } from "./vault-filter.model"; import { diff --git a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.ts b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.ts similarity index 96% rename from apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.ts index f1335c2e467..c3c0acd479e 100644 --- a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.model.ts +++ b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.model.ts @@ -1,6 +1,6 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherStatus, diff --git a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.type.ts b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.type.ts similarity index 69% rename from apps/web/src/app/vault/vault-filter/shared/models/vault-filter.type.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.type.ts index 6b2fa6b17fb..4f519517f7e 100644 --- a/apps/web/src/app/vault/vault-filter/shared/models/vault-filter.type.ts +++ b/apps/web/src/vault/app/vault/vault-filter/shared/models/vault-filter.type.ts @@ -1,9 +1,9 @@ -import { CipherType } from "@bitwarden/common/src/enums/cipherType"; import { Organization } from "@bitwarden/common/src/models/domain/organization"; import { ITreeNodeObject } from "@bitwarden/common/src/models/domain/tree-node"; -import { FolderView } from "@bitwarden/common/src/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/src/vault/models/view/folder.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; -import { CollectionAdminView } from "../../../../organizations/core"; +import { CollectionAdminView } from "../../../../../../app/organizations/core"; export type CipherStatus = "all" | "favorites" | "trash" | CipherType; diff --git a/apps/web/src/app/vault/vault-filter/shared/vault-filter-shared.module.ts b/apps/web/src/vault/app/vault/vault-filter/shared/vault-filter-shared.module.ts similarity index 67% rename from apps/web/src/app/vault/vault-filter/shared/vault-filter-shared.module.ts rename to apps/web/src/vault/app/vault/vault-filter/shared/vault-filter-shared.module.ts index 04803ae2a79..b21a45e097e 100644 --- a/apps/web/src/app/vault/vault-filter/shared/vault-filter-shared.module.ts +++ b/apps/web/src/vault/app/vault/vault-filter/shared/vault-filter-shared.module.ts @@ -1,6 +1,8 @@ import { NgModule } from "@angular/core"; -import { SharedModule } from "../../../shared"; +// TODO refine elsint rule for **/app/shared/* +// eslint-disable-next-line no-restricted-imports +import { SharedModule } from "../../../../../app/shared"; import { VaultFilterSectionComponent } from "./components/vault-filter-section.component"; diff --git a/apps/web/src/app/vault/vault-filter/vault-filter.module.ts b/apps/web/src/vault/app/vault/vault-filter/vault-filter.module.ts similarity index 88% rename from apps/web/src/app/vault/vault-filter/vault-filter.module.ts rename to apps/web/src/vault/app/vault/vault-filter/vault-filter.module.ts index 7ca4ad3df85..d94dec52067 100644 --- a/apps/web/src/app/vault/vault-filter/vault-filter.module.ts +++ b/apps/web/src/vault/app/vault/vault-filter/vault-filter.module.ts @@ -1,11 +1,12 @@ import { NgModule } from "@angular/core"; +import { VaultFilterSharedModule } from "../../vault/vault-filter/shared/vault-filter-shared.module"; + import { LinkSsoComponent } from "./components/link-sso.component"; import { OrganizationOptionsComponent } from "./components/organization-options.component"; import { VaultFilterComponent } from "./components/vault-filter.component"; import { VaultFilterService as VaultFilterServiceAbstraction } from "./services/abstractions/vault-filter.service"; import { VaultFilterService } from "./services/vault-filter.service"; -import { VaultFilterSharedModule } from "./shared/vault-filter-shared.module"; @NgModule({ imports: [VaultFilterSharedModule], diff --git a/apps/web/src/app/vault/vault-items.component.html b/apps/web/src/vault/app/vault/vault-items.component.html similarity index 100% rename from apps/web/src/app/vault/vault-items.component.html rename to apps/web/src/vault/app/vault/vault-items.component.html diff --git a/apps/web/src/app/vault/vault-items.component.ts b/apps/web/src/vault/app/vault/vault-items.component.ts similarity index 96% rename from apps/web/src/app/vault/vault-items.component.ts rename to apps/web/src/vault/app/vault/vault-items.component.ts index afdba230deb..7f662f09f3f 100644 --- a/apps/web/src/app/vault/vault-items.component.ts +++ b/apps/web/src/vault/app/vault/vault-items.component.ts @@ -1,29 +1,29 @@ import { Component, EventEmitter, Input, OnDestroy, Output } from "@angular/core"; import { lastValueFrom } from "rxjs"; -import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/components/vault-items.component"; import { SearchPipe } from "@bitwarden/angular/pipes/search.pipe"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; +import { VaultItemsComponent as BaseVaultItemsComponent } from "@bitwarden/angular/vault/components/vault-items.component"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { DialogService, Icons } from "@bitwarden/components"; -import { CollectionAdminView, GroupView } from "../organizations/core"; +import { CollectionAdminView, GroupView } from "../../../app/organizations/core"; import { BulkDeleteDialogResult, diff --git a/apps/web/src/app/vault/vault-routing.module.ts b/apps/web/src/vault/app/vault/vault-routing.module.ts similarity index 100% rename from apps/web/src/app/vault/vault-routing.module.ts rename to apps/web/src/vault/app/vault/vault-routing.module.ts diff --git a/apps/web/src/app/vault/vault.component.html b/apps/web/src/vault/app/vault/vault.component.html similarity index 100% rename from apps/web/src/app/vault/vault.component.html rename to apps/web/src/vault/app/vault/vault.component.html diff --git a/apps/web/src/app/vault/vault.component.ts b/apps/web/src/vault/app/vault/vault.component.ts similarity index 97% rename from apps/web/src/app/vault/vault.component.ts rename to apps/web/src/vault/app/vault/vault.component.ts index e6764c14bef..b58d53d8ff0 100644 --- a/apps/web/src/app/vault/vault.component.ts +++ b/apps/web/src/vault/app/vault/vault.component.ts @@ -13,22 +13,22 @@ import { first, switchMap, takeUntil } from "rxjs/operators"; import { ModalService } from "@bitwarden/angular/services/modal.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { KdfType, DEFAULT_PBKDF2_ITERATIONS } from "@bitwarden/common/enums/kdfType"; import { ServiceUtils } from "@bitwarden/common/misc/serviceUtils"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; -import { UpdateKeyComponent } from "../settings/update-key.component"; +import { UpdateKeyComponent } from "../../../app/settings/update-key.component"; import { AddEditComponent } from "./add-edit.component"; import { AttachmentsComponent } from "./attachments.component"; diff --git a/apps/web/src/app/vault/vault.module.ts b/apps/web/src/vault/app/vault/vault.module.ts similarity index 76% rename from apps/web/src/app/vault/vault.module.ts rename to apps/web/src/vault/app/vault/vault.module.ts index f9ec1366d1c..4b3cdac4d0d 100644 --- a/apps/web/src/app/vault/vault.module.ts +++ b/apps/web/src/vault/app/vault/vault.module.ts @@ -2,9 +2,9 @@ import { NgModule } from "@angular/core"; import { BreadcrumbsModule } from "@bitwarden/components"; -import { CollectionBadgeModule } from "../organizations/vault/collection-badge/collection-badge.module"; -import { GroupBadgeModule } from "../organizations/vault/group-badge/group-badge.module"; -import { SharedModule, LooseComponentsModule } from "../shared"; +import { CollectionBadgeModule } from "../../../app/organizations/vault/collection-badge/collection-badge.module"; +import { GroupBadgeModule } from "../../../app/organizations/vault/group-badge/group-badge.module"; +import { SharedModule, LooseComponentsModule } from "../../../app/shared"; import { BulkDialogsModule } from "./bulk-action-dialogs/bulk-dialogs.module"; import { OrganizationBadgeModule } from "./organization-badge/organization-badge.module"; diff --git a/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts b/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts index bcc633c65d7..3a5e0e04776 100644 --- a/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts +++ b/bitwarden_license/bit-web/src/app/providers/services/webProvider.service.ts @@ -2,8 +2,8 @@ import { Injectable } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProviderAddOrganizationRequest } from "@bitwarden/common/models/request/provider/provider-add-organization.request"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Injectable() export class WebProviderService { diff --git a/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts b/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts index adc62b03e41..5f81860bf60 100644 --- a/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts +++ b/bitwarden_license/bit-web/src/app/providers/settings/account.component.ts @@ -5,9 +5,9 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ProviderUpdateRequest } from "@bitwarden/common/models/request/provider/provider-update.request"; import { ProviderResponse } from "@bitwarden/common/models/response/provider/provider.response"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "provider-account", diff --git a/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts b/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts index f5a95e93001..696567591f4 100644 --- a/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts +++ b/bitwarden_license/bit-web/src/app/providers/setup/setup.component.ts @@ -6,9 +6,9 @@ import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { ValidationService } from "@bitwarden/common/abstractions/validation.service"; import { ProviderSetupRequest } from "@bitwarden/common/models/request/provider/provider-setup.request"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Component({ selector: "provider-setup", diff --git a/libs/angular/src/components/collections.component.ts b/libs/angular/src/components/collections.component.ts index 2265454ead0..913ac3ec370 100644 --- a/libs/angular/src/components/collections.component.ts +++ b/libs/angular/src/components/collections.component.ts @@ -1,13 +1,13 @@ import { Directive, EventEmitter, Input, OnInit, Output } from "@angular/core"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Directive() export class CollectionsComponent implements OnInit { diff --git a/libs/angular/src/components/remove-password.component.ts b/libs/angular/src/components/remove-password.component.ts index 5294904f17b..c1498a2980a 100644 --- a/libs/angular/src/components/remove-password.component.ts +++ b/libs/angular/src/components/remove-password.component.ts @@ -6,8 +6,8 @@ import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector import { OrganizationApiServiceAbstraction } from "@bitwarden/common/abstractions/organization/organization-api.service.abstraction"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { Organization } from "@bitwarden/common/models/domain/organization"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; @Directive() export class RemovePasswordComponent implements OnInit { diff --git a/libs/angular/src/components/set-password.component.ts b/libs/angular/src/components/set-password.component.ts index 1459e9fd03e..ab0f56b5855 100644 --- a/libs/angular/src/components/set-password.component.ts +++ b/libs/angular/src/components/set-password.component.ts @@ -14,7 +14,6 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { HashPurpose } from "@bitwarden/common/enums/hashPurpose"; import { DEFAULT_KDF_TYPE, DEFAULT_KDF_CONFIG } from "@bitwarden/common/enums/kdfType"; import { Utils } from "@bitwarden/common/misc/utils"; @@ -22,6 +21,7 @@ import { EncString } from "@bitwarden/common/models/domain/enc-string"; import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; import { KeysRequest } from "@bitwarden/common/models/request/keys.request"; import { SetPasswordRequest } from "@bitwarden/common/models/request/set-password.request"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { ChangePasswordComponent as BaseChangePasswordComponent } from "./change-password.component"; diff --git a/libs/angular/src/components/share.component.ts b/libs/angular/src/components/share.component.ts index e12aeb02113..77c9eba0d09 100644 --- a/libs/angular/src/components/share.component.ts +++ b/libs/angular/src/components/share.component.ts @@ -1,7 +1,6 @@ import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from "@angular/core"; import { firstValueFrom, map, Observable, Subject, takeUntil } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; @@ -13,9 +12,10 @@ import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUti import { OrganizationUserStatusType } from "@bitwarden/common/enums/organizationUserStatusType"; import { Utils } from "@bitwarden/common/misc/utils"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; import { Checkable, isChecked } from "@bitwarden/common/types/checkable"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Directive() export class ShareComponent implements OnInit, OnDestroy { diff --git a/libs/angular/src/components/update-temp-password.component.ts b/libs/angular/src/components/update-temp-password.component.ts index 618d6816db0..49a3b57146a 100644 --- a/libs/angular/src/components/update-temp-password.component.ts +++ b/libs/angular/src/components/update-temp-password.component.ts @@ -9,11 +9,11 @@ import { PasswordGenerationService } from "@bitwarden/common/abstractions/passwo import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { SyncService } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; import { EncString } from "@bitwarden/common/models/domain/enc-string"; import { MasterPasswordPolicyOptions } from "@bitwarden/common/models/domain/master-password-policy-options"; import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; import { UpdateTempPasswordRequest } from "@bitwarden/common/models/request/update-temp-password.request"; +import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { ChangePasswordComponent as BaseChangePasswordComponent } from "./change-password.component"; diff --git a/libs/angular/src/jslib.module.ts b/libs/angular/src/jslib.module.ts index 42dbc76cb65..3c08b4a77fd 100644 --- a/libs/angular/src/jslib.module.ts +++ b/libs/angular/src/jslib.module.ts @@ -4,7 +4,6 @@ import { FormsModule, ReactiveFormsModule } from "@angular/forms"; import { CalloutComponent } from "./components/callout.component"; import { ExportScopeCalloutComponent } from "./components/export-scope-callout.component"; -import { IconComponent } from "./components/icon.component"; import { BitwardenToastModule } from "./components/toastr.component"; import { A11yInvalidDirective } from "./directives/a11y-invalid.directive"; import { A11yTitleDirective } from "./directives/a11y-title.directive"; @@ -29,6 +28,7 @@ import { SearchPipe } from "./pipes/search.pipe"; import { UserNamePipe } from "./pipes/user-name.pipe"; import { UserTypePipe } from "./pipes/user-type.pipe"; import { PasswordStrengthComponent } from "./shared/components/password-strength/password-strength.component"; +import { IconComponent } from "./vault/components/icon.component"; @NgModule({ imports: [ diff --git a/libs/angular/src/pipes/search-ciphers.pipe.ts b/libs/angular/src/pipes/search-ciphers.pipe.ts index 4e98aee9e22..04349e9842a 100644 --- a/libs/angular/src/pipes/search-ciphers.pipe.ts +++ b/libs/angular/src/pipes/search-ciphers.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, PipeTransform } from "@angular/core"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Pipe({ name: "searchCiphers", diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index d1d01c3bc9b..8202afa1747 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -12,7 +12,6 @@ import { AppIdService as AppIdServiceAbstraction } from "@bitwarden/common/abstr import { AuditService as AuditServiceAbstraction } from "@bitwarden/common/abstractions/audit.service"; import { AuthService as AuthServiceAbstraction } from "@bitwarden/common/abstractions/auth.service"; import { BroadcasterService as BroadcasterServiceAbstraction } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService as CollectionServiceAbstraction } from "@bitwarden/common/abstractions/collection.service"; import { ConfigApiServiceAbstraction } from "@bitwarden/common/abstractions/config/config-api.service.abstraction"; import { ConfigServiceAbstraction } from "@bitwarden/common/abstractions/config/config.service.abstraction"; @@ -24,11 +23,6 @@ import { EventCollectionService as EventCollectionServiceAbstraction } from "@bi import { EventUploadService as EventUploadServiceAbstraction } from "@bitwarden/common/abstractions/event/event-upload.service"; import { ExportService as ExportServiceAbstraction } from "@bitwarden/common/abstractions/export.service"; import { FileUploadService as FileUploadServiceAbstraction } from "@bitwarden/common/abstractions/fileUpload.service"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { - FolderService as FolderServiceAbstraction, - InternalFolderService, -} from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { FormValidationErrorsService as FormValidationErrorsServiceAbstraction } from "@bitwarden/common/abstractions/formValidationErrors.service"; import { I18nService as I18nServiceAbstraction } from "@bitwarden/common/abstractions/i18n.service"; import { KeyConnectorService as KeyConnectorServiceAbstraction } from "@bitwarden/common/abstractions/keyConnector.service"; @@ -43,7 +37,6 @@ import { OrganizationService as OrganizationServiceAbstraction, } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; import { PasswordGenerationService as PasswordGenerationServiceAbstraction } from "@bitwarden/common/abstractions/passwordGeneration.service"; -import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService as PlatformUtilsServiceAbstraction } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyApiServiceAbstraction } from "@bitwarden/common/abstractions/policy/policy-api.service.abstraction"; import { @@ -57,8 +50,6 @@ import { SettingsService as SettingsServiceAbstraction } from "@bitwarden/common import { StateService as StateServiceAbstraction } from "@bitwarden/common/abstractions/state.service"; import { StateMigrationService as StateMigrationServiceAbstraction } from "@bitwarden/common/abstractions/stateMigration.service"; import { AbstractStorageService } from "@bitwarden/common/abstractions/storage.service"; -import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/abstractions/sync/sync.service.abstraction"; -import { SyncNotifierService as SyncNotifierServiceAbstraction } from "@bitwarden/common/abstractions/sync/syncNotifier.service.abstraction"; import { TokenService as TokenServiceAbstraction } from "@bitwarden/common/abstractions/token.service"; import { TotpService as TotpServiceAbstraction } from "@bitwarden/common/abstractions/totp.service"; import { TwoFactorService as TwoFactorServiceAbstraction } from "@bitwarden/common/abstractions/twoFactor.service"; @@ -80,7 +71,6 @@ import { ApiService } from "@bitwarden/common/services/api.service"; import { AppIdService } from "@bitwarden/common/services/appId.service"; import { AuditService } from "@bitwarden/common/services/audit.service"; import { AuthService } from "@bitwarden/common/services/auth.service"; -import { CipherService } from "@bitwarden/common/services/cipher.service"; import { CollectionService } from "@bitwarden/common/services/collection.service"; import { ConfigApiService } from "@bitwarden/common/services/config/config-api.service"; import { ConfigService } from "@bitwarden/common/services/config/config.service"; @@ -93,8 +83,6 @@ import { EventCollectionService } from "@bitwarden/common/services/event/event-c import { EventUploadService } from "@bitwarden/common/services/event/event-upload.service"; import { ExportService } from "@bitwarden/common/services/export.service"; import { FileUploadService } from "@bitwarden/common/services/fileUpload.service"; -import { FolderApiService } from "@bitwarden/common/services/folder/folder-api.service"; -import { FolderService } from "@bitwarden/common/services/folder/folder.service"; import { FormValidationErrorsService } from "@bitwarden/common/services/formValidationErrors.service"; import { KeyConnectorService } from "@bitwarden/common/services/keyConnector.service"; import { LoginService } from "@bitwarden/common/services/login.service"; @@ -111,8 +99,6 @@ import { SendService } from "@bitwarden/common/services/send.service"; import { SettingsService } from "@bitwarden/common/services/settings.service"; import { StateService } from "@bitwarden/common/services/state.service"; import { StateMigrationService } from "@bitwarden/common/services/stateMigration.service"; -import { SyncService } from "@bitwarden/common/services/sync/sync.service"; -import { SyncNotifierService } from "@bitwarden/common/services/sync/syncNotifier.service"; import { TokenService } from "@bitwarden/common/services/token.service"; import { TotpService } from "@bitwarden/common/services/totp.service"; import { TwoFactorService } from "@bitwarden/common/services/twoFactor.service"; @@ -123,10 +109,25 @@ import { ValidationService } from "@bitwarden/common/services/validation.service import { VaultTimeoutService } from "@bitwarden/common/services/vaultTimeout/vaultTimeout.service"; import { VaultTimeoutSettingsService } from "@bitwarden/common/services/vaultTimeout/vaultTimeoutSettings.service"; import { WebCryptoFunctionService } from "@bitwarden/common/services/webCryptoFunction.service"; +import { CipherService as CipherServiceAbstraction } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { + FolderService as FolderServiceAbstraction, + InternalFolderService, +} from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { SyncNotifierService as SyncNotifierServiceAbstraction } from "@bitwarden/common/vault/abstractions/sync/sync-notifier.service.abstraction"; +import { SyncService as SyncServiceAbstraction } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; +import { CipherService } from "@bitwarden/common/vault/services/cipher.service"; +import { FolderApiService } from "@bitwarden/common/vault/services/folder/folder-api.service"; +import { FolderService } from "@bitwarden/common/vault/services/folder/folder.service"; +import { SyncNotifierService } from "@bitwarden/common/vault/services/sync/sync-notifier.service"; +import { SyncService } from "@bitwarden/common/vault/services/sync/sync.service"; import { AuthGuard } from "../guards/auth.guard"; import { LockGuard } from "../guards/lock.guard"; import { UnauthGuard } from "../guards/unauth.guard"; +import { PasswordRepromptService } from "../vault/services/password-reprompt.service"; import { BroadcasterService } from "./broadcaster.service"; import { @@ -142,7 +143,6 @@ import { WINDOW, } from "./injection-tokens"; import { ModalService } from "./modal.service"; -import { PasswordRepromptService } from "./passwordReprompt.service"; import { ThemingService } from "./theming/theming.service"; import { AbstractThemingService } from "./theming/theming.service.abstraction"; diff --git a/libs/angular/src/abstractions/deprecated-vault-filter.service.ts b/libs/angular/src/vault/abstractions/deprecated-vault-filter.service.ts similarity index 83% rename from libs/angular/src/abstractions/deprecated-vault-filter.service.ts rename to libs/angular/src/vault/abstractions/deprecated-vault-filter.service.ts index ef3444266c2..e28cc2718b4 100644 --- a/libs/angular/src/abstractions/deprecated-vault-filter.service.ts +++ b/libs/angular/src/vault/abstractions/deprecated-vault-filter.service.ts @@ -2,9 +2,9 @@ import { Observable } from "rxjs"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { DynamicTreeNode } from "../vault/vault-filter/models/dynamic-tree-node.model"; +import { DynamicTreeNode } from "../vault-filter/models/dynamic-tree-node.model"; /** * @deprecated August 30 2022: Use new VaultFilterService with observables diff --git a/libs/angular/src/components/add-edit-custom-fields.component.ts b/libs/angular/src/vault/components/add-edit-custom-fields.component.ts similarity index 93% rename from libs/angular/src/components/add-edit-custom-fields.component.ts rename to libs/angular/src/vault/components/add-edit-custom-fields.component.ts index 2be5e7d5a56..6b043981d64 100644 --- a/libs/angular/src/components/add-edit-custom-fields.component.ts +++ b/libs/angular/src/vault/components/add-edit-custom-fields.component.ts @@ -3,12 +3,12 @@ import { Directive, Input, OnChanges, SimpleChanges } from "@angular/core"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; @Directive() export class AddEditCustomFieldsComponent implements OnChanges { diff --git a/libs/angular/src/components/add-edit.component.ts b/libs/angular/src/vault/components/add-edit.component.ts similarity index 94% rename from libs/angular/src/components/add-edit.component.ts rename to libs/angular/src/vault/components/add-edit.component.ts index 69d02306f55..0a7908ffcbd 100644 --- a/libs/angular/src/components/add-edit.component.ts +++ b/libs/angular/src/vault/components/add-edit.component.ts @@ -2,10 +2,8 @@ import { Directive, EventEmitter, Input, OnDestroy, OnInit, Output } from "@angu import { Observable, Subject, takeUntil, concatMap } from "rxjs"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { MessagingService } from "@bitwarden/common/abstractions/messaging.service"; @@ -13,28 +11,30 @@ import { isNotProviderUser, OrganizationService, } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PolicyService } from "@bitwarden/common/abstractions/policy/policy.service.abstraction"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { OrganizationUserStatusType } from "@bitwarden/common/enums/organizationUserStatusType"; import { PolicyType } from "@bitwarden/common/enums/policyType"; import { SecureNoteType } from "@bitwarden/common/enums/secureNoteType"; import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CardView } from "@bitwarden/common/models/view/card.view"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; -import { IdentityView } from "@bitwarden/common/models/view/identity.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; -import { SecureNoteView } from "@bitwarden/common/models/view/secure-note.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { CardView } from "@bitwarden/common/vault/models/view/card.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; +import { IdentityView } from "@bitwarden/common/vault/models/view/identity.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; +import { SecureNoteView } from "@bitwarden/common/vault/models/view/secure-note.view"; @Directive() export class AddEditComponent implements OnInit, OnDestroy { diff --git a/libs/angular/src/components/attachments.component.ts b/libs/angular/src/vault/components/attachments.component.ts similarity index 96% rename from libs/angular/src/components/attachments.component.ts rename to libs/angular/src/vault/components/attachments.component.ts index 8a8db676185..0cbcf6cddf4 100644 --- a/libs/angular/src/components/attachments.component.ts +++ b/libs/angular/src/vault/components/attachments.component.ts @@ -1,18 +1,18 @@ import { Directive, EventEmitter, Input, OnInit, Output } from "@angular/core"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { EncArrayBuffer } from "@bitwarden/common/models/domain/enc-array-buffer"; import { ErrorResponse } from "@bitwarden/common/models/response/error.response"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Directive() export class AttachmentsComponent implements OnInit { diff --git a/libs/angular/src/components/folder-add-edit.component.ts b/libs/angular/src/vault/components/folder-add-edit.component.ts similarity index 90% rename from libs/angular/src/components/folder-add-edit.component.ts rename to libs/angular/src/vault/components/folder-add-edit.component.ts index 02b8922b509..b3d5b9aa56f 100644 --- a/libs/angular/src/components/folder-add-edit.component.ts +++ b/libs/angular/src/vault/components/folder-add-edit.component.ts @@ -1,11 +1,11 @@ import { Directive, EventEmitter, Input, OnInit, Output } from "@angular/core"; -import { FolderApiServiceAbstraction } from "@bitwarden/common/abstractions/folder/folder-api.service.abstraction"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderApiServiceAbstraction } from "@bitwarden/common/vault/abstractions/folder/folder-api.service.abstraction"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; @Directive() export class FolderAddEditComponent implements OnInit { diff --git a/libs/angular/src/components/icon.component.html b/libs/angular/src/vault/components/icon.component.html similarity index 100% rename from libs/angular/src/components/icon.component.html rename to libs/angular/src/vault/components/icon.component.html diff --git a/libs/angular/src/components/icon.component.ts b/libs/angular/src/vault/components/icon.component.ts similarity index 95% rename from libs/angular/src/components/icon.component.ts rename to libs/angular/src/vault/components/icon.component.ts index 1c9b5a8b551..111f89ff831 100644 --- a/libs/angular/src/components/icon.component.ts +++ b/libs/angular/src/vault/components/icon.component.ts @@ -2,9 +2,9 @@ import { Component, Input, OnChanges } from "@angular/core"; import { EnvironmentService } from "@bitwarden/common/abstractions/environment.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; /** * Provides a mapping from supported card brands to diff --git a/libs/angular/src/components/password-history.component.ts b/libs/angular/src/vault/components/password-history.component.ts similarity index 86% rename from libs/angular/src/components/password-history.component.ts rename to libs/angular/src/vault/components/password-history.component.ts index 43859669411..d9d9654c8ef 100644 --- a/libs/angular/src/components/password-history.component.ts +++ b/libs/angular/src/vault/components/password-history.component.ts @@ -1,9 +1,9 @@ import { Directive, OnInit } from "@angular/core"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { PasswordHistoryView } from "@bitwarden/common/models/view/password-history.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { PasswordHistoryView } from "@bitwarden/common/vault/models/view/password-history.view"; @Directive() export class PasswordHistoryComponent implements OnInit { diff --git a/libs/angular/src/components/password-reprompt.component.ts b/libs/angular/src/vault/components/password-reprompt.component.ts similarity index 95% rename from libs/angular/src/components/password-reprompt.component.ts rename to libs/angular/src/vault/components/password-reprompt.component.ts index 188abee7541..ca0d6fb7696 100644 --- a/libs/angular/src/components/password-reprompt.component.ts +++ b/libs/angular/src/vault/components/password-reprompt.component.ts @@ -4,7 +4,7 @@ import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; -import { ModalRef } from "./modal/modal.ref"; +import { ModalRef } from "../../components/modal/modal.ref"; /** * Used to verify the user's Master Password for the "Master Password Re-prompt" feature only. diff --git a/libs/angular/src/components/premium.component.ts b/libs/angular/src/vault/components/premium.component.ts similarity index 100% rename from libs/angular/src/components/premium.component.ts rename to libs/angular/src/vault/components/premium.component.ts diff --git a/libs/angular/src/components/vault-items.component.ts b/libs/angular/src/vault/components/vault-items.component.ts similarity index 97% rename from libs/angular/src/components/vault-items.component.ts rename to libs/angular/src/vault/components/vault-items.component.ts index 90d4b32c0de..a4684786fd2 100644 --- a/libs/angular/src/components/vault-items.component.ts +++ b/libs/angular/src/vault/components/vault-items.component.ts @@ -2,7 +2,7 @@ import { Directive, EventEmitter, Input, Output } from "@angular/core"; import { SearchService } from "@bitwarden/common/abstractions/search.service"; import { Organization } from "@bitwarden/common/models/domain/organization"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; @Directive() export class VaultItemsComponent { diff --git a/libs/angular/src/components/view-custom-fields.component.ts b/libs/angular/src/vault/components/view-custom-fields.component.ts similarity index 88% rename from libs/angular/src/components/view-custom-fields.component.ts rename to libs/angular/src/vault/components/view-custom-fields.component.ts index 46289fbc5eb..55e12fcd13c 100644 --- a/libs/angular/src/components/view-custom-fields.component.ts +++ b/libs/angular/src/vault/components/view-custom-fields.component.ts @@ -3,8 +3,8 @@ import { Directive, Input } from "@angular/core"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { EventType } from "@bitwarden/common/enums/eventType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; @Directive() export class ViewCustomFieldsComponent { diff --git a/libs/angular/src/components/view.component.ts b/libs/angular/src/vault/components/view.component.ts similarity index 94% rename from libs/angular/src/components/view.component.ts rename to libs/angular/src/vault/components/view.component.ts index 243ca85ff97..3b417e7f1d3 100644 --- a/libs/angular/src/components/view.component.ts +++ b/libs/angular/src/vault/components/view.component.ts @@ -13,28 +13,28 @@ import { firstValueFrom } from "rxjs"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { AuditService } from "@bitwarden/common/abstractions/audit.service"; import { BroadcasterService } from "@bitwarden/common/abstractions/broadcaster.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { EventCollectionService } from "@bitwarden/common/abstractions/event/event-collection.service"; import { FileDownloadService } from "@bitwarden/common/abstractions/fileDownload/fileDownload.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { LogService } from "@bitwarden/common/abstractions/log.service"; -import { PasswordRepromptService } from "@bitwarden/common/abstractions/passwordReprompt.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { StateService } from "@bitwarden/common/abstractions/state.service"; import { TokenService } from "@bitwarden/common/abstractions/token.service"; import { TotpService } from "@bitwarden/common/abstractions/totp.service"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EventType } from "@bitwarden/common/enums/eventType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { EncArrayBuffer } from "@bitwarden/common/models/domain/enc-array-buffer"; import { ErrorResponse } from "@bitwarden/common/models/response/error.response"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { PasswordRepromptService } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { CipherRepromptType } from "@bitwarden/common/vault/enums/cipher-reprompt-type"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { AttachmentView } from "@bitwarden/common/vault/models/view/attachment.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; const BroadcasterSubscriptionId = "ViewComponent"; diff --git a/libs/angular/src/services/passwordReprompt.service.ts b/libs/angular/src/vault/services/password-reprompt.service.ts similarity index 89% rename from libs/angular/src/services/passwordReprompt.service.ts rename to libs/angular/src/vault/services/password-reprompt.service.ts index e1fc916cd7a..8984bc7fdfc 100644 --- a/libs/angular/src/services/passwordReprompt.service.ts +++ b/libs/angular/src/vault/services/password-reprompt.service.ts @@ -1,12 +1,11 @@ import { Injectable } from "@angular/core"; import { KeyConnectorService } from "@bitwarden/common/abstractions/keyConnector.service"; -import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/abstractions/passwordReprompt.service"; +import { PasswordRepromptService as PasswordRepromptServiceAbstraction } from "@bitwarden/common/vault/abstractions/password-reprompt.service"; +import { ModalService } from "../../services/modal.service"; import { PasswordRepromptComponent } from "../components/password-reprompt.component"; -import { ModalService } from "./modal.service"; - /** * Used to verify the user's Master Password for the "Master Password Re-prompt" feature only. * See UserVerificationService for any other situation where you need to verify the user's identity. diff --git a/libs/angular/src/vault/vault-filter/components/folder-filter.component.ts b/libs/angular/src/vault/vault-filter/components/folder-filter.component.ts index 68faaa30072..b0239442416 100644 --- a/libs/angular/src/vault/vault-filter/components/folder-filter.component.ts +++ b/libs/angular/src/vault/vault-filter/components/folder-filter.component.ts @@ -1,7 +1,7 @@ import { Directive, EventEmitter, Input, Output } from "@angular/core"; import { ITreeNodeObject } from "@bitwarden/common/models/domain/tree-node"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { DynamicTreeNode } from "../models/dynamic-tree-node.model"; import { TopLevelTreeNode } from "../models/top-level-tree-node.model"; diff --git a/libs/angular/src/vault/vault-filter/components/type-filter.component.ts b/libs/angular/src/vault/vault-filter/components/type-filter.component.ts index 6fca1e77779..6ff5d213308 100644 --- a/libs/angular/src/vault/vault-filter/components/type-filter.component.ts +++ b/libs/angular/src/vault/vault-filter/components/type-filter.component.ts @@ -1,7 +1,7 @@ import { Directive, EventEmitter, Input, Output } from "@angular/core"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { ITreeNodeObject } from "@bitwarden/common/models/domain/tree-node"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; import { TopLevelTreeNode } from "../models/top-level-tree-node.model"; import { VaultFilter } from "../models/vault-filter.model"; diff --git a/libs/angular/src/vault/vault-filter/components/vault-filter.component.ts b/libs/angular/src/vault/vault-filter/components/vault-filter.component.ts index e2204347414..3cc0acf3fec 100644 --- a/libs/angular/src/vault/vault-filter/components/vault-filter.component.ts +++ b/libs/angular/src/vault/vault-filter/components/vault-filter.component.ts @@ -4,9 +4,9 @@ import { firstValueFrom, Observable } from "rxjs"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { ITreeNodeObject } from "@bitwarden/common/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { DeprecatedVaultFilterService } from "../../../abstractions/deprecated-vault-filter.service"; +import { DeprecatedVaultFilterService } from "../../abstractions/deprecated-vault-filter.service"; import { DynamicTreeNode } from "../models/dynamic-tree-node.model"; import { VaultFilter } from "../models/vault-filter.model"; diff --git a/libs/angular/src/vault/vault-filter/models/vault-filter.model.spec.ts b/libs/angular/src/vault/vault-filter/models/vault-filter.model.spec.ts index 12d458a1278..1fab9727a5a 100644 --- a/libs/angular/src/vault/vault-filter/models/vault-filter.model.spec.ts +++ b/libs/angular/src/vault/vault-filter/models/vault-filter.model.spec.ts @@ -1,5 +1,5 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { VaultFilter } from "./vault-filter.model"; diff --git a/libs/angular/src/vault/vault-filter/models/vault-filter.model.ts b/libs/angular/src/vault/vault-filter/models/vault-filter.model.ts index 0fd0fcc6d09..ae4151f9648 100644 --- a/libs/angular/src/vault/vault-filter/models/vault-filter.model.ts +++ b/libs/angular/src/vault/vault-filter/models/vault-filter.model.ts @@ -1,5 +1,5 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { CipherStatus } from "./cipher-status.model"; diff --git a/libs/angular/src/vault/vault-filter/services/vault-filter.service.ts b/libs/angular/src/vault/vault-filter/services/vault-filter.service.ts index b37e6514401..a56758a8bd1 100644 --- a/libs/angular/src/vault/vault-filter/services/vault-filter.service.ts +++ b/libs/angular/src/vault/vault-filter/services/vault-filter.service.ts @@ -1,9 +1,7 @@ import { Injectable } from "@angular/core"; import { firstValueFrom, from, mergeMap, Observable } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { isNotProviderUser, OrganizationService, @@ -15,9 +13,11 @@ import { ServiceUtils } from "@bitwarden/common/misc/serviceUtils"; import { Organization } from "@bitwarden/common/models/domain/organization"; import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; import { CollectionView } from "@bitwarden/common/models/view/collection.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; -import { DeprecatedVaultFilterService as DeprecatedVaultFilterServiceAbstraction } from "../../../abstractions/deprecated-vault-filter.service"; +import { DeprecatedVaultFilterService as DeprecatedVaultFilterServiceAbstraction } from "../../abstractions/deprecated-vault-filter.service"; import { DynamicTreeNode } from "../models/dynamic-tree-node.model"; const NestingDelimiter = "/"; diff --git a/libs/common/spec/importers/chrome-csv-importer.spec.ts b/libs/common/spec/importers/chrome-csv-importer.spec.ts index 8e57965d6d9..746c573c23f 100644 --- a/libs/common/spec/importers/chrome-csv-importer.spec.ts +++ b/libs/common/spec/importers/chrome-csv-importer.spec.ts @@ -1,7 +1,7 @@ import { ChromeCsvImporter as Importer } from "@bitwarden/common/importers/chrome-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { data as androidData } from "./test-data/chrome-csv/android-data.csv"; import { data as simplePasswordData } from "./test-data/chrome-csv/simple-password-data.csv"; diff --git a/libs/common/spec/importers/dashlane-csv-importer.spec.ts b/libs/common/spec/importers/dashlane-csv-importer.spec.ts index 9948b9e47c3..80a35790411 100644 --- a/libs/common/spec/importers/dashlane-csv-importer.spec.ts +++ b/libs/common/spec/importers/dashlane-csv-importer.spec.ts @@ -1,5 +1,5 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { DashlaneCsvImporter as Importer } from "@bitwarden/common/importers/dashlane/dashlane-csv-importer"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; import { credentialsData } from "./test-data/dashlane-csv/credentials.csv"; import { identityData } from "./test-data/dashlane-csv/id.csv"; diff --git a/libs/common/spec/importers/enpass/enpass-json-importer.spec.ts b/libs/common/spec/importers/enpass/enpass-json-importer.spec.ts index c4ed6312068..bbbc2f7726f 100644 --- a/libs/common/spec/importers/enpass/enpass-json-importer.spec.ts +++ b/libs/common/spec/importers/enpass/enpass-json-importer.spec.ts @@ -1,6 +1,6 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { EnpassJsonImporter as Importer } from "@bitwarden/common/importers/enpass/enpass-json-importer"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; import { creditCard } from "./test-data/json/credit-card"; import { folders } from "./test-data/json/folders"; diff --git a/libs/common/spec/importers/firefox-csv-importer.spec.ts b/libs/common/spec/importers/firefox-csv-importer.spec.ts index e25535c5a2b..0dbadd093f9 100644 --- a/libs/common/spec/importers/firefox-csv-importer.spec.ts +++ b/libs/common/spec/importers/firefox-csv-importer.spec.ts @@ -1,7 +1,7 @@ import { FirefoxCsvImporter as Importer } from "@bitwarden/common/importers/firefox-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { data as firefoxAccountsData } from "./test-data/firefox-csv/firefox-accounts-data.csv"; import { data as simplePasswordData } from "./test-data/firefox-csv/simple-password-data.csv"; diff --git a/libs/common/spec/importers/keepass2-xml-importer.spec.ts b/libs/common/spec/importers/keepass2-xml-importer.spec.ts index 285a1563ba9..d335a8aca74 100644 --- a/libs/common/spec/importers/keepass2-xml-importer.spec.ts +++ b/libs/common/spec/importers/keepass2-xml-importer.spec.ts @@ -1,5 +1,5 @@ import { KeePass2XmlImporter as Importer } from "@bitwarden/common/importers/keepass2-xml-importer"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; import { TestData, TestData1, TestData2 } from "./keepass2-xml-importer-testdata"; diff --git a/libs/common/spec/importers/lastpass-csv-importer.spec.ts b/libs/common/spec/importers/lastpass-csv-importer.spec.ts index 8e5f5d8a55d..36686aadc53 100644 --- a/libs/common/spec/importers/lastpass-csv-importer.spec.ts +++ b/libs/common/spec/importers/lastpass-csv-importer.spec.ts @@ -1,9 +1,9 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { LastPassCsvImporter as Importer } from "@bitwarden/common/importers/lastpass-csv-importer"; import { ImportResult } from "@bitwarden/common/models/domain/import-result"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; function baseExcept(result: ImportResult) { expect(result).not.toBeNull(); diff --git a/libs/common/spec/importers/myki-csv-importer.spec.ts b/libs/common/spec/importers/myki-csv-importer.spec.ts index b28e495cf8b..6df40e71750 100644 --- a/libs/common/spec/importers/myki-csv-importer.spec.ts +++ b/libs/common/spec/importers/myki-csv-importer.spec.ts @@ -1,6 +1,6 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { MykiCsvImporter as Importer } from "@bitwarden/common/importers/myki-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { userAccountData } from "./test-data/myki-csv/user-account.csv"; import { userCreditCardData } from "./test-data/myki-csv/user-credit-card.csv"; diff --git a/libs/common/spec/importers/nordpass-csv-importer.spec.ts b/libs/common/spec/importers/nordpass-csv-importer.spec.ts index b9ef3c32a5d..6a368c71801 100644 --- a/libs/common/spec/importers/nordpass-csv-importer.spec.ts +++ b/libs/common/spec/importers/nordpass-csv-importer.spec.ts @@ -1,8 +1,8 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { SecureNoteType } from "@bitwarden/common/enums/secureNoteType"; import { NordPassCsvImporter as Importer } from "@bitwarden/common/importers/nordpass-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { IdentityView } from "@bitwarden/common/models/view/identity.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { IdentityView } from "@bitwarden/common/vault/models/view/identity.view"; import { data as creditCardData } from "./test-data/nordpass-csv/nordpass.card.csv"; import { data as identityData } from "./test-data/nordpass-csv/nordpass.identity.csv"; diff --git a/libs/common/spec/importers/onepassword-1pux-importer.spec.ts b/libs/common/spec/importers/onepassword-1pux-importer.spec.ts index 98b9d6f1ddc..0287f4134f9 100644 --- a/libs/common/spec/importers/onepassword-1pux-importer.spec.ts +++ b/libs/common/spec/importers/onepassword-1pux-importer.spec.ts @@ -1,9 +1,9 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { SecureNoteType } from "@bitwarden/common/enums/secureNoteType"; import { OnePassword1PuxImporter as Importer } from "@bitwarden/common/importers/onepassword/onepassword-1pux-importer"; import { Utils } from "@bitwarden/common/misc/utils"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; import { APICredentialsData } from "./test-data/onepassword-1pux/api-credentials"; import { BankAccountData } from "./test-data/onepassword-1pux/bank-account"; diff --git a/libs/common/spec/importers/onepassword-mac-csv-importer.spec.ts b/libs/common/spec/importers/onepassword-mac-csv-importer.spec.ts index fc61d9760c9..0b9ade26621 100644 --- a/libs/common/spec/importers/onepassword-mac-csv-importer.spec.ts +++ b/libs/common/spec/importers/onepassword-mac-csv-importer.spec.ts @@ -1,6 +1,6 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { OnePasswordMacCsvImporter as Importer } from "@bitwarden/common/importers/onepassword/onepassword-mac-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; import { data as creditCardData } from "./test-data/onepassword-csv/credit-card.mac.csv"; import { data as identityData } from "./test-data/onepassword-csv/identity.mac.csv"; diff --git a/libs/common/spec/importers/onepassword-win-csv-importer.spec.ts b/libs/common/spec/importers/onepassword-win-csv-importer.spec.ts index 5398f823ff0..d5c40c2d13a 100644 --- a/libs/common/spec/importers/onepassword-win-csv-importer.spec.ts +++ b/libs/common/spec/importers/onepassword-win-csv-importer.spec.ts @@ -1,8 +1,8 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { OnePasswordWinCsvImporter as Importer } from "@bitwarden/common/importers/onepassword/onepassword-win-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; import { data as creditCardData } from "./test-data/onepassword-csv/credit-card.windows.csv"; import { data as identityData } from "./test-data/onepassword-csv/identity.windows.csv"; diff --git a/libs/common/spec/importers/psono-json-importer.spec.ts b/libs/common/spec/importers/psono-json-importer.spec.ts index f9fc5f8c7fe..012df791e9c 100644 --- a/libs/common/spec/importers/psono-json-importer.spec.ts +++ b/libs/common/spec/importers/psono-json-importer.spec.ts @@ -1,7 +1,7 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { FieldType } from "@bitwarden/common/enums/fieldType"; import { PsonoJsonImporter as Importer } from "@bitwarden/common/importers/psono/psono-json-importer"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { FieldView } from "@bitwarden/common/vault/models/view/field.view"; import { ApplicationPasswordsData } from "./test-data/psono-json/application-passwords"; import { BookmarkData } from "./test-data/psono-json/bookmark.json"; diff --git a/libs/common/spec/importers/safari-csv-importer.spec.ts b/libs/common/spec/importers/safari-csv-importer.spec.ts index 3bb0f614cec..89a9c469a77 100644 --- a/libs/common/spec/importers/safari-csv-importer.spec.ts +++ b/libs/common/spec/importers/safari-csv-importer.spec.ts @@ -1,7 +1,7 @@ import { SafariCsvImporter as Importer } from "@bitwarden/common/importers/safari-csv-importer"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { LoginUriView } from "@bitwarden/common/vault/models/view/login-uri.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { data as oldSimplePasswordData } from "./test-data/safari-csv/old-simple-password-data.csv"; import { data as simplePasswordData } from "./test-data/safari-csv/simple-password-data.csv"; diff --git a/libs/common/spec/services/export.service.spec.ts b/libs/common/spec/services/export.service.spec.ts index a10f9ddbac2..330d4a9cfbe 100644 --- a/libs/common/spec/services/export.service.spec.ts +++ b/libs/common/spec/services/export.service.spec.ts @@ -2,22 +2,22 @@ import { Arg, Substitute, SubstituteOf } from "@fluffy-spoon/substitute"; import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { CryptoFunctionService } from "@bitwarden/common/abstractions/cryptoFunction.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; import { KdfType, DEFAULT_PBKDF2_ITERATIONS } from "@bitwarden/common/enums/kdfType"; import { Utils } from "@bitwarden/common/misc/utils"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Folder } from "@bitwarden/common/models/domain/folder"; -import { Login } from "@bitwarden/common/models/domain/login"; import { CipherWithIdExport as CipherExport } from "@bitwarden/common/models/export/cipher-with-ids.export"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; import { ExportService } from "@bitwarden/common/services/export.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; +import { Cipher } from "@bitwarden/common/vault/models/domain/cipher"; +import { Folder } from "@bitwarden/common/vault/models/domain/folder"; +import { Login } from "@bitwarden/common/vault/models/domain/login"; +import { CipherView } from "@bitwarden/common/vault/models/view/cipher.view"; +import { FolderView } from "@bitwarden/common/vault/models/view/folder.view"; +import { LoginView } from "@bitwarden/common/vault/models/view/login.view"; import { BuildTestObject, GetUniqueString } from "../utils"; diff --git a/libs/common/spec/services/import.service.spec.ts b/libs/common/spec/services/import.service.spec.ts index e1e1c4914f6..6f29d224371 100644 --- a/libs/common/spec/services/import.service.spec.ts +++ b/libs/common/spec/services/import.service.spec.ts @@ -1,16 +1,16 @@ // eslint-disable-next-line no-restricted-imports import { Substitute, SubstituteOf } from "@fluffy-spoon/substitute"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/abstractions/collection.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { FolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { ImportApiServiceAbstraction } from "@bitwarden/common/abstractions/import/import-api.service.abstraction"; import { BitwardenPasswordProtectedImporter } from "@bitwarden/common/importers/bitwarden-password-protected-importer"; import { Importer } from "@bitwarden/common/importers/importer"; import { Utils } from "@bitwarden/common/misc/utils"; import { ImportService } from "@bitwarden/common/services/import/import.service"; +import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; +import { FolderService } from "@bitwarden/common/vault/abstractions/folder/folder.service.abstraction"; describe("ImportService", () => { let importService: ImportService; diff --git a/libs/common/src/abstractions/api.service.ts b/libs/common/src/abstractions/api.service.ts index edf0092df92..1262e7730f3 100644 --- a/libs/common/src/abstractions/api.service.ts +++ b/libs/common/src/abstractions/api.service.ts @@ -1,16 +1,6 @@ import { OrganizationConnectionType } from "../enums/organizationConnectionType"; import { SetKeyConnectorKeyRequest } from "../models/request/account/set-key-connector-key.request"; -import { AttachmentRequest } from "../models/request/attachment.request"; import { BitPayInvoiceRequest } from "../models/request/bit-pay-invoice.request"; -import { CipherBulkDeleteRequest } from "../models/request/cipher-bulk-delete.request"; -import { CipherBulkMoveRequest } from "../models/request/cipher-bulk-move.request"; -import { CipherBulkRestoreRequest } from "../models/request/cipher-bulk-restore.request"; -import { CipherBulkShareRequest } from "../models/request/cipher-bulk-share.request"; -import { CipherCollectionsRequest } from "../models/request/cipher-collections.request"; -import { CipherCreateRequest } from "../models/request/cipher-create.request"; -import { CipherPartialRequest } from "../models/request/cipher-partial.request"; -import { CipherShareRequest } from "../models/request/cipher-share.request"; -import { CipherRequest } from "../models/request/cipher.request"; import { CollectionBulkDeleteRequest } from "../models/request/collection-bulk-delete.request"; import { CollectionRequest } from "../models/request/collection.request"; import { DeleteRecoverRequest } from "../models/request/delete-recover.request"; @@ -74,14 +64,11 @@ import { UpdateTwoFactorYubioOtpRequest } from "../models/request/update-two-fac import { VerifyDeleteRecoverRequest } from "../models/request/verify-delete-recover.request"; import { VerifyEmailRequest } from "../models/request/verify-email.request"; import { ApiKeyResponse } from "../models/response/api-key.response"; -import { AttachmentUploadDataResponse } from "../models/response/attachment-upload-data.response"; -import { AttachmentResponse } from "../models/response/attachment.response"; import { AuthRequestResponse } from "../models/response/auth-request.response"; import { RegisterResponse } from "../models/response/authentication/register.response"; import { BillingHistoryResponse } from "../models/response/billing-history.response"; import { BillingPaymentResponse } from "../models/response/billing-payment.response"; import { BreachAccountResponse } from "../models/response/breach-account.response"; -import { CipherResponse } from "../models/response/cipher.response"; import { CollectionAccessDetailsResponse, CollectionResponse, @@ -129,7 +116,6 @@ import { SendFileUploadDataResponse } from "../models/response/send-file-upload- import { SendResponse } from "../models/response/send.response"; import { SsoPreValidateResponse } from "../models/response/sso-pre-validate.response"; import { SubscriptionResponse } from "../models/response/subscription.response"; -import { SyncResponse } from "../models/response/sync.response"; import { TaxInfoResponse } from "../models/response/tax-info.response"; import { TaxRateResponse } from "../models/response/tax-rate.response"; import { TwoFactorAuthenticatorResponse } from "../models/response/two-factor-authenticator.response"; @@ -144,6 +130,20 @@ import { import { TwoFactorYubiKeyResponse } from "../models/response/two-factor-yubi-key.response"; import { UserKeyResponse } from "../models/response/user-key.response"; import { SendAccessView } from "../models/view/send-access.view"; +import { AttachmentRequest } from "../vault/models/request/attachment.request"; +import { CipherBulkDeleteRequest } from "../vault/models/request/cipher-bulk-delete.request"; +import { CipherBulkMoveRequest } from "../vault/models/request/cipher-bulk-move.request"; +import { CipherBulkRestoreRequest } from "../vault/models/request/cipher-bulk-restore.request"; +import { CipherBulkShareRequest } from "../vault/models/request/cipher-bulk-share.request"; +import { CipherCollectionsRequest } from "../vault/models/request/cipher-collections.request"; +import { CipherCreateRequest } from "../vault/models/request/cipher-create.request"; +import { CipherPartialRequest } from "../vault/models/request/cipher-partial.request"; +import { CipherShareRequest } from "../vault/models/request/cipher-share.request"; +import { CipherRequest } from "../vault/models/request/cipher.request"; +import { AttachmentUploadDataResponse } from "../vault/models/response/attachment-upload-data.response"; +import { AttachmentResponse } from "../vault/models/response/attachment.response"; +import { CipherResponse } from "../vault/models/response/cipher.response"; +import { SyncResponse } from "../vault/models/response/sync.response"; /** * @deprecated The `ApiService` class is deprecated and calls should be extracted into individual diff --git a/libs/common/src/abstractions/fileUpload.service.ts b/libs/common/src/abstractions/fileUpload.service.ts index b8523f3218a..0dbf8b3a6a1 100644 --- a/libs/common/src/abstractions/fileUpload.service.ts +++ b/libs/common/src/abstractions/fileUpload.service.ts @@ -1,7 +1,7 @@ import { EncArrayBuffer } from "../models/domain/enc-array-buffer"; import { EncString } from "../models/domain/enc-string"; -import { AttachmentUploadDataResponse } from "../models/response/attachment-upload-data.response"; import { SendFileUploadDataResponse } from "../models/response/send-file-upload-data.response"; +import { AttachmentUploadDataResponse } from "../vault/models/response/attachment-upload-data.response"; export abstract class FileUploadService { uploadSendFile: ( diff --git a/libs/common/src/abstractions/search.service.ts b/libs/common/src/abstractions/search.service.ts index 02eba41c138..3f37d4fe3a9 100644 --- a/libs/common/src/abstractions/search.service.ts +++ b/libs/common/src/abstractions/search.service.ts @@ -1,5 +1,5 @@ -import { CipherView } from "../models/view/cipher.view"; import { SendView } from "../models/view/send.view"; +import { CipherView } from "../vault/models/view/cipher.view"; export abstract class SearchService { indexedEntityId?: string = null; diff --git a/libs/common/src/abstractions/state.service.ts b/libs/common/src/abstractions/state.service.ts index a2d2e3960e4..9b88c9cb63a 100644 --- a/libs/common/src/abstractions/state.service.ts +++ b/libs/common/src/abstractions/state.service.ts @@ -3,12 +3,9 @@ import { Observable } from "rxjs"; import { KdfType } from "../enums/kdfType"; import { ThemeType } from "../enums/themeType"; import { UriMatchType } from "../enums/uriMatchType"; -import { CipherData } from "../models/data/cipher.data"; import { CollectionData } from "../models/data/collection.data"; import { EncryptedOrganizationKeyData } from "../models/data/encrypted-organization-key.data"; import { EventData } from "../models/data/event.data"; -import { FolderData } from "../models/data/folder.data"; -import { LocalData } from "../models/data/local.data"; import { OrganizationData } from "../models/data/organization.data"; import { PolicyData } from "../models/data/policy.data"; import { ProviderData } from "../models/data/provider.data"; @@ -23,9 +20,12 @@ import { Policy } from "../models/domain/policy"; import { StorageOptions } from "../models/domain/storage-options"; import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key"; import { WindowState } from "../models/domain/window-state"; -import { CipherView } from "../models/view/cipher.view"; import { CollectionView } from "../models/view/collection.view"; import { SendView } from "../models/view/send.view"; +import { CipherData } from "../vault/models/data/cipher.data"; +import { FolderData } from "../vault/models/data/folder.data"; +import { LocalData } from "../vault/models/data/local.data"; +import { CipherView } from "../vault/models/view/cipher.view"; export abstract class StateService { accounts$: Observable<{ [userId: string]: T }>; diff --git a/libs/common/src/importers/avast-json-importer.ts b/libs/common/src/importers/avast-json-importer.ts index 1c7a0e4a5d6..203d98529f8 100644 --- a/libs/common/src/importers/avast-json-importer.ts +++ b/libs/common/src/importers/avast-json-importer.ts @@ -1,6 +1,6 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; +import { CipherType } from "../vault/enums/cipher-type"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/base-importer.ts b/libs/common/src/importers/base-importer.ts index dec6e2e715b..69633ccadd5 100644 --- a/libs/common/src/importers/base-importer.ts +++ b/libs/common/src/importers/base-importer.ts @@ -1,19 +1,19 @@ import * as papa from "papaparse"; import { LogService } from "../abstractions/log.service"; -import { CipherType } from "../enums/cipherType"; import { FieldType } from "../enums/fieldType"; import { SecureNoteType } from "../enums/secureNoteType"; import { Utils } from "../misc/utils"; import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; import { CollectionView } from "../models/view/collection.view"; -import { FieldView } from "../models/view/field.view"; -import { FolderView } from "../models/view/folder.view"; -import { LoginUriView } from "../models/view/login-uri.view"; -import { LoginView } from "../models/view/login.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; import { ConsoleLogService } from "../services/consoleLog.service"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { FieldView } from "../vault/models/view/field.view"; +import { FolderView } from "../vault/models/view/folder.view"; +import { LoginUriView } from "../vault/models/view/login-uri.view"; +import { LoginView } from "../vault/models/view/login.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; export abstract class BaseImporter { organizationId: string = null; diff --git a/libs/common/src/importers/bitwarden-csv-importer.ts b/libs/common/src/importers/bitwarden-csv-importer.ts index f5f2554789d..e40294b6b25 100644 --- a/libs/common/src/importers/bitwarden-csv-importer.ts +++ b/libs/common/src/importers/bitwarden-csv-importer.ts @@ -1,13 +1,13 @@ -import { CipherRepromptType } from "../enums/cipherRepromptType"; -import { CipherType } from "../enums/cipherType"; import { FieldType } from "../enums/fieldType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; import { CollectionView } from "../models/view/collection.view"; -import { FieldView } from "../models/view/field.view"; -import { LoginView } from "../models/view/login.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherRepromptType } from "../vault/enums/cipher-reprompt-type"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { FieldView } from "../vault/models/view/field.view"; +import { LoginView } from "../vault/models/view/login.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/dashlane/dashlane-csv-importer.ts b/libs/common/src/importers/dashlane/dashlane-csv-importer.ts index f0b54ebdda0..685b40042bb 100644 --- a/libs/common/src/importers/dashlane/dashlane-csv-importer.ts +++ b/libs/common/src/importers/dashlane/dashlane-csv-importer.ts @@ -1,10 +1,10 @@ -import { CipherType } from "../../enums/cipherType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; -import { LoginView } from "../../models/view/login.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; +import { LoginView } from "../../vault/models/view/login.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/dashlane/dashlane-json-importer.ts b/libs/common/src/importers/dashlane/dashlane-json-importer.ts index d6812fe283d..b2595d485c8 100644 --- a/libs/common/src/importers/dashlane/dashlane-json-importer.ts +++ b/libs/common/src/importers/dashlane/dashlane-json-importer.ts @@ -1,10 +1,10 @@ -import { CipherType } from "../../enums/cipherType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; -import { SecureNoteView } from "../../models/view/secure-note.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/encryptr-csv-importer.ts b/libs/common/src/importers/encryptr-csv-importer.ts index 68449d6c979..b5d6fb96693 100644 --- a/libs/common/src/importers/encryptr-csv-importer.ts +++ b/libs/common/src/importers/encryptr-csv-importer.ts @@ -1,6 +1,6 @@ -import { CipherType } from "../enums/cipherType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/enpass/enpass-csv-importer.ts b/libs/common/src/importers/enpass/enpass-csv-importer.ts index a73430ba8a1..24c91963182 100644 --- a/libs/common/src/importers/enpass/enpass-csv-importer.ts +++ b/libs/common/src/importers/enpass/enpass-csv-importer.ts @@ -1,8 +1,8 @@ -import { CipherType } from "../../enums/cipherType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { SecureNoteView } from "../../models/view/secure-note.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/enpass/enpass-json-importer.ts b/libs/common/src/importers/enpass/enpass-json-importer.ts index 8dbf164ce4c..d74f0e2ec91 100644 --- a/libs/common/src/importers/enpass/enpass-json-importer.ts +++ b/libs/common/src/importers/enpass/enpass-json-importer.ts @@ -1,9 +1,9 @@ -import { CipherType } from "../../enums/cipherType"; import { FieldType } from "../../enums/fieldType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { FolderView } from "../../models/view/folder.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { FolderView } from "../../vault/models/view/folder.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/fsecure/fsecure-fsk-importer.spec.ts b/libs/common/src/importers/fsecure/fsecure-fsk-importer.spec.ts index d8fab657ce1..1eadb5c1477 100644 --- a/libs/common/src/importers/fsecure/fsecure-fsk-importer.spec.ts +++ b/libs/common/src/importers/fsecure/fsecure-fsk-importer.spec.ts @@ -1,4 +1,4 @@ -import { CipherType } from "../../enums/cipherType"; +import { CipherType } from "../../vault/enums/cipher-type"; import { FSecureFskImporter as Importer } from "./fsecure-fsk-importer"; import { CreditCardTestEntry, LoginTestEntry } from "./fsk-test-data"; diff --git a/libs/common/src/importers/fsecure/fsecure-fsk-importer.ts b/libs/common/src/importers/fsecure/fsecure-fsk-importer.ts index c86c43640a1..fcecf7a0a29 100644 --- a/libs/common/src/importers/fsecure/fsecure-fsk-importer.ts +++ b/libs/common/src/importers/fsecure/fsecure-fsk-importer.ts @@ -1,7 +1,7 @@ -import { CipherType } from "../../enums/cipherType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/keepass2-xml-importer.ts b/libs/common/src/importers/keepass2-xml-importer.ts index 2bb169c4d1a..50173406792 100644 --- a/libs/common/src/importers/keepass2-xml-importer.ts +++ b/libs/common/src/importers/keepass2-xml-importer.ts @@ -1,6 +1,6 @@ import { FieldType } from "../enums/fieldType"; import { ImportResult } from "../models/domain/import-result"; -import { FolderView } from "../models/view/folder.view"; +import { FolderView } from "../vault/models/view/folder.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/lastpass-csv-importer.ts b/libs/common/src/importers/lastpass-csv-importer.ts index e75be31f546..a846a7d5604 100644 --- a/libs/common/src/importers/lastpass-csv-importer.ts +++ b/libs/common/src/importers/lastpass-csv-importer.ts @@ -1,12 +1,12 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; -import { CipherView } from "../models/view/cipher.view"; -import { FolderView } from "../models/view/folder.view"; -import { IdentityView } from "../models/view/identity.view"; -import { LoginView } from "../models/view/login.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { FolderView } from "../vault/models/view/folder.view"; +import { IdentityView } from "../vault/models/view/identity.view"; +import { LoginView } from "../vault/models/view/login.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/msecure-csv-importer.ts b/libs/common/src/importers/msecure-csv-importer.ts index cb17da5c17d..52c397beafe 100644 --- a/libs/common/src/importers/msecure-csv-importer.ts +++ b/libs/common/src/importers/msecure-csv-importer.ts @@ -1,7 +1,7 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/myki-csv-importer.ts b/libs/common/src/importers/myki-csv-importer.ts index a56b0de4d3b..e419a2921b4 100644 --- a/libs/common/src/importers/myki-csv-importer.ts +++ b/libs/common/src/importers/myki-csv-importer.ts @@ -1,10 +1,10 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; -import { CipherView } from "../models/view/cipher.view"; -import { IdentityView } from "../models/view/identity.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { IdentityView } from "../vault/models/view/identity.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/nordpass-csv-importer.ts b/libs/common/src/importers/nordpass-csv-importer.ts index cf6b73e13f3..bea4b8685f9 100644 --- a/libs/common/src/importers/nordpass-csv-importer.ts +++ b/libs/common/src/importers/nordpass-csv-importer.ts @@ -1,8 +1,8 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; -import { LoginView } from "../models/view/login.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { LoginView } from "../vault/models/view/login.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/onepassword/cipher-import-context.ts b/libs/common/src/importers/onepassword/cipher-import-context.ts index 4a8810205f1..d8eb22caad6 100644 --- a/libs/common/src/importers/onepassword/cipher-import-context.ts +++ b/libs/common/src/importers/onepassword/cipher-import-context.ts @@ -1,4 +1,4 @@ -import { CipherView } from "../../models/view/cipher.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; export class CipherImportContext { lowerProperty: string; diff --git a/libs/common/src/importers/onepassword/onepassword-1pif-importer.ts b/libs/common/src/importers/onepassword/onepassword-1pif-importer.ts index a0b6bb84bf8..f2e8c66222a 100644 --- a/libs/common/src/importers/onepassword/onepassword-1pif-importer.ts +++ b/libs/common/src/importers/onepassword/onepassword-1pif-importer.ts @@ -1,12 +1,12 @@ -import { CipherType } from "../../enums/cipherType"; import { FieldType } from "../../enums/fieldType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; -import { PasswordHistoryView } from "../../models/view/password-history.view"; -import { SecureNoteView } from "../../models/view/secure-note.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; +import { PasswordHistoryView } from "../../vault/models/view/password-history.view"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/onepassword/onepassword-1pux-importer.ts b/libs/common/src/importers/onepassword/onepassword-1pux-importer.ts index 35027a1e90c..9e516e53e32 100644 --- a/libs/common/src/importers/onepassword/onepassword-1pux-importer.ts +++ b/libs/common/src/importers/onepassword/onepassword-1pux-importer.ts @@ -1,14 +1,14 @@ -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; import { FieldType } from "../../enums/fieldType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; -import { LoginView } from "../../models/view/login.view"; -import { PasswordHistoryView } from "../../models/view/password-history.view"; -import { SecureNoteView } from "../../models/view/secure-note.view"; +import { CipherRepromptType } from "../../vault/enums/cipher-reprompt-type"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; +import { LoginView } from "../../vault/models/view/login.view"; +import { PasswordHistoryView } from "../../vault/models/view/password-history.view"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/onepassword/onepassword-csv-importer.ts b/libs/common/src/importers/onepassword/onepassword-csv-importer.ts index 12433c135f4..31ba984db73 100644 --- a/libs/common/src/importers/onepassword/onepassword-csv-importer.ts +++ b/libs/common/src/importers/onepassword/onepassword-csv-importer.ts @@ -1,7 +1,7 @@ -import { CipherType } from "../../enums/cipherType"; import { FieldType } from "../../enums/fieldType"; import { ImportResult } from "../../models/domain/import-result"; -import { CipherView } from "../../models/view/cipher.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/onepassword/onepassword-mac-csv-importer.ts b/libs/common/src/importers/onepassword/onepassword-mac-csv-importer.ts index 522e6b0ef45..8a6388c374c 100644 --- a/libs/common/src/importers/onepassword/onepassword-mac-csv-importer.ts +++ b/libs/common/src/importers/onepassword/onepassword-mac-csv-importer.ts @@ -1,7 +1,7 @@ -import { CipherType } from "../../enums/cipherType"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; import { Importer } from "../importer"; import { IgnoredProperties, OnePasswordCsvImporter } from "./onepassword-csv-importer"; diff --git a/libs/common/src/importers/onepassword/onepassword-win-csv-importer.ts b/libs/common/src/importers/onepassword/onepassword-win-csv-importer.ts index 5f0bca1c8a2..b46d162aa9f 100644 --- a/libs/common/src/importers/onepassword/onepassword-win-csv-importer.ts +++ b/libs/common/src/importers/onepassword/onepassword-win-csv-importer.ts @@ -1,8 +1,8 @@ -import { CipherType } from "../../enums/cipherType"; -import { CardView } from "../../models/view/card.view"; -import { CipherView } from "../../models/view/cipher.view"; -import { IdentityView } from "../../models/view/identity.view"; -import { LoginView } from "../../models/view/login.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CardView } from "../../vault/models/view/card.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { IdentityView } from "../../vault/models/view/identity.view"; +import { LoginView } from "../../vault/models/view/login.view"; import { Importer } from "../importer"; import { CipherImportContext } from "./cipher-import-context"; diff --git a/libs/common/src/importers/passwordboss-json-importer.ts b/libs/common/src/importers/passwordboss-json-importer.ts index dc29edf117b..a9c25e21cfd 100644 --- a/libs/common/src/importers/passwordboss-json-importer.ts +++ b/libs/common/src/importers/passwordboss-json-importer.ts @@ -1,7 +1,7 @@ -import { CipherType } from "../enums/cipherType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; -import { FolderView } from "../models/view/folder.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; +import { FolderView } from "../vault/models/view/folder.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/psono/psono-json-importer.ts b/libs/common/src/importers/psono/psono-json-importer.ts index 0e173b131d2..517a3a5a5f5 100644 --- a/libs/common/src/importers/psono/psono-json-importer.ts +++ b/libs/common/src/importers/psono/psono-json-importer.ts @@ -1,9 +1,9 @@ -import { CipherType } from "../../enums/cipherType"; import { FieldType } from "../../enums/fieldType"; import { SecureNoteType } from "../../enums/secureNoteType"; import { ImportResult } from "../../models/domain/import-result"; -import { CipherView } from "../../models/view/cipher.view"; -import { SecureNoteView } from "../../models/view/secure-note.view"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; import { BaseImporter } from "../base-importer"; import { Importer } from "../importer"; diff --git a/libs/common/src/importers/remembear-csv-importer.ts b/libs/common/src/importers/remembear-csv-importer.ts index 3ddb3271407..7720fc79b80 100644 --- a/libs/common/src/importers/remembear-csv-importer.ts +++ b/libs/common/src/importers/remembear-csv-importer.ts @@ -1,6 +1,6 @@ -import { CipherType } from "../enums/cipherType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/safeincloud-xml-importer.ts b/libs/common/src/importers/safeincloud-xml-importer.ts index 5d81a001aaa..39a48df3480 100644 --- a/libs/common/src/importers/safeincloud-xml-importer.ts +++ b/libs/common/src/importers/safeincloud-xml-importer.ts @@ -1,11 +1,11 @@ -import { CipherType } from "../enums/cipherType"; import { FieldType } from "../enums/fieldType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; -import { FieldView } from "../models/view/field.view"; -import { FolderView } from "../models/view/folder.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { FieldView } from "../vault/models/view/field.view"; +import { FolderView } from "../vault/models/view/folder.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/splashid-csv-importer.ts b/libs/common/src/importers/splashid-csv-importer.ts index 0270d91d139..8708b56c34e 100644 --- a/libs/common/src/importers/splashid-csv-importer.ts +++ b/libs/common/src/importers/splashid-csv-importer.ts @@ -1,5 +1,5 @@ import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; +import { CipherView } from "../vault/models/view/cipher.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/truekey-csv-importer.ts b/libs/common/src/importers/truekey-csv-importer.ts index 8b65dbd5d9f..4b1bb4cbd44 100644 --- a/libs/common/src/importers/truekey-csv-importer.ts +++ b/libs/common/src/importers/truekey-csv-importer.ts @@ -1,8 +1,8 @@ -import { CipherType } from "../enums/cipherType"; import { SecureNoteType } from "../enums/secureNoteType"; import { ImportResult } from "../models/domain/import-result"; -import { CardView } from "../models/view/card.view"; -import { SecureNoteView } from "../models/view/secure-note.view"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CardView } from "../vault/models/view/card.view"; +import { SecureNoteView } from "../vault/models/view/secure-note.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/importers/zohovault-csv-importer.ts b/libs/common/src/importers/zohovault-csv-importer.ts index 2d4def098ac..3387016a677 100644 --- a/libs/common/src/importers/zohovault-csv-importer.ts +++ b/libs/common/src/importers/zohovault-csv-importer.ts @@ -1,5 +1,5 @@ import { ImportResult } from "../models/domain/import-result"; -import { CipherView } from "../models/view/cipher.view"; +import { CipherView } from "../vault/models/view/cipher.view"; import { BaseImporter } from "./base-importer"; import { Importer } from "./importer"; diff --git a/libs/common/src/misc/linkedFieldOption.decorator.ts b/libs/common/src/misc/linkedFieldOption.decorator.ts index 5296698a128..62755753a27 100644 --- a/libs/common/src/misc/linkedFieldOption.decorator.ts +++ b/libs/common/src/misc/linkedFieldOption.decorator.ts @@ -1,5 +1,5 @@ import { LinkedIdType } from "../enums/linkedIdType"; -import { ItemView } from "../models/view/item.view"; +import { ItemView } from "../vault/models/view/item.view"; export class LinkedMetadata { constructor(readonly propertyKey: string, private readonly _i18nKey?: string) {} diff --git a/libs/common/src/models/domain/account.ts b/libs/common/src/models/domain/account.ts index 4a65f35a8e7..038964498b8 100644 --- a/libs/common/src/models/domain/account.ts +++ b/libs/common/src/models/domain/account.ts @@ -5,17 +5,17 @@ import { KdfType } from "../../enums/kdfType"; import { UriMatchType } from "../../enums/uriMatchType"; import { Utils } from "../../misc/utils"; import { DeepJsonify } from "../../types/deep-jsonify"; -import { CipherData } from "../data/cipher.data"; +import { CipherData } from "../../vault/models/data/cipher.data"; +import { FolderData } from "../../vault/models/data/folder.data"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { CollectionData } from "../data/collection.data"; import { EncryptedOrganizationKeyData } from "../data/encrypted-organization-key.data"; import { EventData } from "../data/event.data"; -import { FolderData } from "../data/folder.data"; import { OrganizationData } from "../data/organization.data"; import { PolicyData } from "../data/policy.data"; import { ProviderData } from "../data/provider.data"; import { SendData } from "../data/send.data"; import { ServerConfigData } from "../data/server-config.data"; -import { CipherView } from "../view/cipher.view"; import { CollectionView } from "../view/collection.view"; import { SendView } from "../view/send.view"; diff --git a/libs/common/src/models/domain/import-result.ts b/libs/common/src/models/domain/import-result.ts index 6c67826306b..815801d09c1 100644 --- a/libs/common/src/models/domain/import-result.ts +++ b/libs/common/src/models/domain/import-result.ts @@ -1,6 +1,6 @@ -import { CipherView } from "../view/cipher.view"; +import { CipherView } from "../../vault/models/view/cipher.view"; +import { FolderView } from "../../vault/models/view/folder.view"; import { CollectionView } from "../view/collection.view"; -import { FolderView } from "../view/folder.view"; export class ImportResult { success = false; diff --git a/libs/common/src/models/export/card.export.ts b/libs/common/src/models/export/card.export.ts index edd730b7738..9818625e542 100644 --- a/libs/common/src/models/export/card.export.ts +++ b/libs/common/src/models/export/card.export.ts @@ -1,6 +1,6 @@ -import { Card as CardDomain } from "../domain/card"; +import { Card as CardDomain } from "../../vault/models/domain/card"; +import { CardView } from "../../vault/models/view/card.view"; import { EncString } from "../domain/enc-string"; -import { CardView } from "../view/card.view"; export class CardExport { static template(): CardExport { diff --git a/libs/common/src/models/export/cipher-with-ids.export.ts b/libs/common/src/models/export/cipher-with-ids.export.ts index 2ad601e9a6e..4e6e9e9630d 100644 --- a/libs/common/src/models/export/cipher-with-ids.export.ts +++ b/libs/common/src/models/export/cipher-with-ids.export.ts @@ -1,5 +1,5 @@ -import { Cipher as CipherDomain } from "../domain/cipher"; -import { CipherView } from "../view/cipher.view"; +import { Cipher as CipherDomain } from "../../vault/models/domain/cipher"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { CipherExport } from "./cipher.export"; diff --git a/libs/common/src/models/export/cipher.export.ts b/libs/common/src/models/export/cipher.export.ts index b4585cb4060..44b1cb4efff 100644 --- a/libs/common/src/models/export/cipher.export.ts +++ b/libs/common/src/models/export/cipher.export.ts @@ -1,8 +1,8 @@ -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; -import { Cipher as CipherDomain } from "../domain/cipher"; +import { CipherRepromptType } from "../../vault/enums/cipher-reprompt-type"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { Cipher as CipherDomain } from "../../vault/models/domain/cipher"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { EncString } from "../domain/enc-string"; -import { CipherView } from "../view/cipher.view"; import { CardExport } from "./card.export"; import { FieldExport } from "./field.export"; diff --git a/libs/common/src/models/export/field.export.ts b/libs/common/src/models/export/field.export.ts index 66c856d7bfc..3e63a91e2b1 100644 --- a/libs/common/src/models/export/field.export.ts +++ b/libs/common/src/models/export/field.export.ts @@ -1,8 +1,8 @@ import { FieldType } from "../../enums/fieldType"; import { LinkedIdType } from "../../enums/linkedIdType"; +import { Field as FieldDomain } from "../../vault/models/domain/field"; +import { FieldView } from "../../vault/models/view/field.view"; import { EncString } from "../domain/enc-string"; -import { Field as FieldDomain } from "../domain/field"; -import { FieldView } from "../view/field.view"; export class FieldExport { static template(): FieldExport { diff --git a/libs/common/src/models/export/folder-with-id.export.ts b/libs/common/src/models/export/folder-with-id.export.ts index 655fab077bb..c0f3c55c4b1 100644 --- a/libs/common/src/models/export/folder-with-id.export.ts +++ b/libs/common/src/models/export/folder-with-id.export.ts @@ -1,5 +1,5 @@ -import { Folder as FolderDomain } from "../domain/folder"; -import { FolderView } from "../view/folder.view"; +import { Folder as FolderDomain } from "../../vault/models/domain/folder"; +import { FolderView } from "../../vault/models/view/folder.view"; import { FolderExport } from "./folder.export"; diff --git a/libs/common/src/models/export/folder.export.ts b/libs/common/src/models/export/folder.export.ts index 839dcceaabc..94446d77858 100644 --- a/libs/common/src/models/export/folder.export.ts +++ b/libs/common/src/models/export/folder.export.ts @@ -1,6 +1,6 @@ +import { Folder as FolderDomain } from "../../vault/models/domain/folder"; +import { FolderView } from "../../vault/models/view/folder.view"; import { EncString } from "../domain/enc-string"; -import { Folder as FolderDomain } from "../domain/folder"; -import { FolderView } from "../view/folder.view"; export class FolderExport { static template(): FolderExport { diff --git a/libs/common/src/models/export/identity.export.ts b/libs/common/src/models/export/identity.export.ts index d4180d44a91..4a1b4056569 100644 --- a/libs/common/src/models/export/identity.export.ts +++ b/libs/common/src/models/export/identity.export.ts @@ -1,6 +1,6 @@ +import { Identity as IdentityDomain } from "../../vault/models/domain/identity"; +import { IdentityView } from "../../vault/models/view/identity.view"; import { EncString } from "../domain/enc-string"; -import { Identity as IdentityDomain } from "../domain/identity"; -import { IdentityView } from "../view/identity.view"; export class IdentityExport { static template(): IdentityExport { diff --git a/libs/common/src/models/export/login-uri.export.ts b/libs/common/src/models/export/login-uri.export.ts index ee0d883c984..03438cad14a 100644 --- a/libs/common/src/models/export/login-uri.export.ts +++ b/libs/common/src/models/export/login-uri.export.ts @@ -1,7 +1,7 @@ import { UriMatchType } from "../../enums/uriMatchType"; +import { LoginUri as LoginUriDomain } from "../../vault/models/domain/login-uri"; +import { LoginUriView } from "../../vault/models/view/login-uri.view"; import { EncString } from "../domain/enc-string"; -import { LoginUri as LoginUriDomain } from "../domain/login-uri"; -import { LoginUriView } from "../view/login-uri.view"; export class LoginUriExport { static template(): LoginUriExport { diff --git a/libs/common/src/models/export/login.export.ts b/libs/common/src/models/export/login.export.ts index 6a143fb99af..f33fccc0dbc 100644 --- a/libs/common/src/models/export/login.export.ts +++ b/libs/common/src/models/export/login.export.ts @@ -1,6 +1,6 @@ +import { Login as LoginDomain } from "../../vault/models/domain/login"; +import { LoginView } from "../../vault/models/view/login.view"; import { EncString } from "../domain/enc-string"; -import { Login as LoginDomain } from "../domain/login"; -import { LoginView } from "../view/login.view"; import { LoginUriExport } from "./login-uri.export"; diff --git a/libs/common/src/models/export/secure-note.export.ts b/libs/common/src/models/export/secure-note.export.ts index 7b7e987698d..254f020bf19 100644 --- a/libs/common/src/models/export/secure-note.export.ts +++ b/libs/common/src/models/export/secure-note.export.ts @@ -1,6 +1,6 @@ import { SecureNoteType } from "../../enums/secureNoteType"; -import { SecureNote as SecureNoteDomain } from "../domain/secure-note"; -import { SecureNoteView } from "../view/secure-note.view"; +import { SecureNote as SecureNoteDomain } from "../../vault/models/domain/secure-note"; +import { SecureNoteView } from "../../vault/models/view/secure-note.view"; export class SecureNoteExport { static template(): SecureNoteExport { diff --git a/libs/common/src/models/request/import-ciphers.request.ts b/libs/common/src/models/request/import-ciphers.request.ts index aa94239f232..065f1b28388 100644 --- a/libs/common/src/models/request/import-ciphers.request.ts +++ b/libs/common/src/models/request/import-ciphers.request.ts @@ -1,5 +1,6 @@ -import { CipherRequest } from "./cipher.request"; -import { FolderRequest } from "./folder.request"; +import { CipherRequest } from "../../vault/models/request/cipher.request"; +import { FolderRequest } from "../../vault/models/request/folder.request"; + import { KvpRequest } from "./kvp.request"; export class ImportCiphersRequest { diff --git a/libs/common/src/models/request/import-organization-ciphers.request.ts b/libs/common/src/models/request/import-organization-ciphers.request.ts index 17eda64dab1..d0f3e9398a3 100644 --- a/libs/common/src/models/request/import-organization-ciphers.request.ts +++ b/libs/common/src/models/request/import-organization-ciphers.request.ts @@ -1,4 +1,5 @@ -import { CipherRequest } from "./cipher.request"; +import { CipherRequest } from "../../vault/models/request/cipher.request"; + import { CollectionRequest } from "./collection.request"; import { KvpRequest } from "./kvp.request"; diff --git a/libs/common/src/models/request/update-key.request.ts b/libs/common/src/models/request/update-key.request.ts index c7faa8eb2e7..0679257a675 100644 --- a/libs/common/src/models/request/update-key.request.ts +++ b/libs/common/src/models/request/update-key.request.ts @@ -1,5 +1,6 @@ -import { CipherWithIdRequest } from "./cipher-with-id.request"; -import { FolderWithIdRequest } from "./folder-with-id.request"; +import { CipherWithIdRequest } from "../../vault/models/request/cipher-with-id.request"; +import { FolderWithIdRequest } from "../../vault/models/request/folder-with-id.request"; + import { SendWithIdRequest } from "./send-with-id.request"; export class UpdateKeyRequest { diff --git a/libs/common/src/models/response/emergency-access.response.ts b/libs/common/src/models/response/emergency-access.response.ts index 2259b4f0292..9051c878c8d 100644 --- a/libs/common/src/models/response/emergency-access.response.ts +++ b/libs/common/src/models/response/emergency-access.response.ts @@ -1,9 +1,9 @@ import { EmergencyAccessStatusType } from "../../enums/emergencyAccessStatusType"; import { EmergencyAccessType } from "../../enums/emergencyAccessType"; import { KdfType } from "../../enums/kdfType"; +import { CipherResponse } from "../../vault/models/response/cipher.response"; import { BaseResponse } from "./base.response"; -import { CipherResponse } from "./cipher.response"; export class EmergencyAccessGranteeDetailsResponse extends BaseResponse { id: string; diff --git a/libs/common/src/models/response/organization-export.response.ts b/libs/common/src/models/response/organization-export.response.ts index af1152dc2f9..5aa2f2de6ef 100644 --- a/libs/common/src/models/response/organization-export.response.ts +++ b/libs/common/src/models/response/organization-export.response.ts @@ -1,5 +1,6 @@ +import { CipherResponse } from "../../vault/models/response/cipher.response"; + import { BaseResponse } from "./base.response"; -import { CipherResponse } from "./cipher.response"; import { CollectionResponse } from "./collection.response"; export class OrganizationExportResponse extends BaseResponse { diff --git a/libs/common/src/services/api.service.ts b/libs/common/src/services/api.service.ts index 4412fcd75b9..3ee6ef585b9 100644 --- a/libs/common/src/services/api.service.ts +++ b/libs/common/src/services/api.service.ts @@ -7,16 +7,7 @@ import { DeviceType } from "../enums/deviceType"; import { OrganizationConnectionType } from "../enums/organizationConnectionType"; import { Utils } from "../misc/utils"; import { SetKeyConnectorKeyRequest } from "../models/request/account/set-key-connector-key.request"; -import { AttachmentRequest } from "../models/request/attachment.request"; import { BitPayInvoiceRequest } from "../models/request/bit-pay-invoice.request"; -import { CipherBulkDeleteRequest } from "../models/request/cipher-bulk-delete.request"; -import { CipherBulkMoveRequest } from "../models/request/cipher-bulk-move.request"; -import { CipherBulkShareRequest } from "../models/request/cipher-bulk-share.request"; -import { CipherCollectionsRequest } from "../models/request/cipher-collections.request"; -import { CipherCreateRequest } from "../models/request/cipher-create.request"; -import { CipherPartialRequest } from "../models/request/cipher-partial.request"; -import { CipherShareRequest } from "../models/request/cipher-share.request"; -import { CipherRequest } from "../models/request/cipher.request"; import { CollectionBulkDeleteRequest } from "../models/request/collection-bulk-delete.request"; import { CollectionRequest } from "../models/request/collection.request"; import { DeleteRecoverRequest } from "../models/request/delete-recover.request"; @@ -82,14 +73,11 @@ import { UpdateTwoFactorYubioOtpRequest } from "../models/request/update-two-fac import { VerifyDeleteRecoverRequest } from "../models/request/verify-delete-recover.request"; import { VerifyEmailRequest } from "../models/request/verify-email.request"; import { ApiKeyResponse } from "../models/response/api-key.response"; -import { AttachmentUploadDataResponse } from "../models/response/attachment-upload-data.response"; -import { AttachmentResponse } from "../models/response/attachment.response"; import { AuthRequestResponse } from "../models/response/auth-request.response"; import { RegisterResponse } from "../models/response/authentication/register.response"; import { BillingHistoryResponse } from "../models/response/billing-history.response"; import { BillingPaymentResponse } from "../models/response/billing-payment.response"; import { BreachAccountResponse } from "../models/response/breach-account.response"; -import { CipherResponse } from "../models/response/cipher.response"; import { CollectionAccessDetailsResponse, CollectionResponse, @@ -138,7 +126,6 @@ import { SendFileUploadDataResponse } from "../models/response/send-file-upload- import { SendResponse } from "../models/response/send.response"; import { SsoPreValidateResponse } from "../models/response/sso-pre-validate.response"; import { SubscriptionResponse } from "../models/response/subscription.response"; -import { SyncResponse } from "../models/response/sync.response"; import { TaxInfoResponse } from "../models/response/tax-info.response"; import { TaxRateResponse } from "../models/response/tax-rate.response"; import { TwoFactorAuthenticatorResponse } from "../models/response/two-factor-authenticator.response"; @@ -153,6 +140,19 @@ import { import { TwoFactorYubiKeyResponse } from "../models/response/two-factor-yubi-key.response"; import { UserKeyResponse } from "../models/response/user-key.response"; import { SendAccessView } from "../models/view/send-access.view"; +import { AttachmentRequest } from "../vault/models/request/attachment.request"; +import { CipherBulkDeleteRequest } from "../vault/models/request/cipher-bulk-delete.request"; +import { CipherBulkMoveRequest } from "../vault/models/request/cipher-bulk-move.request"; +import { CipherBulkShareRequest } from "../vault/models/request/cipher-bulk-share.request"; +import { CipherCollectionsRequest } from "../vault/models/request/cipher-collections.request"; +import { CipherCreateRequest } from "../vault/models/request/cipher-create.request"; +import { CipherPartialRequest } from "../vault/models/request/cipher-partial.request"; +import { CipherShareRequest } from "../vault/models/request/cipher-share.request"; +import { CipherRequest } from "../vault/models/request/cipher.request"; +import { AttachmentUploadDataResponse } from "../vault/models/response/attachment-upload-data.response"; +import { AttachmentResponse } from "../vault/models/response/attachment.response"; +import { CipherResponse } from "../vault/models/response/cipher.response"; +import { SyncResponse } from "../vault/models/response/sync.response"; /** * @deprecated The `ApiService` class is deprecated and calls should be extracted into individual diff --git a/libs/common/src/services/cryptography/get-class-initializer.ts b/libs/common/src/services/cryptography/get-class-initializer.ts index accdb1c4a4f..1bd710eb3df 100644 --- a/libs/common/src/services/cryptography/get-class-initializer.ts +++ b/libs/common/src/services/cryptography/get-class-initializer.ts @@ -1,8 +1,8 @@ import { Jsonify } from "type-fest"; import { InitializerMetadata } from "../../interfaces/initializer-metadata.interface"; -import { Cipher } from "../../models/domain/cipher"; -import { CipherView } from "../../models/view/cipher.view"; +import { Cipher } from "../../vault/models/domain/cipher"; +import { CipherView } from "../../vault/models/view/cipher.view"; import { InitializerKey } from "./initializer-key"; diff --git a/libs/common/src/services/event/event-collection.service.ts b/libs/common/src/services/event/event-collection.service.ts index 52285f8577f..be982286cf5 100644 --- a/libs/common/src/services/event/event-collection.service.ts +++ b/libs/common/src/services/event/event-collection.service.ts @@ -1,10 +1,10 @@ -import { CipherService } from "../../abstractions/cipher.service"; import { EventCollectionService as EventCollectionServiceAbstraction } from "../../abstractions/event/event-collection.service"; import { EventUploadService } from "../../abstractions/event/event-upload.service"; import { OrganizationService } from "../../abstractions/organization/organization.service.abstraction"; import { StateService } from "../../abstractions/state.service"; import { EventType } from "../../enums/eventType"; import { EventData } from "../../models/data/event.data"; +import { CipherService } from "../../vault/abstractions/cipher.service"; export class EventCollectionService implements EventCollectionServiceAbstraction { constructor( diff --git a/libs/common/src/services/export.service.ts b/libs/common/src/services/export.service.ts index b385440448d..fa40f18bccf 100644 --- a/libs/common/src/services/export.service.ts +++ b/libs/common/src/services/export.service.ts @@ -1,32 +1,32 @@ import * as papa from "papaparse"; import { ApiService } from "../abstractions/api.service"; -import { CipherService } from "../abstractions/cipher.service"; import { CryptoService } from "../abstractions/crypto.service"; import { CryptoFunctionService } from "../abstractions/cryptoFunction.service"; import { ExportFormat, ExportService as ExportServiceAbstraction, } from "../abstractions/export.service"; -import { FolderService } from "../abstractions/folder/folder.service.abstraction"; -import { CipherType } from "../enums/cipherType"; import { DEFAULT_PBKDF2_ITERATIONS, KdfType } from "../enums/kdfType"; import { Utils } from "../misc/utils"; -import { CipherData } from "../models/data/cipher.data"; import { CollectionData } from "../models/data/collection.data"; -import { Cipher } from "../models/domain/cipher"; import { Collection } from "../models/domain/collection"; -import { Folder } from "../models/domain/folder"; import { KdfConfig } from "../models/domain/kdf-config"; import { CipherWithIdExport as CipherExport } from "../models/export/cipher-with-ids.export"; import { CollectionWithIdExport as CollectionExport } from "../models/export/collection-with-id.export"; import { EventExport } from "../models/export/event.export"; import { FolderWithIdExport as FolderExport } from "../models/export/folder-with-id.export"; import { CollectionDetailsResponse } from "../models/response/collection.response"; -import { CipherView } from "../models/view/cipher.view"; import { CollectionView } from "../models/view/collection.view"; import { EventView } from "../models/view/event.view"; -import { FolderView } from "../models/view/folder.view"; +import { CipherService } from "../vault/abstractions/cipher.service"; +import { FolderService } from "../vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherData } from "../vault/models/data/cipher.data"; +import { Cipher } from "../vault/models/domain/cipher"; +import { Folder } from "../vault/models/domain/folder"; +import { CipherView } from "../vault/models/view/cipher.view"; +import { FolderView } from "../vault/models/view/folder.view"; export class ExportService implements ExportServiceAbstraction { constructor( diff --git a/libs/common/src/services/fileUpload.service.ts b/libs/common/src/services/fileUpload.service.ts index 7bc9ae4dc8e..f452ed2c0cc 100644 --- a/libs/common/src/services/fileUpload.service.ts +++ b/libs/common/src/services/fileUpload.service.ts @@ -4,8 +4,8 @@ import { LogService } from "../abstractions/log.service"; import { FileUploadType } from "../enums/fileUploadType"; import { EncArrayBuffer } from "../models/domain/enc-array-buffer"; import { EncString } from "../models/domain/enc-string"; -import { AttachmentUploadDataResponse } from "../models/response/attachment-upload-data.response"; import { SendFileUploadDataResponse } from "../models/response/send-file-upload-data.response"; +import { AttachmentUploadDataResponse } from "../vault/models/response/attachment-upload-data.response"; import { AzureFileUploadService } from "./azureFileUpload.service"; import { BitwardenFileUploadService } from "./bitwardenFileUpload.service"; diff --git a/libs/common/src/services/import/import.service.ts b/libs/common/src/services/import/import.service.ts index 1b2c7846ced..7afc86d48af 100644 --- a/libs/common/src/services/import/import.service.ts +++ b/libs/common/src/services/import/import.service.ts @@ -1,11 +1,8 @@ -import { CipherService } from "../../abstractions/cipher.service"; import { CollectionService } from "../../abstractions/collection.service"; import { CryptoService } from "../../abstractions/crypto.service"; -import { FolderService } from "../../abstractions/folder/folder.service.abstraction"; import { I18nService } from "../../abstractions/i18n.service"; import { ImportApiServiceAbstraction } from "../../abstractions/import/import-api.service.abstraction"; import { ImportService as ImportServiceAbstraction } from "../../abstractions/import/import.service.abstraction"; -import { CipherType } from "../../enums/cipherType"; import { featuredImportOptions, ImportOption, @@ -74,14 +71,17 @@ import { YotiCsvImporter } from "../../importers/yoti-csv-importer"; import { ZohoVaultCsvImporter } from "../../importers/zohovault-csv-importer"; import { Utils } from "../../misc/utils"; import { ImportResult } from "../../models/domain/import-result"; -import { CipherRequest } from "../../models/request/cipher.request"; import { CollectionRequest } from "../../models/request/collection.request"; -import { FolderRequest } from "../../models/request/folder.request"; import { ImportCiphersRequest } from "../../models/request/import-ciphers.request"; import { ImportOrganizationCiphersRequest } from "../../models/request/import-organization-ciphers.request"; import { KvpRequest } from "../../models/request/kvp.request"; import { ErrorResponse } from "../../models/response/error.response"; -import { CipherView } from "../../models/view/cipher.view"; +import { CipherService } from "../../vault/abstractions/cipher.service"; +import { FolderService } from "../../vault/abstractions/folder/folder.service.abstraction"; +import { CipherType } from "../../vault/enums/cipher-type"; +import { CipherRequest } from "../../vault/models/request/cipher.request"; +import { FolderRequest } from "../../vault/models/request/folder.request"; +import { CipherView } from "../../vault/models/view/cipher.view"; export class ImportService implements ImportServiceAbstraction { featuredImportOptions = featuredImportOptions as readonly ImportOption[]; diff --git a/libs/common/src/services/notifications.service.ts b/libs/common/src/services/notifications.service.ts index cd5188eba30..e066d75c071 100644 --- a/libs/common/src/services/notifications.service.ts +++ b/libs/common/src/services/notifications.service.ts @@ -8,7 +8,6 @@ import { EnvironmentService } from "../abstractions/environment.service"; import { LogService } from "../abstractions/log.service"; import { NotificationsService as NotificationsServiceAbstraction } from "../abstractions/notifications.service"; import { StateService } from "../abstractions/state.service"; -import { SyncService } from "../abstractions/sync/sync.service.abstraction"; import { AuthenticationStatus } from "../enums/authenticationStatus"; import { NotificationType } from "../enums/notificationType"; import { @@ -17,6 +16,7 @@ import { SyncFolderNotification, SyncSendNotification, } from "../models/response/notification.response"; +import { SyncService } from "../vault/abstractions/sync/sync.service.abstraction"; export class NotificationsService implements NotificationsServiceAbstraction { private signalrConnection: signalR.HubConnection; diff --git a/libs/common/src/services/organization/organization-api.service.ts b/libs/common/src/services/organization/organization-api.service.ts index 51337eb91e6..7e18b73b69b 100644 --- a/libs/common/src/services/organization/organization-api.service.ts +++ b/libs/common/src/services/organization/organization-api.service.ts @@ -1,6 +1,5 @@ import { ApiService } from "../../abstractions/api.service"; import { OrganizationApiServiceAbstraction } from "../../abstractions/organization/organization-api.service.abstraction"; -import { SyncService } from "../../abstractions/sync/sync.service.abstraction"; import { OrganizationApiKeyType } from "../../enums/organizationApiKeyType"; import { ImportDirectoryRequest } from "../../models/request/import-directory.request"; import { OrganizationApiKeyRequest } from "../../models/request/organization-api-key.request"; @@ -27,6 +26,7 @@ import { OrganizationResponse } from "../../models/response/organization.respons import { OrganizationSsoResponse } from "../../models/response/organization/organization-sso.response"; import { PaymentResponse } from "../../models/response/payment.response"; import { TaxInfoResponse } from "../../models/response/tax-info.response"; +import { SyncService } from "../../vault/abstractions/sync/sync.service.abstraction"; export class OrganizationApiService implements OrganizationApiServiceAbstraction { constructor(private apiService: ApiService, private syncService: SyncService) {} diff --git a/libs/common/src/services/search.service.ts b/libs/common/src/services/search.service.ts index 05f2423b17b..8d147ae1e9f 100644 --- a/libs/common/src/services/search.service.ts +++ b/libs/common/src/services/search.service.ts @@ -1,14 +1,14 @@ import * as lunr from "lunr"; -import { CipherService } from "../abstractions/cipher.service"; import { I18nService } from "../abstractions/i18n.service"; import { LogService } from "../abstractions/log.service"; import { SearchService as SearchServiceAbstraction } from "../abstractions/search.service"; -import { CipherType } from "../enums/cipherType"; import { FieldType } from "../enums/fieldType"; import { UriMatchType } from "../enums/uriMatchType"; -import { CipherView } from "../models/view/cipher.view"; import { SendView } from "../models/view/send.view"; +import { CipherService } from "../vault/abstractions/cipher.service"; +import { CipherType } from "../vault/enums/cipher-type"; +import { CipherView } from "../vault/models/view/cipher.view"; export class SearchService implements SearchServiceAbstraction { private static registeredPipeline = false; diff --git a/libs/common/src/services/state.service.ts b/libs/common/src/services/state.service.ts index 1637913afe6..331ae8e1747 100644 --- a/libs/common/src/services/state.service.ts +++ b/libs/common/src/services/state.service.ts @@ -15,12 +15,9 @@ import { ThemeType } from "../enums/themeType"; import { UriMatchType } from "../enums/uriMatchType"; import { StateFactory } from "../factories/stateFactory"; import { Utils } from "../misc/utils"; -import { CipherData } from "../models/data/cipher.data"; import { CollectionData } from "../models/data/collection.data"; import { EncryptedOrganizationKeyData } from "../models/data/encrypted-organization-key.data"; import { EventData } from "../models/data/event.data"; -import { FolderData } from "../models/data/folder.data"; -import { LocalData } from "../models/data/local.data"; import { OrganizationData } from "../models/data/organization.data"; import { PolicyData } from "../models/data/policy.data"; import { ProviderData } from "../models/data/provider.data"; @@ -42,9 +39,12 @@ import { State } from "../models/domain/state"; import { StorageOptions } from "../models/domain/storage-options"; import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key"; import { WindowState } from "../models/domain/window-state"; -import { CipherView } from "../models/view/cipher.view"; import { CollectionView } from "../models/view/collection.view"; import { SendView } from "../models/view/send.view"; +import { CipherData } from "../vault/models/data/cipher.data"; +import { FolderData } from "../vault/models/data/folder.data"; +import { LocalData } from "../vault/models/data/local.data"; +import { CipherView } from "../vault/models/view/cipher.view"; const keys = { state: "state", diff --git a/libs/common/src/services/stateMigration.service.ts b/libs/common/src/services/stateMigration.service.ts index 4d948c600af..b2281586e28 100644 --- a/libs/common/src/services/stateMigration.service.ts +++ b/libs/common/src/services/stateMigration.service.ts @@ -4,10 +4,8 @@ import { KdfType } from "../enums/kdfType"; import { StateVersion } from "../enums/stateVersion"; import { ThemeType } from "../enums/themeType"; import { StateFactory } from "../factories/stateFactory"; -import { CipherData } from "../models/data/cipher.data"; import { CollectionData } from "../models/data/collection.data"; import { EventData } from "../models/data/event.data"; -import { FolderData } from "../models/data/folder.data"; import { OrganizationData } from "../models/data/organization.data"; import { PolicyData } from "../models/data/policy.data"; import { ProviderData } from "../models/data/provider.data"; @@ -23,6 +21,8 @@ import { EnvironmentUrls } from "../models/domain/environment-urls"; import { GeneratedPasswordHistory } from "../models/domain/generated-password-history"; import { GlobalState } from "../models/domain/global-state"; import { StorageOptions } from "../models/domain/storage-options"; +import { CipherData } from "../vault/models/data/cipher.data"; +import { FolderData } from "../vault/models/data/folder.data"; import { TokenService } from "./token.service"; diff --git a/libs/common/src/services/vaultTimeout/vaultTimeout.service.ts b/libs/common/src/services/vaultTimeout/vaultTimeout.service.ts index 79521d686a4..bdeb8818de2 100644 --- a/libs/common/src/services/vaultTimeout/vaultTimeout.service.ts +++ b/libs/common/src/services/vaultTimeout/vaultTimeout.service.ts @@ -1,10 +1,8 @@ import { firstValueFrom } from "rxjs"; import { AuthService } from "../../abstractions/auth.service"; -import { CipherService } from "../../abstractions/cipher.service"; import { CollectionService } from "../../abstractions/collection.service"; import { CryptoService } from "../../abstractions/crypto.service"; -import { FolderService } from "../../abstractions/folder/folder.service.abstraction"; import { KeyConnectorService } from "../../abstractions/keyConnector.service"; import { MessagingService } from "../../abstractions/messaging.service"; import { PlatformUtilsService } from "../../abstractions/platformUtils.service"; @@ -13,6 +11,8 @@ import { StateService } from "../../abstractions/state.service"; import { VaultTimeoutService as VaultTimeoutServiceAbstraction } from "../../abstractions/vaultTimeout/vaultTimeout.service"; import { VaultTimeoutSettingsService } from "../../abstractions/vaultTimeout/vaultTimeoutSettings.service"; import { AuthenticationStatus } from "../../enums/authenticationStatus"; +import { CipherService } from "../../vault/abstractions/cipher.service"; +import { FolderService } from "../../vault/abstractions/folder/folder.service.abstraction"; export class VaultTimeoutService implements VaultTimeoutServiceAbstraction { private inited = false; diff --git a/libs/common/src/abstractions/cipher.service.ts b/libs/common/src/vault/abstractions/cipher.service.ts similarity index 94% rename from libs/common/src/abstractions/cipher.service.ts rename to libs/common/src/vault/abstractions/cipher.service.ts index 457bbcd962b..c4955f95d4c 100644 --- a/libs/common/src/abstractions/cipher.service.ts +++ b/libs/common/src/vault/abstractions/cipher.service.ts @@ -1,9 +1,9 @@ -import { CipherType } from "../enums/cipherType"; -import { UriMatchType } from "../enums/uriMatchType"; +import { UriMatchType } from "../../enums/uriMatchType"; +import { SymmetricCryptoKey } from "../../models/domain/symmetric-crypto-key"; +import { CipherType } from "../enums/cipher-type"; import { CipherData } from "../models/data/cipher.data"; import { Cipher } from "../models/domain/cipher"; import { Field } from "../models/domain/field"; -import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key"; import { CipherView } from "../models/view/cipher.view"; import { FieldView } from "../models/view/field.view"; diff --git a/libs/common/src/abstractions/folder/folder-api.service.abstraction.ts b/libs/common/src/vault/abstractions/folder/folder-api.service.abstraction.ts similarity index 100% rename from libs/common/src/abstractions/folder/folder-api.service.abstraction.ts rename to libs/common/src/vault/abstractions/folder/folder-api.service.abstraction.ts diff --git a/libs/common/src/abstractions/folder/folder.service.abstraction.ts b/libs/common/src/vault/abstractions/folder/folder.service.abstraction.ts similarity index 92% rename from libs/common/src/abstractions/folder/folder.service.abstraction.ts rename to libs/common/src/vault/abstractions/folder/folder.service.abstraction.ts index 90b6fc23323..96b9820dc71 100644 --- a/libs/common/src/abstractions/folder/folder.service.abstraction.ts +++ b/libs/common/src/vault/abstractions/folder/folder.service.abstraction.ts @@ -1,8 +1,8 @@ import { Observable } from "rxjs"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { FolderData } from "../../models/data/folder.data"; import { Folder } from "../../models/domain/folder"; -import { SymmetricCryptoKey } from "../../models/domain/symmetric-crypto-key"; import { FolderView } from "../../models/view/folder.view"; export abstract class FolderService { diff --git a/libs/common/src/abstractions/passwordReprompt.service.ts b/libs/common/src/vault/abstractions/password-reprompt.service.ts similarity index 100% rename from libs/common/src/abstractions/passwordReprompt.service.ts rename to libs/common/src/vault/abstractions/password-reprompt.service.ts diff --git a/libs/common/src/abstractions/sync/syncNotifier.service.abstraction.ts b/libs/common/src/vault/abstractions/sync/sync-notifier.service.abstraction.ts similarity index 72% rename from libs/common/src/abstractions/sync/syncNotifier.service.abstraction.ts rename to libs/common/src/vault/abstractions/sync/sync-notifier.service.abstraction.ts index 9a8261961e1..f519850aa66 100644 --- a/libs/common/src/abstractions/sync/syncNotifier.service.abstraction.ts +++ b/libs/common/src/vault/abstractions/sync/sync-notifier.service.abstraction.ts @@ -1,6 +1,6 @@ import { Observable } from "rxjs"; -import { SyncEventArgs } from "../../types/syncEventArgs"; +import { SyncEventArgs } from "../../types/sync-event-args"; export abstract class SyncNotifierService { sync$: Observable; diff --git a/libs/common/src/abstractions/sync/sync.service.abstraction.ts b/libs/common/src/vault/abstractions/sync/sync.service.abstraction.ts similarity index 93% rename from libs/common/src/abstractions/sync/sync.service.abstraction.ts rename to libs/common/src/vault/abstractions/sync/sync.service.abstraction.ts index 20ca01876c6..cfe73317555 100644 --- a/libs/common/src/abstractions/sync/sync.service.abstraction.ts +++ b/libs/common/src/vault/abstractions/sync/sync.service.abstraction.ts @@ -2,7 +2,7 @@ import { SyncCipherNotification, SyncFolderNotification, SyncSendNotification, -} from "../../models/response/notification.response"; +} from "../../../models/response/notification.response"; export abstract class SyncService { syncInProgress: boolean; diff --git a/libs/common/src/enums/cipherRepromptType.ts b/libs/common/src/vault/enums/cipher-reprompt-type.ts similarity index 100% rename from libs/common/src/enums/cipherRepromptType.ts rename to libs/common/src/vault/enums/cipher-reprompt-type.ts diff --git a/libs/common/src/enums/cipherType.ts b/libs/common/src/vault/enums/cipher-type.ts similarity index 100% rename from libs/common/src/enums/cipherType.ts rename to libs/common/src/vault/enums/cipher-type.ts diff --git a/libs/common/src/models/data/attachment.data.ts b/libs/common/src/vault/models/data/attachment.data.ts similarity index 100% rename from libs/common/src/models/data/attachment.data.ts rename to libs/common/src/vault/models/data/attachment.data.ts diff --git a/libs/common/src/models/data/card.data.ts b/libs/common/src/vault/models/data/card.data.ts similarity index 88% rename from libs/common/src/models/data/card.data.ts rename to libs/common/src/vault/models/data/card.data.ts index fe80003a8f5..c142266f6d5 100644 --- a/libs/common/src/models/data/card.data.ts +++ b/libs/common/src/vault/models/data/card.data.ts @@ -1,4 +1,4 @@ -import { CardApi } from "../api/card.api"; +import { CardApi } from "../../../models/api/card.api"; export class CardData { cardholderName: string; diff --git a/libs/common/src/models/data/cipher.data.ts b/libs/common/src/vault/models/data/cipher.data.ts similarity index 95% rename from libs/common/src/models/data/cipher.data.ts rename to libs/common/src/vault/models/data/cipher.data.ts index 4cc57559c2c..2f83ee194b4 100644 --- a/libs/common/src/models/data/cipher.data.ts +++ b/libs/common/src/vault/models/data/cipher.data.ts @@ -1,5 +1,5 @@ -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; +import { CipherType } from "../../enums/cipher-type"; import { CipherResponse } from "../response/cipher.response"; import { AttachmentData } from "./attachment.data"; diff --git a/libs/common/src/models/data/field.data.ts b/libs/common/src/vault/models/data/field.data.ts similarity index 65% rename from libs/common/src/models/data/field.data.ts rename to libs/common/src/vault/models/data/field.data.ts index 42e800cf6c8..37d46babef9 100644 --- a/libs/common/src/models/data/field.data.ts +++ b/libs/common/src/vault/models/data/field.data.ts @@ -1,6 +1,6 @@ -import { FieldType } from "../../enums/fieldType"; -import { LinkedIdType } from "../../enums/linkedIdType"; -import { FieldApi } from "../api/field.api"; +import { FieldType } from "../../../enums/fieldType"; +import { LinkedIdType } from "../../../enums/linkedIdType"; +import { FieldApi } from "../../../models/api/field.api"; export class FieldData { type: FieldType; diff --git a/libs/common/src/models/data/folder.data.ts b/libs/common/src/vault/models/data/folder.data.ts similarity index 100% rename from libs/common/src/models/data/folder.data.ts rename to libs/common/src/vault/models/data/folder.data.ts diff --git a/libs/common/src/models/data/identity.data.ts b/libs/common/src/vault/models/data/identity.data.ts similarity index 94% rename from libs/common/src/models/data/identity.data.ts rename to libs/common/src/vault/models/data/identity.data.ts index 620ec2ec433..9f71f9bc2bd 100644 --- a/libs/common/src/models/data/identity.data.ts +++ b/libs/common/src/vault/models/data/identity.data.ts @@ -1,4 +1,4 @@ -import { IdentityApi } from "../api/identity.api"; +import { IdentityApi } from "../../../models/api/identity.api"; export class IdentityData { title: string; diff --git a/libs/common/src/models/data/local.data.ts b/libs/common/src/vault/models/data/local.data.ts similarity index 100% rename from libs/common/src/models/data/local.data.ts rename to libs/common/src/vault/models/data/local.data.ts diff --git a/libs/common/src/models/data/login-uri.data.ts b/libs/common/src/vault/models/data/login-uri.data.ts similarity index 63% rename from libs/common/src/models/data/login-uri.data.ts rename to libs/common/src/vault/models/data/login-uri.data.ts index 25db2146fbf..4fd5a15140d 100644 --- a/libs/common/src/models/data/login-uri.data.ts +++ b/libs/common/src/vault/models/data/login-uri.data.ts @@ -1,5 +1,5 @@ -import { UriMatchType } from "../../enums/uriMatchType"; -import { LoginUriApi } from "../api/login-uri.api"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import { LoginUriApi } from "../../../models/api/login-uri.api"; export class LoginUriData { uri: string; diff --git a/libs/common/src/models/data/login.data.ts b/libs/common/src/vault/models/data/login.data.ts similarity index 91% rename from libs/common/src/models/data/login.data.ts rename to libs/common/src/vault/models/data/login.data.ts index a15b1f2ed63..585b46ac05b 100644 --- a/libs/common/src/models/data/login.data.ts +++ b/libs/common/src/vault/models/data/login.data.ts @@ -1,4 +1,4 @@ -import { LoginApi } from "../api/login.api"; +import { LoginApi } from "../../../models/api/login.api"; import { LoginUriData } from "./login-uri.data"; diff --git a/libs/common/src/models/data/password-history.data.ts b/libs/common/src/vault/models/data/password-history.data.ts similarity index 100% rename from libs/common/src/models/data/password-history.data.ts rename to libs/common/src/vault/models/data/password-history.data.ts diff --git a/libs/common/src/models/data/secure-note.data.ts b/libs/common/src/vault/models/data/secure-note.data.ts similarity index 56% rename from libs/common/src/models/data/secure-note.data.ts rename to libs/common/src/vault/models/data/secure-note.data.ts index c09f5847055..cc849db6c8b 100644 --- a/libs/common/src/models/data/secure-note.data.ts +++ b/libs/common/src/vault/models/data/secure-note.data.ts @@ -1,5 +1,5 @@ -import { SecureNoteType } from "../../enums/secureNoteType"; -import { SecureNoteApi } from "../api/secure-note.api"; +import { SecureNoteType } from "../../../enums/secureNoteType"; +import { SecureNoteApi } from "../../../models/api/secure-note.api"; export class SecureNoteData { type: SecureNoteType; diff --git a/libs/common/spec/models/domain/attachment.spec.ts b/libs/common/src/vault/models/domain/attachment.spec.ts similarity index 87% rename from libs/common/spec/models/domain/attachment.spec.ts rename to libs/common/src/vault/models/domain/attachment.spec.ts index 50e5ee7cae0..e061569f024 100644 --- a/libs/common/spec/models/domain/attachment.spec.ts +++ b/libs/common/src/vault/models/domain/attachment.spec.ts @@ -1,14 +1,13 @@ import { mock, MockProxy } from "jest-mock-extended"; -import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { EncryptService } from "@bitwarden/common/abstractions/encrypt.service"; -import { AttachmentData } from "@bitwarden/common/models/data/attachment.data"; -import { Attachment } from "@bitwarden/common/models/domain/attachment"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; -import { ContainerService } from "@bitwarden/common/services/container.service"; - -import { makeStaticByteArray, mockEnc, mockFromJson } from "../../utils"; +import { makeStaticByteArray, mockEnc, mockFromJson } from "../../../../spec/utils"; +import { CryptoService } from "../../../abstractions/crypto.service"; +import { EncryptService } from "../../../abstractions/encrypt.service"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; +import { ContainerService } from "../../../services/container.service"; +import { AttachmentData } from "../../models/data/attachment.data"; +import { Attachment } from "../../models/domain/attachment"; describe("Attachment", () => { let data: AttachmentData; diff --git a/libs/common/src/models/domain/attachment.ts b/libs/common/src/vault/models/domain/attachment.ts similarity index 90% rename from libs/common/src/models/domain/attachment.ts rename to libs/common/src/vault/models/domain/attachment.ts index a3fc69f55db..99d3d631fed 100644 --- a/libs/common/src/models/domain/attachment.ts +++ b/libs/common/src/vault/models/domain/attachment.ts @@ -1,13 +1,12 @@ import { Jsonify } from "type-fest"; -import { Utils } from "../../misc/utils"; +import { Utils } from "../../../misc/utils"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { AttachmentData } from "../data/attachment.data"; import { AttachmentView } from "../view/attachment.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class Attachment extends Domain { id: string; url: string; diff --git a/libs/common/spec/models/domain/card.spec.ts b/libs/common/src/vault/models/domain/card.spec.ts similarity index 90% rename from libs/common/spec/models/domain/card.spec.ts rename to libs/common/src/vault/models/domain/card.spec.ts index 8a734e36d91..a1556fefc51 100644 --- a/libs/common/spec/models/domain/card.spec.ts +++ b/libs/common/src/vault/models/domain/card.spec.ts @@ -1,8 +1,7 @@ -import { CardData } from "@bitwarden/common/models/data/card.data"; -import { Card } from "@bitwarden/common/models/domain/card"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { EncString } from "../../../models/domain/enc-string"; +import { CardData } from "../../../vault/models/data/card.data"; +import { Card } from "../../models/domain/card"; describe("Card", () => { let data: CardData; diff --git a/libs/common/src/models/domain/card.ts b/libs/common/src/vault/models/domain/card.ts similarity index 89% rename from libs/common/src/models/domain/card.ts rename to libs/common/src/vault/models/domain/card.ts index 4b8ca113095..ba8a53dbaf2 100644 --- a/libs/common/src/models/domain/card.ts +++ b/libs/common/src/vault/models/domain/card.ts @@ -1,12 +1,11 @@ import { Jsonify } from "type-fest"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { CardData } from "../data/card.data"; import { CardView } from "../view/card.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class Card extends Domain { cardholderName: EncString; brand: EncString; diff --git a/libs/common/spec/models/domain/cipher.spec.ts b/libs/common/src/vault/models/domain/cipher.spec.ts similarity index 94% rename from libs/common/spec/models/domain/cipher.spec.ts rename to libs/common/src/vault/models/domain/cipher.spec.ts index cd49ea5484b..440097c87c2 100644 --- a/libs/common/spec/models/domain/cipher.spec.ts +++ b/libs/common/src/vault/models/domain/cipher.spec.ts @@ -2,27 +2,26 @@ import { Substitute, Arg } from "@fluffy-spoon/substitute"; import { Jsonify } from "type-fest"; -import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { FieldType } from "@bitwarden/common/enums/fieldType"; -import { SecureNoteType } from "@bitwarden/common/enums/secureNoteType"; -import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; -import { CipherData } from "@bitwarden/common/models/data/cipher.data"; -import { Attachment } from "@bitwarden/common/models/domain/attachment"; -import { Card } from "@bitwarden/common/models/domain/card"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Field } from "@bitwarden/common/models/domain/field"; -import { Identity } from "@bitwarden/common/models/domain/identity"; -import { Login } from "@bitwarden/common/models/domain/login"; -import { Password } from "@bitwarden/common/models/domain/password"; -import { SecureNote } from "@bitwarden/common/models/domain/secure-note"; -import { CardView } from "@bitwarden/common/models/view/card.view"; -import { IdentityView } from "@bitwarden/common/models/view/identity.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; -import { InitializerKey } from "@bitwarden/common/services/cryptography/initializer-key"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { FieldType } from "../../../enums/fieldType"; +import { SecureNoteType } from "../../../enums/secureNoteType"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import { EncString } from "../../../models/domain/enc-string"; +import { InitializerKey } from "../../../services/cryptography/initializer-key"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; +import { CipherType } from "../../enums/cipher-type"; +import { CipherData } from "../../models/data/cipher.data"; +import { Attachment } from "../../models/domain/attachment"; +import { Card } from "../../models/domain/card"; +import { Cipher } from "../../models/domain/cipher"; +import { Field } from "../../models/domain/field"; +import { Identity } from "../../models/domain/identity"; +import { Login } from "../../models/domain/login"; +import { Password } from "../../models/domain/password"; +import { SecureNote } from "../../models/domain/secure-note"; +import { CardView } from "../../models/view/card.view"; +import { IdentityView } from "../../models/view/identity.view"; +import { LoginView } from "../../models/view/login.view"; describe("Cipher DTO", () => { it("Convert from empty CipherData", () => { diff --git a/libs/common/src/models/domain/cipher.ts b/libs/common/src/vault/models/domain/cipher.ts similarity index 94% rename from libs/common/src/models/domain/cipher.ts rename to libs/common/src/vault/models/domain/cipher.ts index 7b4a4d4b1fd..55ef16914c4 100644 --- a/libs/common/src/models/domain/cipher.ts +++ b/libs/common/src/vault/models/domain/cipher.ts @@ -1,23 +1,23 @@ import { Jsonify } from "type-fest"; -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; -import { Decryptable } from "../../interfaces/decryptable.interface"; -import { InitializerKey } from "../../services/cryptography/initializer-key"; +import { Decryptable } from "../../../interfaces/decryptable.interface"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; +import { InitializerKey } from "../../../services/cryptography/initializer-key"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; +import { CipherType } from "../../enums/cipher-type"; import { CipherData } from "../data/cipher.data"; import { LocalData } from "../data/local.data"; import { CipherView } from "../view/cipher.view"; import { Attachment } from "./attachment"; import { Card } from "./card"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; import { Field } from "./field"; import { Identity } from "./identity"; import { Login } from "./login"; import { Password } from "./password"; import { SecureNote } from "./secure-note"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; export class Cipher extends Domain implements Decryptable { readonly initializerKey = InitializerKey.Cipher; diff --git a/libs/common/spec/models/domain/field.spec.ts b/libs/common/src/vault/models/domain/field.spec.ts similarity index 84% rename from libs/common/spec/models/domain/field.spec.ts rename to libs/common/src/vault/models/domain/field.spec.ts index 42f0addaf48..7fe219ec5f2 100644 --- a/libs/common/spec/models/domain/field.spec.ts +++ b/libs/common/src/vault/models/domain/field.spec.ts @@ -1,9 +1,8 @@ -import { FieldType } from "@bitwarden/common/enums/fieldType"; -import { FieldData } from "@bitwarden/common/models/data/field.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Field } from "@bitwarden/common/models/domain/field"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { FieldType } from "../../../enums/fieldType"; +import { EncString } from "../../../models/domain/enc-string"; +import { FieldData } from "../../models/data/field.data"; +import { Field } from "../../models/domain/field"; describe("Field", () => { let data: FieldData; diff --git a/libs/common/src/models/domain/field.ts b/libs/common/src/vault/models/domain/field.ts similarity index 80% rename from libs/common/src/models/domain/field.ts rename to libs/common/src/vault/models/domain/field.ts index ed098f53ea8..29d8b627909 100644 --- a/libs/common/src/models/domain/field.ts +++ b/libs/common/src/vault/models/domain/field.ts @@ -1,14 +1,13 @@ import { Jsonify } from "type-fest"; -import { FieldType } from "../../enums/fieldType"; -import { LinkedIdType } from "../../enums/linkedIdType"; +import { FieldType } from "../../../enums/fieldType"; +import { LinkedIdType } from "../../../enums/linkedIdType"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { FieldData } from "../data/field.data"; import { FieldView } from "../view/field.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class Field extends Domain { name: EncString; value: EncString; diff --git a/libs/common/spec/models/domain/folder.spec.ts b/libs/common/src/vault/models/domain/folder.spec.ts similarity index 80% rename from libs/common/spec/models/domain/folder.spec.ts rename to libs/common/src/vault/models/domain/folder.spec.ts index 9a95a51f613..cc08518a90a 100644 --- a/libs/common/spec/models/domain/folder.spec.ts +++ b/libs/common/src/vault/models/domain/folder.spec.ts @@ -1,8 +1,7 @@ -import { FolderData } from "@bitwarden/common/models/data/folder.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Folder } from "@bitwarden/common/models/domain/folder"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { EncString } from "../../../models/domain/enc-string"; +import { FolderData } from "../../models/data/folder.data"; +import { Folder } from "../../models/domain/folder"; describe("Folder", () => { let data: FolderData; @@ -41,7 +40,7 @@ describe("Folder", () => { }); describe("fromJSON", () => { - jest.mock("@bitwarden/common/models/domain/enc-string"); + jest.mock("../../../models/domain/enc-string"); jest.spyOn(EncString, "fromJSON").mockImplementation(mockFromJson); it("initializes nested objects", () => { diff --git a/libs/common/src/models/domain/folder.ts b/libs/common/src/vault/models/domain/folder.ts similarity index 88% rename from libs/common/src/models/domain/folder.ts rename to libs/common/src/vault/models/domain/folder.ts index c01928e00cb..160d119e863 100644 --- a/libs/common/src/models/domain/folder.ts +++ b/libs/common/src/vault/models/domain/folder.ts @@ -1,11 +1,10 @@ import { Jsonify } from "type-fest"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; import { FolderData } from "../data/folder.data"; import { FolderView } from "../view/folder.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; - export class Folder extends Domain { id: string; name: EncString; diff --git a/libs/common/spec/models/domain/identity.spec.ts b/libs/common/src/vault/models/domain/identity.spec.ts similarity index 95% rename from libs/common/spec/models/domain/identity.spec.ts rename to libs/common/src/vault/models/domain/identity.spec.ts index 649da6aa885..8b53ec016ff 100644 --- a/libs/common/spec/models/domain/identity.spec.ts +++ b/libs/common/src/vault/models/domain/identity.spec.ts @@ -1,8 +1,7 @@ -import { IdentityData } from "@bitwarden/common/models/data/identity.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Identity } from "@bitwarden/common/models/domain/identity"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { EncString } from "../../../models/domain/enc-string"; +import { IdentityData } from "../../models/data/identity.data"; +import { Identity } from "../../models/domain/identity"; describe("Identity", () => { let data: IdentityData; diff --git a/libs/common/src/models/domain/identity.ts b/libs/common/src/vault/models/domain/identity.ts similarity index 94% rename from libs/common/src/models/domain/identity.ts rename to libs/common/src/vault/models/domain/identity.ts index 5888e59c4fa..6a5fab7e341 100644 --- a/libs/common/src/models/domain/identity.ts +++ b/libs/common/src/vault/models/domain/identity.ts @@ -1,12 +1,11 @@ import { Jsonify } from "type-fest"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { IdentityData } from "../data/identity.data"; import { IdentityView } from "../view/identity.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class Identity extends Domain { title: EncString; firstName: EncString; diff --git a/libs/common/spec/models/domain/loginUri.spec.ts b/libs/common/src/vault/models/domain/login-uri.spec.ts similarity index 82% rename from libs/common/spec/models/domain/loginUri.spec.ts rename to libs/common/src/vault/models/domain/login-uri.spec.ts index 1a9f13c893a..1c990eca668 100644 --- a/libs/common/spec/models/domain/loginUri.spec.ts +++ b/libs/common/src/vault/models/domain/login-uri.spec.ts @@ -1,11 +1,11 @@ import { Jsonify } from "type-fest"; -import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; -import { LoginUriData } from "@bitwarden/common/models/data/login-uri.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { LoginUri } from "@bitwarden/common/models/domain/login-uri"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import { EncString } from "../../../models/domain/enc-string"; +import { LoginUriData } from "../data/login-uri.data"; -import { mockEnc, mockFromJson } from "../../utils"; +import { LoginUri } from "./login-uri"; describe("LoginUri", () => { let data: LoginUriData; diff --git a/libs/common/src/models/domain/login-uri.ts b/libs/common/src/vault/models/domain/login-uri.ts similarity index 80% rename from libs/common/src/models/domain/login-uri.ts rename to libs/common/src/vault/models/domain/login-uri.ts index ac5317687df..4a411d39dcb 100644 --- a/libs/common/src/models/domain/login-uri.ts +++ b/libs/common/src/vault/models/domain/login-uri.ts @@ -1,13 +1,12 @@ import { Jsonify } from "type-fest"; -import { UriMatchType } from "../../enums/uriMatchType"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { LoginUriData } from "../data/login-uri.data"; import { LoginUriView } from "../view/login-uri.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class LoginUri extends Domain { uri: EncString; match: UriMatchType; diff --git a/libs/common/spec/models/domain/login.spec.ts b/libs/common/src/vault/models/domain/login.spec.ts similarity index 88% rename from libs/common/spec/models/domain/login.spec.ts rename to libs/common/src/vault/models/domain/login.spec.ts index 1e5950a9478..1cc0981853a 100644 --- a/libs/common/spec/models/domain/login.spec.ts +++ b/libs/common/src/vault/models/domain/login.spec.ts @@ -1,14 +1,13 @@ // eslint-disable-next-line no-restricted-imports import { Substitute, Arg } from "@fluffy-spoon/substitute"; -import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; -import { LoginData } from "@bitwarden/common/models/data/login.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Login } from "@bitwarden/common/models/domain/login"; -import { LoginUri } from "@bitwarden/common/models/domain/login-uri"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import { EncString } from "../../../models/domain/enc-string"; +import { LoginData } from "../../models/data/login.data"; +import { Login } from "../../models/domain/login"; +import { LoginUri } from "../../models/domain/login-uri"; +import { LoginUriView } from "../../models/view/login-uri.view"; describe("Login DTO", () => { it("Convert from empty LoginData", () => { diff --git a/libs/common/src/models/domain/login.ts b/libs/common/src/vault/models/domain/login.ts similarity index 92% rename from libs/common/src/models/domain/login.ts rename to libs/common/src/vault/models/domain/login.ts index 2ce11c850bc..763fba212f0 100644 --- a/libs/common/src/models/domain/login.ts +++ b/libs/common/src/vault/models/domain/login.ts @@ -1,12 +1,12 @@ import { Jsonify } from "type-fest"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { LoginData } from "../data/login.data"; import { LoginView } from "../view/login.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; import { LoginUri } from "./login-uri"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; export class Login extends Domain { uris: LoginUri[]; diff --git a/libs/common/spec/models/domain/password.spec.ts b/libs/common/src/vault/models/domain/password.spec.ts similarity index 86% rename from libs/common/spec/models/domain/password.spec.ts rename to libs/common/src/vault/models/domain/password.spec.ts index 065bda4ad88..6128e37f284 100644 --- a/libs/common/spec/models/domain/password.spec.ts +++ b/libs/common/src/vault/models/domain/password.spec.ts @@ -1,8 +1,7 @@ -import { PasswordHistoryData } from "@bitwarden/common/models/data/password-history.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { Password } from "@bitwarden/common/models/domain/password"; - -import { mockEnc, mockFromJson } from "../../utils"; +import { mockEnc, mockFromJson } from "../../../../spec/utils"; +import { EncString } from "../../../models/domain/enc-string"; +import { PasswordHistoryData } from "../../models/data/password-history.data"; +import { Password } from "../../models/domain/password"; describe("Password", () => { let data: PasswordHistoryData; diff --git a/libs/common/src/models/domain/password.ts b/libs/common/src/vault/models/domain/password.ts similarity index 86% rename from libs/common/src/models/domain/password.ts rename to libs/common/src/vault/models/domain/password.ts index 4a1ffbd151e..95b76e284f7 100644 --- a/libs/common/src/models/domain/password.ts +++ b/libs/common/src/vault/models/domain/password.ts @@ -1,12 +1,11 @@ import { Jsonify } from "type-fest"; +import Domain from "../../../models/domain/domain-base"; +import { EncString } from "../../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { PasswordHistoryData } from "../data/password-history.data"; import { PasswordHistoryView } from "../view/password-history.view"; -import Domain from "./domain-base"; -import { EncString } from "./enc-string"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class Password extends Domain { password: EncString; lastUsedDate: Date; diff --git a/libs/common/spec/models/domain/secureNote.spec.ts b/libs/common/src/vault/models/domain/secure-note.spec.ts similarity index 81% rename from libs/common/spec/models/domain/secureNote.spec.ts rename to libs/common/src/vault/models/domain/secure-note.spec.ts index 52f1e5ddcd9..b78ad4120a7 100644 --- a/libs/common/spec/models/domain/secureNote.spec.ts +++ b/libs/common/src/vault/models/domain/secure-note.spec.ts @@ -1,6 +1,7 @@ -import { SecureNoteType } from "@bitwarden/common/enums/secureNoteType"; -import { SecureNoteData } from "@bitwarden/common/models/data/secure-note.data"; -import { SecureNote } from "@bitwarden/common/models/domain/secure-note"; +import { SecureNoteType } from "../../../enums/secureNoteType"; +import { SecureNoteData } from "../data/secure-note.data"; + +import { SecureNote } from "./secure-note"; describe("SecureNote", () => { let data: SecureNoteData; diff --git a/libs/common/src/models/domain/secure-note.ts b/libs/common/src/vault/models/domain/secure-note.ts similarity index 79% rename from libs/common/src/models/domain/secure-note.ts rename to libs/common/src/vault/models/domain/secure-note.ts index b880677ce80..097635b9aa8 100644 --- a/libs/common/src/models/domain/secure-note.ts +++ b/libs/common/src/vault/models/domain/secure-note.ts @@ -1,12 +1,11 @@ import { Jsonify } from "type-fest"; -import { SecureNoteType } from "../../enums/secureNoteType"; +import { SecureNoteType } from "../../../enums/secureNoteType"; +import Domain from "../../../models/domain/domain-base"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; import { SecureNoteData } from "../data/secure-note.data"; import { SecureNoteView } from "../view/secure-note.view"; -import Domain from "./domain-base"; -import { SymmetricCryptoKey } from "./symmetric-crypto-key"; - export class SecureNote extends Domain { type: SecureNoteType; diff --git a/libs/common/src/models/domain/sorted-ciphers-cache.ts b/libs/common/src/vault/models/domain/sorted-ciphers-cache.ts similarity index 100% rename from libs/common/src/models/domain/sorted-ciphers-cache.ts rename to libs/common/src/vault/models/domain/sorted-ciphers-cache.ts diff --git a/libs/common/src/models/request/attachment.request.ts b/libs/common/src/vault/models/request/attachment.request.ts similarity index 100% rename from libs/common/src/models/request/attachment.request.ts rename to libs/common/src/vault/models/request/attachment.request.ts diff --git a/libs/common/src/models/request/cipher-bulk-delete.request.ts b/libs/common/src/vault/models/request/cipher-bulk-delete.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-bulk-delete.request.ts rename to libs/common/src/vault/models/request/cipher-bulk-delete.request.ts diff --git a/libs/common/src/models/request/cipher-bulk-move.request.ts b/libs/common/src/vault/models/request/cipher-bulk-move.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-bulk-move.request.ts rename to libs/common/src/vault/models/request/cipher-bulk-move.request.ts diff --git a/libs/common/src/models/request/cipher-bulk-restore.request.ts b/libs/common/src/vault/models/request/cipher-bulk-restore.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-bulk-restore.request.ts rename to libs/common/src/vault/models/request/cipher-bulk-restore.request.ts diff --git a/libs/common/src/models/request/cipher-bulk-share.request.ts b/libs/common/src/vault/models/request/cipher-bulk-share.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-bulk-share.request.ts rename to libs/common/src/vault/models/request/cipher-bulk-share.request.ts diff --git a/libs/common/src/models/request/cipher-collections.request.ts b/libs/common/src/vault/models/request/cipher-collections.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-collections.request.ts rename to libs/common/src/vault/models/request/cipher-collections.request.ts diff --git a/libs/common/src/models/request/cipher-create.request.ts b/libs/common/src/vault/models/request/cipher-create.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-create.request.ts rename to libs/common/src/vault/models/request/cipher-create.request.ts diff --git a/libs/common/src/models/request/cipher-partial.request.ts b/libs/common/src/vault/models/request/cipher-partial.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-partial.request.ts rename to libs/common/src/vault/models/request/cipher-partial.request.ts diff --git a/libs/common/src/models/request/cipher-share.request.ts b/libs/common/src/vault/models/request/cipher-share.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-share.request.ts rename to libs/common/src/vault/models/request/cipher-share.request.ts diff --git a/libs/common/src/models/request/cipher-with-id.request.ts b/libs/common/src/vault/models/request/cipher-with-id.request.ts similarity index 100% rename from libs/common/src/models/request/cipher-with-id.request.ts rename to libs/common/src/vault/models/request/cipher-with-id.request.ts diff --git a/libs/common/src/models/request/cipher.request.ts b/libs/common/src/vault/models/request/cipher.request.ts similarity index 93% rename from libs/common/src/models/request/cipher.request.ts rename to libs/common/src/vault/models/request/cipher.request.ts index b7717d9729c..cae48fb7af9 100644 --- a/libs/common/src/models/request/cipher.request.ts +++ b/libs/common/src/vault/models/request/cipher.request.ts @@ -1,11 +1,11 @@ -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; -import { CardApi } from "../api/card.api"; -import { FieldApi } from "../api/field.api"; -import { IdentityApi } from "../api/identity.api"; -import { LoginUriApi } from "../api/login-uri.api"; -import { LoginApi } from "../api/login.api"; -import { SecureNoteApi } from "../api/secure-note.api"; +import { CardApi } from "../../../models/api/card.api"; +import { FieldApi } from "../../../models/api/field.api"; +import { IdentityApi } from "../../../models/api/identity.api"; +import { LoginUriApi } from "../../../models/api/login-uri.api"; +import { LoginApi } from "../../../models/api/login.api"; +import { SecureNoteApi } from "../../../models/api/secure-note.api"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; +import { CipherType } from "../../enums/cipher-type"; import { Cipher } from "../domain/cipher"; import { AttachmentRequest } from "./attachment.request"; diff --git a/libs/common/src/models/request/folder-with-id.request.ts b/libs/common/src/vault/models/request/folder-with-id.request.ts similarity index 100% rename from libs/common/src/models/request/folder-with-id.request.ts rename to libs/common/src/vault/models/request/folder-with-id.request.ts diff --git a/libs/common/src/models/request/folder.request.ts b/libs/common/src/vault/models/request/folder.request.ts similarity index 100% rename from libs/common/src/models/request/folder.request.ts rename to libs/common/src/vault/models/request/folder.request.ts diff --git a/libs/common/src/models/request/password-history.request.ts b/libs/common/src/vault/models/request/password-history.request.ts similarity index 100% rename from libs/common/src/models/request/password-history.request.ts rename to libs/common/src/vault/models/request/password-history.request.ts diff --git a/libs/common/src/models/response/attachment-upload-data.response.ts b/libs/common/src/vault/models/response/attachment-upload-data.response.ts similarity index 86% rename from libs/common/src/models/response/attachment-upload-data.response.ts rename to libs/common/src/vault/models/response/attachment-upload-data.response.ts index 120aec6bb11..f2fbd02fc69 100644 --- a/libs/common/src/models/response/attachment-upload-data.response.ts +++ b/libs/common/src/vault/models/response/attachment-upload-data.response.ts @@ -1,6 +1,6 @@ -import { FileUploadType } from "../../enums/fileUploadType"; +import { FileUploadType } from "../../../enums/fileUploadType"; +import { BaseResponse } from "../../../models/response/base.response"; -import { BaseResponse } from "./base.response"; import { CipherResponse } from "./cipher.response"; export class AttachmentUploadDataResponse extends BaseResponse { diff --git a/libs/common/src/models/response/attachment.response.ts b/libs/common/src/vault/models/response/attachment.response.ts similarity index 88% rename from libs/common/src/models/response/attachment.response.ts rename to libs/common/src/vault/models/response/attachment.response.ts index 32e4b6bfb82..c7c851c1c89 100644 --- a/libs/common/src/models/response/attachment.response.ts +++ b/libs/common/src/vault/models/response/attachment.response.ts @@ -1,4 +1,4 @@ -import { BaseResponse } from "./base.response"; +import { BaseResponse } from "../../../models/response/base.response"; export class AttachmentResponse extends BaseResponse { id: string; diff --git a/libs/common/src/models/response/cipher.response.ts b/libs/common/src/vault/models/response/cipher.response.ts similarity index 86% rename from libs/common/src/models/response/cipher.response.ts rename to libs/common/src/vault/models/response/cipher.response.ts index 2c95c6a3852..71e43373775 100644 --- a/libs/common/src/models/response/cipher.response.ts +++ b/libs/common/src/vault/models/response/cipher.response.ts @@ -1,12 +1,12 @@ -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CardApi } from "../api/card.api"; -import { FieldApi } from "../api/field.api"; -import { IdentityApi } from "../api/identity.api"; -import { LoginApi } from "../api/login.api"; -import { SecureNoteApi } from "../api/secure-note.api"; +import { CardApi } from "../../../models/api/card.api"; +import { FieldApi } from "../../../models/api/field.api"; +import { IdentityApi } from "../../../models/api/identity.api"; +import { LoginApi } from "../../../models/api/login.api"; +import { SecureNoteApi } from "../../../models/api/secure-note.api"; +import { BaseResponse } from "../../../models/response/base.response"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; import { AttachmentResponse } from "./attachment.response"; -import { BaseResponse } from "./base.response"; import { PasswordHistoryResponse } from "./password-history.response"; export class CipherResponse extends BaseResponse { diff --git a/libs/common/src/models/response/folder.response.ts b/libs/common/src/vault/models/response/folder.response.ts similarity index 82% rename from libs/common/src/models/response/folder.response.ts rename to libs/common/src/vault/models/response/folder.response.ts index 4eeeddb9a9d..1f6e6e5c3fc 100644 --- a/libs/common/src/models/response/folder.response.ts +++ b/libs/common/src/vault/models/response/folder.response.ts @@ -1,4 +1,4 @@ -import { BaseResponse } from "./base.response"; +import { BaseResponse } from "../../../models/response/base.response"; export class FolderResponse extends BaseResponse { id: string; diff --git a/libs/common/src/models/response/password-history.response.ts b/libs/common/src/vault/models/response/password-history.response.ts similarity index 80% rename from libs/common/src/models/response/password-history.response.ts rename to libs/common/src/vault/models/response/password-history.response.ts index 16c06232155..5f6e31b2724 100644 --- a/libs/common/src/models/response/password-history.response.ts +++ b/libs/common/src/vault/models/response/password-history.response.ts @@ -1,4 +1,4 @@ -import { BaseResponse } from "./base.response"; +import { BaseResponse } from "../../../models/response/base.response"; export class PasswordHistoryResponse extends BaseResponse { password: string; diff --git a/libs/common/src/models/response/sync.response.ts b/libs/common/src/vault/models/response/sync.response.ts similarity index 77% rename from libs/common/src/models/response/sync.response.ts rename to libs/common/src/vault/models/response/sync.response.ts index e2a39bb1039..d29a3a29892 100644 --- a/libs/common/src/models/response/sync.response.ts +++ b/libs/common/src/vault/models/response/sync.response.ts @@ -1,11 +1,12 @@ -import { BaseResponse } from "./base.response"; +import { BaseResponse } from "../../../models/response/base.response"; +import { CollectionDetailsResponse } from "../../../models/response/collection.response"; +import { DomainsResponse } from "../../../models/response/domains.response"; +import { PolicyResponse } from "../../../models/response/policy.response"; +import { ProfileResponse } from "../../../models/response/profile.response"; +import { SendResponse } from "../../../models/response/send.response"; + import { CipherResponse } from "./cipher.response"; -import { CollectionDetailsResponse } from "./collection.response"; -import { DomainsResponse } from "./domains.response"; import { FolderResponse } from "./folder.response"; -import { PolicyResponse } from "./policy.response"; -import { ProfileResponse } from "./profile.response"; -import { SendResponse } from "./send.response"; export class SyncResponse extends BaseResponse { profile?: ProfileResponse; diff --git a/libs/common/spec/models/view/attachmentView.spec.ts b/libs/common/src/vault/models/view/attachment.view.spec.ts similarity index 53% rename from libs/common/spec/models/view/attachmentView.spec.ts rename to libs/common/src/vault/models/view/attachment.view.spec.ts index de1b399d5d3..7900465b030 100644 --- a/libs/common/spec/models/view/attachmentView.spec.ts +++ b/libs/common/src/vault/models/view/attachment.view.spec.ts @@ -1,9 +1,9 @@ -import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; +import { mockFromJson } from "../../../../spec/utils"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; -import { mockFromJson } from "../../utils"; +import { AttachmentView } from "./attachment.view"; -jest.mock("@bitwarden/common/models/domain/symmetric-crypto-key"); +jest.mock("../../../models/domain/symmetric-crypto-key"); describe("AttachmentView", () => { it("fromJSON initializes nested objects", () => { diff --git a/libs/common/src/models/view/attachment.view.ts b/libs/common/src/vault/models/view/attachment.view.ts similarity index 86% rename from libs/common/src/models/view/attachment.view.ts rename to libs/common/src/vault/models/view/attachment.view.ts index 6a40ee52e56..e0387f9f79f 100644 --- a/libs/common/src/models/view/attachment.view.ts +++ b/libs/common/src/vault/models/view/attachment.view.ts @@ -1,9 +1,8 @@ import { Jsonify } from "type-fest"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; +import { View } from "../../../models/view/view"; import { Attachment } from "../domain/attachment"; -import { SymmetricCryptoKey } from "../domain/symmetric-crypto-key"; - -import { View } from "./view"; export class AttachmentView implements View { id: string = null; diff --git a/libs/common/src/models/view/card.view.ts b/libs/common/src/vault/models/view/card.view.ts similarity index 93% rename from libs/common/src/models/view/card.view.ts rename to libs/common/src/vault/models/view/card.view.ts index 08beed7a77f..e0bf8bc3789 100644 --- a/libs/common/src/models/view/card.view.ts +++ b/libs/common/src/vault/models/view/card.view.ts @@ -1,7 +1,7 @@ import { Jsonify } from "type-fest"; -import { CardLinkedId as LinkedId } from "../../enums/linkedIdType"; -import { linkedFieldOption } from "../../misc/linkedFieldOption.decorator"; +import { CardLinkedId as LinkedId } from "../../../enums/linkedIdType"; +import { linkedFieldOption } from "../../../misc/linkedFieldOption.decorator"; import { ItemView } from "./item.view"; diff --git a/libs/common/spec/models/view/cipherView.spec.ts b/libs/common/src/vault/models/view/cipher.view.spec.ts similarity index 71% rename from libs/common/spec/models/view/cipherView.spec.ts rename to libs/common/src/vault/models/view/cipher.view.spec.ts index b58c82b1567..a2de5b4a3ac 100644 --- a/libs/common/spec/models/view/cipherView.spec.ts +++ b/libs/common/src/vault/models/view/cipher.view.spec.ts @@ -1,19 +1,19 @@ -import { CipherType } from "@bitwarden/common/enums/cipherType"; -import { AttachmentView } from "@bitwarden/common/models/view/attachment.view"; -import { CardView } from "@bitwarden/common/models/view/card.view"; -import { CipherView } from "@bitwarden/common/models/view/cipher.view"; -import { FieldView } from "@bitwarden/common/models/view/field.view"; -import { IdentityView } from "@bitwarden/common/models/view/identity.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; -import { PasswordHistoryView } from "@bitwarden/common/models/view/password-history.view"; -import { SecureNoteView } from "@bitwarden/common/models/view/secure-note.view"; +import { mockFromJson } from "../../../../spec/utils"; +import { CipherType } from "../../enums/cipher-type"; -import { mockFromJson } from "../../utils"; +import { AttachmentView } from "./attachment.view"; +import { CardView } from "./card.view"; +import { CipherView } from "./cipher.view"; +import { FieldView } from "./field.view"; +import { IdentityView } from "./identity.view"; +import { LoginView } from "./login.view"; +import { PasswordHistoryView } from "./password-history.view"; +import { SecureNoteView } from "./secure-note.view"; -jest.mock("@bitwarden/common/models/view/login.view"); -jest.mock("@bitwarden/common/models/view/attachment.view"); -jest.mock("@bitwarden/common/models/view/field.view"); -jest.mock("@bitwarden/common/models/view/password-history.view"); +jest.mock("../../models/view/login.view"); +jest.mock("../../models/view/attachment.view"); +jest.mock("../../models/view/field.view"); +jest.mock("../../models/view/password-history.view"); describe("CipherView", () => { beforeEach(() => { diff --git a/libs/common/src/models/view/cipher.view.ts b/libs/common/src/vault/models/view/cipher.view.ts similarity index 92% rename from libs/common/src/models/view/cipher.view.ts rename to libs/common/src/vault/models/view/cipher.view.ts index c3c69b3b9e7..a6f038f6ca1 100644 --- a/libs/common/src/models/view/cipher.view.ts +++ b/libs/common/src/vault/models/view/cipher.view.ts @@ -1,10 +1,11 @@ import { Jsonify } from "type-fest"; -import { CipherRepromptType } from "../../enums/cipherRepromptType"; -import { CipherType } from "../../enums/cipherType"; -import { LinkedIdType } from "../../enums/linkedIdType"; -import { InitializerMetadata } from "../../interfaces/initializer-metadata.interface"; -import { InitializerKey } from "../../services/cryptography/initializer-key"; +import { LinkedIdType } from "../../../enums/linkedIdType"; +import { InitializerMetadata } from "../../../interfaces/initializer-metadata.interface"; +import { View } from "../../../models/view/view"; +import { InitializerKey } from "../../../services/cryptography/initializer-key"; +import { CipherRepromptType } from "../../enums/cipher-reprompt-type"; +import { CipherType } from "../../enums/cipher-type"; import { LocalData } from "../data/local.data"; import { Cipher } from "../domain/cipher"; @@ -15,7 +16,6 @@ import { IdentityView } from "./identity.view"; import { LoginView } from "./login.view"; import { PasswordHistoryView } from "./password-history.view"; import { SecureNoteView } from "./secure-note.view"; -import { View } from "./view"; export class CipherView implements View, InitializerMetadata { readonly initializerKey = InitializerKey.CipherView; diff --git a/libs/common/src/models/view/field.view.ts b/libs/common/src/vault/models/view/field.view.ts similarity index 80% rename from libs/common/src/models/view/field.view.ts rename to libs/common/src/vault/models/view/field.view.ts index a022ad6f61b..b41c3fdd367 100644 --- a/libs/common/src/models/view/field.view.ts +++ b/libs/common/src/vault/models/view/field.view.ts @@ -1,11 +1,10 @@ import { Jsonify } from "type-fest"; -import { FieldType } from "../../enums/fieldType"; -import { LinkedIdType } from "../../enums/linkedIdType"; +import { FieldType } from "../../../enums/fieldType"; +import { LinkedIdType } from "../../../enums/linkedIdType"; +import { View } from "../../../models/view/view"; import { Field } from "../domain/field"; -import { View } from "./view"; - export class FieldView implements View { name: string = null; value: string = null; diff --git a/libs/common/spec/models/view/folderView.spec.ts b/libs/common/src/vault/models/view/folder.view.spec.ts similarity index 87% rename from libs/common/spec/models/view/folderView.spec.ts rename to libs/common/src/vault/models/view/folder.view.spec.ts index 15663166f3f..749e6ba5cd3 100644 --- a/libs/common/spec/models/view/folderView.spec.ts +++ b/libs/common/src/vault/models/view/folder.view.spec.ts @@ -1,4 +1,4 @@ -import { FolderView } from "@bitwarden/common/models/view/folder.view"; +import { FolderView } from "./folder.view"; describe("FolderView", () => { describe("fromJSON", () => { diff --git a/libs/common/src/models/view/folder.view.ts b/libs/common/src/vault/models/view/folder.view.ts similarity index 82% rename from libs/common/src/models/view/folder.view.ts rename to libs/common/src/vault/models/view/folder.view.ts index d18ef65aed3..b3a11f9a43f 100644 --- a/libs/common/src/models/view/folder.view.ts +++ b/libs/common/src/vault/models/view/folder.view.ts @@ -1,9 +1,8 @@ import { Jsonify } from "type-fest"; +import { ITreeNodeObject } from "../../../models/domain/tree-node"; +import { View } from "../../../models/view/view"; import { Folder } from "../domain/folder"; -import { ITreeNodeObject } from "../domain/tree-node"; - -import { View } from "./view"; export class FolderView implements View, ITreeNodeObject { id: string = null; diff --git a/libs/common/src/models/view/identity.view.ts b/libs/common/src/vault/models/view/identity.view.ts similarity index 94% rename from libs/common/src/models/view/identity.view.ts rename to libs/common/src/vault/models/view/identity.view.ts index 343135417d3..978c2ec2fb5 100644 --- a/libs/common/src/models/view/identity.view.ts +++ b/libs/common/src/vault/models/view/identity.view.ts @@ -1,8 +1,8 @@ import { Jsonify } from "type-fest"; -import { IdentityLinkedId as LinkedId } from "../../enums/linkedIdType"; -import { linkedFieldOption } from "../../misc/linkedFieldOption.decorator"; -import { Utils } from "../../misc/utils"; +import { IdentityLinkedId as LinkedId } from "../../../enums/linkedIdType"; +import { linkedFieldOption } from "../../../misc/linkedFieldOption.decorator"; +import { Utils } from "../../../misc/utils"; import { ItemView } from "./item.view"; diff --git a/libs/common/src/models/view/item.view.ts b/libs/common/src/vault/models/view/item.view.ts similarity index 52% rename from libs/common/src/models/view/item.view.ts rename to libs/common/src/vault/models/view/item.view.ts index 3a557ffa859..948982dbdc8 100644 --- a/libs/common/src/models/view/item.view.ts +++ b/libs/common/src/vault/models/view/item.view.ts @@ -1,6 +1,5 @@ -import { LinkedMetadata } from "../../misc/linkedFieldOption.decorator"; - -import { View } from "./view"; +import { LinkedMetadata } from "../../../misc/linkedFieldOption.decorator"; +import { View } from "../../../models/view/view"; export abstract class ItemView implements View { linkedFieldOptions: Map; diff --git a/libs/common/spec/view/login-uri-view.spec.ts b/libs/common/src/vault/models/view/login-uri-view.spec.ts similarity index 93% rename from libs/common/spec/view/login-uri-view.spec.ts rename to libs/common/src/vault/models/view/login-uri-view.spec.ts index 7e29651b1ec..3d5656428ca 100644 --- a/libs/common/spec/view/login-uri-view.spec.ts +++ b/libs/common/src/vault/models/view/login-uri-view.spec.ts @@ -1,5 +1,6 @@ -import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; +import { UriMatchType } from "../../../enums/uriMatchType"; + +import { LoginUriView } from "./login-uri.view"; const testData = [ { diff --git a/libs/common/src/models/view/login-uri.view.ts b/libs/common/src/vault/models/view/login-uri.view.ts similarity index 95% rename from libs/common/src/models/view/login-uri.view.ts rename to libs/common/src/vault/models/view/login-uri.view.ts index b02d36cb3a7..078c8c1457b 100644 --- a/libs/common/src/models/view/login-uri.view.ts +++ b/libs/common/src/vault/models/view/login-uri.view.ts @@ -1,11 +1,10 @@ import { Jsonify } from "type-fest"; -import { UriMatchType } from "../../enums/uriMatchType"; -import { Utils } from "../../misc/utils"; +import { UriMatchType } from "../../../enums/uriMatchType"; +import { Utils } from "../../../misc/utils"; +import { View } from "../../../models/view/view"; import { LoginUri } from "../domain/login-uri"; -import { View } from "./view"; - const CanLaunchWhitelist = [ "https://", "http://", diff --git a/libs/common/spec/models/view/loginView.spec.ts b/libs/common/src/vault/models/view/login.view.spec.ts similarity index 70% rename from libs/common/spec/models/view/loginView.spec.ts rename to libs/common/src/vault/models/view/login.view.spec.ts index 3f6f7da841b..92beb18bd6f 100644 --- a/libs/common/spec/models/view/loginView.spec.ts +++ b/libs/common/src/vault/models/view/login.view.spec.ts @@ -1,9 +1,9 @@ -import { LoginUriView } from "@bitwarden/common/models/view/login-uri.view"; -import { LoginView } from "@bitwarden/common/models/view/login.view"; +import { mockFromJson } from "../../../../spec/utils"; -import { mockFromJson } from "../../utils"; +import { LoginUriView } from "./login-uri.view"; +import { LoginView } from "./login.view"; -jest.mock("@bitwarden/common/models/view/login-uri.view"); +jest.mock("../../models/view/login-uri.view"); describe("LoginView", () => { beforeEach(() => { diff --git a/libs/common/src/models/view/login.view.ts b/libs/common/src/vault/models/view/login.view.ts similarity index 89% rename from libs/common/src/models/view/login.view.ts rename to libs/common/src/vault/models/view/login.view.ts index ee4035d2dbc..3aea2205833 100644 --- a/libs/common/src/models/view/login.view.ts +++ b/libs/common/src/vault/models/view/login.view.ts @@ -1,8 +1,8 @@ import { Jsonify } from "type-fest"; -import { LoginLinkedId as LinkedId } from "../../enums/linkedIdType"; -import { linkedFieldOption } from "../../misc/linkedFieldOption.decorator"; -import { Utils } from "../../misc/utils"; +import { LoginLinkedId as LinkedId } from "../../../enums/linkedIdType"; +import { linkedFieldOption } from "../../../misc/linkedFieldOption.decorator"; +import { Utils } from "../../../misc/utils"; import { Login } from "../domain/login"; import { ItemView } from "./item.view"; diff --git a/libs/common/spec/models/view/passwordHistoryView.spec.ts b/libs/common/src/vault/models/view/password-history.view.spec.ts similarity index 76% rename from libs/common/spec/models/view/passwordHistoryView.spec.ts rename to libs/common/src/vault/models/view/password-history.view.spec.ts index 514bc32b511..7349e44454d 100644 --- a/libs/common/spec/models/view/passwordHistoryView.spec.ts +++ b/libs/common/src/vault/models/view/password-history.view.spec.ts @@ -1,4 +1,4 @@ -import { PasswordHistoryView } from "@bitwarden/common/models/view/password-history.view"; +import { PasswordHistoryView } from "./password-history.view"; describe("PasswordHistoryView", () => { it("fromJSON initializes nested objects", () => { diff --git a/libs/common/src/models/view/password-history.view.ts b/libs/common/src/vault/models/view/password-history.view.ts similarity index 92% rename from libs/common/src/models/view/password-history.view.ts rename to libs/common/src/vault/models/view/password-history.view.ts index 1d0b9eb8dda..bf456254846 100644 --- a/libs/common/src/models/view/password-history.view.ts +++ b/libs/common/src/vault/models/view/password-history.view.ts @@ -1,9 +1,8 @@ import { Jsonify } from "type-fest"; +import { View } from "../../../models/view/view"; import { Password } from "../domain/password"; -import { View } from "./view"; - export class PasswordHistoryView implements View { password: string = null; lastUsedDate: Date = null; diff --git a/libs/common/src/models/view/secure-note.view.ts b/libs/common/src/vault/models/view/secure-note.view.ts similarity index 88% rename from libs/common/src/models/view/secure-note.view.ts rename to libs/common/src/vault/models/view/secure-note.view.ts index 20174f98556..3fce6ed7e0e 100644 --- a/libs/common/src/models/view/secure-note.view.ts +++ b/libs/common/src/vault/models/view/secure-note.view.ts @@ -1,6 +1,6 @@ import { Jsonify } from "type-fest"; -import { SecureNoteType } from "../../enums/secureNoteType"; +import { SecureNoteType } from "../../../enums/secureNoteType"; import { SecureNote } from "../domain/secure-note"; import { ItemView } from "./item.view"; diff --git a/libs/common/spec/services/cipher.service.spec.ts b/libs/common/src/vault/services/cipher.service.spec.ts similarity index 66% rename from libs/common/spec/services/cipher.service.spec.ts rename to libs/common/src/vault/services/cipher.service.spec.ts index 0dda9300843..fc498d29ab1 100644 --- a/libs/common/spec/services/cipher.service.spec.ts +++ b/libs/common/src/vault/services/cipher.service.spec.ts @@ -1,20 +1,21 @@ // eslint-disable-next-line no-restricted-imports import { Arg, Substitute, SubstituteOf } from "@fluffy-spoon/substitute"; -import { ApiService } from "@bitwarden/common/abstractions/api.service"; -import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { EncryptService } from "@bitwarden/common/abstractions/encrypt.service"; -import { FileUploadService } from "@bitwarden/common/abstractions/fileUpload.service"; -import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { LogService } from "@bitwarden/common/abstractions/log.service"; -import { SearchService } from "@bitwarden/common/abstractions/search.service"; -import { SettingsService } from "@bitwarden/common/abstractions/settings.service"; -import { StateService } from "@bitwarden/common/abstractions/state.service"; -import { Cipher } from "@bitwarden/common/models/domain/cipher"; -import { EncArrayBuffer } from "@bitwarden/common/models/domain/enc-array-buffer"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { SymmetricCryptoKey } from "@bitwarden/common/models/domain/symmetric-crypto-key"; -import { CipherService } from "@bitwarden/common/services/cipher.service"; +import { ApiService } from "../../abstractions/api.service"; +import { CryptoService } from "../../abstractions/crypto.service"; +import { EncryptService } from "../../abstractions/encrypt.service"; +import { FileUploadService } from "../../abstractions/fileUpload.service"; +import { I18nService } from "../../abstractions/i18n.service"; +import { LogService } from "../../abstractions/log.service"; +import { SearchService } from "../../abstractions/search.service"; +import { SettingsService } from "../../abstractions/settings.service"; +import { StateService } from "../../abstractions/state.service"; +import { EncArrayBuffer } from "../../models/domain/enc-array-buffer"; +import { EncString } from "../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../models/domain/symmetric-crypto-key"; +import { Cipher } from "../models/domain/cipher"; + +import { CipherService } from "./cipher.service"; const ENCRYPTED_TEXT = "This data has been encrypted"; const ENCRYPTED_BYTES = Substitute.for(); diff --git a/libs/common/src/services/cipher.service.ts b/libs/common/src/vault/services/cipher.service.ts similarity index 96% rename from libs/common/src/services/cipher.service.ts rename to libs/common/src/vault/services/cipher.service.ts index b93c60d6228..25ce77f82ef 100644 --- a/libs/common/src/services/cipher.service.ts +++ b/libs/common/src/vault/services/cipher.service.ts @@ -1,28 +1,31 @@ import { firstValueFrom } from "rxjs"; -import { ApiService } from "../abstractions/api.service"; +import { ApiService } from "../../abstractions/api.service"; +import { CryptoService } from "../../abstractions/crypto.service"; +import { EncryptService } from "../../abstractions/encrypt.service"; +import { FileUploadService } from "../../abstractions/fileUpload.service"; +import { I18nService } from "../../abstractions/i18n.service"; +import { LogService } from "../../abstractions/log.service"; +import { SearchService } from "../../abstractions/search.service"; +import { SettingsService } from "../../abstractions/settings.service"; +import { StateService } from "../../abstractions/state.service"; +import { FieldType } from "../../enums/fieldType"; +import { UriMatchType } from "../../enums/uriMatchType"; +import { sequentialize } from "../../misc/sequentialize"; +import { Utils } from "../../misc/utils"; +import { AccountSettingsSettings } from "../../models/domain/account"; +import Domain from "../../models/domain/domain-base"; +import { EncArrayBuffer } from "../../models/domain/enc-array-buffer"; +import { EncString } from "../../models/domain/enc-string"; +import { SymmetricCryptoKey } from "../../models/domain/symmetric-crypto-key"; +import { ErrorResponse } from "../../models/response/error.response"; +import { View } from "../../models/view/view"; import { CipherService as CipherServiceAbstraction } from "../abstractions/cipher.service"; -import { CryptoService } from "../abstractions/crypto.service"; -import { EncryptService } from "../abstractions/encrypt.service"; -import { FileUploadService } from "../abstractions/fileUpload.service"; -import { I18nService } from "../abstractions/i18n.service"; -import { LogService } from "../abstractions/log.service"; -import { SearchService } from "../abstractions/search.service"; -import { SettingsService } from "../abstractions/settings.service"; -import { StateService } from "../abstractions/state.service"; -import { CipherType } from "../enums/cipherType"; -import { FieldType } from "../enums/fieldType"; -import { UriMatchType } from "../enums/uriMatchType"; -import { sequentialize } from "../misc/sequentialize"; -import { Utils } from "../misc/utils"; +import { CipherType } from "../enums/cipher-type"; import { CipherData } from "../models/data/cipher.data"; -import { AccountSettingsSettings } from "../models/domain/account"; import { Attachment } from "../models/domain/attachment"; import { Card } from "../models/domain/card"; import { Cipher } from "../models/domain/cipher"; -import Domain from "../models/domain/domain-base"; -import { EncArrayBuffer } from "../models/domain/enc-array-buffer"; -import { EncString } from "../models/domain/enc-string"; import { Field } from "../models/domain/field"; import { Identity } from "../models/domain/identity"; import { Login } from "../models/domain/login"; @@ -30,7 +33,6 @@ import { LoginUri } from "../models/domain/login-uri"; import { Password } from "../models/domain/password"; import { SecureNote } from "../models/domain/secure-note"; import { SortedCiphersCache } from "../models/domain/sorted-ciphers-cache"; -import { SymmetricCryptoKey } from "../models/domain/symmetric-crypto-key"; import { AttachmentRequest } from "../models/request/attachment.request"; import { CipherBulkDeleteRequest } from "../models/request/cipher-bulk-delete.request"; import { CipherBulkMoveRequest } from "../models/request/cipher-bulk-move.request"; @@ -42,12 +44,10 @@ import { CipherPartialRequest } from "../models/request/cipher-partial.request"; import { CipherShareRequest } from "../models/request/cipher-share.request"; import { CipherRequest } from "../models/request/cipher.request"; import { CipherResponse } from "../models/response/cipher.response"; -import { ErrorResponse } from "../models/response/error.response"; import { AttachmentView } from "../models/view/attachment.view"; import { CipherView } from "../models/view/cipher.view"; import { FieldView } from "../models/view/field.view"; import { PasswordHistoryView } from "../models/view/password-history.view"; -import { View } from "../models/view/view"; const DomainMatchBlacklist = new Map>([ ["google.com", new Set(["script.google.com"])], diff --git a/libs/common/src/services/folder/folder-api.service.ts b/libs/common/src/vault/services/folder/folder-api.service.ts similarity index 71% rename from libs/common/src/services/folder/folder-api.service.ts rename to libs/common/src/vault/services/folder/folder-api.service.ts index 587dbb84f7f..d49117264c8 100644 --- a/libs/common/src/services/folder/folder-api.service.ts +++ b/libs/common/src/vault/services/folder/folder-api.service.ts @@ -1,10 +1,10 @@ -import { ApiService } from "../../abstractions/api.service"; -import { FolderApiServiceAbstraction } from "../../abstractions/folder/folder-api.service.abstraction"; -import { InternalFolderService } from "../../abstractions/folder/folder.service.abstraction"; -import { FolderData } from "../../models/data/folder.data"; -import { Folder } from "../../models/domain/folder"; -import { FolderRequest } from "../../models/request/folder.request"; -import { FolderResponse } from "../../models/response/folder.response"; +import { ApiService } from "../../../abstractions/api.service"; +import { FolderApiServiceAbstraction } from "../../../vault/abstractions/folder/folder-api.service.abstraction"; +import { InternalFolderService } from "../../../vault/abstractions/folder/folder.service.abstraction"; +import { FolderData } from "../../../vault/models/data/folder.data"; +import { Folder } from "../../../vault/models/domain/folder"; +import { FolderRequest } from "../../../vault/models/request/folder.request"; +import { FolderResponse } from "../../../vault/models/response/folder.response"; export class FolderApiService implements FolderApiServiceAbstraction { constructor(private folderService: InternalFolderService, private apiService: ApiService) {} diff --git a/libs/common/spec/services/folder.service.spec.ts b/libs/common/src/vault/services/folder/folder.service.spec.ts similarity index 88% rename from libs/common/spec/services/folder.service.spec.ts rename to libs/common/src/vault/services/folder/folder.service.spec.ts index 1c1f0b2a464..594a3ab1373 100644 --- a/libs/common/spec/services/folder.service.spec.ts +++ b/libs/common/src/vault/services/folder/folder.service.spec.ts @@ -2,16 +2,16 @@ import { Arg, Substitute, SubstituteOf } from "@fluffy-spoon/substitute"; import { BehaviorSubject, firstValueFrom } from "rxjs"; -import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; -import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; -import { EncryptService } from "@bitwarden/common/abstractions/encrypt.service"; -import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; -import { FolderData } from "@bitwarden/common/models/data/folder.data"; -import { EncString } from "@bitwarden/common/models/domain/enc-string"; -import { FolderView } from "@bitwarden/common/models/view/folder.view"; -import { ContainerService } from "@bitwarden/common/services/container.service"; -import { FolderService } from "@bitwarden/common/services/folder/folder.service"; -import { StateService } from "@bitwarden/common/services/state.service"; +import { CryptoService } from "../../../abstractions/crypto.service"; +import { EncryptService } from "../../../abstractions/encrypt.service"; +import { I18nService } from "../../../abstractions/i18n.service"; +import { EncString } from "../../../models/domain/enc-string"; +import { ContainerService } from "../../../services/container.service"; +import { StateService } from "../../../services/state.service"; +import { CipherService } from "../../abstractions/cipher.service"; +import { FolderData } from "../../models/data/folder.data"; +import { FolderView } from "../../models/view/folder.view"; +import { FolderService } from "../../services/folder/folder.service"; describe("Folder Service", () => { let folderService: FolderService; diff --git a/libs/common/src/services/folder/folder.service.ts b/libs/common/src/vault/services/folder/folder.service.ts similarity index 87% rename from libs/common/src/services/folder/folder.service.ts rename to libs/common/src/vault/services/folder/folder.service.ts index 85ef564fd5a..89ccf67a99d 100644 --- a/libs/common/src/services/folder/folder.service.ts +++ b/libs/common/src/vault/services/folder/folder.service.ts @@ -1,16 +1,16 @@ import { BehaviorSubject, concatMap } from "rxjs"; -import { CipherService } from "../../abstractions/cipher.service"; -import { CryptoService } from "../../abstractions/crypto.service"; -import { InternalFolderService as InternalFolderServiceAbstraction } from "../../abstractions/folder/folder.service.abstraction"; -import { I18nService } from "../../abstractions/i18n.service"; -import { StateService } from "../../abstractions/state.service"; -import { Utils } from "../../misc/utils"; -import { CipherData } from "../../models/data/cipher.data"; -import { FolderData } from "../../models/data/folder.data"; -import { Folder } from "../../models/domain/folder"; -import { SymmetricCryptoKey } from "../../models/domain/symmetric-crypto-key"; -import { FolderView } from "../../models/view/folder.view"; +import { CryptoService } from "../../../abstractions/crypto.service"; +import { I18nService } from "../../../abstractions/i18n.service"; +import { StateService } from "../../../abstractions/state.service"; +import { Utils } from "../../../misc/utils"; +import { SymmetricCryptoKey } from "../../../models/domain/symmetric-crypto-key"; +import { CipherService } from "../../../vault/abstractions/cipher.service"; +import { InternalFolderService as InternalFolderServiceAbstraction } from "../../../vault/abstractions/folder/folder.service.abstraction"; +import { CipherData } from "../../../vault/models/data/cipher.data"; +import { FolderData } from "../../../vault/models/data/folder.data"; +import { Folder } from "../../../vault/models/domain/folder"; +import { FolderView } from "../../../vault/models/view/folder.view"; export class FolderService implements InternalFolderServiceAbstraction { protected _folders: BehaviorSubject = new BehaviorSubject([]); diff --git a/libs/common/src/services/sync/syncNotifier.service.ts b/libs/common/src/vault/services/sync/sync-notifier.service.ts similarity index 78% rename from libs/common/src/services/sync/syncNotifier.service.ts rename to libs/common/src/vault/services/sync/sync-notifier.service.ts index 996a54d656d..870ccfb849c 100644 --- a/libs/common/src/services/sync/syncNotifier.service.ts +++ b/libs/common/src/vault/services/sync/sync-notifier.service.ts @@ -1,7 +1,7 @@ import { Subject } from "rxjs"; -import { SyncNotifierService as SyncNotifierServiceAbstraction } from "../../abstractions/sync/syncNotifier.service.abstraction"; -import { SyncEventArgs } from "../../types/syncEventArgs"; +import { SyncNotifierService as SyncNotifierServiceAbstraction } from "../../abstractions/sync/sync-notifier.service.abstraction"; +import { SyncEventArgs } from "../../types/sync-event-args"; /** * This class should most likely have 0 dependencies because it will hopefully diff --git a/libs/common/src/services/sync/sync.service.ts b/libs/common/src/vault/services/sync/sync.service.ts similarity index 83% rename from libs/common/src/services/sync/sync.service.ts rename to libs/common/src/vault/services/sync/sync.service.ts index 7317b6c991b..f5bacb0f417 100644 --- a/libs/common/src/services/sync/sync.service.ts +++ b/libs/common/src/vault/services/sync/sync.service.ts @@ -1,39 +1,39 @@ -import { ApiService } from "../../abstractions/api.service"; -import { CipherService } from "../../abstractions/cipher.service"; -import { CollectionService } from "../../abstractions/collection.service"; -import { CryptoService } from "../../abstractions/crypto.service"; -import { FolderApiServiceAbstraction } from "../../abstractions/folder/folder-api.service.abstraction"; -import { InternalFolderService } from "../../abstractions/folder/folder.service.abstraction"; -import { KeyConnectorService } from "../../abstractions/keyConnector.service"; -import { LogService } from "../../abstractions/log.service"; -import { MessagingService } from "../../abstractions/messaging.service"; -import { InternalOrganizationService } from "../../abstractions/organization/organization.service.abstraction"; -import { InternalPolicyService } from "../../abstractions/policy/policy.service.abstraction"; -import { ProviderService } from "../../abstractions/provider.service"; -import { SendService } from "../../abstractions/send.service"; -import { SettingsService } from "../../abstractions/settings.service"; -import { StateService } from "../../abstractions/state.service"; -import { SyncService as SyncServiceAbstraction } from "../../abstractions/sync/sync.service.abstraction"; -import { sequentialize } from "../../misc/sequentialize"; -import { CipherData } from "../../models/data/cipher.data"; -import { CollectionData } from "../../models/data/collection.data"; -import { FolderData } from "../../models/data/folder.data"; -import { OrganizationData } from "../../models/data/organization.data"; -import { PolicyData } from "../../models/data/policy.data"; -import { ProviderData } from "../../models/data/provider.data"; -import { SendData } from "../../models/data/send.data"; -import { CipherResponse } from "../../models/response/cipher.response"; -import { CollectionDetailsResponse } from "../../models/response/collection.response"; -import { DomainsResponse } from "../../models/response/domains.response"; -import { FolderResponse } from "../../models/response/folder.response"; +import { ApiService } from "../../../abstractions/api.service"; +import { CollectionService } from "../../../abstractions/collection.service"; +import { CryptoService } from "../../../abstractions/crypto.service"; +import { KeyConnectorService } from "../../../abstractions/keyConnector.service"; +import { LogService } from "../../../abstractions/log.service"; +import { MessagingService } from "../../../abstractions/messaging.service"; +import { InternalOrganizationService } from "../../../abstractions/organization/organization.service.abstraction"; +import { InternalPolicyService } from "../../../abstractions/policy/policy.service.abstraction"; +import { ProviderService } from "../../../abstractions/provider.service"; +import { SendService } from "../../../abstractions/send.service"; +import { SettingsService } from "../../../abstractions/settings.service"; +import { StateService } from "../../../abstractions/state.service"; +import { sequentialize } from "../../../misc/sequentialize"; +import { CollectionData } from "../../../models/data/collection.data"; +import { OrganizationData } from "../../../models/data/organization.data"; +import { PolicyData } from "../../../models/data/policy.data"; +import { ProviderData } from "../../../models/data/provider.data"; +import { SendData } from "../../../models/data/send.data"; +import { CollectionDetailsResponse } from "../../../models/response/collection.response"; +import { DomainsResponse } from "../../../models/response/domains.response"; import { SyncCipherNotification, SyncFolderNotification, SyncSendNotification, -} from "../../models/response/notification.response"; -import { PolicyResponse } from "../../models/response/policy.response"; -import { ProfileResponse } from "../../models/response/profile.response"; -import { SendResponse } from "../../models/response/send.response"; +} from "../../../models/response/notification.response"; +import { PolicyResponse } from "../../../models/response/policy.response"; +import { ProfileResponse } from "../../../models/response/profile.response"; +import { SendResponse } from "../../../models/response/send.response"; +import { CipherService } from "../../../vault/abstractions/cipher.service"; +import { FolderApiServiceAbstraction } from "../../../vault/abstractions/folder/folder-api.service.abstraction"; +import { InternalFolderService } from "../../../vault/abstractions/folder/folder.service.abstraction"; +import { SyncService as SyncServiceAbstraction } from "../../../vault/abstractions/sync/sync.service.abstraction"; +import { CipherData } from "../../../vault/models/data/cipher.data"; +import { FolderData } from "../../../vault/models/data/folder.data"; +import { CipherResponse } from "../../../vault/models/response/cipher.response"; +import { FolderResponse } from "../../../vault/models/response/folder.response"; export class SyncService implements SyncServiceAbstraction { syncInProgress = false; diff --git a/libs/common/src/types/syncEventArgs.ts b/libs/common/src/vault/types/sync-event-args.ts similarity index 100% rename from libs/common/src/types/syncEventArgs.ts rename to libs/common/src/vault/types/sync-event-args.ts From 504e6202ab69901c2bb16610398edbe48b9ab541 Mon Sep 17 00:00:00 2001 From: Daniel James Smith Date: Thu, 2 Feb 2023 00:14:24 +0100 Subject: [PATCH 39/99] Extract loading locales (#4622) This reduces the noise in the app.modules where the angular locales are loaded. Simplifies extending with new locales as all of them can be found in the same place under the same file-name This has previously also been done in the web client --- apps/browser/src/popup/app.module.ts | 114 ++------------------------ apps/browser/src/popup/locales.ts | 108 +++++++++++++++++++++++++ apps/desktop/src/app/app.module.ts | 115 +-------------------------- apps/desktop/src/app/locales.ts | 112 ++++++++++++++++++++++++++ 4 files changed, 229 insertions(+), 220 deletions(-) create mode 100644 apps/browser/src/popup/locales.ts create mode 100644 apps/desktop/src/app/locales.ts diff --git a/apps/browser/src/popup/app.module.ts b/apps/browser/src/popup/app.module.ts index 56975417154..3d04f79787a 100644 --- a/apps/browser/src/popup/app.module.ts +++ b/apps/browser/src/popup/app.module.ts @@ -3,60 +3,12 @@ import { DragDropModule } from "@angular/cdk/drag-drop"; import { LayoutModule } from "@angular/cdk/layout"; import { OverlayModule } from "@angular/cdk/overlay"; import { ScrollingModule } from "@angular/cdk/scrolling"; -import { CurrencyPipe, DatePipe, registerLocaleData } from "@angular/common"; -import localeAr from "@angular/common/locales/ar"; -import localeAz from "@angular/common/locales/az"; -import localeBe from "@angular/common/locales/be"; -import localeBg from "@angular/common/locales/bg"; -import localeBn from "@angular/common/locales/bn"; -import localeBs from "@angular/common/locales/bs"; -import localeCa from "@angular/common/locales/ca"; -import localeCs from "@angular/common/locales/cs"; -import localeDa from "@angular/common/locales/da"; -import localeDe from "@angular/common/locales/de"; -import localeEl from "@angular/common/locales/el"; -import localeEnGb from "@angular/common/locales/en-GB"; -import localeEnIn from "@angular/common/locales/en-IN"; -import localeEs from "@angular/common/locales/es"; -import localeEt from "@angular/common/locales/et"; -import localeEu from "@angular/common/locales/eu"; -import localeFa from "@angular/common/locales/fa"; -import localeFi from "@angular/common/locales/fi"; -import localeFil from "@angular/common/locales/fil"; -import localeFr from "@angular/common/locales/fr"; -import localeHe from "@angular/common/locales/he"; -import localeHi from "@angular/common/locales/hi"; -import localeHr from "@angular/common/locales/hr"; -import localeHu from "@angular/common/locales/hu"; -import localeId from "@angular/common/locales/id"; -import localeIt from "@angular/common/locales/it"; -import localeJa from "@angular/common/locales/ja"; -import localeKa from "@angular/common/locales/ka"; -import localeKm from "@angular/common/locales/km"; -import localeKn from "@angular/common/locales/kn"; -import localeKo from "@angular/common/locales/ko"; -import localeLt from "@angular/common/locales/lt"; -import localeLv from "@angular/common/locales/lv"; -import localeMl from "@angular/common/locales/ml"; -import localeNb from "@angular/common/locales/nb"; -import localeNl from "@angular/common/locales/nl"; -import localeNn from "@angular/common/locales/nn"; -import localePl from "@angular/common/locales/pl"; -import localePtBr from "@angular/common/locales/pt"; -import localePtPt from "@angular/common/locales/pt-PT"; -import localeRo from "@angular/common/locales/ro"; -import localeRu from "@angular/common/locales/ru"; -import localeSi from "@angular/common/locales/si"; -import localeSk from "@angular/common/locales/sk"; -import localeSl from "@angular/common/locales/sl"; -import localeSr from "@angular/common/locales/sr"; -import localeSv from "@angular/common/locales/sv"; -import localeTh from "@angular/common/locales/th"; -import localeTr from "@angular/common/locales/tr"; -import localeUk from "@angular/common/locales/uk"; -import localeVi from "@angular/common/locales/vi"; -import localeZhCn from "@angular/common/locales/zh-Hans"; -import localeZhTw from "@angular/common/locales/zh-Hant"; +// eslint-disable-next-line import/order +import { CurrencyPipe, DatePipe } from "@angular/common"; + +// Register the locales for the application +import "./locales"; + import { NgModule } from "@angular/core"; import { FormsModule, ReactiveFormsModule } from "@angular/forms"; import { BrowserModule } from "@angular/platform-browser"; @@ -121,60 +73,6 @@ import { SyncComponent } from "./settings/sync.component"; import { VaultTimeoutInputComponent } from "./settings/vault-timeout-input.component"; import { TabsComponent } from "./tabs.component"; -registerLocaleData(localeAr, "ar"); -registerLocaleData(localeAz, "az"); -registerLocaleData(localeBe, "be"); -registerLocaleData(localeBg, "bg"); -registerLocaleData(localeBn, "bn"); -registerLocaleData(localeBs, "bs"); -registerLocaleData(localeCa, "ca"); -registerLocaleData(localeCs, "cs"); -registerLocaleData(localeDa, "da"); -registerLocaleData(localeDe, "de"); -registerLocaleData(localeEl, "el"); -registerLocaleData(localeEnGb, "en-GB"); -registerLocaleData(localeEnIn, "en-IN"); -registerLocaleData(localeEs, "es"); -registerLocaleData(localeEt, "et"); -registerLocaleData(localeEu, "eu"); -registerLocaleData(localeFa, "fa"); -registerLocaleData(localeFi, "fi"); -registerLocaleData(localeFil, "fil"); -registerLocaleData(localeFr, "fr"); -registerLocaleData(localeHe, "he"); -registerLocaleData(localeHi, "hi"); -registerLocaleData(localeHr, "hr"); -registerLocaleData(localeHu, "hu"); -registerLocaleData(localeId, "id"); -registerLocaleData(localeIt, "it"); -registerLocaleData(localeJa, "ja"); -registerLocaleData(localeKa, "ka"); -registerLocaleData(localeKm, "km"); -registerLocaleData(localeKn, "kn"); -registerLocaleData(localeKo, "ko"); -registerLocaleData(localeLt, "lt"); -registerLocaleData(localeLv, "lv"); -registerLocaleData(localeMl, "ml"); -registerLocaleData(localeNb, "nb"); -registerLocaleData(localeNl, "nl"); -registerLocaleData(localeNn, "nn"); -registerLocaleData(localePl, "pl"); -registerLocaleData(localePtBr, "pt-BR"); -registerLocaleData(localePtPt, "pt-PT"); -registerLocaleData(localeRo, "ro"); -registerLocaleData(localeRu, "ru"); -registerLocaleData(localeSi, "si"); -registerLocaleData(localeSk, "sk"); -registerLocaleData(localeSl, "sl"); -registerLocaleData(localeSr, "sr"); -registerLocaleData(localeSv, "sv"); -registerLocaleData(localeTh, "th"); -registerLocaleData(localeTr, "tr"); -registerLocaleData(localeUk, "uk"); -registerLocaleData(localeVi, "vi"); -registerLocaleData(localeZhCn, "zh-CN"); -registerLocaleData(localeZhTw, "zh-TW"); - @NgModule({ imports: [ A11yModule, diff --git a/apps/browser/src/popup/locales.ts b/apps/browser/src/popup/locales.ts new file mode 100644 index 00000000000..f24f7368db3 --- /dev/null +++ b/apps/browser/src/popup/locales.ts @@ -0,0 +1,108 @@ +import { registerLocaleData } from "@angular/common"; +import localeAr from "@angular/common/locales/ar"; +import localeAz from "@angular/common/locales/az"; +import localeBe from "@angular/common/locales/be"; +import localeBg from "@angular/common/locales/bg"; +import localeBn from "@angular/common/locales/bn"; +import localeBs from "@angular/common/locales/bs"; +import localeCa from "@angular/common/locales/ca"; +import localeCs from "@angular/common/locales/cs"; +import localeDa from "@angular/common/locales/da"; +import localeDe from "@angular/common/locales/de"; +import localeEl from "@angular/common/locales/el"; +import localeEnGb from "@angular/common/locales/en-GB"; +import localeEnIn from "@angular/common/locales/en-IN"; +import localeEs from "@angular/common/locales/es"; +import localeEt from "@angular/common/locales/et"; +import localeEu from "@angular/common/locales/eu"; +import localeFa from "@angular/common/locales/fa"; +import localeFi from "@angular/common/locales/fi"; +import localeFil from "@angular/common/locales/fil"; +import localeFr from "@angular/common/locales/fr"; +import localeHe from "@angular/common/locales/he"; +import localeHi from "@angular/common/locales/hi"; +import localeHr from "@angular/common/locales/hr"; +import localeHu from "@angular/common/locales/hu"; +import localeId from "@angular/common/locales/id"; +import localeIt from "@angular/common/locales/it"; +import localeJa from "@angular/common/locales/ja"; +import localeKa from "@angular/common/locales/ka"; +import localeKm from "@angular/common/locales/km"; +import localeKn from "@angular/common/locales/kn"; +import localeKo from "@angular/common/locales/ko"; +import localeLt from "@angular/common/locales/lt"; +import localeLv from "@angular/common/locales/lv"; +import localeMl from "@angular/common/locales/ml"; +import localeNb from "@angular/common/locales/nb"; +import localeNl from "@angular/common/locales/nl"; +import localeNn from "@angular/common/locales/nn"; +import localePl from "@angular/common/locales/pl"; +import localePtBr from "@angular/common/locales/pt"; +import localePtPt from "@angular/common/locales/pt-PT"; +import localeRo from "@angular/common/locales/ro"; +import localeRu from "@angular/common/locales/ru"; +import localeSi from "@angular/common/locales/si"; +import localeSk from "@angular/common/locales/sk"; +import localeSl from "@angular/common/locales/sl"; +import localeSr from "@angular/common/locales/sr"; +import localeSv from "@angular/common/locales/sv"; +import localeTh from "@angular/common/locales/th"; +import localeTr from "@angular/common/locales/tr"; +import localeUk from "@angular/common/locales/uk"; +import localeVi from "@angular/common/locales/vi"; +import localeZhCn from "@angular/common/locales/zh-Hans"; +import localeZhTw from "@angular/common/locales/zh-Hant"; + +registerLocaleData(localeAr, "ar"); +registerLocaleData(localeAz, "az"); +registerLocaleData(localeBe, "be"); +registerLocaleData(localeBg, "bg"); +registerLocaleData(localeBn, "bn"); +registerLocaleData(localeBs, "bs"); +registerLocaleData(localeCa, "ca"); +registerLocaleData(localeCs, "cs"); +registerLocaleData(localeDa, "da"); +registerLocaleData(localeDe, "de"); +registerLocaleData(localeEl, "el"); +registerLocaleData(localeEnGb, "en-GB"); +registerLocaleData(localeEnIn, "en-IN"); +registerLocaleData(localeEs, "es"); +registerLocaleData(localeEt, "et"); +registerLocaleData(localeEu, "eu"); +registerLocaleData(localeFa, "fa"); +registerLocaleData(localeFi, "fi"); +registerLocaleData(localeFil, "fil"); +registerLocaleData(localeFr, "fr"); +registerLocaleData(localeHe, "he"); +registerLocaleData(localeHi, "hi"); +registerLocaleData(localeHr, "hr"); +registerLocaleData(localeHu, "hu"); +registerLocaleData(localeId, "id"); +registerLocaleData(localeIt, "it"); +registerLocaleData(localeJa, "ja"); +registerLocaleData(localeKa, "ka"); +registerLocaleData(localeKm, "km"); +registerLocaleData(localeKn, "kn"); +registerLocaleData(localeKo, "ko"); +registerLocaleData(localeLt, "lt"); +registerLocaleData(localeLv, "lv"); +registerLocaleData(localeMl, "ml"); +registerLocaleData(localeNb, "nb"); +registerLocaleData(localeNl, "nl"); +registerLocaleData(localeNn, "nn"); +registerLocaleData(localePl, "pl"); +registerLocaleData(localePtBr, "pt-BR"); +registerLocaleData(localePtPt, "pt-PT"); +registerLocaleData(localeRo, "ro"); +registerLocaleData(localeRu, "ru"); +registerLocaleData(localeSi, "si"); +registerLocaleData(localeSk, "sk"); +registerLocaleData(localeSl, "sl"); +registerLocaleData(localeSr, "sr"); +registerLocaleData(localeSv, "sv"); +registerLocaleData(localeTh, "th"); +registerLocaleData(localeTr, "tr"); +registerLocaleData(localeUk, "uk"); +registerLocaleData(localeVi, "vi"); +registerLocaleData(localeZhCn, "zh-CN"); +registerLocaleData(localeZhTw, "zh-TW"); diff --git a/apps/desktop/src/app/app.module.ts b/apps/desktop/src/app/app.module.ts index b07db465ed6..52d68fa4282 100644 --- a/apps/desktop/src/app/app.module.ts +++ b/apps/desktop/src/app/app.module.ts @@ -1,61 +1,8 @@ import "zone.js/dist/zone"; -import { registerLocaleData } from "@angular/common"; -import localeAf from "@angular/common/locales/af"; -import localeAr from "@angular/common/locales/ar"; -import localeAz from "@angular/common/locales/az"; -import localeBe from "@angular/common/locales/be"; -import localeBg from "@angular/common/locales/bg"; -import localeBn from "@angular/common/locales/bn"; -import localeBs from "@angular/common/locales/bs"; -import localeCa from "@angular/common/locales/ca"; -import localeCs from "@angular/common/locales/cs"; -import localeDa from "@angular/common/locales/da"; -import localeDe from "@angular/common/locales/de"; -import localeEl from "@angular/common/locales/el"; -import localeEnGb from "@angular/common/locales/en-GB"; -import localeEnIn from "@angular/common/locales/en-IN"; -import localeEo from "@angular/common/locales/eo"; -import localeEs from "@angular/common/locales/es"; -import localeEt from "@angular/common/locales/et"; -import localeEu from "@angular/common/locales/eu"; -import localeFa from "@angular/common/locales/fa"; -import localeFi from "@angular/common/locales/fi"; -import localeFil from "@angular/common/locales/fil"; -import localeFr from "@angular/common/locales/fr"; -import localeHe from "@angular/common/locales/he"; -import localeHi from "@angular/common/locales/hi"; -import localeHr from "@angular/common/locales/hr"; -import localeHu from "@angular/common/locales/hu"; -import localeId from "@angular/common/locales/id"; -import localeIt from "@angular/common/locales/it"; -import localeJa from "@angular/common/locales/ja"; -import localeKa from "@angular/common/locales/ka"; -import localeKm from "@angular/common/locales/km"; -import localeKn from "@angular/common/locales/kn"; -import localeKo from "@angular/common/locales/ko"; -import localeLv from "@angular/common/locales/lv"; -import localeMl from "@angular/common/locales/ml"; -import localeNb from "@angular/common/locales/nb"; -import localeNl from "@angular/common/locales/nl"; -import localeNn from "@angular/common/locales/nn"; -import localePl from "@angular/common/locales/pl"; -import localePtBr from "@angular/common/locales/pt"; -import localePtPt from "@angular/common/locales/pt-PT"; -import localeRo from "@angular/common/locales/ro"; -import localeRu from "@angular/common/locales/ru"; -import localeSi from "@angular/common/locales/si"; -import localeSk from "@angular/common/locales/sk"; -import localeSl from "@angular/common/locales/sl"; -import localeSr from "@angular/common/locales/sr"; -import localeMe from "@angular/common/locales/sr-Latn-ME"; -import localeSv from "@angular/common/locales/sv"; -import localeTh from "@angular/common/locales/th"; -import localeTr from "@angular/common/locales/tr"; -import localeUk from "@angular/common/locales/uk"; -import localeVi from "@angular/common/locales/vi"; -import localeZhCn from "@angular/common/locales/zh-Hans"; -import localeZhTw from "@angular/common/locales/zh-Hant"; +// Register the locales for the application +import "./locales"; + import { NgModule } from "@angular/core"; import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe"; @@ -107,62 +54,6 @@ import { EffluxDatesComponent as SendEffluxDatesComponent } from "./send/efflux- import { SendComponent } from "./send/send.component"; import { SharedModule } from "./shared/shared.module"; -registerLocaleData(localeAf, "af"); -registerLocaleData(localeAr, "ar"); -registerLocaleData(localeAz, "az"); -registerLocaleData(localeBe, "be"); -registerLocaleData(localeBg, "bg"); -registerLocaleData(localeBn, "bn"); -registerLocaleData(localeBs, "bs"); -registerLocaleData(localeCa, "ca"); -registerLocaleData(localeCs, "cs"); -registerLocaleData(localeDa, "da"); -registerLocaleData(localeDe, "de"); -registerLocaleData(localeEl, "el"); -registerLocaleData(localeEnGb, "en-GB"); -registerLocaleData(localeEnIn, "en-IN"); -registerLocaleData(localeEo, "eo"); -registerLocaleData(localeEs, "es"); -registerLocaleData(localeEt, "et"); -registerLocaleData(localeEu, "eu"); -registerLocaleData(localeFa, "fa"); -registerLocaleData(localeFi, "fi"); -registerLocaleData(localeFil, "fil"); -registerLocaleData(localeFr, "fr"); -registerLocaleData(localeHe, "he"); -registerLocaleData(localeHi, "hi"); -registerLocaleData(localeHr, "hr"); -registerLocaleData(localeHu, "hu"); -registerLocaleData(localeId, "id"); -registerLocaleData(localeIt, "it"); -registerLocaleData(localeJa, "ja"); -registerLocaleData(localeKa, "ka"); -registerLocaleData(localeKm, "km"); -registerLocaleData(localeKn, "kn"); -registerLocaleData(localeKo, "ko"); -registerLocaleData(localeLv, "lv"); -registerLocaleData(localeMe, "me"); -registerLocaleData(localeMl, "ml"); -registerLocaleData(localeNb, "nb"); -registerLocaleData(localeNl, "nl"); -registerLocaleData(localeNn, "nn"); -registerLocaleData(localePl, "pl"); -registerLocaleData(localePtBr, "pt-BR"); -registerLocaleData(localePtPt, "pt-PT"); -registerLocaleData(localeRo, "ro"); -registerLocaleData(localeRu, "ru"); -registerLocaleData(localeSi, "si"); -registerLocaleData(localeSk, "sk"); -registerLocaleData(localeSl, "sl"); -registerLocaleData(localeSr, "sr"); -registerLocaleData(localeSv, "sv"); -registerLocaleData(localeTh, "th"); -registerLocaleData(localeTr, "tr"); -registerLocaleData(localeUk, "uk"); -registerLocaleData(localeVi, "vi"); -registerLocaleData(localeZhCn, "zh-CN"); -registerLocaleData(localeZhTw, "zh-TW"); - @NgModule({ imports: [SharedModule, AppRoutingModule, VaultFilterModule], declarations: [ diff --git a/apps/desktop/src/app/locales.ts b/apps/desktop/src/app/locales.ts new file mode 100644 index 00000000000..c8ecfad0b04 --- /dev/null +++ b/apps/desktop/src/app/locales.ts @@ -0,0 +1,112 @@ +import { registerLocaleData } from "@angular/common"; +import localeAf from "@angular/common/locales/af"; +import localeAr from "@angular/common/locales/ar"; +import localeAz from "@angular/common/locales/az"; +import localeBe from "@angular/common/locales/be"; +import localeBg from "@angular/common/locales/bg"; +import localeBn from "@angular/common/locales/bn"; +import localeBs from "@angular/common/locales/bs"; +import localeCa from "@angular/common/locales/ca"; +import localeCs from "@angular/common/locales/cs"; +import localeDa from "@angular/common/locales/da"; +import localeDe from "@angular/common/locales/de"; +import localeEl from "@angular/common/locales/el"; +import localeEnGb from "@angular/common/locales/en-GB"; +import localeEnIn from "@angular/common/locales/en-IN"; +import localeEo from "@angular/common/locales/eo"; +import localeEs from "@angular/common/locales/es"; +import localeEt from "@angular/common/locales/et"; +import localeEu from "@angular/common/locales/eu"; +import localeFa from "@angular/common/locales/fa"; +import localeFi from "@angular/common/locales/fi"; +import localeFil from "@angular/common/locales/fil"; +import localeFr from "@angular/common/locales/fr"; +import localeHe from "@angular/common/locales/he"; +import localeHi from "@angular/common/locales/hi"; +import localeHr from "@angular/common/locales/hr"; +import localeHu from "@angular/common/locales/hu"; +import localeId from "@angular/common/locales/id"; +import localeIt from "@angular/common/locales/it"; +import localeJa from "@angular/common/locales/ja"; +import localeKa from "@angular/common/locales/ka"; +import localeKm from "@angular/common/locales/km"; +import localeKn from "@angular/common/locales/kn"; +import localeKo from "@angular/common/locales/ko"; +import localeLv from "@angular/common/locales/lv"; +import localeMl from "@angular/common/locales/ml"; +import localeNb from "@angular/common/locales/nb"; +import localeNl from "@angular/common/locales/nl"; +import localeNn from "@angular/common/locales/nn"; +import localePl from "@angular/common/locales/pl"; +import localePtBr from "@angular/common/locales/pt"; +import localePtPt from "@angular/common/locales/pt-PT"; +import localeRo from "@angular/common/locales/ro"; +import localeRu from "@angular/common/locales/ru"; +import localeSi from "@angular/common/locales/si"; +import localeSk from "@angular/common/locales/sk"; +import localeSl from "@angular/common/locales/sl"; +import localeSr from "@angular/common/locales/sr"; +import localeMe from "@angular/common/locales/sr-Latn-ME"; +import localeSv from "@angular/common/locales/sv"; +import localeTh from "@angular/common/locales/th"; +import localeTr from "@angular/common/locales/tr"; +import localeUk from "@angular/common/locales/uk"; +import localeVi from "@angular/common/locales/vi"; +import localeZhCn from "@angular/common/locales/zh-Hans"; +import localeZhTw from "@angular/common/locales/zh-Hant"; + +registerLocaleData(localeAf, "af"); +registerLocaleData(localeAr, "ar"); +registerLocaleData(localeAz, "az"); +registerLocaleData(localeBe, "be"); +registerLocaleData(localeBg, "bg"); +registerLocaleData(localeBn, "bn"); +registerLocaleData(localeBs, "bs"); +registerLocaleData(localeCa, "ca"); +registerLocaleData(localeCs, "cs"); +registerLocaleData(localeDa, "da"); +registerLocaleData(localeDe, "de"); +registerLocaleData(localeEl, "el"); +registerLocaleData(localeEnGb, "en-GB"); +registerLocaleData(localeEnIn, "en-IN"); +registerLocaleData(localeEo, "eo"); +registerLocaleData(localeEs, "es"); +registerLocaleData(localeEt, "et"); +registerLocaleData(localeEu, "eu"); +registerLocaleData(localeFa, "fa"); +registerLocaleData(localeFi, "fi"); +registerLocaleData(localeFil, "fil"); +registerLocaleData(localeFr, "fr"); +registerLocaleData(localeHe, "he"); +registerLocaleData(localeHi, "hi"); +registerLocaleData(localeHr, "hr"); +registerLocaleData(localeHu, "hu"); +registerLocaleData(localeId, "id"); +registerLocaleData(localeIt, "it"); +registerLocaleData(localeJa, "ja"); +registerLocaleData(localeKa, "ka"); +registerLocaleData(localeKm, "km"); +registerLocaleData(localeKn, "kn"); +registerLocaleData(localeKo, "ko"); +registerLocaleData(localeLv, "lv"); +registerLocaleData(localeMe, "me"); +registerLocaleData(localeMl, "ml"); +registerLocaleData(localeNb, "nb"); +registerLocaleData(localeNl, "nl"); +registerLocaleData(localeNn, "nn"); +registerLocaleData(localePl, "pl"); +registerLocaleData(localePtBr, "pt-BR"); +registerLocaleData(localePtPt, "pt-PT"); +registerLocaleData(localeRo, "ro"); +registerLocaleData(localeRu, "ru"); +registerLocaleData(localeSi, "si"); +registerLocaleData(localeSk, "sk"); +registerLocaleData(localeSl, "sl"); +registerLocaleData(localeSr, "sr"); +registerLocaleData(localeSv, "sv"); +registerLocaleData(localeTh, "th"); +registerLocaleData(localeTr, "tr"); +registerLocaleData(localeUk, "uk"); +registerLocaleData(localeVi, "vi"); +registerLocaleData(localeZhCn, "zh-CN"); +registerLocaleData(localeZhTw, "zh-TW"); From 96b982f4b831b60df7c0653081da3fd0adfefba0 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Thu, 2 Feb 2023 16:52:05 +0100 Subject: [PATCH 40/99] Fix imports going up to far (#4632) --- apps/desktop/src/app/app.component.ts | 6 +++--- apps/desktop/src/app/app.module.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/app/app.component.ts b/apps/desktop/src/app/app.component.ts index 54d24bb7d8d..b26c33f8314 100644 --- a/apps/desktop/src/app/app.component.ts +++ b/apps/desktop/src/app/app.component.ts @@ -40,15 +40,15 @@ import { InternalFolderService } from "@bitwarden/common/vault/abstractions/fold import { SyncService } from "@bitwarden/common/vault/abstractions/sync/sync.service.abstraction"; import { CipherType } from "@bitwarden/common/vault/enums/cipher-type"; -import { ExportComponent } from "../app/vault/export.component"; -import { GeneratorComponent } from "../app/vault/generator.component"; -import { PasswordGeneratorHistoryComponent } from "../app/vault/password-generator-history.component"; import { MenuUpdateRequest } from "../main/menu/menu.updater"; import { PremiumComponent } from "../vault/app/accounts/premium.component"; import { FolderAddEditComponent } from "../vault/app/vault/folder-add-edit.component"; import { DeleteAccountComponent } from "./accounts/delete-account.component"; import { SettingsComponent } from "./accounts/settings.component"; +import { ExportComponent } from "./vault/export.component"; +import { GeneratorComponent } from "./vault/generator.component"; +import { PasswordGeneratorHistoryComponent } from "./vault/password-generator-history.component"; const BroadcasterSubscriptionId = "AppComponent"; const IdleTimeout = 60000 * 10; // 10 minutes diff --git a/apps/desktop/src/app/app.module.ts b/apps/desktop/src/app/app.module.ts index 52d68fa4282..8cd3a3fdb6f 100644 --- a/apps/desktop/src/app/app.module.ts +++ b/apps/desktop/src/app/app.module.ts @@ -8,10 +8,6 @@ import { NgModule } from "@angular/core"; import { ColorPasswordCountPipe } from "@bitwarden/angular/pipes/color-password-count.pipe"; import { ColorPasswordPipe } from "@bitwarden/angular/pipes/color-password.pipe"; -import { CollectionsComponent } from "../app/vault/collections.component"; -import { ExportComponent } from "../app/vault/export.component"; -import { GeneratorComponent } from "../app/vault/generator.component"; -import { PasswordGeneratorHistoryComponent } from "../app/vault/password-generator-history.component"; import { PremiumComponent } from "../vault/app/accounts/premium.component"; import { PasswordRepromptComponent } from "../vault/app/components/password-reprompt.component"; import { AddEditCustomFieldsComponent } from "../vault/app/vault/add-edit-custom-fields.component"; @@ -53,6 +49,10 @@ import { AddEditComponent as SendAddEditComponent } from "./send/add-edit.compon import { EffluxDatesComponent as SendEffluxDatesComponent } from "./send/efflux-dates.component"; import { SendComponent } from "./send/send.component"; import { SharedModule } from "./shared/shared.module"; +import { CollectionsComponent } from "./vault/collections.component"; +import { ExportComponent } from "./vault/export.component"; +import { GeneratorComponent } from "./vault/generator.component"; +import { PasswordGeneratorHistoryComponent } from "./vault/password-generator-history.component"; @NgModule({ imports: [SharedModule, AppRoutingModule, VaultFilterModule], From 2b6b942f3ee029188367f2f91c8c88bd0e944bc4 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 2 Feb 2023 11:06:34 -0500 Subject: [PATCH 41/99] adjust max iterations for argon2 (#4625) --- apps/web/src/app/settings/change-kdf.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/settings/change-kdf.component.html b/apps/web/src/app/settings/change-kdf.component.html index 0fdc67d04a9..adedb8623ba 100644 --- a/apps/web/src/app/settings/change-kdf.component.html +++ b/apps/web/src/app/settings/change-kdf.component.html @@ -86,8 +86,8 @@ Date: Thu, 2 Feb 2023 16:28:21 +0000 Subject: [PATCH 42/99] [SG-901] Relocate Autofill on page load setting (#4629) * [SG-901] Relocate Autofill on page load setting --- apps/browser/src/popup/app-routing.module.ts | 7 ++ apps/browser/src/popup/app.module.ts | 2 + .../popup/settings/autofill.component.html | 74 ++++++++++++++++++ .../src/popup/settings/autofill.component.ts | 54 +++++++++++++ .../src/popup/settings/options.component.html | 76 ------------------- .../popup/settings/settings.component.html | 8 ++ 6 files changed, 145 insertions(+), 76 deletions(-) create mode 100644 apps/browser/src/popup/settings/autofill.component.html create mode 100644 apps/browser/src/popup/settings/autofill.component.ts diff --git a/apps/browser/src/popup/app-routing.module.ts b/apps/browser/src/popup/app-routing.module.ts index 1969fb564ae..3b5995de27b 100644 --- a/apps/browser/src/popup/app-routing.module.ts +++ b/apps/browser/src/popup/app-routing.module.ts @@ -32,6 +32,7 @@ import { SendAddEditComponent } from "./send/send-add-edit.component"; import { SendGroupingsComponent } from "./send/send-groupings.component"; import { SendTypeComponent } from "./send/send-type.component"; import { DebounceNavigationService } from "./services/debounceNavigationService"; +import { AutofillComponent } from "./settings/autofill.component"; import { ExcludedDomainsComponent } from "./settings/excluded-domains.component"; import { ExportComponent } from "./settings/export.component"; import { FolderAddEditComponent } from "./settings/folder-add-edit.component"; @@ -187,6 +188,12 @@ const routes: Routes = [ canActivate: [AuthGuard], data: { state: "export" }, }, + { + path: "autofill", + component: AutofillComponent, + canActivate: [AuthGuard], + data: { state: "autofill" }, + }, { path: "folders", component: FoldersComponent, diff --git a/apps/browser/src/popup/app.module.ts b/apps/browser/src/popup/app.module.ts index 3d04f79787a..e018375e5cd 100644 --- a/apps/browser/src/popup/app.module.ts +++ b/apps/browser/src/popup/app.module.ts @@ -62,6 +62,7 @@ import { SendGroupingsComponent } from "./send/send-groupings.component"; import { SendTypeComponent } from "./send/send-type.component"; import { ServicesModule } from "./services/services.module"; import { AboutComponent } from "./settings/about.component"; +import { AutofillComponent } from "./settings/autofill.component"; import { ExcludedDomainsComponent } from "./settings/excluded-domains.component"; import { ExportComponent } from "./settings/export.component"; import { FolderAddEditComponent } from "./settings/folder-add-edit.component"; @@ -147,6 +148,7 @@ import { TabsComponent } from "./tabs.component"; RemovePasswordComponent, VaultSelectComponent, AboutComponent, + AutofillComponent, ], providers: [CurrencyPipe, DatePipe], bootstrap: [AppComponent], diff --git a/apps/browser/src/popup/settings/autofill.component.html b/apps/browser/src/popup/settings/autofill.component.html new file mode 100644 index 00000000000..acc9dcbe46b --- /dev/null +++ b/apps/browser/src/popup/settings/autofill.component.html @@ -0,0 +1,74 @@ +
+
+ +
+

+ {{ "autofill" | i18n }} +

+
+
+
+
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+ +
+
diff --git a/apps/browser/src/popup/settings/autofill.component.ts b/apps/browser/src/popup/settings/autofill.component.ts new file mode 100644 index 00000000000..0de3ee425cd --- /dev/null +++ b/apps/browser/src/popup/settings/autofill.component.ts @@ -0,0 +1,54 @@ +import { Component, OnInit } from "@angular/core"; + +import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; +import { StateService } from "@bitwarden/common/abstractions/state.service"; +import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; + +@Component({ + selector: "app-autofill", + templateUrl: "autofill.component.html", +}) +export class AutofillComponent implements OnInit { + enableAutoFillOnPageLoad = false; + autoFillOnPageLoadDefault = false; + autoFillOnPageLoadOptions: any[]; + defaultUriMatch = UriMatchType.Domain; + uriMatchOptions: any[]; + + constructor(private stateService: StateService, i18nService: I18nService) { + this.autoFillOnPageLoadOptions = [ + { name: i18nService.t("autoFillOnPageLoadYes"), value: true }, + { name: i18nService.t("autoFillOnPageLoadNo"), value: false }, + ]; + this.uriMatchOptions = [ + { name: i18nService.t("baseDomain"), value: UriMatchType.Domain }, + { name: i18nService.t("host"), value: UriMatchType.Host }, + { name: i18nService.t("startsWith"), value: UriMatchType.StartsWith }, + { name: i18nService.t("regEx"), value: UriMatchType.RegularExpression }, + { name: i18nService.t("exact"), value: UriMatchType.Exact }, + { name: i18nService.t("never"), value: UriMatchType.Never }, + ]; + } + + async ngOnInit() { + this.enableAutoFillOnPageLoad = await this.stateService.getEnableAutoFillOnPageLoad(); + + this.autoFillOnPageLoadDefault = + (await this.stateService.getAutoFillOnPageLoadDefault()) ?? true; + + const defaultUriMatch = await this.stateService.getDefaultUriMatch(); + this.defaultUriMatch = defaultUriMatch == null ? UriMatchType.Domain : defaultUriMatch; + } + + async updateAutoFillOnPageLoad() { + await this.stateService.setEnableAutoFillOnPageLoad(this.enableAutoFillOnPageLoad); + } + + async updateAutoFillOnPageLoadDefault() { + await this.stateService.setAutoFillOnPageLoadDefault(this.autoFillOnPageLoadDefault); + } + + async saveDefaultUriMatch() { + await this.stateService.setDefaultUriMatch(this.defaultUriMatch); + } +} diff --git a/apps/browser/src/popup/settings/options.component.html b/apps/browser/src/popup/settings/options.component.html index cdf8d93c0c4..3f60d4e68f6 100644 --- a/apps/browser/src/popup/settings/options.component.html +++ b/apps/browser/src/popup/settings/options.component.html @@ -26,25 +26,6 @@
-
-
-
- - -
-
- -
@@ -228,61 +209,4 @@
-
-

- -

-
- -
-
-
- - -
-
- -
-
-
-
- - -
-
- -
-
diff --git a/apps/browser/src/popup/settings/settings.component.html b/apps/browser/src/popup/settings/settings.component.html index 547a03bd57c..d371acc450f 100644 --- a/apps/browser/src/popup/settings/settings.component.html +++ b/apps/browser/src/popup/settings/settings.component.html @@ -11,6 +11,14 @@

{{ "manage" | i18n }}

+ + + + + + + + + + + {{ "loading" | i18n }} + + + +
+ +
+
+ + + + + +
+ +
+
diff --git a/apps/web/src/app/organizations/vault/vault-header/vault-header.component.ts b/apps/web/src/app/organizations/vault/vault-header/vault-header.component.ts new file mode 100644 index 00000000000..a388f63c41e --- /dev/null +++ b/apps/web/src/app/organizations/vault/vault-header/vault-header.component.ts @@ -0,0 +1,243 @@ +import { Component, EventEmitter, Input, Output } from "@angular/core"; +import { Router } from "@angular/router"; +import { firstValueFrom, lastValueFrom } from "rxjs"; + +import { ApiService } from "@bitwarden/common/abstractions/api.service"; +import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; +import { LogService } from "@bitwarden/common/abstractions/log.service"; +import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; +import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; +import { ProductType } from "@bitwarden/common/enums/productType"; +import { Organization } from "@bitwarden/common/models/domain/organization"; +import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; +import { CollectionView } from "@bitwarden/common/models/view/collection.view"; +import { + DialogService, + SimpleDialogCloseType, + SimpleDialogOptions, + SimpleDialogType, +} from "@bitwarden/components"; + +import { VaultFilterService } from "../../../../vault/app/vault/vault-filter/services/abstractions/vault-filter.service"; +import { VaultFilter } from "../../../../vault/app/vault/vault-filter/shared/models/vault-filter.model"; +import { CollectionFilter } from "../../../../vault/app/vault/vault-filter/shared/models/vault-filter.type"; +import { CollectionAdminService, CollectionAdminView } from "../../core"; +import { + CollectionDialogResult, + CollectionDialogTabType, + openCollectionDialog, +} from "../../shared"; + +@Component({ + selector: "app-org-vault-header", + templateUrl: "./vault-header.component.html", +}) +export class VaultHeaderComponent { + /** + * The organization currently being viewed + */ + @Input() organization: Organization; + + /** + * Promise that is used to determine the loading state of the header via the ApiAction directive. + * When the promise exists and is not resolved, the loading spinner will be shown. + */ + @Input() actionPromise: Promise; + + /** + * The filter being actively applied to the vault view + */ + @Input() activeFilter: VaultFilter; + + /** + * Emits when the active filter has been modified by the header + */ + @Output() activeFilterChanged = new EventEmitter(); + + /** + * Emits an event when a collection is modified or deleted via the header collection dropdown menu + */ + @Output() onCollectionChanged = new EventEmitter(); + + /** + * Emits an event when the new item button is clicked in the header + */ + @Output() onAddCipher = new EventEmitter(); + + protected organizations$ = this.organizationService.organizations$; + + constructor( + private organizationService: OrganizationService, + private i18nService: I18nService, + private dialogService: DialogService, + private vaultFilterService: VaultFilterService, + private platformUtilsService: PlatformUtilsService, + private apiService: ApiService, + private logService: LogService, + private collectionAdminService: CollectionAdminService, + private router: Router + ) {} + + /** + * The id of the organization that is currently being filtered on. + * This can come from a collection filter, organization filter, or the current organization when viewed + * in the organization admin console and no other filters are applied. + */ + get activeOrganizationId() { + if (this.activeFilter.selectedCollectionNode != null) { + return this.activeFilter.selectedCollectionNode.node.organizationId; + } + if (this.activeFilter.selectedOrganizationNode != null) { + return this.activeFilter.selectedOrganizationNode.node.id; + } + return this.organization.id; + } + + get title() { + if (this.activeFilter.isCollectionSelected) { + return this.activeFilter.selectedCollectionNode.node.name; + } + if (this.activeFilter.isUnassignedCollectionSelected) { + return this.i18nService.t("unassigned"); + } + return `${this.organization.name} ${this.i18nService.t("vault").toLowerCase()}`; + } + + private showFreeOrgUpgradeDialog(): void { + const orgUpgradeSimpleDialogOpts: SimpleDialogOptions = { + title: this.i18nService.t("upgradeOrganization"), + content: this.i18nService.t( + this.organization.canManageBilling + ? "freeOrgMaxCollectionReachedManageBilling" + : "freeOrgMaxCollectionReachedNoManageBilling", + this.organization.maxCollections + ), + type: SimpleDialogType.PRIMARY, + }; + + if (this.organization.canManageBilling) { + orgUpgradeSimpleDialogOpts.acceptButtonText = this.i18nService.t("upgrade"); + } else { + orgUpgradeSimpleDialogOpts.acceptButtonText = this.i18nService.t("ok"); + orgUpgradeSimpleDialogOpts.cancelButtonText = null; // hide secondary btn + } + + const simpleDialog = this.dialogService.openSimpleDialog(orgUpgradeSimpleDialogOpts); + + firstValueFrom(simpleDialog.closed).then((result: SimpleDialogCloseType | undefined) => { + if (!result) { + return; + } + + if (result == SimpleDialogCloseType.ACCEPT && this.organization.canManageBilling) { + this.router.navigate(["/organizations", this.organization.id, "billing", "subscription"], { + queryParams: { upgrade: true }, + }); + } + }); + } + + applyCollectionFilter(collection: TreeNode) { + const filter = this.activeFilter; + filter.resetFilter(); + filter.selectedCollectionNode = collection; + this.activeFilterChanged.emit(filter); + } + + canEditCollection(c: CollectionAdminView): boolean { + // Only edit collections if we're in the org vault and not editing "Unassigned" + if (this.organization === undefined || c.id === null) { + return false; + } + + // Otherwise, check if we can edit the specified collection + return ( + this.organization.canEditAnyCollection || + (this.organization.canEditAssignedCollections && c.assigned) + ); + } + + addCipher() { + this.onAddCipher.emit(); + } + + async addCollection() { + if (this.organization.planProductType === ProductType.Free) { + const collections = await this.collectionAdminService.getAll(this.organization.id); + if (collections.length === this.organization.maxCollections) { + this.showFreeOrgUpgradeDialog(); + return; + } + } + + const dialog = openCollectionDialog(this.dialogService, { + data: { + organizationId: this.organization?.id, + parentCollectionId: this.activeFilter.collectionId, + }, + }); + const result = await lastValueFrom(dialog.closed); + if (result === CollectionDialogResult.Saved || result === CollectionDialogResult.Deleted) { + this.onCollectionChanged.emit(null); + } + } + + async editCollection(c: CollectionView, tab: "info" | "access"): Promise { + const tabType = tab == "info" ? CollectionDialogTabType.Info : CollectionDialogTabType.Access; + + const dialog = openCollectionDialog(this.dialogService, { + data: { collectionId: c?.id, organizationId: this.organization?.id, initialTab: tabType }, + }); + + const result = await lastValueFrom(dialog.closed); + if (result === CollectionDialogResult.Saved || result === CollectionDialogResult.Deleted) { + this.onCollectionChanged.emit(c); + } + } + + canDeleteCollection(c: CollectionAdminView): boolean { + // Only delete collections if we're in the org vault and not deleting "Unassigned" + if (this.organization === undefined || c.id === null) { + return false; + } + + // Otherwise, check if we can delete the specified collection + return ( + this.organization?.canDeleteAnyCollection || + (this.organization?.canDeleteAssignedCollections && c.assigned) + ); + } + + async deleteCollection(collection: CollectionView): Promise { + if (!this.organization.canDeleteAssignedCollections) { + this.platformUtilsService.showToast( + "error", + this.i18nService.t("errorOccurred"), + this.i18nService.t("missingPermissions") + ); + return; + } + const confirmed = await this.platformUtilsService.showDialog( + this.i18nService.t("deleteCollectionConfirmation"), + collection.name, + this.i18nService.t("yes"), + this.i18nService.t("no"), + "warning" + ); + if (!confirmed) { + return; + } + try { + this.actionPromise = this.apiService.deleteCollection(this.organization?.id, collection.id); + await this.actionPromise; + this.platformUtilsService.showToast( + "success", + null, + this.i18nService.t("deletedCollectionId", collection.name) + ); + this.onCollectionChanged.emit(collection); + } catch (e) { + this.logService.error(e); + } + } +} diff --git a/apps/web/src/app/organizations/vault/vault.component.html b/apps/web/src/app/organizations/vault/vault.component.html index 669bd96c47c..f24d2a4c516 100644 --- a/apps/web/src/app/organizations/vault/vault.component.html +++ b/apps/web/src/app/organizations/vault/vault.component.html @@ -18,65 +18,14 @@
- - - - {{ collection.node.name | i18n }} - {{ collection.node.name }} - - -
-

- {{ "vaultItems" | i18n }} - - - - {{ "loading" | i18n }} - - -

-
- - -
-
+ { + switchMap(async ([qParams]) => { const cipherId = getCipherIdFromParams(qParams); if (!cipherId) { return; @@ -171,68 +157,17 @@ export class VaultComponent implements OnInit, OnDestroy { this.go(); } + async refreshItems() { + this.vaultItemsComponent.actionPromise = this.vaultItemsComponent.refresh(); + await this.vaultItemsComponent.actionPromise; + this.vaultItemsComponent.actionPromise = null; + } + filterSearchText(searchText: string) { this.vaultItemsComponent.searchText = searchText; this.vaultItemsComponent.search(200); } - private showFreeOrgUpgradeDialog(): void { - const orgUpgradeSimpleDialogOpts: SimpleDialogOptions = { - title: this.i18nService.t("upgradeOrganization"), - content: this.i18nService.t( - this.organization.canManageBilling - ? "freeOrgMaxCollectionReachedManageBilling" - : "freeOrgMaxCollectionReachedNoManageBilling", - this.organization.maxCollections - ), - type: SimpleDialogType.PRIMARY, - }; - - if (this.organization.canManageBilling) { - orgUpgradeSimpleDialogOpts.acceptButtonText = this.i18nService.t("upgrade"); - } else { - orgUpgradeSimpleDialogOpts.acceptButtonText = this.i18nService.t("ok"); - orgUpgradeSimpleDialogOpts.cancelButtonText = null; // hide secondary btn - } - - const simpleDialog = this.dialogService.openSimpleDialog(orgUpgradeSimpleDialogOpts); - - firstValueFrom(simpleDialog.closed).then((result: SimpleDialogCloseType | undefined) => { - if (!result) { - return; - } - - if (result == SimpleDialogCloseType.ACCEPT && this.organization.canManageBilling) { - this.router.navigate(["/organizations", this.organization.id, "billing", "subscription"], { - queryParams: { upgrade: true }, - }); - } - }); - } - - async addCollection() { - if (this.organization.planProductType === ProductType.Free) { - const collections = await this.collectionAdminService.getAll(this.organization.id); - if (collections.length === this.organization.maxCollections) { - this.showFreeOrgUpgradeDialog(); - return; - } - } - - const dialog = openCollectionDialog(this.dialogService, { - data: { - organizationId: this.organization?.id, - parentCollectionId: this.activeFilter.collectionId, - }, - }); - const result = await lastValueFrom(dialog.closed); - if (result === CollectionDialogResult.Saved || result === CollectionDialogResult.Deleted) { - this.vaultItemsComponent.actionPromise = this.vaultItemsComponent.refresh(); - await this.vaultItemsComponent.actionPromise; - this.vaultItemsComponent.actionPromise = null; - } - } - async editCipherAttachments(cipher: CipherView) { if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) { this.messagingService.send("upgradeOrganization", { organizationId: cipher.organizationId }); @@ -362,26 +297,6 @@ export class VaultComponent implements OnInit, OnDestroy { }); } - get breadcrumbs(): TreeNode[] { - if (!this.activeFilter.selectedCollectionNode) { - return []; - } - - const collections = [this.activeFilter.selectedCollectionNode]; - while (collections[collections.length - 1].parent != undefined) { - collections.push(collections[collections.length - 1].parent); - } - - return collections.map((c) => c).reverse(); - } - - protected applyCollectionFilter(collection: TreeNode) { - const filter = this.activeFilter; - filter.resetFilter(); - filter.selectedCollectionNode = collection; - this.applyVaultFilter(filter); - } - private go(queryParams: any = null) { if (queryParams == null) { queryParams = { diff --git a/apps/web/src/app/organizations/vault/vault.module.ts b/apps/web/src/app/organizations/vault/vault.module.ts index 9bd25cb761e..b7a769237ab 100644 --- a/apps/web/src/app/organizations/vault/vault.module.ts +++ b/apps/web/src/app/organizations/vault/vault.module.ts @@ -10,6 +10,7 @@ import { SharedModule } from "../../shared/shared.module"; import { CollectionBadgeModule } from "./collection-badge/collection-badge.module"; import { GroupBadgeModule } from "./group-badge/group-badge.module"; import { VaultFilterModule } from "./vault-filter/vault-filter.module"; +import { VaultHeaderComponent } from "./vault-header/vault-header.component"; import { VaultItemsComponent } from "./vault-items.component"; import { VaultRoutingModule } from "./vault-routing.module"; import { VaultComponent } from "./vault.component"; @@ -26,7 +27,7 @@ import { VaultComponent } from "./vault.component"; PipesModule, BreadcrumbsModule, ], - declarations: [VaultComponent, VaultItemsComponent], + declarations: [VaultComponent, VaultItemsComponent, VaultHeaderComponent], exports: [VaultComponent], }) export class VaultModule {} diff --git a/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html b/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html index c01d1102258..2759ef077d1 100644 --- a/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html +++ b/apps/web/src/vault/app/vault/vault-filter/shared/components/vault-filter-section.component.html @@ -17,7 +17,7 @@ +
+
diff --git a/apps/web/src/vault/app/vault/vault-header/vault-header.component.ts b/apps/web/src/vault/app/vault/vault-header/vault-header.component.ts new file mode 100644 index 00000000000..cd6e480f5da --- /dev/null +++ b/apps/web/src/vault/app/vault/vault-header/vault-header.component.ts @@ -0,0 +1,85 @@ +import { Component, EventEmitter, Input, Output } from "@angular/core"; + +import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; +import { OrganizationService } from "@bitwarden/common/abstractions/organization/organization.service.abstraction"; +import { TreeNode } from "@bitwarden/common/models/domain/tree-node"; + +import { VaultFilter } from "../vault-filter/shared/models/vault-filter.model"; +import { CollectionFilter } from "../vault-filter/shared/models/vault-filter.type"; + +@Component({ + selector: "app-vault-header", + templateUrl: "./vault-header.component.html", +}) +export class VaultHeaderComponent { + /** + * Promise that is used to determine the loading state of the header via the ApiAction directive. + * When the promise exists and is not resolved, the loading spinner will be shown. + */ + @Input() actionPromise: Promise; + + /** + * The filter being actively applied to the vault view + */ + @Input() activeFilter: VaultFilter; + + /** + * Emits when the active filter has been modified by the header + */ + @Output() activeFilterChanged = new EventEmitter(); + + /** + * Emits an event when the new item button is clicked in the header + */ + @Output() onAddCipher = new EventEmitter(); + + organizations$ = this.organizationService.organizations$; + + constructor(private organizationService: OrganizationService, private i18nService: I18nService) {} + + /** + * The id of the organization that is currently being filtered on. + * This can come from a collection filter or organization filter, if applied. + */ + get activeOrganizationId() { + if (this.activeFilter.selectedCollectionNode != null) { + return this.activeFilter.selectedCollectionNode.node.organizationId; + } + if (this.activeFilter.selectedOrganizationNode != null) { + return this.activeFilter.selectedOrganizationNode.node.id; + } + return undefined; + } + + get title() { + if (this.activeFilter.isCollectionSelected) { + if (this.activeFilter.isUnassignedCollectionSelected) { + return this.i18nService.t("unassigned"); + } + return this.activeFilter.selectedCollectionNode.node.name; + } + + if (this.activeFilter.isMyVaultSelected) { + return this.i18nService.t("myVault"); + } + + if (this.activeFilter?.selectedOrganizationNode != null) { + return `${this.activeFilter.selectedOrganizationNode.node.name} ${this.i18nService + .t("vault") + .toLowerCase()}`; + } + + return this.i18nService.t("allVaults"); + } + + applyCollectionFilter(collection: TreeNode) { + const filter = this.activeFilter; + filter.resetFilter(); + filter.selectedCollectionNode = collection; + this.activeFilterChanged.emit(filter); + } + + addCipher() { + this.onAddCipher.emit(); + } +} diff --git a/apps/web/src/vault/app/vault/vault.component.html b/apps/web/src/vault/app/vault/vault.component.html index 4cfee0d2fbf..ceb82cfa38c 100644 --- a/apps/web/src/vault/app/vault/vault.component.html +++ b/apps/web/src/vault/app/vault/vault.component.html @@ -17,43 +17,12 @@
- - - - {{ collection.node.name | i18n }} - {{ collection.node.name }} - - -
-

- {{ "vaultItems" | i18n }} - - - - {{ "loading" | i18n }} - - -

-
- -
-
+ {{ trashCleanupWarning }} diff --git a/apps/web/src/vault/app/vault/vault.component.ts b/apps/web/src/vault/app/vault/vault.component.ts index b58d53d8ff0..37204662120 100644 --- a/apps/web/src/vault/app/vault/vault.component.ts +++ b/apps/web/src/vault/app/vault/vault.component.ts @@ -38,11 +38,7 @@ import { ShareComponent } from "./share.component"; import { VaultFilterComponent } from "./vault-filter/components/vault-filter.component"; import { VaultFilterService } from "./vault-filter/services/abstractions/vault-filter.service"; import { VaultFilter } from "./vault-filter/shared/models/vault-filter.model"; -import { - CollectionFilter, - FolderFilter, - OrganizationFilter, -} from "./vault-filter/shared/models/vault-filter.type"; +import { FolderFilter, OrganizationFilter } from "./vault-filter/shared/models/vault-filter.type"; import { VaultItemsComponent } from "./vault-items.component"; const BroadcasterSubscriptionId = "VaultComponent"; @@ -394,26 +390,6 @@ export class VaultComponent implements OnInit, OnDestroy { return kdfType === KdfType.PBKDF2_SHA256 && kdfOptions.iterations < DEFAULT_PBKDF2_ITERATIONS; } - get breadcrumbs(): TreeNode[] { - if (!this.activeFilter.selectedCollectionNode) { - return []; - } - - const collections = [this.activeFilter.selectedCollectionNode]; - while (collections[collections.length - 1].parent != undefined) { - collections.push(collections[collections.length - 1].parent); - } - - return collections.map((c) => c).reverse(); - } - - protected applyCollectionFilter(collection: TreeNode) { - const filter = this.activeFilter; - filter.resetFilter(); - filter.selectedCollectionNode = collection; - this.applyVaultFilter(filter); - } - private go(queryParams: any = null) { if (queryParams == null) { queryParams = { diff --git a/apps/web/src/vault/app/vault/vault.module.ts b/apps/web/src/vault/app/vault/vault.module.ts index 4b3cdac4d0d..8d03a3cc00a 100644 --- a/apps/web/src/vault/app/vault/vault.module.ts +++ b/apps/web/src/vault/app/vault/vault.module.ts @@ -4,12 +4,13 @@ import { BreadcrumbsModule } from "@bitwarden/components"; import { CollectionBadgeModule } from "../../../app/organizations/vault/collection-badge/collection-badge.module"; import { GroupBadgeModule } from "../../../app/organizations/vault/group-badge/group-badge.module"; -import { SharedModule, LooseComponentsModule } from "../../../app/shared"; +import { LooseComponentsModule, SharedModule } from "../../../app/shared"; import { BulkDialogsModule } from "./bulk-action-dialogs/bulk-dialogs.module"; import { OrganizationBadgeModule } from "./organization-badge/organization-badge.module"; import { PipesModule } from "./pipes/pipes.module"; import { VaultFilterModule } from "./vault-filter/vault-filter.module"; +import { VaultHeaderComponent } from "./vault-header/vault-header.component"; import { VaultItemsComponent } from "./vault-items.component"; import { VaultRoutingModule } from "./vault-routing.module"; import { VaultComponent } from "./vault.component"; @@ -27,7 +28,7 @@ import { VaultComponent } from "./vault.component"; BulkDialogsModule, BreadcrumbsModule, ], - declarations: [VaultComponent, VaultItemsComponent], + declarations: [VaultComponent, VaultItemsComponent, VaultHeaderComponent], exports: [VaultComponent], }) export class VaultModule {} From cc5c753e309facfe5fa21c1349e3f38becbbb7cd Mon Sep 17 00:00:00 2001 From: Thomas Rittson <31796059+eliykat@users.noreply.github.com> Date: Fri, 3 Feb 2023 07:27:08 +1000 Subject: [PATCH 45/99] [EC-1051] Add TailwindCSS linting rules (#4605) --- .eslintrc.json | 15 +++++++++-- .../login/login-with-device.component.html | 2 ++ .../register-form.component.html | 2 ++ .../trial-initiation.component.html | 1 + .../vertical-step-content.component.html | 1 + .../user-verification-prompt.component.html | 2 +- .../access-selector.component.html | 4 ++- .../app/settings/change-avatar.component.html | 6 +++-- .../tools/import-export/export.component.html | 6 +++-- .../file-password-prompt.component.html | 8 +++--- .../vault/app/vault/add-edit.component.html | 2 +- .../dialog/secret-dialog.component.html | 1 + .../components/src/table/table.component.html | 2 ++ package-lock.json | 27 +++++++++++++++++++ package.json | 1 + 15 files changed, 68 insertions(+), 12 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 1bd7b04f21e..8bbf78df51c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -111,9 +111,20 @@ { "files": ["*.html"], "parser": "@angular-eslint/template-parser", - "plugins": ["@angular-eslint/template"], + "plugins": ["@angular-eslint/template", "tailwindcss"], "rules": { - "@angular-eslint/template/button-has-type": "error" + "@angular-eslint/template/button-has-type": "error", + "tailwindcss/no-custom-classname": [ + "error", + { + // uses negative lookahead to whitelist any class that doesn't start with "tw-" + // in other words: classnames that start with tw- must be valid TailwindCSS classes + "whitelist": ["(?!(tw)\\-).*"] + } + ], + "tailwindcss/enforces-negative-arbitrary-values": "error", + "tailwindcss/enforces-shorthand": "error", + "tailwindcss/no-contradicting-classname": "error" } }, { diff --git a/apps/web/src/app/accounts/login/login-with-device.component.html b/apps/web/src/app/accounts/login/login-with-device.component.html index 3e5f48d597c..84598b11ff4 100644 --- a/apps/web/src/app/accounts/login/login-with-device.component.html +++ b/apps/web/src/app/accounts/login/login-with-device.component.html @@ -1,3 +1,5 @@ + +
diff --git a/apps/web/src/app/accounts/register-form/register-form.component.html b/apps/web/src/app/accounts/register-form/register-form.component.html index 614fcbccdac..c18635079ea 100644 --- a/apps/web/src/app/accounts/register-form/register-form.component.html +++ b/apps/web/src/app/accounts/register-form/register-form.component.html @@ -1,3 +1,5 @@ + + +

{{ "createAccount" | i18n }}

+