Files
gridpilot.gg/packages/racing/application/presenters/IAllTeamsPresenter.ts
2025-12-12 01:11:36 +01:00

34 lines
739 B
TypeScript

import type { Presenter } from '@gridpilot/shared/presentation';
export interface TeamListItemViewModel {
id: string;
name: string;
tag: string;
description: string;
memberCount: number;
leagues: string[];
specialization?: 'endurance' | 'sprint' | 'mixed';
region?: string;
languages?: string[];
}
export interface AllTeamsViewModel {
teams: TeamListItemViewModel[];
totalCount: number;
}
export interface AllTeamsResultDTO {
teams: Array<{
id: string;
name: string;
tag: string;
description: string;
ownerId: string;
leagues: string[];
createdAt: Date;
memberCount: number;
}>;
}
export interface IAllTeamsPresenter
extends Presenter<AllTeamsResultDTO, AllTeamsViewModel> {}