devin-ai-integration[bot] and morgan@cal.com
a542ba486c
feat: add graceful webhook secret validation to billing controller ( #22034 )
...
* feat: add graceful webhook secret validation to billing controller
- Wrap Stripe constructEventAsync in try-catch block
- Add proper error logging for failed webhook signature validation
- Return appropriate error responses for invalid webhook secrets
- Follow existing webhook handler patterns from payments module
Co-Authored-By: morgan@cal.com <morgan@cal.com >
* refactor: use specific Stripe error type for webhook signature validation
- Import Stripe types to access StripeSignatureVerificationError
- Check for specific Stripe signature verification error type
- Throw BadRequestException for invalid webhook signatures
- Maintain generic error handling for other webhook processing errors
Co-Authored-By: morgan@cal.com <morgan@cal.com >
* refactor: throw BadRequestException for missing webhook signature and secret
- Use BadRequestException instead of generic Error for missing stripe-signature header
- Use BadRequestException instead of generic Error for missing webhook secret configuration
- Consistent error handling with appropriate HTTP status codes
Co-Authored-By: morgan@cal.com <morgan@cal.com >
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com >
2025-06-25 20:39:46 +00:00
Lauris Skraucis
a44bcafcf2
feat: v2 managed organizations ( #19341 )
...
* refactor: allow non unique PlatformBilling customerId
* feat: add PlatformBilling managed organizations fields
* feat: ManagedOrganization table
* refactor: bill overdue based on teamId
* refactor: restructure organizations module
* wip: organizations endpoints
* Revert "wip: organizations endpoints"
This reverts commit 0e9e66fc74f31da436f12930c1b6597c650ed621.
* refactor: unique index for managed organizations
* wip: organizations endpoints
* wip: create managed organization
* remove unecessary membership check because we have guard
* feat: create managed org
* feat: get managed org and orgs
* feat: update and delete managed orgs
* wip: api key logic
* feat: allow variable api key length
* feat: refresh managed org api key
* feat: create managed org OAuth clients using api key
* finish merge main
* chore: bump platform libraries
* tests: fix and add more tests to api-auth.strategy.e2e
* refactor: dont request managed org slug and handle metadata as object
* revert: billing service and repository update overdue based on sub and customer ids
* refactor: v2 OAuth client permissions (#19501 )
* refactor: v2 permissions as string array
* refactor: frontend work with permissions as string
* tests: test '*' permissions
* fix:managed org creator have profile & test can fetch oauth client
* fix: tests
* fix: OAuthClientCard on frontend
* fix: tests
2025-02-25 18:10:46 -07:00
Lauris Skraucis
1043085741
refactor: v2 api e2e performance ( #19028 )
...
* refactor: use unique names in e2e tests
* refactor: version number in tests
* refactor: use unique names in e2e tests
* refactor: use unique names in e2e tests
* refactor: test cleanup
* refactor: increase e2e maxWorkers to 8
* refactor: randomNumber -> randomString
* chore: add local e2e command
2025-02-03 11:40:37 +01:00
Morgan
6889592d4f
feat: add free platform plan ( #17581 )
...
* feat: add free platform plan
* chore: handle payment success / fail overdue
* chore: refactor and add tests
2024-11-12 11:14:51 +02:00