28 lines
746 B
TypeScript
28 lines
746 B
TypeScript
import type { TeamMembership } from '../../domain/types/TeamMembership';
|
|
import type { Presenter } from '@core/shared/presentation';
|
|
|
|
export interface TeamMemberViewModel {
|
|
driverId: string;
|
|
driverName: string;
|
|
role: 'owner' | 'manager' | 'member';
|
|
joinedAt: string;
|
|
isActive: boolean;
|
|
avatarUrl: string;
|
|
}
|
|
|
|
export interface TeamMembersViewModel {
|
|
members: TeamMemberViewModel[];
|
|
totalCount: number;
|
|
ownerCount: number;
|
|
managerCount: number;
|
|
memberCount: number;
|
|
}
|
|
|
|
export interface TeamMembersResultDTO {
|
|
memberships: TeamMembership[];
|
|
driverNames: Record<string, string>;
|
|
avatarUrls: Record<string, string>;
|
|
}
|
|
|
|
export interface ITeamMembersPresenter
|
|
extends Presenter<TeamMembersResultDTO, TeamMembersViewModel> {} |