28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { ContainerManager } from '@/lib/di/container';
|
|
import { SESSION_SERVICE_TOKEN, LANDING_SERVICE_TOKEN } from '@/lib/di/tokens';
|
|
import { LandingService } from '@/lib/services/landing/LandingService';
|
|
import { SessionService } from '@/lib/services/auth/SessionService';
|
|
import { redirect } from 'next/navigation';
|
|
import { FeatureFlagService } from '@/lib/feature/FeatureFlagService';
|
|
|
|
export async function getHomeData() {
|
|
const container = ContainerManager.getInstance().getContainer();
|
|
const sessionService = container.get<SessionService>(SESSION_SERVICE_TOKEN);
|
|
const landingService = container.get<LandingService>(LANDING_SERVICE_TOKEN);
|
|
|
|
const session = await sessionService.getSession();
|
|
if (session) {
|
|
redirect('/dashboard');
|
|
}
|
|
|
|
const featureService = await FeatureFlagService.fromAPI();
|
|
const isAlpha = featureService.isEnabled('alpha_features');
|
|
const discovery = await landingService.getHomeDiscovery();
|
|
|
|
return {
|
|
isAlpha,
|
|
upcomingRaces: discovery.upcomingRaces,
|
|
topLeagues: discovery.topLeagues,
|
|
teams: discovery.teams,
|
|
};
|
|
} |