35 lines
733 B
TypeScript
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;
|
|
} |