This commit is contained in:
2025-12-16 11:52:26 +01:00
parent ce82b7822b
commit 9a891ac8b3
586 changed files with 1320 additions and 1563 deletions

View File

@@ -3,7 +3,7 @@ import type { Season } from '../../domain/entities/Season';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Game } from '../../domain/entities/Game';
import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueSummaryViewModel {
id: string;

View File

@@ -1,5 +1,5 @@
import type { League } from '../../domain/entities/League';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueWithCapacityViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export type AllRacesStatus = 'scheduled' | 'running' | 'completed' | 'cancelled' | 'all';

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface TeamListItemViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface ApproveLeagueJoinRequestViewModel {
success: boolean;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface SponsorDto {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface DashboardDriverSummaryViewModel {
id: string;

View File

@@ -1,6 +1,6 @@
import type { Team } from '../../domain/entities/Team';
import type { TeamMembership } from '../../domain/types/TeamMembership';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface DriverTeamViewModel {
team: {

View File

@@ -1,6 +1,6 @@
import type { Driver } from '../../domain/entities/Driver';
import type { SkillLevel } from '../../domain/services/SkillLevelService';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export type { SkillLevel };

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
import type { GetEntitySponsorshipPricingResultDTO } from '../use-cases/GetEntitySponsorshipPricingUseCase';
export interface IEntitySponsorshipPricingPresenter extends Presenter<GetEntitySponsorshipPricingResultDTO | null, GetEntitySponsorshipPricingResultDTO | null> {}

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface RaceViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface GetLeagueAdminPermissionsViewModel {
canRemoveMember: boolean;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueAdminViewModel {
leagueId: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueJoinRequestViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueMembershipsViewModel {
members: {

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueOwnerSummaryViewModel {
driver: { id: string; name: string };

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface GetLeagueProtestsViewModel {
protests: any[];

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueScheduleViewModel {
races: Array<{

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueSeasonSummaryViewModel {
seasonId: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface SponsorDto {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface SponsorshipPricingItemDto {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface GetTotalLeaguesViewModel {
totalLeagues: number;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface GetTotalRacesViewModel {
totalRaces: number;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface ImportRaceResultsSummaryViewModel {
success: boolean;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueDriverSeasonStatsItemViewModel {
leagueId: string;

View File

@@ -2,7 +2,7 @@ import type { League } from '../../domain/entities/League';
import type { Season } from '../../domain/entities/Season';
import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig';
import type { Game } from '../../domain/entities/Game';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueConfigFormViewModel {
leagueId: string;

View File

@@ -1,6 +1,6 @@
import type { ChampionshipConfig } from '../../domain/types/ChampionshipConfig';
import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueScoringChampionshipViewModel {
id: string;

View File

@@ -1,5 +1,5 @@
import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface LeagueScoringPresetsViewModel {
presets: LeagueScoringPresetDTO[];

View File

@@ -1,5 +1,5 @@
import type { Standing } from '../../domain/entities/Standing';
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface StandingItemViewModel {
driverId: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface LeagueStatsViewModel {
totalMembers: number;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
import type { GetPendingSponsorshipRequestsResultDTO } from '../use-cases/GetPendingSponsorshipRequestsUseCase';
export type PendingSponsorshipRequestsViewModel = GetPendingSponsorshipRequestsResultDTO;

View File

@@ -1,5 +1,5 @@
import type { SessionType, RaceStatus } from '../../domain/entities/Race';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface RaceDetailEntryViewModel {
id: string;

View File

@@ -1,5 +1,5 @@
import type { Penalty, PenaltyType, PenaltyStatus } from '../../domain/entities/Penalty';
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface RacePenaltyViewModel {
id: string;

View File

@@ -1,5 +1,5 @@
import type { Protest, ProtestStatus, ProtestIncident } from '../../domain/entities/Protest';
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface RaceProtestViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface RaceRegistrationsViewModel {
registeredDriverIds: string[];

View File

@@ -2,7 +2,7 @@ import type { RaceStatus } from '../../domain/entities/Race';
import type { Result } from '../../domain/entities/Result';
import type { Driver } from '../../domain/entities/Driver';
import type { PenaltyType } from '../../domain/entities/Penalty';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface RaceResultsHeaderViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface RaceWithSOFViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface RaceListItemViewModel {
id: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface RejectLeagueJoinRequestViewModel {
success: boolean;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface RemoveLeagueMemberViewModel {
success: boolean;

View File

@@ -1,5 +1,5 @@
import type { SponsorDashboardDTO } from '../use-cases/GetSponsorDashboardUseCase';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export type SponsorDashboardViewModel = SponsorDashboardDTO | null;

View File

@@ -1,5 +1,5 @@
import type { SponsorSponsorshipsDTO } from '../use-cases/GetSponsorSponsorshipsUseCase';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export type SponsorSponsorshipsViewModel = SponsorSponsorshipsDTO | null;

View File

@@ -1,6 +1,6 @@
import type { Team } from '../../domain/entities/Team';
import type { TeamMembership } from '../../domain/types/TeamMembership';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface TeamDetailsViewModel {
team: {

View File

@@ -1,5 +1,5 @@
import type { TeamJoinRequest } from '../../domain/types/TeamMembership';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface TeamJoinRequestViewModel {
requestId: string;

View File

@@ -1,5 +1,5 @@
import type { TeamMembership } from '../../domain/types/TeamMembership';
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export interface TeamMemberViewModel {
driverId: string;

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation';
import type { Presenter } from '@core/shared/presentation';
export type SkillLevel = 'beginner' | 'intermediate' | 'advanced' | 'pro';

View File

@@ -1,4 +1,4 @@
import type { Presenter } from '@gridpilot/shared/presentation/Presenter';
import type { Presenter } from '@core/shared/presentation/Presenter';
export interface UpdateLeagueMemberRoleViewModel {
success: boolean;