Files
gridpilot.gg/apps/website/lib/builders/view-data/TeamRankingsViewDataBuilder.ts
Marc Mintel d97f50ed72
Some checks failed
Contract Testing / contract-tests (pull_request) Failing after 6m4s
Contract Testing / contract-snapshot (pull_request) Has been skipped
view data fixes
2026-01-23 11:59:49 +01:00

25 lines
792 B
TypeScript

import { ViewData } from '@/lib/contracts/view-data/ViewData';
import type { GetTeamsLeaderboardOutputDTO } from '@/lib/types/generated/GetTeamsLeaderboardOutputDTO';
import type { TeamRankingsViewData } from '@/lib/view-data/TeamRankingsViewData';
import { ViewDataBuilder } from "../../contracts/builders/ViewDataBuilder";
export class TeamRankingsViewDataBuilder implements ViewDataBuilder<any, any> {
build(input: any): any {
return TeamRankingsViewDataBuilder.build(input);
}
static build(
public static build(apiDto: GetTeamsLeaderboardOutputDTO): TeamRankingsViewData {
const allTeams = apiDto.teams.map(t => ({
...t,
}));
return {
teams: allTeams,
podium: allTeams.slice(0, 3),
recruitingCount: apiDto.recruitingCount,
};
}
}