website refactor
This commit is contained in:
15
apps/website/lib/di/modules/analytics.module.ts
Normal file
15
apps/website/lib/di/modules/analytics.module.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { ContainerModule } from 'inversify';
|
||||
import { DashboardService } from '@/lib/services/analytics/DashboardService';
|
||||
|
||||
import {
|
||||
DASHBOARD_SERVICE_TOKEN,
|
||||
} from '../tokens';
|
||||
|
||||
export const AnalyticsModule = new ContainerModule((options) => {
|
||||
const bind = options.bind;
|
||||
|
||||
// Dashboard Service - creates its own dependencies per contract
|
||||
bind<DashboardService>(DASHBOARD_SERVICE_TOKEN)
|
||||
.to(DashboardService)
|
||||
.inSingletonScope();
|
||||
});
|
||||
@@ -13,13 +13,13 @@ import {
|
||||
RACE_STEWARDING_SERVICE_TOKEN,
|
||||
RACE_API_CLIENT_TOKEN,
|
||||
PROTEST_API_CLIENT_TOKEN,
|
||||
PENALTY_API_CLIENT_TOKEN
|
||||
PENALTY_API_CLIENT_TOKEN,
|
||||
} from '../tokens';
|
||||
|
||||
export const RaceModule = new ContainerModule((options) => {
|
||||
const bind = options.bind;
|
||||
|
||||
// Race Service
|
||||
// Race Service - creates its own dependencies per contract
|
||||
bind<RaceService>(RACE_SERVICE_TOKEN)
|
||||
.toDynamicValue((ctx) => {
|
||||
const raceApiClient = ctx.get<RacesApiClient>(RACE_API_CLIENT_TOKEN);
|
||||
@@ -27,21 +27,13 @@ export const RaceModule = new ContainerModule((options) => {
|
||||
})
|
||||
.inSingletonScope();
|
||||
|
||||
// Race Results Service
|
||||
// Race Results Service - creates its own dependencies per contract
|
||||
bind<RaceResultsService>(RACE_RESULTS_SERVICE_TOKEN)
|
||||
.toDynamicValue((ctx) => {
|
||||
const raceApiClient = ctx.get<RacesApiClient>(RACE_API_CLIENT_TOKEN);
|
||||
return new RaceResultsService(raceApiClient);
|
||||
})
|
||||
.to(RaceResultsService)
|
||||
.inSingletonScope();
|
||||
|
||||
// Race Stewarding Service
|
||||
// Race Stewarding Service - creates its own dependencies per contract
|
||||
bind<RaceStewardingService>(RACE_STEWARDING_SERVICE_TOKEN)
|
||||
.toDynamicValue((ctx) => {
|
||||
const raceApiClient = ctx.get<RacesApiClient>(RACE_API_CLIENT_TOKEN);
|
||||
const protestApiClient = ctx.get<ProtestsApiClient>(PROTEST_API_CLIENT_TOKEN);
|
||||
const penaltyApiClient = ctx.get<PenaltiesApiClient>(PENALTY_API_CLIENT_TOKEN);
|
||||
return new RaceStewardingService(raceApiClient, protestApiClient, penaltyApiClient);
|
||||
})
|
||||
.to(RaceStewardingService)
|
||||
.inSingletonScope();
|
||||
});
|
||||
@@ -1,15 +1,16 @@
|
||||
import { ContainerModule } from 'inversify';
|
||||
import { TEAM_SERVICE_TOKEN, TEAM_API_CLIENT_TOKEN } from '../tokens';
|
||||
import { TEAM_SERVICE_TOKEN, TEAM_JOIN_SERVICE_TOKEN } from '../tokens';
|
||||
import { TeamService } from '@/lib/services/teams/TeamService';
|
||||
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
|
||||
import { TeamJoinService } from '@/lib/services/teams/TeamJoinService';
|
||||
|
||||
export const TeamModule = new ContainerModule((options) => {
|
||||
const bind = options.bind;
|
||||
|
||||
bind(TEAM_SERVICE_TOKEN)
|
||||
.toDynamicValue((ctx) => {
|
||||
const apiClient = ctx.get<TeamsApiClient>(TEAM_API_CLIENT_TOKEN);
|
||||
return new TeamService(apiClient);
|
||||
})
|
||||
.to(TeamService)
|
||||
.inSingletonScope();
|
||||
|
||||
bind(TEAM_JOIN_SERVICE_TOKEN)
|
||||
.to(TeamJoinService)
|
||||
.inSingletonScope();
|
||||
});
|
||||
Reference in New Issue
Block a user