30 lines
1.1 KiB
TypeScript
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);
|
|
} |