bd25cba89c
refactor: OAuth 2.0 endpoints ( #27442 )
...
* refactor: combine exchange and refresh into token endpoint
* refactor: controller error handling
* refactor: use snake_case
* refactor: use snake_case
* refactor: use snake case
* refactor: token endpoint accepts application/x-www-form-urlencoded
* refactor: token endpoint accepts application/x-www-form-urlencoded
* refactor: flat token response data
* refactor: error structure
* refactor: client_id in the body
* fix: address Cubic AI review feedback on OAuth2 endpoints
- Fix getClient endpoint to use proper REST API error format instead of OAuth token error format (confidence 9/10)
- Add missing space after comma in error format string in token.input.pipe.ts (confidence 9/10)
- Support both camelCase and snake_case inputs in authorize endpoint for backward compatibility (confidence 10/10)
- Restore legacy /exchange and /refresh endpoints alongside new /token endpoint for backward compatibility (confidence 10/10)
- Add OAuth2TokensResponseDto for legacy endpoint wrapped responses
- Add OAuth2LegacyExchangeInput and OAuth2LegacyRefreshInput for legacy endpoints
Co-Authored-By: unknown <>
* fix: address additional Cubic AI feedback on OAuth2 endpoints
- Log errors when status code >= 500 in handleClientError (confidence 9/10)
- Add Cache-Control: no-store and Pragma: no-cache headers to legacy /exchange and /refresh endpoints (confidence 9/10)
Co-Authored-By: unknown <>
* docs
* Revert "fix: address additional Cubic AI feedback on OAuth2 endpoints"
This reverts commit 39cc4aa3ebb9e59a171541d7010398425995ed89.
* Revert "fix: address Cubic AI review feedback on OAuth2 endpoints"
This reverts commit 97bf593186db04c0859f9ca30950c9e3e524019d.
* docs
* fix: address Cubic AI review feedback on OAuth2 endpoints
- Fix getClient to use handleClientError instead of handleTokenError (confidence 10)
- Restore legacy /exchange and /refresh endpoints for backward compatibility (confidence 9)
- Fix RFC 6749 error format: use human-readable messages in error_description (confidence 9)
- Fix errorDescription in OAuthService to use OAUTH_ERROR_REASONS mapping (confidence 9)
Co-Authored-By: unknown <>
* fix: address additional Cubic AI feedback on OAuth2 endpoints
- Fix security issue: Replace 'CALENDSO_ENCRYPTION_KEY is not set' with generic 'Internal server configuration error' message (confidence 10/10)
- Fix backward compatibility: Create OAuth2LegacyTokensDto with camelCase properties for legacy /exchange and /refresh endpoints (confidence 9/10)
- Skipped: RFC 6749 error field issue (confidence 8/10, below threshold)
Co-Authored-By: unknown <>
* e2e
* Revert "fix: address additional Cubic AI feedback on OAuth2 endpoints"
This reverts commit a080e93f07aaf5a7dcf81fe605012cb7ebcdc192.
* Revert "fix: address Cubic AI review feedback on OAuth2 endpoints"
This reverts commit 04986a16c981521ca97069152457bf521a9ee45f.
* fix: re-apply Cubic AI review feedback on OAuth2 endpoints
- Restore OAuth2LegacyExchangeInput and OAuth2LegacyRefreshInput classes
- Restore legacy /exchange and /refresh endpoints in OAuth2Controller
- Restore OAuth2LegacyTokensDto and OAuth2TokensResponseDto classes
- Restore OAUTH_ERROR_DESCRIPTIONS mapping in oauth2-error.service.ts
- Restore OAUTH_ERROR_REASONS lookup in OAuthService.ts mapErrorToOAuthError
- Fix encryption_key_missing error to not expose internal env var name
Addresses Cubic AI feedback with confidence >= 9/10:
- Comment 32 (9/10): Legacy endpoints and input classes
- Comment 34 (9/10): Error description mapping in OAuthService
- Comment 35 (10/10): OAUTH_ERROR_DESCRIPTIONS in error service
Skipped (confidence < 9/10):
- Comment 33 (8/10): getClient handleTokenError vs handleClientError
Co-Authored-By: unknown <>
* Revert "fix: re-apply Cubic AI review feedback on OAuth2 endpoints"
This reverts commit 416bef9c931d9a7ed78c65a70a3425550d61b151.
* delete unused file
* fix: e2e tests
* address cubic review
* fix: address Cubic AI review feedback on OAuth2 exception filter
- Fix header case sensitivity: use lowercase 'x-request-id' instead of 'X-Request-Id' since Express lowercases all request headers
- Redact request body in error logs to prevent exposing sensitive OAuth2 credentials like client_secret, password, and refresh_token
Co-Authored-By: unknown <>
* docs: api v2 oauth controller docs
* chore: remove authorize endpoint
* refactor: remove scope from docs
---------
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-05 10:16:15 +02:00
Morgan
c7cd25b7d5
chore: api v2 esModuleInterop more imports ( #26755 )
2026-01-12 11:39:01 -03:00
devin-ai-integration[bot] and morgan@cal.com
b599ce4919
feat: add user context logging to request interceptor ( #22180 )
...
- Import extractUserContext function from @/lib/extract-user-context
- Extract user context from request in intercept method
- Add user context to logger output using spread operator
- Follow same pattern as exception filters for consistency
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: morgan@cal.com <morgan@cal.com >
2025-07-01 21:08:31 +00:00
Morgan
84171928cb
chore: enable disable rewrite for apiv2 selfhost ( #21742 )
2025-06-10 11:04:25 +00:00
Morgan
c3abfa51ba
chore: stringify body for request interceptor/middleware ( #20131 )
...
* chore: stringify body for request interceptor/middleware
* rename jsonBody to jsonBodyString
2025-03-17 19:45:37 +00:00
Morgan
72832354e6
fix: api v2 axiom logs exceed column size ( #19636 )
2025-03-04 05:40:36 +00:00
Morgan
23d1a21e23
chore: remove json stringify from requestId logs api-v2 ( #17263 )
2024-10-23 07:05:31 +00:00
Morgan
3999f84eff
chore: better request/response logging apiv2 ( #17210 )
...
* chore: better request/response logging apiv2
* fixup! chore: better request/response logging apiv2
2024-10-21 08:19:31 +00:00
Keith Williams
b6c6e41603
chore: Allow redirecting /docs to external docs solution ( #16836 )
...
* chore: Allow redirecting /docs to external docs solution
* Added DOCS_URL to .env.example
2024-09-26 16:35:35 +00:00
Erik
77a98d96c8
chore: attach unique request ids ( #14857 )
2024-05-02 15:24:24 +00:00
Erik
1cfd2f7053
feat: Billing Service ( #14756 )
...
* chore: Billing Service
* chore: others
* chore: don't type
* chore: typo
* chore: use proper wh secret
* chore: updates
* chore: lockfile
* chore: docs and comment out
* chore: updates and include plan
* chore: config
* chore: bring back alias
* chore: update lockfile
* chore: refactor
* chore: default none plan in db
* chore: read from env vars
* chore: feedback
* chore: remove json config
* chore: proper type
2024-04-30 20:02:04 +00:00