mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 14:04:04 -05:00
## Summary - Add DynamoDB support to Google URL shortener to check in preference to goo.gl itself (which will be going away) - Update ShortLinkResolver to accept AWS properties and use DynamoDB table `goo-gl-links` - First check DynamoDB for fragment lookup before falling back to Google URL shortener (for now) - Refactor resolve method to use async/await instead of raw promises for better readability - Add awsProps to ServerDependencies and pass through component hierarchy - Configure googleLinksDynamoTable property in AWS config files (defaults to empty) ## Implementation Details - When `googleLinksDynamoTable` property is configured, `ShortLinkResolver` creates a DynamoDB client - DynamoDB table uses `fragment` as the key and stores `expanded_url` - Maintains backwards compatibility by falling back to Google URL (for now) shortener if DynamoDB is not configured or lookup fails - Google URL shortener fallback will be removed in August 2025 when the service shuts down ## Test plan - [x] All existing tests pass - [x] TypeScript compilation succeeds - [x] Linting passes - [x] Updated tests to accommodate new awsProps parameter - [x] Verify fallback to Google URL shortener when DynamoDB not configured - [x] Manual testing 🤖 Generated with [Claude Code](https://claude.ai/code) --------- Co-authored-by: Claude <noreply@anthropic.com>