Skip to content

Merge dev to prod March 19#67

Merged
JoshD94 merged 11 commits intoreleasefrom
master
Mar 19, 2026
Merged

Merge dev to prod March 19#67
JoshD94 merged 11 commits intoreleasefrom
master

Conversation

@JoshD94
Copy link
Contributor

@JoshD94 JoshD94 commented Mar 19, 2026

Overview

This pull request introduces a comprehensive authentication and user favorites system to the backend API, along with several supporting infrastructure improvements. The main changes include JWT-based authentication (login, signup, refresh, logout), secure token revocation and blocklisting, user-specific favorite games management, and related database/index enhancements. Additionally, the API now exposes a health check endpoint and includes several minor improvements and bug fixes.

Authentication & Authorization:

  • Integrated JWT-based authentication using flask_jwt_extended, with support for login, signup, refresh, and logout mutations in GraphQL. Tokens are securely revoked by blocklisting their JTIs in MongoDB, and expired tokens are periodically cleaned up. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

User Favorites Management:

  • Implemented mutations for adding and removing favorite games for the authenticated user, and a query to fetch the current user's favorite games. These leverage secure JWT identity extraction and MongoDB updates. [1] [2] [3] [4] [5] [6] [7]

Database & Infrastructure:

  • Added a MongoDB index for fast JWT blocklist lookups, and a scheduled job to cleanse expired tokens from the blocklist, ensuring efficient authentication checks over time. [1] [2]
  • Added a /health endpoint to check API and database connectivity.

GraphQL Schema & API Enhancements:

  • Registered new authentication and favorite-related mutations in the GraphQL schema, and enabled auto-camelcase for consistent API naming. [1] [2] [3]

Bug Fixes & Minor Improvements:

  • Improved hockey summary descriptions and fixed a bug in field hockey event parsing. [1] [2]
  • Added missing imports and minor refactoring for clarity and maintainability. [1] [2] [3]

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

Changes Made

Test Coverage

Next Steps (delete if not applicable)

Related PRs or Issues (delete if not applicable)

Screenshots (delete if not applicable)

Screen Shot Name

AnikDey-exe and others added 11 commits January 30, 2026 14:46
- Implemented JWT authentication with token creation and revocation.
- Added user login, signup, and logout mutations.
- Introduced favorite game management with add/remove functionality.
- Updated database schema to support token blocklist and user favorite games.
- Enhanced game query to retrieve user's favorited games.
- Configured CORS and JWT settings in the Flask app.
- Added necessary dependencies in requirements.txt.
Add JWT authentication and user management features
hockey game desc field should not be null now
@JoshD94 JoshD94 merged commit ddb249a into release Mar 19, 2026
7 checks passed
@coderabbitai
Copy link

coderabbitai bot commented Mar 19, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 47c4f799-0361-4477-9633-fd34c5cce333

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch master
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can disable sequence diagrams in the walkthrough.

Disable the reviews.sequence_diagrams setting to disable sequence diagrams in the walkthrough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants