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

@@ -5,7 +5,7 @@
* Immutable entity with factory methods and domain validation.
*/
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import { RacingDomainValidationError } from '../errors/RacingDomainError';
export type CarClass = 'formula' | 'gt' | 'prototype' | 'touring' | 'sports' | 'oval' | 'dirt';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export class Driver implements IEntity<string> {
readonly id: string;

View File

@@ -5,7 +5,7 @@
* Includes user-placed decals and league-specific overrides.
*/
import { RacingDomainValidationError, RacingDomainInvariantError, RacingDomainError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { LiveryDecal } from '../value-objects/LiveryDecal';

View File

@@ -1,5 +1,5 @@
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export class Game implements IEntity<string> {
readonly id: string;

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
/**
* Stewarding decision mode for protests

View File

@@ -4,7 +4,7 @@
* Represents a driver's membership in a league and join requests.
*/
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import { RacingDomainValidationError } from '../errors/RacingDomainError';
export type MembershipRole = 'owner' | 'admin' | 'steward' | 'member';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { Money } from '../value-objects/Money';
import type { Transaction } from './Transaction';

View File

@@ -5,7 +5,7 @@
* Contains base image and sponsor decal placements.
*/
import { RacingDomainValidationError, RacingDomainInvariantError, RacingDomainError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { LiveryDecal } from '../value-objects/LiveryDecal';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export type PenaltyType =
| 'time_penalty' // Add time to race result (e.g., +5 seconds)

View File

@@ -5,7 +5,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { Money } from '../value-objects/Money';

View File

@@ -12,7 +12,7 @@
* - withdrawn: Protesting driver withdrew the protest
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export type ProtestStatus = 'pending' | 'awaiting_defense' | 'under_review' | 'upheld' | 'dismissed' | 'withdrawn';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { SessionType } from '../value-objects/SessionType';
export type RaceStatus = 'scheduled' | 'running' | 'completed' | 'cancelled';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { Session } from './Session';
import type { SessionType } from '../value-objects/SessionType';

View File

@@ -4,7 +4,7 @@
* Represents a registration of a driver for a specific race.
*/
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import { RacingDomainValidationError } from '../errors/RacingDomainError';
export interface RaceRegistrationProps {

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export class Result implements IEntity<string> {
readonly id: string;

View File

@@ -3,7 +3,7 @@
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import { RaceIncidents, type IncidentRecord } from '../value-objects/RaceIncidents';
export class ResultWithIncidents implements IEntity<string> {

View File

@@ -9,7 +9,7 @@ import {
RacingDomainInvariantError,
RacingDomainValidationError,
} from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { SeasonSchedule } from '../value-objects/SeasonSchedule';
import type { SeasonScoringConfig } from '../value-objects/SeasonScoringConfig';
import type { SeasonDropPolicy } from '../value-objects/SeasonDropPolicy';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { Money } from '../value-objects/Money';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { SessionType } from '../value-objects/SessionType';
export type SessionStatus = 'scheduled' | 'running' | 'completed' | 'cancelled';

View File

@@ -5,7 +5,7 @@
* Aggregate root for sponsor information.
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export interface SponsorProps {
id: string;

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import type { Money } from '../value-objects/Money';
import type { SponsorshipTier } from './SeasonSponsorship';

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainError, RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export class Standing implements IEntity<string> {
readonly id: string;

View File

@@ -6,7 +6,7 @@
* basic invariants around identity and core properties.
*/
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
import { RacingDomainValidationError } from '../errors/RacingDomainError';
export class Team implements IEntity<string> {

View File

@@ -6,7 +6,7 @@
*/
import { RacingDomainValidationError } from '../errors/RacingDomainError';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export type TrackCategory = 'oval' | 'road' | 'street' | 'dirt';
export type TrackDifficulty = 'beginner' | 'intermediate' | 'advanced' | 'expert';

View File

@@ -7,7 +7,7 @@
import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError';
import type { Money } from '../value-objects/Money';
import type { IEntity } from '@gridpilot/shared/domain';
import type { IEntity } from '@core/shared/domain';
export type TransactionType =
| 'sponsorship_payment'