Kyle Denney
b63e272490
[PM-24551] remove feature flag code for pm-199566-update-msp-to-charge-automatically ( #6188 )
...
* [PM-24551] remove feature flag code
* undoing constructor refactors
* reverting changes the refactor made
2025-08-26 09:28:03 -05:00
Stephon Brown
91bb3c1e68
[PM-24555] Remove Code for PM-21092 ( #6198 )
2025-08-21 16:24:16 -04:00
Daniel García
6971f0a976
Update Swashbuckle and improve generated OpenAPI files ( #6066 )
...
* Improve generated OpenAPI files
* Nullable
* Fmt
* Correct powershell command
* Fix name
* Add some tests
* Fmt
* Switch to using json naming policy
2025-08-18 18:40:50 +02:00
Vijay Oommen
5b67abba31
[PM-24641] Remove prompt Id from onyx requests ( #6183 )
2025-08-11 12:08:56 -05:00
Vijay Oommen
e61a5cc83a
PM-24509 remove limit field ( #6169 )
2025-08-06 14:59:53 -05:00
Vince Grassia
25a54b16f7
Fix Dockerfiles that had BUILDPLATFORM specified for App Stages ( #6162 )
2025-08-05 17:36:04 -04:00
Vijay Oommen
5485c12445
PM-24367 add personal_id to onyx api call ( #6154 )
2025-08-01 09:43:37 -05:00
aj-bw
47237fa88f
add missing tzdata library ( #6136 )
2025-07-29 10:41:03 -04:00
aj-bw
d407c164b6
BRE-917 Update to Alpine base ( #5976 )
...
* testing-wolfi
* testing alpine
* fix gosu download
* fix Admin dockerfile
* update dockerfiles
* alpine-compatible-entrypoint-script-for-api-test
* make-entrypoint-scripts-alpine-compatible
* testing nginx with alpine
* cleaning up comments from dockerfile from testing
* restore accidentally deleted icon
* remove unused file
* pin alpine, update apk add no cache
* remove comments from testing
* test shadow implementtaion for entrypoints
* add shadow package, revert entrypoints, change from bash to shell for entry
* add icu to setup container, update helpers to use shell
* update migrator utility
* add missing krb5 libraries
2025-07-28 10:56:20 -04:00
Alex Morask
c503ecbefc
[PM-21827] Implement mechanism to suspend currently unpaid providers ( #6119 )
...
* Manually suspend provider and set cancel_at when we receive 'suspend_provider' metadata update
* Run dotnet format'
2025-07-24 11:50:09 -05:00
Stephon Brown
76d1a2e875
[PM-23287] Enable Provider When Subscription Is Paid ( #6113 )
...
* test : add tests for provider update
* feat: add provider update logic and dependencies
* fix: remove duplicate dependencies
* refactor: updated switch logic for helper method
* test: add feature flag to tests
* feat: add feature flag for changes
2025-07-24 11:46:16 -04:00
Alex Morask
829c3ed1d7
[PM-21821] Provider portal takeover states ( #6109 )
...
* Add feature flag
* Disable provider and schedule cancellation when subscription goes unpaid
* Run dotnet format
* Only set provider subscription cancel_at when subscription is going from paid to unpaid
* Update tests
2025-07-23 08:25:37 -05:00
Vijay Oommen
9a97384670
[PM-23575] Use the input text as question and avoid additional call to freshdesk ( #6073 )
2025-07-10 08:34:45 -05:00
Justin Baur
85b2a5bd94
Add #nullable disable to billing code ( #6054 )
2025-07-08 11:46:24 -04:00
renovate[bot]
52c392d668
[deps] Billing: Update swashbuckle-aspnetcore monorepo to 7.3.2 ( #5731 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 10:53:17 -05:00
Henrik
8bac7f0145
[PM-14476] Avoid multiple lookups in dictionaries ( #4973 )
...
* Avoid multiple lookups in dictionaries
* Consistency in fallback to empty CollectionIds
* Readability at the cost of lines changed
* Readability
* Changes after running dotnet format
2025-06-02 11:18:28 -05: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
tangowithfoxtrot
63f5811aa9
feat: non-root self hosted images for standard deployment ( #5701 )
...
* Use IHttpMessageHandlerFactory For HTTP Communication
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com >
* feat: allow custom app-id.json location for rootless
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com >
* fix: new build context wont allow copying git context
* feat: allow images to run as non-root user
* fix: build failures caused by bad merge
* build: we don't need to copy the `.git` dir
* Revert "build: we don't need to copy the `.git` dir"
This reverts commit 32c2f6236a .
* Use `IHttpClientFactory` in more places
* update build workflow
* fix: compatibility with the existin run.sh script
* fix: compatibility with existing run.sh script
* Add SelfHosted GlobalSettings for Setup
* Fix my build error
* Add other services
* Add IConfiguration
* fix: missing gosu command for rootful mode
* fix: try using .net core certificate handling
* fix: add `SSL_CERT_DIR` to remaining images
* Remove X509ChainCustomization activation code
* Revert "Use IHttpMessageHandlerFactory For HTTP Communication"
This reverts commit c93be6d52b .
* Revert "fix: build failures caused by bad merge"
This reverts commit 3e4639489b .
* Revert "Use `IHttpClientFactory` in more places"
This reverts commit 284501a493 .
* remove unused code
* re-add error log for installation id
* remove missing error message in log
* build: remove duplicate docker+qemu setup steps
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com >
* build: optimize for simpler builds over caching
* build: restore previous method for getting the GIT_HASH
* fix: add missing build args to remaining images
* fix: rm extraneous source revision id arg
* fmt: apply consistent spacing and rm redundant WORKDIR directive
* build: update migrator to use simpler build; apply consistent spacing
* fix: merge conflicts; simplify changes
* fix: add publish branch check back
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com >
Co-authored-by: Opeyemi <Alaoopeyemi101@gmail.com >
2025-05-30 10:29:47 -07: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
Alex Morask
7b3e2a80f4
[PM-21092] Set tax exemption to reverse charge for non-US business-use customers ( #5812 )
...
* Set automatic tax to enabled and tax exempt to reverse where applicable when ff is on
* Fix and add tests
* Run dotnet format
* Run dotnet format
* PM-21745: Resolve defect
* PM-21770: Resolve defect
* Run dotnet format'
2025-05-19 14:53:48 -04:00
Vijay Oommen
4195baf1c5
[PM-20980] Add a note to freshdesk ticket when no user is found ( #5768 )
2025-05-13 09:05:22 -05:00
Alex Morask
53f7d9655e
[PM-20087] [PM-21104] Preview tax amount for organization trial initiation ( #5787 )
...
* [NO LOGIC] [PM-21104] Organize Core.Billing tax code
* Add PreviewTaxAmountCommand and expose through TaxController
* Add PreviewTaxAmountCommandTests
* Run dotnet format
2025-05-13 09:28:31 -04:00
Alex Morask
eaae4b69c7
Only automatically set collection method for MSP ( #5680 )
2025-04-22 08:20:41 -04: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
f8e89f1747
[PM-18170] Remove PM-15814-alert-owners-of-reseller-managed-orgs ( #5412 )
2025-04-09 07:53:43 +02:00
Jonas Hendrickx
67d7d685a6
[PM-19048] Replace AddMvc with AddControllers ( #5481 )
2025-04-04 09:11:00 +02:00
Jonas Hendrickx
b309de141d
[PM-19147] Automatic Tax Improvements ( #5545 )
...
* Pm 19147 2 (#5544 )
* Pm 19147 2 (#5544 )
* Unit tests for tax strategies `GetUpdateOptions`
* Only allow automatic tax flag to be updated for complete subscription updates such as plan changes, not when upgrading additional storage, seats, etc
* unit tests for factory
* Fix build
* Automatic tax for tax estimation
* Fix stub
* Fix stub
* "customer.tax_ids" isn't expanded in some flows.
* Fix SubscriberServiceTests.cs
* BusinessUseAutomaticTaxStrategy > SetUpdateOptions tests
* Fix ProviderBillingServiceTests.cs
2025-04-02 13:47:48 -04:00
Justin Baur
f1a9545a00
Remove unneeded exclusions ( #5478 )
2025-03-24 13:48:20 -04:00
Alex Morask
88ffde930f
Check to see if cancellation comment is populated before disablement checks ( #5468 )
2025-03-05 15:29:51 -05:00
Jonas Hendrickx
10756ca35e
[PM-5872] Credit load intermittently fails ( #5424 )
2025-03-05 16:22:16 +01: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
Alex Morask
622ef902ed
[PM-18578] Don't enable automatic tax for non-taxable non-US businesses during invoice.upcoming ( #5443 )
...
* Only enable automatic tax for US subscriptions or EU subscriptions that are taxable.
* Run dotnet format
2025-02-25 13:36:12 -05:00
Rui Tomé
d15c1faa74
[PM-12491] Create Organization disable command ( #5348 )
...
* Add command interface and implementation for disabling organizations
* Register organization disable command for dependency injection
* Add unit tests for OrganizationDisableCommand
* Refactor subscription handlers to use IOrganizationDisableCommand for disabling organizations
* Remove DisableAsync method from IOrganizationService and its implementation in OrganizationService
* Remove IOrganizationService dependency from SubscriptionDeletedHandler
* Remove commented TODO for sending email to owners in OrganizationDisableCommand
2025-02-25 14:57:30 +00:00
Conner Turnbull
5bbd905401
[PM-18436] Only cancel subscriptions when creating or renewing ( #5423 )
...
* Only cancel subscriptions during creation or cycle renewal
* Resolved possible null reference warning
* Inverted conitional to reduce nesting
2025-02-20 13:03:29 -05:00
Jonas Hendrickx
4bef2357d5
[PM-18028] Enabling automatic tax for customers without country or with manual tax rates set ( #5376 )
2025-02-20 16:01:48 +01:00
Alex Morask
43be2dbc83
Prevent organization disablement on addition to provider ( #5419 )
2025-02-19 09:52:17 -05:00
Rui Tomé
f4c37df883
[PM-12490] Extract OrganizationService.EnableAsync into commands ( #5321 )
...
* Add organization enable command implementation
* Add unit tests for OrganizationEnableCommand
* Add organization enable command registration for dependency injection
* Refactor payment and subscription handlers to use IOrganizationEnableCommand for organization enabling
* Remove EnableAsync methods from IOrganizationService and OrganizationService
* Add xmldoc to IOrganizationEnableCommand
* Refactor OrganizationEnableCommand to consolidate enable logic and add optional expiration
2025-02-14 11:25:29 +00:00
Alex Morask
9c0f9cf43d
[PM-18221] Update credited user's billing location when purchasing premium subscription ( #5393 )
...
* Moved user crediting to PremiumUserBillingService
* Fix tests
2025-02-12 09:00:52 -05:00
Justin Baur
e01cace189
Turn on TreatWarningsAsError ( #5384 )
...
* Turn on TreatWarningsAsError for Release build
- Break Api intentionally
* Fix Api
* Treat warnings as errors no matter the configuration
2025-02-11 08:49:14 -05:00
Jonas Hendrickx
a1ef07ea69
Revert "[PM-18028] Attempting to enable automatic tax on customer with invali…" ( #5375 )
...
This reverts commit 678d5d5d63 .
2025-02-06 17:11:20 +01:00
Jonas Hendrickx
678d5d5d63
[PM-18028] Attempting to enable automatic tax on customer with invalid location ( #5374 )
2025-02-06 16:34:22 +01:00
Vijay Oommen
17f5c97891
PM-6939 - Onyx Integration into freshdesk controller ( #5365 )
2025-02-06 08:13:17 -06:00
cyprain-okeke
1c3ea1151c
[PM-16482]NullReferenceException in CustomerUpdatedHandler due to uninitialized dependency ( #5349 )
...
* Changes to throw exact errors
* Add some logging to each error state
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
---------
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
2025-02-06 09:22:16 +01:00
Jonas Hendrickx
a51c7a1a8b
[BEEEP] Remove unused code ( #5320 )
2025-01-27 19:22:55 +01:00
Jonas Hendrickx
5562ca9d5e
WIP ( #5210 )
2025-01-27 15:28:47 +01:00
cyprain-okeke
ef32e80725
[PM-15807]Move subscription to 'canceled' 7 days after unpaid ( #5221 )
...
* Changes to implement the cancel job
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
* Resolve the Dependency issues
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
* changes when open invoices is more than 10
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
* Move the package reference to ore
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
---------
Signed-off-by: Cy Okeke <cokeke@bitwarden.com >
2025-01-24 12:02:13 +01:00
Alex Morask
20fb45b05c
Round PayPal transaction amount to two decimal points ( #5318 )
2025-01-23 11:19:46 -05:00
Conner Turnbull
31e95d529f
Added some defensive logging around making braintree payments ( #5317 )
2025-01-23 10:00:51 -05:00
Jonas Hendrickx
45d2c5315d
[PM-14894] Drop Tax Rate tables - Stage 1 ( #5236 )
2025-01-10 16:39:02 +01:00
Addison Beck
cd7c4bf6ce
chore: move Installation and Push to platform's domain folders ( #5085 )
...
* chore: set up a `CODEOWNERS` space for platform
* chore: move sql objects for `Installation` to platform's domain
* chore: move `Installation` and `PushRelay` code to platform's domain
2025-01-06 18:10:53 +01:00