From 0343d50245506374d26dea62a8d8ffd7405172f4 Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Fri, 22 Mar 2024 08:28:15 -0400 Subject: [PATCH 1/7] SM-1159: Rename service accounts to machine accounts. Visible text only. --- .../sm-adjust-subscription.component.html | 12 +-- .../shared/sm-subscribe.component.html | 10 +- apps/web/src/locales/en/messages.json | 92 +++++++++++++++++++ .../layout/navigation.component.html | 2 +- .../project-service-accounts.component.html | 10 +- .../projects/project/project.component.html | 2 +- ...rvice-account-delete-dialog.component.html | 2 +- ...service-account-delete-dialog.component.ts | 12 +-- .../service-account-dialog.component.ts | 2 +- .../service-account.component.html | 2 +- .../service-accounts-list.component.html | 6 +- .../service-accounts.component.html | 2 +- 12 files changed, 123 insertions(+), 31 deletions(-) diff --git a/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html b/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html index c10ef9af2866..1607e33b25ac 100644 --- a/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html +++ b/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html @@ -33,7 +33,7 @@ - {{ "additionalServiceAccounts" | i18n }} + {{ "additionalMachineAccounts" | i18n }}
- {{ "includedServiceAccounts" | i18n: options.baseServiceAccountCount }} - {{ "addAdditionalServiceAccounts" | i18n: (monthlyServiceAccountPrice | currency: "$") }} + {{ "includedMachineAccounts" | i18n: options.baseServiceAccountCount }} + {{ "addAdditionalMachineAccounts" | i18n: (monthlyServiceAccountPrice | currency: "$") }}
{{ "total" | i18n }}: @@ -56,7 +56,7 @@ - {{ "limitServiceAccounts" | i18n }} + {{ "limitMachineAccounts" | i18n }} - {{ "limitServiceAccountsDesc" | i18n }} + {{ "limitMachineAccountsDesc" | i18n }} @@ -79,7 +79,7 @@ />
- {{ "includedServiceAccounts" | i18n: options.baseServiceAccountCount }} + {{ "includedMachineAccounts" | i18n: options.baseServiceAccountCount }}
{{ "maxServiceAccountCost" | i18n }}: {{ maxAdditionalServiceAccounts }} × diff --git a/apps/web/src/app/billing/shared/sm-subscribe.component.html b/apps/web/src/app/billing/shared/sm-subscribe.component.html index c9243e29a6f6..c91018426a77 100644 --- a/apps/web/src/app/billing/shared/sm-subscribe.component.html +++ b/apps/web/src/app/billing/shared/sm-subscribe.component.html @@ -20,10 +20,10 @@

{{ "secretsManagerForPlan" | i18n: planName }}

  • {{ "unlimitedProjects" | i18n }}
  • -
  • {{ "serviceAccountsIncluded" | i18n: serviceAccountsIncluded }}
  • +
  • {{ "machineAccountsIncluded" | i18n: machineAccountsIncluded }}
  • {{ - "additionalServiceAccountCost" | i18n: (monthlyCostPerServiceAccount | currency: "$") + "additionalMachineAccountCost" | i18n: (monthlyCostPerServiceAccount | currency: "$") }}
  • @@ -54,12 +54,12 @@

    {{ "secretsManagerForPlan" | i18n: planName }}

    - {{ "additionalServiceAccounts" | i18n }} + {{ "additionalMachineAccounts" | i18n }} - {{ "includedServiceAccounts" | i18n: serviceAccountsIncluded }} + {{ "includedMachineAccounts" | i18n: machineAccountsIncluded }} {{ - "addAdditionalServiceAccounts" | i18n: (monthlyCostPerServiceAccount | currency: "$") + "addAdditionalMachineAccounts" | i18n: (monthlyCostPerServiceAccount | currency: "$") }} diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 34e3c5d75489..9721db0fb1e0 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7605,5 +7605,97 @@ }, "restrictedCollectionAccess": { "message": "You cannot add yourself to collections." + }, + "machineAccountsCannotCreate": { + "message": "Machine accounts cannot be created in suspended organizations. Please contact your organization owner for assistance." + }, + "machineAccounts": { + "message": "Machine accounts", + "description": "The title for the section that deals with machine accounts." + }, + "machineAccountsNoItemsMessage": { + "message": "Create a new machine account to get started automating secret access.", + "description": "Message to encourage the user to start creating machine accounts." + }, + "machineAccountsNoItemsTitle": { + "message": "Nothing to show yet", + "description": "Title to indicate that there are no machine accounts to display." + }, + "deleteMachineAccounts": { + "message": "Delete machine accounts", + "description": "Title for the action to delete one or multiple machine accounts." + }, + "deleteMachineAccountsDialogMessage": { + "message": "Deleting machine accounts is permanent and irreversible." + }, + "deleteMachineAccountsConfirmMessage": { + "message": "Delete $COUNT$ machine accounts", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "deleteMachineAccountsToast": { + "message": "Machine accounts deleted" + }, + "searchMachineAccounts": { + "message": "Search machine accounts", + "description": "Placeholder text for searching machine accounts." + }, + "projectMachineAccountsDescription": { + "message": "Grant machine accounts access to this project." + }, + "projectMachineAccountsSelectHint": { + "message": "Type or select machine accounts" + }, + "projectEmptyMachineAccountAccessPolicies": { + "message": "Add machine accounts to grant access" + }, + "machineAccountsIncluded": { + "message": "$COUNT$ machine accounts included", + "placeholders": { + "count": { + "content": "$1", + "example": "3" + } + } + }, + "additionalMachineAccountCost": { + "message": "$COST$ per month for additional machine accounts", + "placeholders": { + "cost": { + "content": "$1", + "example": "$0.50" + } + } + }, + "additionalMachineAccounts": { + "message": "Additional machine accounts" + }, + "includedMachineAccounts": { + "message": "Your plan comes with $COUNT$ machine accounts.", + "placeholders": { + "count": { + "content": "$1", + "example": "50" + } + } + }, + "addAdditionalMachineAccounts": { + "message": "You can add additional machine accounts for $COST$ per month.", + "placeholders": { + "cost": { + "content": "$1", + "example": "$0.50" + } + } + }, + "limitMachineAccounts": { + "message": "Limit machine accounts (optional)" + }, + "limitMachineAccountsDesc": { + "message": "Set a limit for your machine accounts. Once this limit is reached, you will not be able to create new machine accounts." } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/layout/navigation.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/layout/navigation.component.html index 51a163377d97..ea350c7956b8 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/layout/navigation.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/layout/navigation.component.html @@ -18,7 +18,7 @@ > diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-service-accounts.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-service-accounts.component.html index 2755377d2a03..443711fd3663 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-service-accounts.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/projects/project/project-service-accounts.component.html @@ -1,14 +1,14 @@

    - {{ "projectServiceAccountsDescription" | i18n }} + {{ "projectMachineAccountsDescription" | i18n }}

    {{ "secrets" | i18n }} {{ "people" | i18n }} - {{ "serviceAccounts" | i18n }} + {{ "machineAccounts" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.html index 9af348370371..5ef2be8ade60 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.html @@ -8,7 +8,7 @@ {{ data.serviceAccounts.length }} - {{ "serviceAccounts" | i18n }} + {{ "machineAccounts" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts index 3d136aa92aae..0d42dcd4d50a 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts @@ -44,13 +44,13 @@ export class ServiceAccountDeleteDialogComponent { get title() { return this.data.serviceAccounts.length === 1 ? this.i18nService.t("deleteServiceAccount") - : this.i18nService.t("deleteServiceAccounts"); + : this.i18nService.t("deleteMachineAccounts"); } get dialogContent() { return this.data.serviceAccounts.length === 1 ? this.i18nService.t("deleteServiceAccountDialogMessage", this.data.serviceAccounts[0].name) - : this.i18nService.t("deleteServiceAccountsDialogMessage"); + : this.i18nService.t("deleteMachineAccountsDialogMessage"); } get dialogConfirmationLabel() { @@ -80,15 +80,15 @@ export class ServiceAccountDeleteDialogComponent { const message = this.data.serviceAccounts.length === 1 ? "deleteServiceAccountToast" - : "deleteServiceAccountsToast"; + : "deleteMachineAccountsToast"; this.platformUtilsService.showToast("success", null, this.i18nService.t(message)); } openBulkStatusDialog(bulkStatusResults: BulkOperationStatus[]) { this.dialogService.open(BulkStatusDialogComponent, { data: { - title: "deleteServiceAccounts", - subTitle: "serviceAccounts", + title: "deleteMachineAccounts", + subTitle: "machineAccounts", columnTitle: "serviceAccountName", message: "bulkDeleteProjectsErrorMessage", details: bulkStatusResults, @@ -100,7 +100,7 @@ export class ServiceAccountDeleteDialogComponent { return this.data.serviceAccounts?.length === 1 ? this.i18nService.t("deleteProjectConfirmMessage", this.data.serviceAccounts[0].name) : this.i18nService.t( - "deleteServiceAccountsConfirmMessage", + "deleteMachineAccountsConfirmMessage", this.data.serviceAccounts?.length.toString(), ); } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts index 9aa7c658f308..03ff3b10d3e7 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts @@ -69,7 +69,7 @@ export class ServiceAccountDialogComponent { this.platformUtilsService.showToast( "error", null, - this.i18nService.t("serviceAccountsCannotCreate"), + this.i18nService.t("machineAccountsCannotCreate"), ); return; } 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 2cda63c02f02..00b5201a657b 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 @@ -5,7 +5,7 @@ > {{ - "serviceAccounts" | i18n + "machineAccounts" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts-list.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts-list.component.html index fb8d953e107b..3af3835f6991 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts-list.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts-list.component.html @@ -3,8 +3,8 @@
    - {{ "serviceAccountsNoItemsTitle" | i18n }} - {{ "serviceAccountsNoItemsMessage" | i18n }} + {{ "machineAccountsNoItemsTitle" | i18n }} + {{ "machineAccountsNoItemsMessage" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts.component.html index 92ebcdbaac9c..d7a4f2c747dc 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/service-accounts.component.html @@ -1,6 +1,6 @@ From 1b8d4700b51efb0d4fe853cb2dc43c2ff67ed57b Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Fri, 22 Mar 2024 09:15:17 -0400 Subject: [PATCH 2/7] SM-1159: Second round of adding service to machine account renames --- .../organizations/manage/events.component.ts | 2 +- .../shared/sm-subscribe.component.html | 4 +- apps/web/src/locales/en/messages.json | 45 +++++++++++++++++++ ...service-account-delete-dialog.component.ts | 8 ++-- .../service-account-dialog.component.html | 2 +- .../service-account-dialog.component.ts | 2 +- .../service-accounts-events.component.ts | 2 +- .../service-account-people.component.html | 2 +- .../service-account-projects.component.html | 4 +- .../service-account.component.ts | 2 +- .../service-accounts-list.component.html | 8 ++-- .../shared/new-menu.component.html | 2 +- 12 files changed, 64 insertions(+), 19 deletions(-) diff --git a/apps/web/src/app/admin-console/organizations/manage/events.component.ts b/apps/web/src/app/admin-console/organizations/manage/events.component.ts index 20a0ef6e4279..9fb90151552b 100644 --- a/apps/web/src/app/admin-console/organizations/manage/events.component.ts +++ b/apps/web/src/app/admin-console/organizations/manage/events.component.ts @@ -154,7 +154,7 @@ export class EventsComponent extends BaseEventsComponent implements OnInit, OnDe if (r.serviceAccountId) { return { - name: this.i18nService.t("serviceAccount") + " " + this.getShortId(r.serviceAccountId), + name: this.i18nService.t("machineAccount") + " " + this.getShortId(r.serviceAccountId), }; } diff --git a/apps/web/src/app/billing/shared/sm-subscribe.component.html b/apps/web/src/app/billing/shared/sm-subscribe.component.html index c91018426a77..6cdaeb9476de 100644 --- a/apps/web/src/app/billing/shared/sm-subscribe.component.html +++ b/apps/web/src/app/billing/shared/sm-subscribe.component.html @@ -20,7 +20,7 @@

    {{ "secretsManagerForPlan" | i18n: planName }}

  • {{ "unlimitedProjects" | i18n }}
  • -
  • {{ "machineAccountsIncluded" | i18n: machineAccountsIncluded }}
  • +
  • {{ "machineAccountsIncluded" | i18n: serviceAccountsIncluded }}
  • {{ "additionalMachineAccountCost" | i18n: (monthlyCostPerServiceAccount | currency: "$") @@ -57,7 +57,7 @@

    {{ "secretsManagerForPlan" | i18n: planName }}

    {{ "additionalMachineAccounts" | i18n }} - {{ "includedMachineAccounts" | i18n: machineAccountsIncluded }} + {{ "includedMachineAccounts" | i18n: serviceAccountsIncluded }} {{ "addAdditionalMachineAccounts" | i18n: (monthlyCostPerServiceAccount | currency: "$") }} diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 9721db0fb1e0..1bd0533bd728 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7697,5 +7697,50 @@ }, "limitMachineAccountsDesc": { "message": "Set a limit for your machine accounts. Once this limit is reached, you will not be able to create new machine accounts." + }, + "viewMachineAccount": { + "message": "View machine account", + "description": "Action to view the details of a machine account." + }, + "editMachineAccount": { + "message": "Edit machine account", + "description": "Title for editing a machine account." + }, + "deleteMachineAccount": { + "message": "Delete machine account", + "description": "Title for the action to delete a single machine account." + }, + "deleteMachineAccountDialogMessage": { + "message": "Deleting machine account $SERVICE_ACCOUNT$ is permanent and irreversible.", + "placeholders": { + "service_account": { + "content": "$1", + "example": "Machine account name" + } + } + }, + "deleteMachineAccountToast": { + "message": "machine account deleted" + }, + "newMachineAccount": { + "message": "New machine account", + "description": "Title for creating a new machine account." + }, + "machineAccount": { + "message": "Machine account", + "description": "A machine user which can be used to automate processes and access secrets in the system." + }, + "machineAccountName": { + "message": "Machine account name", + "description": "Label for the name of a machine account" + }, + "machineAccountPeopleDescription": { + "message": "Grant groups or people access to this machine account." + }, + "machineAccountProjectsDescription": { + "message": "Assign projects to this machine account. " + }, + "machineAccountEmptyProjectAccessPolicies": { + "message": "Add projects to grant access" } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts index 0d42dcd4d50a..b31ef03d12d4 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-delete-dialog.component.ts @@ -43,13 +43,13 @@ export class ServiceAccountDeleteDialogComponent { get title() { return this.data.serviceAccounts.length === 1 - ? this.i18nService.t("deleteServiceAccount") + ? this.i18nService.t("deleteMachineAccount") : this.i18nService.t("deleteMachineAccounts"); } get dialogContent() { return this.data.serviceAccounts.length === 1 - ? this.i18nService.t("deleteServiceAccountDialogMessage", this.data.serviceAccounts[0].name) + ? this.i18nService.t("deleteMachineAccountDialogMessage", this.data.serviceAccounts[0].name) : this.i18nService.t("deleteMachineAccountsDialogMessage"); } @@ -79,7 +79,7 @@ export class ServiceAccountDeleteDialogComponent { const message = this.data.serviceAccounts.length === 1 - ? "deleteServiceAccountToast" + ? "deleteMachineAccountToast" : "deleteMachineAccountsToast"; this.platformUtilsService.showToast("success", null, this.i18nService.t(message)); } @@ -89,7 +89,7 @@ export class ServiceAccountDeleteDialogComponent { data: { title: "deleteMachineAccounts", subTitle: "machineAccounts", - columnTitle: "serviceAccountName", + columnTitle: "machineAccountName", message: "bulkDeleteProjectsErrorMessage", details: bulkStatusResults, }, diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.html index 55f6ff4da144..006434153740 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.html @@ -7,7 +7,7 @@
  • - {{ "serviceAccountName" | i18n }} + {{ "machineAccountName" | i18n }}
    diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts index 03ff3b10d3e7..4e953d046cfc 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/dialog/service-account-dialog.component.ts @@ -107,6 +107,6 @@ export class ServiceAccountDialogComponent { } get title() { - return this.data.operation === OperationType.Add ? "newServiceAccount" : "editServiceAccount"; + return this.data.operation === OperationType.Add ? "newMachineAccount" : "editMachineAccount"; } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/event-logs/service-accounts-events.component.ts b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/event-logs/service-accounts-events.component.ts index 1ef71811a16e..554e7fa37d7a 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/event-logs/service-accounts-events.component.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/event-logs/service-accounts-events.component.ts @@ -65,7 +65,7 @@ export class ServiceAccountEventsComponent extends BaseEventsComponent implement protected getUserName() { return { - name: this.i18nService.t("serviceAccount") + " " + this.serviceAccountId, + name: this.i18nService.t("machineAccount") + " " + this.serviceAccountId, email: "", }; } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/people/service-account-people.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/people/service-account-people.component.html index 79c8132bbc35..074fa8ca0046 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/people/service-account-people.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/people/service-account-people.component.html @@ -1,7 +1,7 @@

    - {{ "serviceAccountPeopleDescription" | i18n }} + {{ "machineAccountPeopleDescription" | i18n }}

    - {{ "serviceAccountProjectsDescription" | i18n }} + {{ "machineAccountProjectsDescription" | i18n }}

    - {{ "newServiceAccount" | i18n }} + {{ "newMachineAccount" | i18n }} @@ -80,16 +80,16 @@ - {{ "viewServiceAccount" | i18n }} + {{ "viewMachineAccount" | i18n }} diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/shared/new-menu.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/shared/new-menu.component.html index 528514e678a4..457eff37fac5 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/shared/new-menu.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/shared/new-menu.component.html @@ -19,6 +19,6 @@ From 7068290383244621b70875a07c5e17d095ff5891 Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Fri, 22 Mar 2024 10:22:46 -0400 Subject: [PATCH 3/7] SM-1159: Change title --- .../bit-web/src/app/secrets-manager/sm-routing.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/sm-routing.module.ts b/bitwarden_license/bit-web/src/app/secrets-manager/sm-routing.module.ts index 0cad3129a406..f9ddcdad78d2 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/sm-routing.module.ts +++ b/bitwarden_license/bit-web/src/app/secrets-manager/sm-routing.module.ts @@ -58,7 +58,7 @@ const routes: Routes = [ path: "service-accounts", loadChildren: () => ServiceAccountsModule, data: { - titleId: "serviceAccounts", + titleId: "machineAccounts", }, }, { From ec568205cf51dc32acafdf33bed1323591abbd4a Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Fri, 22 Mar 2024 19:25:27 -0400 Subject: [PATCH 4/7] SM-1159: Fix typo --- apps/web/src/locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index f2aec139ad61..4ede476b8a65 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7604,7 +7604,7 @@ "message": "You cannot add yourself to groups." }, "restrictedCollectionAccess": { - "message": "You cannot add yourself to collectiSons." + "message": "You cannot add yourself to collections." }, "assign": { "message": "Assign" From b08a8455f422a8f3aa2afbc0fa4eae4718b5d012 Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Mon, 25 Mar 2024 15:57:00 -0400 Subject: [PATCH 5/7] SM-1159: Add more keys --- .../sm-adjust-subscription.component.html | 4 +-- .../onboarding/onboarding.stories.ts | 2 +- apps/web/src/locales/en/messages.json | 33 +++++++++++++++++++ .../overview/overview.component.html | 2 +- .../service-account-dialog.component.ts | 4 +-- .../service-account-people.component.ts | 8 ++--- .../service-account-projects.component.html | 2 +- 7 files changed, 44 insertions(+), 11 deletions(-) diff --git a/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html b/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html index 1607e33b25ac..4c8ea282849b 100644 --- a/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html +++ b/apps/web/src/app/billing/organizations/sm-adjust-subscription.component.html @@ -68,7 +68,7 @@ - {{ "serviceAccountLimit" | i18n }} + {{ "machineAccountLimit" | i18n }} {{ "includedMachineAccounts" | i18n: options.baseServiceAccountCount }}
    - {{ "maxServiceAccountCost" | i18n }}: + {{ "maxMachineAccountCost" | i18n }}: {{ maxAdditionalServiceAccounts }} × {{ options.additionalServiceAccountPrice | currency: "$" }} = {{ maxServiceAccountTotalCost | currency: "$" }} / {{ options.interval | i18n }} diff --git a/apps/web/src/app/shared/components/onboarding/onboarding.stories.ts b/apps/web/src/app/shared/components/onboarding/onboarding.stories.ts index c1529dc81e87..4088b7335cdd 100644 --- a/apps/web/src/app/shared/components/onboarding/onboarding.stories.ts +++ b/apps/web/src/app/shared/components/onboarding/onboarding.stories.ts @@ -39,7 +39,7 @@ const Template: Story = (args) => ({ template: ` diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 4ede476b8a65..639c3f47bd9a 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7779,5 +7779,38 @@ }, "machineAccountEmptyProjectAccessPolicies": { "message": "Add projects to grant access" + }, + "machineAccountLimit": { + "message": "Machine account limit (optional)" + }, + "maxMachineAccountCost": { + "message": "Max potential machine account cost" + }, + "createMachineAccount": { + "message": "Create a machine account" + }, + "machineAccountAccessUpdated": { + "message": "Machine account access updated" + }, + "machineAccountCreated": { + "message": "Machine account created", + "description": "Notifies that a new machine account has been created" + }, + "machineAccountUpdated": { + "message": "Machine account updated", + "description": "Notifies that a machine account has been updated" + }, + "newMaSelectAccess": { + "message": "Type or select projects or secrets", + "description": "Instructions for selecting projects or secrets for a new machine account" + }, + "maPeopleWarningMessage": { + "message": "Removing people from a machine account does not remove the access tokens they created. For security best practice, it is recommended to revoke access tokens created by people removed from a machine account." + }, + "smAccessRemovalWarningMaTitle": { + "message": "Remove access to this machine account" + }, + "smAccessRemovalWarningMaMessage": { + "message": "This action will remove your access to the machine account." } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.html index 04d705af2371..255877e4e8d6 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/overview/overview.component.html @@ -5,7 +5,7 @@
    { const confirmed = await this.dialogService.openSimpleDialog({ - title: { key: "smAccessRemovalWarningSaTitle" }, - content: { key: "smAccessRemovalWarningSaMessage" }, + title: { key: "smAccessRemovalWarningMaTitle" }, + content: { key: "smAccessRemovalWarningMaMessage" }, acceptButtonText: { key: "removeAccess" }, cancelButtonText: { key: "cancel" }, type: "warning", @@ -222,7 +222,7 @@ export class ServiceAccountPeopleComponent implements OnInit, OnDestroy { private async showAccessTokenStillAvailableWarning(): Promise { await this.dialogService.openSimpleDialog({ title: { key: "saPeopleWarningTitle" }, - content: { key: "saPeopleWarningMessage" }, + content: { key: "maPeopleWarningMessage" }, type: "warning", acceptButtonText: { key: "close" }, cancelButtonText: null, diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html index 8838f8483d60..6497e047b068 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html @@ -6,7 +6,7 @@ [rows]="rows$ | async" granteeType="projects" [label]="'projects' | i18n" - [hint]="'newSaSelectAccess' | i18n" + [hint]="'newMaSelectAccess' | i18n" [columnTitle]="'projects' | i18n" [emptyMessage]="'machineAccountEmptyProjectAccessPolicies' | i18n" (onCreateAccessPolicies)="handleCreateAccessPolicies($event)" From 2fbf70ed6281eaa280de5e0798d9e8b17a137105 Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Tue, 26 Mar 2024 14:39:43 -0400 Subject: [PATCH 6/7] SM-1159: Reordered keys --- apps/web/src/locales/en/messages.json | 36 +++++++++++++-------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 639c3f47bd9a..0c41eed7250e 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7646,10 +7646,18 @@ "machineAccountsCannotCreate": { "message": "Machine accounts cannot be created in suspended organizations. Please contact your organization owner for assistance." }, + "machineAccount": { + "message": "Machine account", + "description": "A machine user which can be used to automate processes and access secrets in the system." + }, "machineAccounts": { "message": "Machine accounts", "description": "The title for the section that deals with machine accounts." }, + "newMachineAccount": { + "message": "New machine account", + "description": "Title for creating a new machine account." + }, "machineAccountsNoItemsMessage": { "message": "Create a new machine account to get started automating secret access.", "description": "Message to encourage the user to start creating machine accounts." @@ -7662,6 +7670,14 @@ "message": "Delete machine accounts", "description": "Title for the action to delete one or multiple machine accounts." }, + "deleteMachineAccount": { + "message": "Delete machine account", + "description": "Title for the action to delete a single machine account." + }, + "viewMachineAccount": { + "message": "View machine account", + "description": "Action to view the details of a machine account." + }, "deleteMachineAccountsDialogMessage": { "message": "Deleting machine accounts is permanent and irreversible." }, @@ -7735,22 +7751,14 @@ "limitMachineAccountsDesc": { "message": "Set a limit for your machine accounts. Once this limit is reached, you will not be able to create new machine accounts." }, - "viewMachineAccount": { - "message": "View machine account", - "description": "Action to view the details of a machine account." - }, "editMachineAccount": { "message": "Edit machine account", "description": "Title for editing a machine account." }, - "deleteMachineAccount": { - "message": "Delete machine account", - "description": "Title for the action to delete a single machine account." - }, "deleteMachineAccountDialogMessage": { - "message": "Deleting machine account $SERVICE_ACCOUNT$ is permanent and irreversible.", + "message": "Deleting machine account $MACHINE_ACCOUNT$ is permanent and irreversible.", "placeholders": { - "service_account": { + "machine_account": { "content": "$1", "example": "Machine account name" } @@ -7759,14 +7767,6 @@ "deleteMachineAccountToast": { "message": "machine account deleted" }, - "newMachineAccount": { - "message": "New machine account", - "description": "Title for creating a new machine account." - }, - "machineAccount": { - "message": "Machine account", - "description": "A machine user which can be used to automate processes and access secrets in the system." - }, "machineAccountName": { "message": "Machine account name", "description": "Label for the name of a machine account" From 20e2183db31062f04ef64f1c0794c5ce628d9585 Mon Sep 17 00:00:00 2001 From: Colton Hurst Date: Fri, 29 Mar 2024 15:29:16 -0400 Subject: [PATCH 7/7] SM-1159: Keys update --- apps/web/src/locales/en/messages.json | 99 +++++++++---------- .../service-account-projects.component.html | 4 +- 2 files changed, 48 insertions(+), 55 deletions(-) diff --git a/apps/web/src/locales/en/messages.json b/apps/web/src/locales/en/messages.json index 0c41eed7250e..cc15ee1bfbb1 100644 --- a/apps/web/src/locales/en/messages.json +++ b/apps/web/src/locales/en/messages.json @@ -7678,6 +7678,15 @@ "message": "View machine account", "description": "Action to view the details of a machine account." }, + "deleteMachineAccountDialogMessage": { + "message": "Deleting machine account $MACHINE_ACCOUNT$ is permanent and irreversible.", + "placeholders": { + "machine_account": { + "content": "$1", + "example": "Machine account name" + } + } + }, "deleteMachineAccountsDialogMessage": { "message": "Deleting machine accounts is permanent and irreversible." }, @@ -7690,6 +7699,9 @@ } } }, + "deleteMachineAccountToast": { + "message": "Machine account deleted" + }, "deleteMachineAccountsToast": { "message": "Machine accounts deleted" }, @@ -7697,6 +7709,22 @@ "message": "Search machine accounts", "description": "Placeholder text for searching machine accounts." }, + "editMachineAccount": { + "message": "Edit machine account", + "description": "Title for editing a machine account." + }, + "machineAccountName": { + "message": "Machine account name", + "description": "Label for the name of a machine account" + }, + "machineAccountCreated": { + "message": "Machine account created", + "description": "Notifies that a new machine account has been created" + }, + "machineAccountUpdated": { + "message": "Machine account updated", + "description": "Notifies that a machine account has been updated" + }, "projectMachineAccountsDescription": { "message": "Grant machine accounts access to this project." }, @@ -7706,6 +7734,24 @@ "projectEmptyMachineAccountAccessPolicies": { "message": "Add machine accounts to grant access" }, + "machineAccountPeopleDescription": { + "message": "Grant groups or people access to this machine account." + }, + "machineAccountProjectsDescription": { + "message": "Assign projects to this machine account. " + }, + "createMachineAccount": { + "message": "Create a machine account" + }, + "maPeopleWarningMessage": { + "message": "Removing people from a machine account does not remove the access tokens they created. For security best practice, it is recommended to revoke access tokens created by people removed from a machine account." + }, + "smAccessRemovalWarningMaTitle": { + "message": "Remove access to this machine account" + }, + "smAccessRemovalWarningMaMessage": { + "message": "This action will remove your access to the machine account." + }, "machineAccountsIncluded": { "message": "$COUNT$ machine accounts included", "placeholders": { @@ -7751,66 +7797,13 @@ "limitMachineAccountsDesc": { "message": "Set a limit for your machine accounts. Once this limit is reached, you will not be able to create new machine accounts." }, - "editMachineAccount": { - "message": "Edit machine account", - "description": "Title for editing a machine account." - }, - "deleteMachineAccountDialogMessage": { - "message": "Deleting machine account $MACHINE_ACCOUNT$ is permanent and irreversible.", - "placeholders": { - "machine_account": { - "content": "$1", - "example": "Machine account name" - } - } - }, - "deleteMachineAccountToast": { - "message": "machine account deleted" - }, - "machineAccountName": { - "message": "Machine account name", - "description": "Label for the name of a machine account" - }, - "machineAccountPeopleDescription": { - "message": "Grant groups or people access to this machine account." - }, - "machineAccountProjectsDescription": { - "message": "Assign projects to this machine account. " - }, - "machineAccountEmptyProjectAccessPolicies": { - "message": "Add projects to grant access" - }, "machineAccountLimit": { "message": "Machine account limit (optional)" }, "maxMachineAccountCost": { "message": "Max potential machine account cost" }, - "createMachineAccount": { - "message": "Create a machine account" - }, "machineAccountAccessUpdated": { "message": "Machine account access updated" - }, - "machineAccountCreated": { - "message": "Machine account created", - "description": "Notifies that a new machine account has been created" - }, - "machineAccountUpdated": { - "message": "Machine account updated", - "description": "Notifies that a machine account has been updated" - }, - "newMaSelectAccess": { - "message": "Type or select projects or secrets", - "description": "Instructions for selecting projects or secrets for a new machine account" - }, - "maPeopleWarningMessage": { - "message": "Removing people from a machine account does not remove the access tokens they created. For security best practice, it is recommended to revoke access tokens created by people removed from a machine account." - }, - "smAccessRemovalWarningMaTitle": { - "message": "Remove access to this machine account" - }, - "smAccessRemovalWarningMaMessage": { - "message": "This action will remove your access to the machine account." } } diff --git a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html index 6497e047b068..772579426ac5 100644 --- a/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html +++ b/bitwarden_license/bit-web/src/app/secrets-manager/service-accounts/projects/service-account-projects.component.html @@ -6,9 +6,9 @@ [rows]="rows$ | async" granteeType="projects" [label]="'projects' | i18n" - [hint]="'newMaSelectAccess' | i18n" + [hint]="'newSaSelectAccess' | i18n" [columnTitle]="'projects' | i18n" - [emptyMessage]="'machineAccountEmptyProjectAccessPolicies' | i18n" + [emptyMessage]="'serviceAccountEmptyProjectAccessPolicies' | i18n" (onCreateAccessPolicies)="handleCreateAccessPolicies($event)" (onDeleteAccessPolicy)="handleDeleteAccessPolicy($event)" (onUpdateAccessPolicy)="handleUpdateAccessPolicy($event)"