109 lines
5.2 KiB
TypeScript
109 lines
5.2 KiB
TypeScript
/**
|
|
* Dependency Injection tokens for TSyringe container (Website)
|
|
*/
|
|
|
|
export const DI_TOKENS = {
|
|
// Repositories
|
|
DriverRepository: Symbol.for('IDriverRepository'),
|
|
LeagueRepository: Symbol.for('ILeagueRepository'),
|
|
RaceRepository: Symbol.for('IRaceRepository'),
|
|
ResultRepository: Symbol.for('IResultRepository'),
|
|
StandingRepository: Symbol.for('IStandingRepository'),
|
|
PenaltyRepository: Symbol.for('IPenaltyRepository'),
|
|
ProtestRepository: Symbol.for('IProtestRepository'),
|
|
TeamRepository: Symbol.for('ITeamRepository'),
|
|
TeamMembershipRepository: Symbol.for('ITeamMembershipRepository'),
|
|
RaceRegistrationRepository: Symbol.for('IRaceRegistrationRepository'),
|
|
LeagueMembershipRepository: Symbol.for('ILeagueMembershipRepository'),
|
|
GameRepository: Symbol.for('IGameRepository'),
|
|
SeasonRepository: Symbol.for('ISeasonRepository'),
|
|
LeagueScoringConfigRepository: Symbol.for('ILeagueScoringConfigRepository'),
|
|
TrackRepository: Symbol.for('ITrackRepository'),
|
|
CarRepository: Symbol.for('ICarRepository'),
|
|
FeedRepository: Symbol.for('IFeedRepository'),
|
|
SocialRepository: Symbol.for('ISocialGraphRepository'),
|
|
NotificationRepository: Symbol.for('INotificationRepository'),
|
|
NotificationPreferenceRepository: Symbol.for('INotificationPreferenceRepository'),
|
|
SponsorRepository: Symbol.for('ISponsorRepository'),
|
|
SeasonSponsorshipRepository: Symbol.for('ISeasonSponsorshipRepository'),
|
|
SponsorshipRequestRepository: Symbol.for('ISponsorshipRequestRepository'),
|
|
SponsorshipPricingRepository: Symbol.for('ISponsorshipPricingRepository'),
|
|
|
|
// Providers
|
|
LeagueScoringPresetProvider: Symbol.for('LeagueScoringPresetProvider'),
|
|
DriverRatingProvider: Symbol.for('DriverRatingProvider'),
|
|
|
|
// Services
|
|
ImageService: Symbol.for('ImageServicePort'),
|
|
NotificationGatewayRegistry: Symbol.for('NotificationGatewayRegistry'),
|
|
|
|
// Use Cases - Racing
|
|
JoinLeagueUseCase: Symbol.for('JoinLeagueUseCase'),
|
|
RegisterForRaceUseCase: Symbol.for('RegisterForRaceUseCase'),
|
|
WithdrawFromRaceUseCase: Symbol.for('WithdrawFromRaceUseCase'),
|
|
CreateLeagueWithSeasonAndScoringUseCase: Symbol.for('CreateLeagueWithSeasonAndScoringUseCase'),
|
|
TransferLeagueOwnershipUseCase: Symbol.for('TransferLeagueOwnershipUseCase'),
|
|
|
|
// Use Cases - Teams
|
|
CreateTeamUseCase: Symbol.for('CreateTeamUseCase'),
|
|
JoinTeamUseCase: Symbol.for('JoinTeamUseCase'),
|
|
LeaveTeamUseCase: Symbol.for('LeaveTeamUseCase'),
|
|
ApproveTeamJoinRequestUseCase: Symbol.for('ApproveTeamJoinRequestUseCase'),
|
|
RejectTeamJoinRequestUseCase: Symbol.for('RejectTeamJoinRequestUseCase'),
|
|
UpdateTeamUseCase: Symbol.for('UpdateTeamUseCase'),
|
|
|
|
// Use Cases - Stewarding
|
|
FileProtestUseCase: Symbol.for('FileProtestUseCase'),
|
|
ReviewProtestUseCase: Symbol.for('ReviewProtestUseCase'),
|
|
ApplyPenaltyUseCase: Symbol.for('ApplyPenaltyUseCase'),
|
|
RequestProtestDefenseUseCase: Symbol.for('RequestProtestDefenseUseCase'),
|
|
SubmitProtestDefenseUseCase: Symbol.for('SubmitProtestDefenseUseCase'),
|
|
|
|
// Use Cases - Notifications
|
|
SendNotificationUseCase: Symbol.for('SendNotificationUseCase'),
|
|
MarkNotificationReadUseCase: Symbol.for('MarkNotificationReadUseCase'),
|
|
|
|
// Queries - Racing
|
|
IsDriverRegisteredForRaceQuery: Symbol.for('IsDriverRegisteredForRaceQuery'),
|
|
GetRaceRegistrationsQuery: Symbol.for('GetRaceRegistrationsQuery'),
|
|
GetLeagueStandingsQuery: Symbol.for('GetLeagueStandingsQuery'),
|
|
GetLeagueDriverSeasonStatsQuery: Symbol.for('GetLeagueDriverSeasonStatsQuery'),
|
|
GetAllLeaguesWithCapacityQuery: Symbol.for('GetAllLeaguesWithCapacityQuery'),
|
|
GetAllLeaguesWithCapacityAndScoringQuery: Symbol.for('GetAllLeaguesWithCapacityAndScoringQuery'),
|
|
ListLeagueScoringPresetsQuery: Symbol.for('ListLeagueScoringPresetsQuery'),
|
|
GetLeagueScoringConfigQuery: Symbol.for('GetLeagueScoringConfigQuery'),
|
|
GetLeagueFullConfigQuery: Symbol.for('GetLeagueFullConfigQuery'),
|
|
PreviewLeagueScheduleQuery: Symbol.for('PreviewLeagueScheduleQuery'),
|
|
GetRaceWithSOFQuery: Symbol.for('GetRaceWithSOFQuery'),
|
|
GetLeagueStatsQuery: Symbol.for('GetLeagueStatsQuery'),
|
|
|
|
// Queries - Teams
|
|
GetAllTeamsQuery: Symbol.for('GetAllTeamsQuery'),
|
|
GetTeamDetailsQuery: Symbol.for('GetTeamDetailsQuery'),
|
|
GetTeamMembersQuery: Symbol.for('GetTeamMembersQuery'),
|
|
GetTeamJoinRequestsQuery: Symbol.for('GetTeamJoinRequestsQuery'),
|
|
GetDriverTeamQuery: Symbol.for('GetDriverTeamQuery'),
|
|
|
|
// Queries - Stewarding
|
|
GetRaceProtestsQuery: Symbol.for('GetRaceProtestsQuery'),
|
|
GetRacePenaltiesQuery: Symbol.for('GetRacePenaltiesQuery'),
|
|
|
|
// Queries - Notifications
|
|
GetUnreadNotificationsQuery: Symbol.for('GetUnreadNotificationsQuery'),
|
|
|
|
// Queries - Sponsors
|
|
GetSponsorDashboardQuery: Symbol.for('GetSponsorDashboardQuery'),
|
|
GetSponsorSponsorshipsQuery: Symbol.for('GetSponsorSponsorshipsQuery'),
|
|
GetPendingSponsorshipRequestsQuery: Symbol.for('GetPendingSponsorshipRequestsQuery'),
|
|
GetEntitySponsorshipPricingQuery: Symbol.for('GetEntitySponsorshipPricingQuery'),
|
|
|
|
// Use Cases - Sponsorship
|
|
ApplyForSponsorshipUseCase: Symbol.for('ApplyForSponsorshipUseCase'),
|
|
AcceptSponsorshipRequestUseCase: Symbol.for('AcceptSponsorshipRequestUseCase'),
|
|
RejectSponsorshipRequestUseCase: Symbol.for('RejectSponsorshipRequestUseCase'),
|
|
|
|
// Data
|
|
DriverStats: Symbol.for('DriverStats'),
|
|
} as const;
|
|
|
|
export type DITokens = typeof DI_TOKENS; |