website refactor

This commit is contained in:
2026-01-21 22:36:01 +01:00
parent ea58909070
commit 5ed958281d
49 changed files with 8763 additions and 131 deletions

View File

@@ -10,7 +10,7 @@
* - Environment-specific: can vary by mode
*/
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ConsoleLogger } from '../infrastructure/logging/ConsoleLogger';
const logger = new ConsoleLogger();

View File

@@ -1,6 +1,7 @@
import { DriversApiClient } from "@/lib/api/drivers/DriversApiClient";
import { LeaguesApiClient } from "@/lib/api/leagues/LeaguesApiClient";
import { RacesApiClient } from "@/lib/api/races/RacesApiClient";
import { ApiError } from '@/lib/api/base/ApiError';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
@@ -142,6 +143,20 @@ export class LeagueService implements Service {
const dto = await this.apiClient.getAllWithCapacityAndScoring();
return Result.ok(dto);
} catch (error: unknown) {
// Map API error types to domain error types
if (error instanceof ApiError) {
const errorType = error.type;
switch (errorType) {
case 'NOT_FOUND':
return Result.err({ type: 'notFound', message: error.message });
case 'AUTH_ERROR':
return Result.err({ type: 'unauthorized', message: error.message });
case 'SERVER_ERROR':
return Result.err({ type: 'serverError', message: error.message });
default:
return Result.err({ type: 'serverError', message: error.message || 'Failed to fetch leagues' });
}
}
return Result.err({ type: 'serverError', message: (error as Error).message || 'Failed to fetch leagues' });
}
}
@@ -224,6 +239,20 @@ export class LeagueService implements Service {
});
} catch (error: unknown) {
console.error('LeagueService.getLeagueDetailData failed:', error);
// Map API error types to domain error types
if (error instanceof ApiError) {
const errorType = error.type;
switch (errorType) {
case 'NOT_FOUND':
return Result.err({ type: 'notFound', message: error.message });
case 'AUTH_ERROR':
return Result.err({ type: 'unauthorized', message: error.message });
case 'SERVER_ERROR':
return Result.err({ type: 'serverError', message: error.message });
default:
return Result.err({ type: 'serverError', message: error.message || 'Failed to fetch league detail' });
}
}
return Result.err({ type: 'serverError', message: (error as Error).message || 'Failed to fetch league detail' });
}
}