27 lines
769 B
TypeScript
27 lines
769 B
TypeScript
import type { TeamJoinRequest } from '../../domain/types/TeamMembership';
|
|
import type { Presenter } from '@gridpilot/shared/presentation';
|
|
|
|
export interface TeamJoinRequestViewModel {
|
|
requestId: string;
|
|
driverId: string;
|
|
driverName: string;
|
|
teamId: string;
|
|
status: 'pending' | 'approved' | 'rejected';
|
|
requestedAt: string;
|
|
avatarUrl: string;
|
|
}
|
|
|
|
export interface TeamJoinRequestsViewModel {
|
|
requests: TeamJoinRequestViewModel[];
|
|
pendingCount: number;
|
|
totalCount: number;
|
|
}
|
|
|
|
export interface TeamJoinRequestsResultDTO {
|
|
requests: TeamJoinRequest[];
|
|
driverNames: Record<string, string>;
|
|
avatarUrls: Record<string, string>;
|
|
}
|
|
|
|
export interface ITeamJoinRequestsPresenter
|
|
extends Presenter<TeamJoinRequestsResultDTO, TeamJoinRequestsViewModel> {} |