* Adding AutoConfrim and migrations.
* Add value to Admin Page and update sproc to correct name.
* Correcting license constant.
* Adding feature check back in.
* Fixing sprocs :face_palm:
* Remove Coalesce
* Adding property to plan and model constructor
* Correcting name of column. Cascading change throughout. Updating response models. Updating sprocs and views. Updating migrations
* fixing sproc
* Fixing up license stuff.
* Updating org view
* Code review changes and renames :face_palm:
* Refershing additional views
* Last two fixes.
* [PM-21878] also update gateway/stripe fields for business units
* pr feedback: replacing switch with extension method
* [PM-21878] prevent invalid stripe ids from crashing the edit provider page
* pr feedback: adding service methods to validate stripe ids
and added unit tests for the new methods
* pr feedback: move validation to SubscriberService and cleanup
* pr feedback: use subscriber service to remove dependency on stripe adapter
* Add IResendOrganizationInviteCommand and ResendOrganizationInviteCommand implementation
* Add unit tests for ResendOrganizationInviteCommand to validate invite resend functionality
* Refactor Organizations, OrganizationUsers, and Members controllers to use IResendInviteCommand for invite resending functionality
* Fix Organizations, OrganizationUsers, and Members controllers to replace IResendInviteCommand with IResendOrganizationInviteCommand
* Remove ResendInviteAsync method from IOrganizationService and its implementation in OrganizationService to streamline invite management functionality.
* Add IResendOrganizationInviteCommand registration in OrganizationServiceCollectionExtensions
* 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
* 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>
* 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>
* 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
* 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
* 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
* 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
* Renamed ProductType to ProductTierType
* Renamed Product properties to ProductTier
* Moved ProductTierType to Bit.Core.Billing.Enums namespace from Bit.Core.Enums
* Moved PlanType enum to Bit.Core.Billing.Enums
* Moved StaticStore to Bit.Core.Billing.Models.StaticStore namespace
* Added ProductType enum
* dotnet format
* Moved AccountsBilling controller to be owned by Billing
* Added org billing history endpoint
* Updated GetBillingInvoicesAsync to only retrieve paid, open, and uncollectible invoices, and added option to limit results
* Removed invoices and transactions from GetBillingAsync
* Limiting the number of invoices and transactions returned
* Moved Billing models to Billing namespace
* Split billing info and billing history objects
* Removed billing method GetBillingBalanceAndSourceAsync
* Removed unused using
* Cleaned up BillingInfo a bit
* Update migration scripts to use `CREATE OR ALTER` instead of checking for the `OBJECT_ID`
* Applying limit to aggregated invoices after they return from Stripe
* Replace SubscriberQueries with SubscriberService
* Replace OrganizationBillingQueries with OrganizationBillingService
* Replace ProviderBillingQueries with ProviderBillingService, move to Commercial
* Replace AssignSeatsToClientOrganizationCommand with ProviderBillingService, move to commercial
* Replace ScaleSeatsCommand with ProviderBillingService and move to Commercial
* Replace CancelSubscriptionCommand with SubscriberService
* Replace CreateCustomerCommand with ProviderBillingService and move to Commercial
* Replace StartSubscriptionCommand with ProviderBillingService and moved to Commercial
* Replaced RemovePaymentMethodCommand with SubscriberService
* Formatting
* Used dotnet format this time
* Changing ProviderBillingService to scoped
* Found circular dependency'
* One more time with feeling
* Formatting
* Fix error in remove org from provider
* Missed test fix in conflit
* [AC-1937] Server: Implement endpoint to retrieve provider payment information (#4107)
* Move the gettax and paymentmethod from stripepayment class
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
* Add the method to retrieve the tax and payment details
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
* Add unit tests for the paymentInformation method
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
* Add the endpoint to retrieve paymentinformation
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
* Add unit tests to the SubscriberService
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
* Remove the getTaxInfoAsync update reference
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
---------
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
---------
Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
Co-authored-by: cyprain-okeke <108260115+cyprain-okeke@users.noreply.github.com>
* Remove FlexibleCollectionsSignUp feature flag
* Always set Organization.FlexibleCollections to true
* Remove explicit assignment of LimitCollectionCreationDeletion so it defaults to false
* Prevent calls to Stripe when unlinking client org has no Stripe objects
* Thomas' feedback
* Check for stripe when org unlinked from org page
---------
Co-authored-by: Conner Turnbull <cturnbull@bitwarden.com>