website refactor
This commit is contained in:
@@ -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' });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user