@@ -18,6 +18,7 @@ import { Repository } from "typeorm";
1818import { MinimumRole } from "../../../decorators/minimum-role.decorator" ;
1919import { PaginateQueryOptions } from "../../../decorators/pagination.decorator" ;
2020import { ApiOkResponsePaginated } from "../../../globals" ;
21+ import { GamevaultGame } from "../../games/gamevault-game.entity" ;
2122import { Role } from "../../users/models/role.enum" ;
2223import { DeveloperMetadata } from "./developer.metadata.entity" ;
2324
@@ -50,7 +51,12 @@ export class DeveloperController {
5051 ) : Promise < Paginated < DeveloperMetadata > > {
5152 const queryBuilder = this . developerRepository
5253 . createQueryBuilder ( "developer" )
53- . innerJoin ( "developer.games" , "games" , "games.deleted_at IS NULL" )
54+ . innerJoin ( "developer.games" , "games" )
55+ . innerJoin (
56+ GamevaultGame ,
57+ "game" ,
58+ "game.metadata_id = games.id AND game.deleted_at IS NULL" ,
59+ )
5460 . where ( "developer.provider_slug = :provider_slug" , {
5561 provider_slug : "gamevault" ,
5662 } )
@@ -59,7 +65,7 @@ export class DeveloperController {
5965 // If no specific sort is provided, sort by the number of games in descending order
6066 if ( query . sortBy ?. length === 0 ) {
6167 queryBuilder
62- . addSelect ( "COUNT(games .id)" , "games_count" )
68+ . addSelect ( "COUNT(DISTINCT game .id)" , "games_count" )
6369 . orderBy ( "games_count" , "DESC" ) ;
6470 }
6571
0 commit comments