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

25 lines
600 B
TypeScript

/**
* Domain Entity: LeagueMembership and JoinRequest
*
* Extracted from racing-application memberships module so that
* membership-related types live in the racing-domain package.
*/
export type MembershipRole = 'owner' | 'admin' | 'steward' | 'member';
export type MembershipStatus = 'active' | 'pending' | 'none';
export interface LeagueMembership {
leagueId: string;
driverId: string;
role: MembershipRole;
status: MembershipStatus;
joinedAt: Date;
}
export interface JoinRequest {
id: string;
leagueId: string;
driverId: string;
requestedAt: Date;
message?: string;
}