api client refactor

This commit is contained in:
2025-12-17 18:01:47 +01:00
parent bab55955e1
commit 4177644b18
190 changed files with 6403 additions and 1624 deletions

View File

@@ -0,0 +1,12 @@
import { api as api } from '../../api';
import { presentLeagueMember } from '../../presenters';
import { LeagueMemberViewModel } from '../../view-models';
export async function getLeagueMemberships(leagueId: string, currentUserId: string): Promise<LeagueMemberViewModel[]> {
const dto = await api.leagues.getMemberships(leagueId);
return dto.members.map(m => presentLeagueMember(m, currentUserId));
}
export async function removeLeagueMember(leagueId: string, performerDriverId: string, targetDriverId: string): Promise<void> {
await api.leagues.removeMember(leagueId, performerDriverId, targetDriverId);
}

View File

@@ -0,0 +1,28 @@
import { api as api } from '../../api';
import { presentLeagueSummaries, presentLeagueStandings } from '../../presenters';
import { LeagueSummaryViewModel, LeagueStandingsViewModel } from '../../view-models';
export async function getAllLeagues(): Promise<LeagueSummaryViewModel[]> {
const dto = await api.leagues.getAllWithCapacity();
return presentLeagueSummaries(dto.leagues);
}
export async function getLeagueStandings(leagueId: string, currentUserId?: string): Promise<LeagueStandingsViewModel> {
const dto = await api.leagues.getStandings(leagueId);
// TODO: include drivers and memberships in dto
const dtoWithExtras = {
...dto,
drivers: [], // TODO: fetch drivers
memberships: [], // TODO: fetch memberships
};
return presentLeagueStandings(dtoWithExtras, currentUserId || '');
}
export async function createLeague(input: any): Promise<any> {
return await api.leagues.create(input);
}
export async function getLeagueAdminView(leagueId: string): Promise<any> {
// TODO: implement
return {};
}