Files
gridpilot.gg/packages/racing/domain/entities/Team.ts
2025-12-04 11:54:42 +01:00

35 lines
733 B
TypeScript

/**
* Domain Entities: Team, TeamMembership, TeamJoinRequest
*
* Extracted from racing-application teams module so that
* team-related types live in the racing-domain package.
*/
export type TeamRole = 'owner' | 'manager' | 'driver';
export type TeamMembershipStatus = 'active' | 'pending' | 'none';
export interface Team {
id: string;
name: string;
tag: string;
description: string;
ownerId: string;
leagues: string[];
createdAt: Date;
}
export interface TeamMembership {
teamId: string;
driverId: string;
role: TeamRole;
status: TeamMembershipStatus;
joinedAt: Date;
}
export interface TeamJoinRequest {
id: string;
teamId: string;
driverId: string;
requestedAt: Date;
message?: string;
}