* [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>
* [PM-2594] Added property "CloudVault" to EnvironmentServerConfigData and EnvironmentServerConfigResponse
* [PM-2594] Replaced hardcoded vault urls with value obtained from ConfigService
* [PM-2594] Renamed EnvironmentServerConfigResponse.cloudVault to cloudWebVault
* [PM-2594] Updated unit test with new property "cloudWebVault"
* [PM-2594] Added methods to get and set CloudWebVaultUrl on EnvironmentService. Configured ConfigurationService to set value based on cloudVaultRegion
* [PM-2594] Added JSDOC comments to methods getCloudWebVaultUrl and setCloudWebVaultUrl
* [PM-2594] Renamed EnvironmentServerConfigData.cloudVaultRegion to cloudRegion
* [PM-2594] Fixed unit test
* 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>
* [AC-358] Add selfHostSubscriptionExpiration property to organization-subscription.response.ts
* [AC-358] Update selfHost org subscription template
- Replace "Subscription" with "SubscriptionExpiration"
- Add question mark help link
- Add helper text for grace period
- Add support for graceful fallback in case of missing grace period in subscription response
* Update libs/common/src/billing/models/response/organization-subscription.response.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-358] Remove unnecessary hypen
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-358] Introduce SelfHostedOrganizationSubscription view
- Encapsulate expiration/grace period logic in the new view object.
- Remove API response getters from the angular component
- Replace the API response object with the new view
* [AC-358] Clarify name for new expiration without grace period field
* [AC-358] Update constructor parameter name
* [AC-358] Simplify new selfhost subscription view
- Make expiration date properties public
- Remove obsolete expiration date getters
- Update the component to use new properties
- Add helper to component for determining if the subscription should be rendered as expired (red text)
* [AC-358] Rename isExpired to isExpiredAndOutsideGracePeriod to be more explicit
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Added button type to each button element related to the vault team
* Removed disable statement comment
* [PM-1399] Resolve eslint errors for button type - admin-console (#5275)
* Added button type to each button element related to the admin console team
* Added button type to each button element related to the billing team
* Removed disable statement comment
* [PM-1399] Resolve eslint errors for button type - tools (#5284)
* Added button type to each button element related to the tools team
* Added button type to each button element related to the tools team
* Added button type to each button element related to the auth team (#5295)
This PR introduces a generic `DialogService` which can be used by all the clients. This allows us to decouple dialogs from the `PlatformUtilsHelper`.
The `DialogService` provides a new method, `openSimpleDialog` which is the new interface for that type of dialogs.
This gives us 3 different implementations:
- Web: DialogService modern dialogs
- Browser: SweetAlert
- Desktop: Native electron based
* [AC-431] Add new organization invite process (#4841)
* [AC-431] Added properties 'key' and 'keys' to OrganizationUserAcceptRequest
* [AC-431] On organization accept added check for 'initOrganization' flag and send encrypt keys if true
* [AC-431] Reverted changes on AcceptOrganizationComponent and OrganizationUserAcceptRequest
* [AC-431] Created OrganizationUserAcceptInitRequest
* [AC-431] Added method postOrganizationUserAcceptInit to OrganizationUserService
* [AC-431] Created AcceptInitOrganizationComponent and added routing config. Added 'inviteInitAcceptedDesc' to messages
* [AC-431] Remove blank line
* [AC-431] Remove requirement for logging in again
* [AC-431] Removed accept-init-organization.component.html
* Update libs/common/src/abstractions/organization-user/organization-user.service.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-431] Sending collection name when initializing an org
* [AC-431] Deleted component accept-init-organization and incorporated logic into accept-organization
* Update libs/common/src/abstractions/organization-user/organization-user.service.ts
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-431] Returning promise chains
* [AC-431] Moved ReAuth check to org accept only
* [AC-431] Fixed import issues
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-434] Hide billing screen for reseller clients (#4955)
* [AC-434] Retrieving ProviderType for each Org
* [AC-434] Hide subscription details if user cannot manage billing
* [AC-434] Renamed providerType to provider-type
* [AC-434] Reverted change that showed Billing History and Payment Methods tabs
* [AC-434] Hiding Secrets Manager enroll
* [AC-434] Renamed Billing access variables to be more readable
* Apply suggestions from code review
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* [AC-434] Reduce duplication in permission code
* [AC-434] npm prettier
* [AC-434] Changed selfhost subscription permission
* [AC-434] Added canEditSubscription check for change plan buttons
* [AC-434] Removed message displaying provider name in subscription
* [AC-434] canEditSubscription logic depends on canViewSubscription
* [AC-434] Hiding next charge value for users without billing edit permission
* [AC-434] Changed canViewSubscription and canEditSubscription to be clearer
* [AC-434] Altered BillingSubscriptionItemResponse.amount and BillingSubscriptionUpcomingInvoiceResponse.amount to nullable
* [AC-434] Reverted change on BillingSubscriptionItemResponse.amount
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* Updated IsPaidOrgGuard reference from org.CanManageBilling to canEditSubscription
---------
Co-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>
* fix: renamed to billing sync token
* Use translated string
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>
---------
Co-authored-by: Matt Gibson <mgibson@bitwarden.com>