Files
gridpilot.gg/packages/racing/application/presenters/IDriverTeamPresenter.ts
2025-12-10 18:28:32 +01:00

30 lines
649 B
TypeScript

import type { Team, TeamMembership } from '../../domain/entities/Team';
export interface DriverTeamViewModel {
team: {
id: string;
name: string;
tag: string;
description: string;
ownerId: string;
leagues: string[];
specialization?: 'endurance' | 'sprint' | 'mixed';
region?: string;
languages?: string[];
};
membership: {
role: 'owner' | 'manager' | 'member';
joinedAt: string;
isActive: boolean;
};
isOwner: boolean;
canManage: boolean;
}
export interface IDriverTeamPresenter {
present(
team: Team,
membership: TeamMembership,
driverId: string
): DriverTeamViewModel;
}