Files
gridpilot.gg/apps/website/lib/services/teams/TeamService.ts
2025-12-17 18:01:47 +01:00

30 lines
1.1 KiB
TypeScript

import { api as api } from '../../api';
import { presentTeamDetails, presentTeamMember, presentTeamSummary } from '../../presenters';
import { TeamDetailsViewModel, TeamMemberViewModel, TeamSummaryViewModel } from '../../view-models';
export async function getAllTeams(): Promise<TeamSummaryViewModel[]> {
const dto = await api.teams.getAll();
return dto.teams.map(t => presentTeamSummary(t));
}
export async function getTeamDetails(teamId: string): Promise<TeamDetailsViewModel | null> {
const dto = await api.teams.getDetails(teamId);
return dto ? presentTeamDetails(dto) : null;
}
export async function getTeamMembers(teamId: string): Promise<TeamMemberViewModel[]> {
const dto = await api.teams.getMembers(teamId);
return dto.members.map(m => presentTeamMember(m));
}
export async function createTeam(input: any): Promise<any> {
return await api.teams.create(input);
}
export async function updateTeam(teamId: string, input: any): Promise<any> {
return await api.teams.update(teamId, input);
}
export async function getDriverTeam(driverId: string): Promise<any> {
return await api.teams.getDriverTeam(driverId);
}