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

26 lines
616 B
TypeScript

import type { TeamMembership } from '../../domain/entities/Team';
export interface TeamMemberViewModel {
driverId: string;
driverName: string;
role: 'owner' | 'manager' | 'member';
joinedAt: string;
isActive: boolean;
avatarUrl: string;
}
export interface TeamMembersViewModel {
members: TeamMemberViewModel[];
totalCount: number;
ownerCount: number;
managerCount: number;
memberCount: number;
}
export interface ITeamMembersPresenter {
present(
memberships: TeamMembership[],
driverNames: Record<string, string>,
avatarUrls: Record<string, string>
): TeamMembersViewModel;
}