Skip to content

Comments

Feat/rewrite to gluestack#11

Open
Survikrowa wants to merge 8 commits intomainfrom
feat/rewrite-to-gluestack
Open

Feat/rewrite to gluestack#11
Survikrowa wants to merge 8 commits intomainfrom
feat/rewrite-to-gluestack

Conversation

@Survikrowa
Copy link
Owner

This pull request introduces two major features to the API: fetching upcoming games from IGDB with caching, and exposing a query for users' last edited game statuses. Additionally, it adds new DTOs, interfaces, and updates module wiring to support these features. There are also improvements to project documentation regarding import practices.

New IGDB Upcoming Games Query and Caching:

  • Added IgdbService implementing a new IGamesProvider interface, which fetches upcoming games from IGDB, handles OAuth token management, and maps results to new DTOs. The service is provided via a new provider token (GAMES_PROVIDER). [1] [2] [3]
  • Introduced a CQRS query (GetUpcomingGamesQuery and handler) that fetches upcoming games, caches results for 1 hour using NestJS cache manager, and exposes them via a new GraphQL query upcomingGames. [1] [2] [3] [4] [5] [6]
  • Added supporting DTOs for external games and platforms, and a utility for timestamp conversion. [1] [2]
  • Updated dependencies to include @nestjs/cache-manager and cache-manager. [1] [2]

User Last Edited Game Statuses Query:

  • Added a new GraphQL query lastEditedGames to fetch the user's most recently edited game statuses, with a CQRS query and handler that retrieves and maps the data from the database. [1] [2] [3] [4] [5] [6] [7]
  • Introduced a new DTO LastEditedGamesStatusDTO for the response.

Documentation and Codebase Clean-up:

  • Updated .github/copilot-instructions.md with a strict rule to never use barrel exports (index.ts), and clarified import conventions for all platforms. [1] [2]
  • Removed unused IGDB DTOs and schemas from igdb_games.dto.ts.

These changes improve API capabilities for game discovery and user activity, while also enhancing code maintainability and consistency.

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.

1 participant