Files
gridpilot.gg/packages/racing/application/presenters/ITeamMembersPresenter.ts
2025-12-11 13:50:38 +01:00

26 lines
623 B
TypeScript

import type { TeamMembership } from '../../domain/types/TeamMembership';
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;
}