90 lines
5.5 KiB
TypeScript
90 lines
5.5 KiB
TypeScript
/**
|
|
* Centralized token registry for all dependencies
|
|
* Using Symbol.for for cross-module consistency
|
|
*/
|
|
|
|
// Core Services
|
|
export const LOGGER_TOKEN = Symbol.for('Core.Logger');
|
|
export const ERROR_REPORTER_TOKEN = Symbol.for('Core.ErrorReporter');
|
|
export const CONFIG_TOKEN = Symbol.for('Core.Config');
|
|
|
|
// API Clients
|
|
export const API_CLIENT_TOKEN = Symbol.for('Api.BaseClient');
|
|
export const LEAGUE_API_CLIENT_TOKEN = Symbol.for('Api.LeagueClient');
|
|
export const DRIVER_API_CLIENT_TOKEN = Symbol.for('Api.DriverClient');
|
|
export const TEAM_API_CLIENT_TOKEN = Symbol.for('Api.TeamClient');
|
|
export const RACE_API_CLIENT_TOKEN = Symbol.for('Api.RaceClient');
|
|
export const MEDIA_API_CLIENT_TOKEN = Symbol.for('Api.MediaClient');
|
|
export const PAYMENT_API_CLIENT_TOKEN = Symbol.for('Api.PaymentClient');
|
|
export const WALLET_API_CLIENT_TOKEN = Symbol.for('Api.WalletClient');
|
|
export const AUTH_API_CLIENT_TOKEN = Symbol.for('Api.AuthClient');
|
|
export const ANALYTICS_API_CLIENT_TOKEN = Symbol.for('Api.AnalyticsClient');
|
|
export const SPONSOR_API_CLIENT_TOKEN = Symbol.for('Api.SponsorClient');
|
|
export const POLICY_API_CLIENT_TOKEN = Symbol.for('Api.PolicyClient');
|
|
export const PROTEST_API_CLIENT_TOKEN = Symbol.for('Api.ProtestClient');
|
|
export const PENALTY_API_CLIENT_TOKEN = Symbol.for('Api.PenaltyClient');
|
|
export const DASHBOARD_API_CLIENT_TOKEN = Symbol.for('Api.DashboardClient');
|
|
|
|
// Domain Services
|
|
import type { LeagueService } from '@/lib/services/leagues/LeagueService';
|
|
import type { LeagueMembershipService } from '@/lib/services/leagues/LeagueMembershipService';
|
|
import type { LeagueWalletService } from '@/lib/services/leagues/LeagueWalletService';
|
|
import type { LeagueSettingsService } from '@/lib/services/leagues/LeagueSettingsService';
|
|
import type { LeagueStewardingService } from '@/lib/services/leagues/LeagueStewardingService';
|
|
import type { DriverService } from '@/lib/services/drivers/DriverService';
|
|
import type { AuthService } from '@/lib/services/auth/AuthService';
|
|
import type { SessionService } from '@/lib/services/auth/SessionService';
|
|
import type { PenaltyService } from '@/lib/services/penalties/PenaltyService';
|
|
import type { PolicyService } from '@/lib/services/policy/PolicyService';
|
|
import type { AdminService } from '@/lib/services/admin/AdminService';
|
|
import type { OnboardingService } from '@/lib/services/onboarding/OnboardingService';
|
|
import type { SponsorService } from '@/lib/services/sponsors/SponsorService';
|
|
import type { ProtestService } from '@/lib/services/protests/ProtestService';
|
|
import type { LandingService } from '@/lib/services/landing/LandingService';
|
|
import type { TeamService } from '@/lib/services/teams/TeamService';
|
|
import type { TeamJoinService } from '@/lib/services/teams/TeamJoinService';
|
|
import type { RaceService } from '@/lib/services/races/RaceService';
|
|
import type { RaceResultsService } from '@/lib/services/races/RaceResultsService';
|
|
import type { RaceStewardingService } from '@/lib/services/races/RaceStewardingService';
|
|
import type { DashboardService } from '@/lib/services/analytics/DashboardService';
|
|
|
|
export const LEAGUE_SERVICE_TOKEN = Symbol.for('Service.League') as symbol & { type: LeagueService };
|
|
export const LEAGUE_MEMBERSHIP_SERVICE_TOKEN = Symbol.for('Service.LeagueMembership') as symbol & { type: LeagueMembershipService };
|
|
export const LEAGUE_WALLET_SERVICE_TOKEN = Symbol.for('Service.LeagueWallet') as symbol & { type: LeagueWalletService };
|
|
|
|
export const DRIVER_SERVICE_TOKEN = Symbol.for('Service.Driver') as symbol & { type: DriverService };
|
|
|
|
export const TEAM_SERVICE_TOKEN = Symbol.for('Service.Team') as symbol & { type: TeamService };
|
|
export const TEAM_JOIN_SERVICE_TOKEN = Symbol.for('Service.TeamJoin') as symbol & { type: TeamJoinService };
|
|
|
|
export const RACE_SERVICE_TOKEN = Symbol.for('Service.Race') as symbol & { type: RaceService };
|
|
export const RACE_RESULTS_SERVICE_TOKEN = Symbol.for('Service.RaceResults') as symbol & { type: RaceResultsService };
|
|
export const RACE_STEWARDING_SERVICE_TOKEN = Symbol.for('Service.RaceStewarding') as symbol & { type: RaceStewardingService };
|
|
|
|
export const SPONSOR_SERVICE_TOKEN = Symbol.for('Service.Sponsor') as symbol & { type: SponsorService };
|
|
|
|
export const PAYMENT_SERVICE_TOKEN = Symbol.for('Service.Payment');
|
|
export const WALLET_SERVICE_TOKEN = Symbol.for('Service.Wallet');
|
|
|
|
export const MEDIA_SERVICE_TOKEN = Symbol.for('Service.Media');
|
|
|
|
export const AUTH_SERVICE_TOKEN = Symbol.for('Service.Auth') as symbol & { type: AuthService };
|
|
export const SESSION_SERVICE_TOKEN = Symbol.for('Service.Session') as symbol & { type: SessionService };
|
|
|
|
export const PENALTY_SERVICE_TOKEN = Symbol.for('Service.Penalty') as symbol & { type: PenaltyService };
|
|
|
|
export const POLICY_SERVICE_TOKEN = Symbol.for('Service.Policy') as symbol & { type: PolicyService };
|
|
|
|
export const ADMIN_SERVICE_TOKEN = Symbol.for('Service.Admin') as symbol & { type: AdminService };
|
|
|
|
// Additional league services
|
|
export const LEAGUE_SETTINGS_SERVICE_TOKEN = Symbol.for('Service.LeagueSettings') as symbol & { type: LeagueSettingsService };
|
|
export const LEAGUE_STEWARDING_SERVICE_TOKEN = Symbol.for('Service.LeagueStewarding') as symbol & { type: LeagueStewardingService };
|
|
export const PROTEST_SERVICE_TOKEN = Symbol.for('Service.Protest') as symbol & { type: ProtestService };
|
|
|
|
export const LANDING_SERVICE_TOKEN = Symbol.for('Service.Landing') as symbol & { type: LandingService };
|
|
|
|
export const DASHBOARD_SERVICE_TOKEN = Symbol.for('Service.Dashboard') as symbol & { type: DashboardService };
|
|
|
|
// Onboarding Services
|
|
export const ONBOARDING_SERVICE_TOKEN = Symbol.for('Service.Onboarding') as symbol & { type: OnboardingService }; |