25 lines
600 B
TypeScript
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;
|
|
} |