* Use typescript-strict-plugin to iteratively turn on strict
* Add strict testing to pipeline
Can be executed locally through either `npm run test:types` for full type checking including spec files, or `npx tsc-strict` for only tsconfig.json included files.
* turn on strict for scripts directory
* Use plugin for all tsconfigs in monorepo
vscode is capable of executing tsc with plugins, but uses the most relevant tsconfig to do so. If the plugin is not a part of that config, it is skipped and developers get no feedback of strict compile time issues. These updates remedy that at the cost of slightly more complex removal of the plugin when the time comes.
* remove plugin from configs that extend one that already has it
* Update workspace settings to honor strict plugin
* Apply strict-plugin to native message test runner
* Update vscode workspace to use root tsc version
* `./node_modules/.bin/update-strict-comments` 🤖
This is a one-time operation. All future files should adhere to strict type checking.
* Add fixme to `ts-strict-ignore` comments
* `update-strict-comments` 🤖
repeated for new merge files
* Initial comment
* Add changes for the create org with payment method
* Add the secrets manager trail flow
* Add the banners
* Add changes for the Disabled Org
* Add banner to payment method page
* Refactoring changes
* Resolve the bug on tha payment method
* Resolve lint error
* Resolve Pr comments
* resolve the lint issue
* Resolve the lint wrong file issue
* Rename object properly
* Resolve pr comments from sm team
* Resolve the pr comments from sm team
* Fix the failing test
* Resolve some issue with vault
* Resolve the comments from sm team
* Resolve some pr comments from vault team
* Resolve pr comments from auth team
* Exported ValidOrgParams enum
* Removed unnecessary interpolation
* Corrected bit-banner id for trial
* Resolve pr comments from auth team
* Resolve pr comments from auth team
* Removed unnecessary method
* Made OrganizationCreateRequest a subtype of OrganizationNoPaymentMethodCreateRequest
* Resolve review changes from sm
* Resolve review changes from dm
* Resolve the pr comments from billing
* move the free-trial to core
* Move free-trial change to right file
* Revert changes on the free trial page
* Resolve the comment on protected trial page
* Resolve the comment on protected trial page
* Revert the next async change
* resolve pr comment fro vault team
* resolve the default message comments
* remove unused method
* resolve email sending issue
* Fix the pop issue on payment method
* Fix some console errors
* Fix the pop refresh page
* move the trial services to billing folder
* resolve pr comments
* Resolve the import issues
* Move the observable up
* Resolve blank payment method for trialing org
* Changes to disable icon is removed onsubmit
* Remove unused references
* add a missing a period at the end of it
* resolve the reload issue
* Resolve the disable icon issue
* Fix the admin access bug
* Resolve the lint issue
* Fix the message incorrect format
* Formatting fixed
* Resolve the access issue of other users role
* move cli service-container to new folder
* fix imports
* add tsconfig and fix type issues in other services
* fix more imports in service-container
* make ts server happy in service-container
* fix actual bugs in cli service-container
* fix package json reference path
* fix service-container import
* update type on cipher service
* add verify org delete page
* PR feedback from thomas
* use abstraction
* Apply suggestions from code review
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
* delete org copy
* Move verify-recover-delete-org component to admin-console/organizations/manage folder and update routing
* [PM-7004] Add async/await to ngOnInit in verify-recover-delete-org.component.ts
* [PM-7004] Update deleteRecoverOrgConfirmDesc message in messages.json
* [PM-7004] Add warning message for deleting organization's active user accounts
* [PM-7004] Update to standalone component
* [PM-7004] Update delete organization warning message
* [PM-7004] Refactor delete organization form
* [PM-7004] Delete unused selector in verify-recover-delete-org.component.ts
* [PM-7004] Rename recoverDeleteToken method in verify-recover-delete-org.component.ts to deleteUsingToken
* [PM-7004] Update formGroup initialization in verify-recover-delete-org.component.ts
* [PM-7004] Delete formGroup initialization in verify-recover-delete-org.component.ts
* [PM-7004] Remove try/catch from submit method in verify-recover-delete-org.component.ts
* [PM-7004] Update submit button type in verify-recover-delete-org.component.html
* [PM-7004] Remove manual loading state in verify-recover-delete-org.component
* [PM-7004] Remove unnecessary span in verify-recover-delete-org.component.html
* [PM-7004] Update button styles in verify-recover-delete-org.component.html
* [PM-7004] Add back in the manual loading state in verify-recover-delete-org.component
* [PM-7004] Update button type and class in verify-recover-delete-org.component.html
* [PM-7004] Replace bootstrap classes with equivalent tailwind classes
* [PM-7004] Replace bootstrap classes with Tailwind in verify-recover-delete-org.component.html
---------
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
Co-authored-by: Rui Tome <rtome@bitwarden.com>
* OrgSvc - add new observable returning getAll$ method which accepts a required user id
* OrgSvc - make user id optional
* PolicySvc - getAll$ should use the new OrgSvc.getAll$ method so that it doesn't hang if there isn't an active user yet but a user id was passed in.
* Fix policy service tests
In https://github.com/bitwarden/clients/pull/8133 the premium state changed to
be derived from observables, which means we can get rid of the `purchasePremium`
messages that are sent and instead rely directly on the observable to distribute
the state.
* Wire up key definitions for OrganizationService
[`AC-2009`: Transition OrganizationService to use StateProvider](
https://bitwarden.atlassian.net/browse/AC-2009)
In order to support the new `StateProvider` APIs for managing
application state this commit modifies `OrganizationService` in the following
ways:
1. Adding a `KeyDefinition` object to `OrganizationService` to store the
`organization` record in `StateProvider`.
1. Injecting `StateProvider` and wiring up `OrganizationService` to read
from the `organizations` key definition for the active user account.
1. Expanding the capabilities of `OrganizationData` to be able to read
itself from a JSON string. Previously this was handled directly by
`StateService`.
1. Updating tests to include requirements for testing against
`StateProvider`.
1. Marking the existing `StateService`-backed `organizations`
`Observable` and `BehaviorSubject` as deprecated.
This is largely unimplemented code with no intended visible effects to
the system. Implementing getting & updating the `organizations` value
from `StateProvider` will the next step in this work.
* Rework null check on OrganizationData
* Remove deprecation signals for the time being
* Move key definition inline with its service
* Create date objects when deserialzing json from state
* [AC-1139] Add new layout for MemberDialogComponent when FC feature flag is enabled
* [AC-1139] Deprecated Organization canEditAssignedCollections, canDeleteAssignedCollections, canViewAssignedCollections
* [AC-1139] Checking if FC feature flag is enabled when using canDeleteAssignedCollections or canViewAssignedCollections
* [AC-1139] Added missing parameter to customRedirect
* [AC-1139] Fixed canEdit permission
* [AC-1139] Fixed CanDelete logic
* [AC-1139] Changed canAccessVaultTab function to receive configService
* Override deprecated values on sync
* [AC-1139] Reverted change that introduced ConfigService as a parameter to canAccessVaultTab
* [AC-1139] Fixed circular dependency
* [AC-1139] Moved overriding of deprecated values to syncService
* Revert "[AC-1139] Fixed circular dependency"
This reverts commit 6484420976.
* Revert "Override deprecated values on sync"
This reverts commit f0c25a6996.
* [AC-1139] Added back the deprecation of methods canEditAssignedCollections, canDeleteAssignedCollections, canViewAssignedCollections
* [AC-1139] Reverted change on syncService
* [AC-1139] Override deprecated values on sync
* [AC-1139] Fix canDelete logic in
collection-dialog.component.ts and
bulk-delete-dialog.component.ts
* [AC-1139] Moved override logic from syncService to organizationService
* [AC-1139] Add ability to have titlecase titles on nested-checkbox.component checkboxes; use on member-dialog.component
* Revert "[AC-1139] Add ability to have titlecase titles on nested-checkbox.component checkboxes; use on member-dialog.component"
This reverts commit 9ede0fc5ac.
* [AC-1139] Fix bulk delete functionality
* [AC-1139] Refactor canEdit and canDelete to use ternary operator
* [AC-1139] Fix canDelete condition in VaultComponent
---------
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-1423] Update organization subscription cloud page (#5614)
* [AC-1423] Add ProgressModule to shared.module.ts
* [AC-1423] Update cloud subscription page styles
- Remove bootstrap styles
- Use CL components where applicable
- Use CL typography directives
- Update heading levels to prepare for new SM sections
* [AC-1423] Add usePasswordManager boolean to organization domain
* [AC-1423] Introduce BitwardenProductType enum
* [AC-1423] Update Organization subscription line items
- Add product type prefix
- Indent addon services like additional storage and service accounts
- Show line items for free plans
* [AC-1423] Simply sort function
* [AC-1423] Remove header border
* [AC-1423] Make "Password Manager" the default fallback for product name
* [AC-1420] Add Secrets Manager subscribe component (#5617)
* [AC-1418] Add secrets manager manage subscription component (#5661)
* [AC-1423] Add minWidth input to bit-progress component
* [AC-1423] Add ProgressModule to shared.module.ts
* [AC-1423] Update cloud subscription page styles
- Remove bootstrap styles
- Use CL components where applicable
- Use CL typography directives
- Update heading levels to prepare for new SM sections
* [AC-1423] Add usePasswordManager boolean to organization domain
* [AC-1423] Introduce BitwardenProductType enum
* [AC-1423] Update Organization subscription line items
- Add product type prefix
- Indent addon services like additional storage and service accounts
- Show line items for free plans
* [AC-1423] Simply sort function
* [AC-1423] Remove header border
* [AC-1423] Remove redundant condition
* [AC-1423] Remove ineffective div
* [AC-1423] Make "Password Manager" the default fallback for product name
* Revert "[AC-1423] Add minWidth input to bit-progress component"
This reverts commit 95b2223a30.
* [AC-1423] Remove minWidth attribute
* [AC-1423] Switch to AddonProductType enum instead of boolean
* Revert "[AC-1423] Switch to AddonProductType enum instead of boolean"
This reverts commit 204f64b4e7.
* [AC-1423] Tweak sorting comment
* [AC-1418] Add initial SecretsManagerAdjustSubscription component
* [AC-1418] Add initial SM adjustment form
* [AC-1418] Adjust organization-subscription-update.request.ts to support both PM and SM
* [AC-1418] Rename service account fields in the options interface
* [AC-1418] Add api service call to update SM subscription
* [AC-1418] Cleanup form html
* [AC-1418] Add missing SM plan properties
* [AC-1418] Add SM subscription adjust form and logic to hide it
* [AC-1418] Add better docs to options interface
* [AC-1418] Fix conflicting required/optional labels for auto-scaling limits
* [AC-1418] Adjust labels and appearance to better match design
* [AC-1418] Use the SM plan for billing interval
* [AC-1418] Hide SM billing adjustment component behind feature flag
* [AC-1418] Update request model to match server
* [AC-1418] Cleanup BitwardenProductType after merge
Add to barrel file and update applicable imports.
* [AC-1418] Revert change to update PM subscription request model
* [AC-1418] Add new update SM subscription request model
* [AC-1418] Add new service method to update SM subscription
* [AC-1418] Use new model and service method
* [AC-1418] Cleanup SM subscription UI flags
* [AC-1418] Move SM adjust subscription component into SM billing module
* [AC-1418] Update SM seat count minimum to 1
* [AC-1418] Add missing currency codes
* [AC-1418] Simplify monthly price calculation
* [AC-1418] Increase PM adjust subscription form input width
* [AC-1418] Add check for null subscription
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* add the additional properties (#5743)
* Allow autoscale limits to be removed, update naming (#5781)
* [AC-1488] Store Organization.SmServiceAccounts as total not additional (#5784)
* Allow autoscale limits to be removed, update naming
* Display additional service accounts only
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>
* [AC-1473] SM beta ending callout (#5719)
* [AC-1423] Add minWidth input to bit-progress component
* [AC-1423] Add ProgressModule to shared.module.ts
* [AC-1423] Update cloud subscription page styles
- Remove bootstrap styles
- Use CL components where applicable
- Use CL typography directives
- Update heading levels to prepare for new SM sections
* [AC-1423] Add usePasswordManager boolean to organization domain
* [AC-1423] Introduce BitwardenProductType enum
* [AC-1423] Update Organization subscription line items
- Add product type prefix
- Indent addon services like additional storage and service accounts
- Show line items for free plans
* [AC-1423] Simply sort function
* [AC-1423] Remove header border
* [AC-1423] Remove redundant condition
* [AC-1423] Remove ineffective div
* [AC-1423] Make "Password Manager" the default fallback for product name
* Revert "[AC-1423] Add minWidth input to bit-progress component"
This reverts commit 95b2223a30.
* [AC-1423] Remove minWidth attribute
* [AC-1423] Switch to AddonProductType enum instead of boolean
* Revert "[AC-1423] Switch to AddonProductType enum instead of boolean"
This reverts commit 204f64b4e7.
* [AC-1423] Tweak sorting comment
* [AC-1418] Add initial SecretsManagerAdjustSubscription component
* [AC-1418] Add initial SM adjustment form
* [AC-1418] Adjust organization-subscription-update.request.ts to support both PM and SM
* [AC-1418] Rename service account fields in the options interface
* [AC-1418] Add api service call to update SM subscription
* [AC-1418] Cleanup form html
* [AC-1418] Add missing SM plan properties
* [AC-1418] Add SM subscription adjust form and logic to hide it
* [AC-1418] Add better docs to options interface
* [AC-1418] Fix conflicting required/optional labels for auto-scaling limits
* [AC-1418] Adjust labels and appearance to better match design
* [AC-1418] Use the SM plan for billing interval
* [AC-1418] Hide SM billing adjustment component behind feature flag
* [AC-1418] Update request model to match server
* [AC-1418] Cleanup BitwardenProductType after merge
Add to barrel file and update applicable imports.
* [AC-1418] Revert change to update PM subscription request model
* [AC-1418] Add new update SM subscription request model
* [AC-1418] Add new service method to update SM subscription
* [AC-1418] Use new model and service method
* [AC-1418] Cleanup SM subscription UI flags
* [AC-1418] Move SM adjust subscription component into SM billing module
* [AC-1418] Update SM seat count minimum to 1
* [AC-1418] Add missing currency codes
* [AC-1418] Simplify monthly price calculation
* add daysRemaining util function and unit tests
* [AC-1474] update organization models to include SM beta flag
* add SM beta callout to org subscription page
* update messages.json
* remove beta field from profile org response
* improve daysRemaining code clarity
* set SM beta in org model constructor
* tweak free SM row visibility
* refactor callout description
* Revert "remove beta field from profile org response"
This reverts commit 6c6249e1ec.
* fix dates
* [AC-1468]: hide adjust SM component if beta user
* add sm beta field to org sub response; remove everywhere else
* fix copy
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
* [AC-1531] Fix SM subscribe component not showing in free org billing tab (#5848)
Also:
* Fix spacing in layout
* Send zero values for free plans
* Fix: properly delete enroll component
* remove the beta end message for free org (#5877)
* [AC-1458] Update local organization data after subscribing to Secrets Manager (#5888)
* [AC-1567] Fix max additional service account cost estimate (#5923)
* Fix max additional service account cost estimate
* Update i18n string ref
* Make i18n string keys consistent
* [AC-1461] Secrets Manager seat autoscaling cleanup (#5924)
* Remove unused return value from putOrganizationUserBulkEnableSecretsManager
* Fix service account limit validator (#5926)
* Updated Utils.daysRemaining method to calculate result using Math.floor and updated unit tests.
---------
Co-authored-by: Shane Melton <smelton@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
Co-authored-by: Rui Tome <rtome@bitwarden.com>
Co-authored-by: Will Martin <contact@willmartian.com>
Co-authored-by: Álison Fernandes <vvolkgang@users.noreply.github.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
* Rename service-factory folder
* Move cryptographic service factories
* Move crypto models
* Move crypto services
* Move domain base class
* Platform code owners
* Move desktop log services
* Move log files
* Establish component library ownership
* Move background listeners
* Move background background
* Move localization to Platform
* Move browser alarms to Platform
* Move browser state to Platform
* Move CLI state to Platform
* Move Desktop native concerns to Platform
* Move flag and misc to Platform
* Lint fixes
* Move electron state to platform
* Move web state to Platform
* Move lib state to Platform
* Fix broken tests
* Rename interface to idiomatic TS
* `npm run prettier` 🤖
* Resolve review feedback
* Set platform as owners of web core and shared
* Expand moved services
* Fix test types
---------
Co-authored-by: Hinton <hinton@users.noreply.github.com>