1
0
mirror of https://github.com/bitwarden/server synced 2025-12-24 20:23:21 +00:00
Commit Graph

81 Commits

Author SHA1 Message Date
Rui Tomé
494c41e3b1 [PM-15160] Create ResellerClientOrganizationSignUpCommand (#5981)
* Implement ResellerClientOrganizationSignUpCommand for signing up reseller client organizations with email invitations and error handling

* Refactor ProvidersController to replace IOrganizationService with IResellerClientOrganizationSignUpCommand for organization sign-up process

* Remove CreatePendingOrganization method from IOrganizationService and its implementation in OrganizationService

* Add IResellerClientOrganizationSignUpCommand to service collection for organization sign-up

* Add comment to clarify organization deletion process in ResellerClientOrganizationSignUpCommand
2025-06-24 13:33:09 +01:00
cyprain-okeke
fbdd62fadd [PM-20416]Downgraded paid org cannot upgrade from Free (#5748)
* enable the downgrade of free org

* resolve the free org update issue

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Retain the canceled subscriptionId

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* resolve the pr coments

* Refactor the code base on the pr comment

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Resolve the pr comments

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Resolve the pr comment

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Resolve the failing test

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Resolve the repeated condition

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* apply the condition suggestion

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>

* Add the missing MaxCollection

---------

Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
2025-06-10 07:50:09 +01:00
Daniel James Smith
c7b1c7f6d5 [PM-22190] Remove gathering and reporting of ReferenceEvents (#5897)
* Remove gathering and reporting of ReferenceEvents

* Fix test that relied on reference events throwing

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2025-06-02 16:49:49 +02:00
Alex Morask
390b93f6ce [PM-21250] Remove pm-18770-enable-organization-business-unit-conversion (#5848)
* Remove pm-18770-enable-organization-business-unit-conversion

* Run dotnet format
2025-05-30 09:58:36 -04:00
Brandon Treston
930fe29c82 replace owner/admins list with table (#5892) 2025-05-29 09:55:33 -04:00
Brandon Treston
cd994f72bf change verbiage, add column to table (#5888) 2025-05-28 12:06:25 -04:00
Alex Morask
18d146406c [PM-21099] (NO LOGIC) Organize Billing provider code (#5819)
* [NO LOGIC] Organize Billing provider code

* Run dotnet format

* Run dotnet format'

* Fixed using after merge

* Fixed test usings after merge
2025-05-21 09:04:30 -04:00
Brandon Treston
cbf49b915b [PM-11622] Implement UseOrganizationDomains (#5822)
* implement UseOrganizationDomains

* fix undefined error
2025-05-16 12:51:22 -04:00
Brandon Treston
81bff5e5cf [PM-11622] use organization domains (#5560)
* DBO changes

* Add migration scripts

* wip

* wip

* wip

* add EF migrations

* run dotnet format

* cleanup

* revert business logic

* wip

* add update statement to mssql migration script

* fix user service tests

* increment license, add UseOrganizationDomains

* add migration helpers to seed initial value from UseSso

* clean up

* cleanup

* fix mssql migrations

* fix license version and test

* fix file names

* fix license json

* add missing property to license test

* rename file

* fix migrations

* fix migration

* add WHERE to helper scripts

* separate schema/data migrations

* restore comment

* Merge conflict

* fix migrations

* add new property to migration

* wip

* fix file names

* fix file name
2025-05-15 10:42:51 -04:00
Alex Morask
00b9ba2392 Allow for deletion of pending providers (#5679) 2025-04-28 15:50:40 -04:00
cyprain-okeke
60e7db7dbb [PM-17823]Add feature toggle for admin sponsored families to admin portal (#5595)
* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Add `Notes` column to `OrganizationSponsorships` table

* Add feature flag to `CreateAdminInitiatedSponsorshipHandler`

* Unit tests for `CreateSponsorshipHandler`

* More tests for `CreateSponsorshipHandler`

* Forgot to add `Notes` column to `OrganizationSponsorships` table in the migration script

* `CreateAdminInitiatedSponsorshipHandler` unit tests

* Fix `CreateSponsorshipCommandTests`

* Encrypt the notes field

* Wrong business logic checking for invalid permissions.

* Wrong business logic checking for invalid permissions.

* Remove design patterns

* duplicate definition in Constants.cs

* Add the admin sponsored families to admin portal

* Add a feature flag

* Rename the migration file name

* Resolve the existing conflict and remove added file

* Add a migration for the change

* Remove the migration Because is already added

* Resolve the failing migration

---------

Co-authored-by: Jonas Hendrickx <jhendrickx@bitwarden.com>
2025-04-17 14:58:29 +01:00
Alex Morask
01a08c5814 [PM-19566] Update MSPs to "charge_automatically" with Admin-based opt-out (#5650)
* Update provider to charge automatically with Admin Portal-based opt-out

* Design feedback

* Run dotnet format
2025-04-16 13:36:04 -04:00
Jonas Hendrickx
c182b37347 [PM-17830] Backend changes for admin initiated sponsorships (#5531)
* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* Add `Notes` column to `OrganizationSponsorships` table

* Add feature flag to `CreateAdminInitiatedSponsorshipHandler`

* Unit tests for `CreateSponsorshipHandler`

* More tests for `CreateSponsorshipHandler`

* Forgot to add `Notes` column to `OrganizationSponsorships` table in the migration script

* `CreateAdminInitiatedSponsorshipHandler` unit tests

* Fix `CreateSponsorshipCommandTests`

* Encrypt the notes field

* Wrong business logic checking for invalid permissions.

* Wrong business logic checking for invalid permissions.

* Remove design patterns

* duplicate definition in Constants.cs

* Allow rollback

* Fix stored procedures & type

* Fix stored procedures & type

* Properly encapsulating this PR behind its feature flag

* Removed comments

* Updated ValidateSponsorshipCommand to validate admin initiated requirements

---------

Co-authored-by: Conner Turnbull <133619638+cturnbull-bitwarden@users.noreply.github.com>
Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com>
2025-04-16 11:27:58 -04:00
Alex Morask
54e7fac4d9 [PM-18770] Convert Organization to Business Unit (#5610)
* [NO LOGIC] Rename MultiOrganizationEnterprise to BusinessUnit

* [Core] Add IMailService.SendBusinessUnitConversionInviteAsync

* [Core] Add BusinessUnitConverter

* [Admin] Add new permission

* [Admin] Add BusinessUnitConverterController

* [Admin] Add Convert to Business Unit button to Organization edit page

* [Api] Add OrganizationBillingController.SetupBusinessUnitAsync action

* [Multi] Propagate provider type to sync response

* [Multi] Put updates behind feature flag

* [Tests] BusinessUnitConverterTests

* Run dotnet format

* Fixing post-main merge compilation failure
2025-04-10 10:06:16 -04:00
Alex Morask
282e80ca02 [PM-13837] Switch provider price IDs (#5518)
* Add ProviderPriceAdapter

This is a temporary utility that will be used to manage retrieval of provider price IDs until all providers can be migrated to the new price structure.

* Updated ProviderBillingService.ChangePlan

* Update ProviderBillingService.SetupSubscription

* Update ProviderBillingService.UpdateSeatMinimums

* Update ProviderBillingService.CurrySeatScalingUpdate

* Mark StripeProviderPortalSeatPlanId obsolete

* Run dotnet format
2025-04-03 08:51:09 -04:00
Alex Morask
ef3b8b782a Provide plans to OrganizationEditModel for resellers (#5493) 2025-03-12 11:56:47 -04:00
Alex Morask
fa90991270 [PM-12601] Add discount to MSP during creation in Admin Portal (#5391)
* Add Provider DiscountId to database and Stripe customer

* Fix tests

* Add missing EF migrations

* Run dotnet format
2025-03-05 14:59:15 -05:00
Alex Morask
a2e665cb96 [PM-16684] Integrate Pricing Service behind FF (#5276)
* Remove gRPC and convert PricingClient to HttpClient wrapper

* Add PlanType.GetProductTier extension

Many instances of StaticStore use are just to get the ProductTierType of a PlanType, but this can be derived from the PlanType itself without having to fetch the entire plan.

* Remove invocations of the StaticStore in non-Test code

* Deprecate StaticStore entry points

* Run dotnet format

* Matt's feedback

* Run dotnet format

* Rui's feedback

* Run dotnet format

* Replacements since approval

* Run dotnet format
2025-02-27 07:55:46 -05:00
Jonas Hendrickx
f6365fa385 [PM-17593] Remove Multi-Org Enterprise feature flag (#5351) 2025-02-21 14:35:36 +00:00
Jimmy Vo
ac443ed495 [pm-13985] Add a cancel endpoint to prevent authorization errors (#5229) 2025-02-18 09:53:49 -05:00
Alex Morask
5709ea36f4 [PM-15485] Add provider plan details to provider Admin pages (#5326)
* Add Provider Plan details to Provider Admin pages

* Run dotnet format

* Thomas' feedback

* Updated code ownership

* Robert's feedback

* Thomas' feedback
2025-02-14 12:03:09 -05:00
Rui Tomé
d239170c1c [PM-17697] Save Organization Name changes in Bitwarden Portal (#5337)
* Add Org_Name_Edit permission to the Permissions enum

* Add Org_Name_Edit permission to RolePermissionMapping

* Implement Org_Name_Edit permission check in UpdateOrganization method

* Add Org_Name_Edit permission check to Organization form input
2025-01-31 15:01:26 +00:00
Rui Tomé
62afa0b30a [PM-17691] Change permission requirement for organization deletion initiation (#5339) 2025-01-29 16:13:36 +00:00
Rui Tomé
3908edd08f [PM-12489] Extract OrganizationService.DeleteAsync and OrganizationService.InitiateDeleteAsync into commands (#5279)
* Create organization deletion command with logic extracted from OrganizationService

* Add unit tests for OrganizationDeleteCommand

* Register OrganizationDeleteCommand for dependency injection

* Refactor organization deletion logic to use IOrganizationDeleteCommand and remove legacy IOrganizationService.DeleteAsync method

* Add organization deletion initiation command and refactor service usage

* Enhance organization deletion commands with detailed XML documentation

* Refactor organization command registration to include sign-up and deletion methods
2025-01-27 10:58:08 +00:00
Vincent Salucci
82508fb7a9 fix: remove delete from cs/billing and create new RequestDelete perm, refs PM-17014 (#5258) 2025-01-13 14:54:32 -06:00
Alex Morask
481a766cd2 Remove FF (#5163) 2025-01-08 09:49:24 -05:00
Jonas Hendrickx
b096568eea Revert "Revert [PM-6201] (#5143)" (#5144)
This reverts commit c99b4106f5.
2025-01-08 09:26:40 +01:00
Vijay Oommen
2504f36bdc PM-13227 Rename access insights to access intelligence (#5160) 2024-12-18 16:36:50 -05:00
Jonas Hendrickx
c99b4106f5 Revert [PM-6201] (#5143)
* Revert "[PM-6201] Fix creation of organizations no longer working after merging #5130 (#5142)"

This reverts commit 64573d01a3.

* Revert "[PM-6201] Self-Host Admin Portal is reporting "10239 GB of Additional… (#5130)"

This reverts commit 674e522843.
2024-12-11 15:19:38 +01:00
Jonas Hendrickx
64573d01a3 [PM-6201] Fix creation of organizations no longer working after merging #5130 (#5142) 2024-12-11 14:56:46 +01:00
Jonas Hendrickx
674e522843 [PM-6201] Self-Host Admin Portal is reporting "10239 GB of Additional… (#5130) 2024-12-11 10:32:28 +01:00
Addison Beck
092b0b8bd2 Remove LimitCollectionCreationDeletionSplit feature flag (#4809)
* Remove references to feature flag

* Demote entity property to an EF shadow property

* Add a few excludes to license file tests
2024-12-06 11:46:17 +01:00
Vijay Oommen
1f1510f4d4 PM-15091 Add Feature Flag to DB called UseRiskInsights (#5088)
Add a new column called UseRiskInsights to `dbo.Organization`
2024-12-05 10:46:01 -06:00
Justin Baur
dac8f66a59 Resolve AC Warnings (#4644)
* Resolve AC Warnings

* Remove Unneeded Changes

* Add Back RequiredAttribute

* Format
2024-11-22 16:05:15 -05:00
renovate[bot]
b2b0f1e70e [deps] Auth: Update bootstrap to v5 [SECURITY] (#4881)
* [deps] Auth: Update bootstrap to v5 [SECURITY]

* Update bootstrap and import dependencies in site.scss

* Update site.scss to include the theme color 'dark'

* Refactor site.scss to merge the 'primary-accent' theme color into the existing theme colors

* Update bootstrap classes for v5

* Refactor form layout in Index.cshtml and AddExistingOrganization.cshtml

* Revert change to the shield icon in the navbar

* Fix organization form select inputs

* Fixed search input sizes

* Fix elements in Providers and Users search

* More bootstrap migration

* Revert change to tax rate delete button

* Add missing label classes in Users/Edit.cshtml

* More component migrations

* Refactor form classes and labels in CreateMsp.cshtml and CreateReseller.cshtml

* Update package dependencies in Sso

* Revert changes to Providers/Edit.cshtml

* Refactor CreateMultiOrganizationEnterprise.cshtml and Providers/Edit.cshtml for bootstrap 5

* Refactor webpack.config.js to use @popperjs/core instead of popper.js

* Remove popperjs package dependency

* Restore Bootstrap 4 link styling behavior

- Remove default text decoration
- Add underline only on hover

* Update Bootstrap to version 5.3.3

* Update deprecated text color classes from 'text-muted' to 'text-body-secondary' across various views

* Refactor provider edit view for bootstrap 5

* Remove underline in Add/Create organization links in provider page

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Rui Tome <rtome@bitwarden.com>
Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
2024-11-19 12:04:54 +00:00
Alex Morask
df21d574e1 [PM-11798] Remove enable-consolidated-billing feature flag (#5028)
* Remove flag from CreateProviderCommand

* Remove flag from OrganizationsController

* Consolidate provider extensions

* Remove flag from ProvidersController

* Remove flag from CreateMsp.cshtml

* Remove flag from Provider Edit.cshtml

Also ensured the editable Gateway fields show for Multi-organization enterprises

* Remove flag from OrganizationsController

* Remove flag from billing-owned provider controllers

* Remove flag from OrganizationService

* Remove flag from RemoveOrganizationFromProviderCommand

* Remove flag from ProviderService

* Remove flag

* Run dotnet format

* Fix failing tests
2024-11-15 09:30:03 -05:00
Alex Morask
a26ba3b330 [PM-14401] Scale MSP on Admin client organization update (#5001)
* Privatize GetAssignedSeatTotalAsync

* Add SeatAdjustmentResultsInPurchase method

* Move adjustment logic to ProviderClientsController.Update

* Remove unused AssignSeatsToClientOrganization method

* Alphabetize ProviderBillingService

* Scale MSP on Admin client organization update

* Run dotnet format

* Patch build process

* Rui's feedback

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-11-12 14:11:10 -05:00
Jonas Hendrickx
d53d9c0600 [PM-14443] Cannot view pending MOE provider page (#4970) 2024-11-04 16:43:48 +01:00
Jonas Hendrickx
35b0f61986 [PM-13450] Admin: Display Multi-organization Enterprise attributes on provider details (#4955) 2024-11-04 06:45:25 +01:00
Jonas Hendrickx
a952d10637 [PM-13447] Add Multi Org Enterprise providers to Admin Console (#4920) 2024-10-23 12:10:50 -04:00
Jonas Hendrickx
f82c0e3742 [PM-10703] Admin Portal Selecting Families plan does not check default features (#4859) 2024-10-21 17:57:18 +02:00
Addison Beck
91409a45f0 Split Organization.LimitCollectionCreationDeletion into two separate business rules (#4730)
* Add feature flag

* Promoted the new Entiy Framework properties

* Deprecate the old property

* Update references

* Fix mispelling

* Re-add contextual comment regarding dropped license properties

* Add back deleted assertion for deprecated property

* Add back removed fixture property assignment

* Improve feature toggling scenerios for self hosted org creation/update

* Unblock `PutCollectionManagement` for self host

* Simplify logic of a couple of conditionals

* Feature toggle route unblocking

* Adjust logic collection creation/deletion authorization handler

* Create tests

* Fix bug caught by tests

* Fix bugs caught during manual testing

* Remove remark about license
2024-10-18 11:00:01 -04:00
Thomas Rittson
a587de4226 [PM-13646] Revert disabling policies when org plan is changed
This reverts commit fd8c1aae02.
2024-10-16 17:49:17 +01:00
Rui Tomé
58c6f09629 [PM-12684] Remove Members Bulk 2FA feature flag logic (#4864) 2024-10-09 15:32:49 +01:00
Jonas Hendrickx
a1e4e47e40 [PM-10961] Cannot delete MSP with apostrophe in name (#4846) 2024-10-06 08:14:02 +02:00
cyprain-okeke
3d391e858d Remove the feature flag for delete provider (#4836)
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
2024-10-01 21:59:36 +01:00
Alex Morask
fd8c1aae02 Disable policies for organization when plan no longer supports it or policy checkbox is deselected (#4763) 2024-09-23 07:51:36 -04:00
Jared McCannon
03bd47e390 [PM-12324] Add HTML ids to Bitwarden Portal for automated testing (#4789)
* Adding ids to org page in admin portal.

Co-authored-by: Rui Tomé <108268980+r-tome@users.noreply.github.com>
2024-09-19 10:57:42 -05:00
Jonas Hendrickx
64a7cba013 PM-7999 | Reseller billing e-mail can be blank causing downstream errors for org creation (#4733) 2024-09-05 15:37:20 +01:00
Conner Turnbull
722dedf10d Added all missing plan fields to GetPlansHelper (#4597) 2024-08-07 11:22:45 -04:00