view data fixes

This commit is contained in:
2026-01-24 12:47:49 +01:00
parent 6749fe326b
commit c1750a33dd
105 changed files with 474 additions and 498 deletions

View File

@@ -1,5 +1,5 @@
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { UseQueryResult } from '@tanstack/react-query';
import { ApiError } from '@/lib/api/base/ApiError';
/**
* Converts React-Query error to ApiError for StateContainer compatibility

View File

@@ -1,37 +1,37 @@
import { ContainerModule } from 'inversify';
import { RacesApiClient } from '../../api/races/RacesApiClient';
import { DriversApiClient } from '../../api/drivers/DriversApiClient';
import { TeamsApiClient } from '../../api/teams/TeamsApiClient';
import { LeaguesApiClient } from '../../api/leagues/LeaguesApiClient';
import { SponsorsApiClient } from '../../api/sponsors/SponsorsApiClient';
import { PaymentsApiClient } from '../../api/payments/PaymentsApiClient';
import { WalletsApiClient } from '../../api/wallets/WalletsApiClient';
import { AuthApiClient } from '../../api/auth/AuthApiClient';
import { AnalyticsApiClient } from '../../api/analytics/AnalyticsApiClient';
import { MediaApiClient } from '../../api/media/MediaApiClient';
import { DashboardApiClient } from '../../api/dashboard/DashboardApiClient';
import { PolicyApiClient } from '../../api/policy/PolicyApiClient';
import { ProtestsApiClient } from '../../api/protests/ProtestsApiClient';
import { PenaltiesApiClient } from '../../api/penalties/PenaltiesApiClient';
import { AnalyticsApiClient } from '../../gateways/api/analytics/AnalyticsApiClient';
import { AuthApiClient } from '../../gateways/api/auth/AuthApiClient';
import { DashboardApiClient } from '../../gateways/api/dashboard/DashboardApiClient';
import { DriversApiClient } from '../../gateways/api/drivers/DriversApiClient';
import { LeaguesApiClient } from '../../gateways/api/leagues/LeaguesApiClient';
import { MediaApiClient } from '../../gateways/api/media/MediaApiClient';
import { PaymentsApiClient } from '../../gateways/api/payments/PaymentsApiClient';
import { PenaltiesApiClient } from '../../gateways/api/penalties/PenaltiesApiClient';
import { PolicyApiClient } from '../../gateways/api/policy/PolicyApiClient';
import { ProtestsApiClient } from '../../gateways/api/protests/ProtestsApiClient';
import { RacesApiClient } from '../../gateways/api/races/RacesApiClient';
import { SponsorsApiClient } from '../../gateways/api/sponsors/SponsorsApiClient';
import { TeamsApiClient } from '../../gateways/api/teams/TeamsApiClient';
import { WalletsApiClient } from '../../gateways/api/wallets/WalletsApiClient';
import {
LOGGER_TOKEN,
ERROR_REPORTER_TOKEN,
CONFIG_TOKEN,
LEAGUE_API_CLIENT_TOKEN,
DRIVER_API_CLIENT_TOKEN,
TEAM_API_CLIENT_TOKEN,
RACE_API_CLIENT_TOKEN,
SPONSOR_API_CLIENT_TOKEN,
PAYMENT_API_CLIENT_TOKEN,
WALLET_API_CLIENT_TOKEN,
AUTH_API_CLIENT_TOKEN,
import {
ANALYTICS_API_CLIENT_TOKEN,
MEDIA_API_CLIENT_TOKEN,
AUTH_API_CLIENT_TOKEN,
CONFIG_TOKEN,
DASHBOARD_API_CLIENT_TOKEN,
DRIVER_API_CLIENT_TOKEN,
ERROR_REPORTER_TOKEN,
LEAGUE_API_CLIENT_TOKEN,
LOGGER_TOKEN,
MEDIA_API_CLIENT_TOKEN,
PAYMENT_API_CLIENT_TOKEN,
PENALTY_API_CLIENT_TOKEN,
POLICY_API_CLIENT_TOKEN,
PROTEST_API_CLIENT_TOKEN,
PENALTY_API_CLIENT_TOKEN
RACE_API_CLIENT_TOKEN,
SPONSOR_API_CLIENT_TOKEN,
TEAM_API_CLIENT_TOKEN,
WALLET_API_CLIENT_TOKEN
} from '../tokens';
export const ApiModule = new ContainerModule((options) => {

View File

@@ -1,3 +1,5 @@
import { ErrorReporter } from '../../interfaces/ErrorReporter';
import { Logger } from '../../interfaces/Logger';
import { AdminApiClient } from './admin/AdminApiClient';
import { AnalyticsApiClient } from './analytics/AnalyticsApiClient';
import { AuthApiClient } from './auth/AuthApiClient';
@@ -13,10 +15,8 @@ import { RacesApiClient } from './races/RacesApiClient';
import { SponsorsApiClient } from './sponsors/SponsorsApiClient';
import { TeamsApiClient } from './teams/TeamsApiClient';
import { WalletsApiClient } from './wallets/WalletsApiClient';
import { ErrorReporter } from '../interfaces/ErrorReporter';
import { Logger } from '../interfaces/Logger';
import { ConsoleLogger } from '../infrastructure/logging/ConsoleLogger';
import { ConsoleLogger } from '../../infrastructure/logging/ConsoleLogger';
export class ApiClient {
public readonly admin: AdminApiClient;

View File

@@ -1,10 +1,10 @@
import { GetAnalyticsMetricsOutputDTO } from '../../../types/generated/GetAnalyticsMetricsOutputDTO';
import { GetDashboardDataOutputDTO } from '../../../types/generated/GetDashboardDataOutputDTO';
import { RecordEngagementInputDTO } from '../../../types/generated/RecordEngagementInputDTO';
import { RecordEngagementOutputDTO } from '../../../types/generated/RecordEngagementOutputDTO';
import { RecordPageViewInputDTO } from '../../../types/generated/RecordPageViewInputDTO';
import { RecordPageViewOutputDTO } from '../../../types/generated/RecordPageViewOutputDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import { RecordPageViewOutputDTO } from '../../types/generated/RecordPageViewOutputDTO';
import { RecordEngagementOutputDTO } from '../../types/generated/RecordEngagementOutputDTO';
import { GetDashboardDataOutputDTO } from '../../types/generated/GetDashboardDataOutputDTO';
import { GetAnalyticsMetricsOutputDTO } from '../../types/generated/GetAnalyticsMetricsOutputDTO';
import { RecordPageViewInputDTO } from '../../types/generated/RecordPageViewInputDTO';
import { RecordEngagementInputDTO } from '../../types/generated/RecordEngagementInputDTO';
/**
* Analytics API Client

View File

@@ -1,9 +1,9 @@
import { AuthSessionDTO } from '../../../types/generated/AuthSessionDTO';
import { ForgotPasswordDTO } from '../../../types/generated/ForgotPasswordDTO';
import { LoginParamsDTO } from '../../../types/generated/LoginParamsDTO';
import { ResetPasswordDTO } from '../../../types/generated/ResetPasswordDTO';
import { SignupParamsDTO } from '../../../types/generated/SignupParamsDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import { AuthSessionDTO } from '../../types/generated/AuthSessionDTO';
import { LoginParamsDTO } from '../../types/generated/LoginParamsDTO';
import { SignupParamsDTO } from '../../types/generated/SignupParamsDTO';
import { ForgotPasswordDTO } from '../../types/generated/ForgotPasswordDTO';
import { ResetPasswordDTO } from '../../types/generated/ResetPasswordDTO';
/**
* Auth API Client

View File

@@ -5,12 +5,12 @@
* error handling, authentication, retry logic, and circuit breaker.
*/
import { Logger } from '../../interfaces/Logger';
import { ErrorReporter } from '../../interfaces/ErrorReporter';
import { ApiError, ApiErrorType } from './ApiError';
import { RetryHandler, CircuitBreakerRegistry, DEFAULT_RETRY_CONFIG } from './RetryHandler';
import { ApiConnectionMonitor } from './ApiConnectionMonitor';
import { getGlobalApiLogger } from '@/lib/infrastructure/ApiRequestLogger';
import { ErrorReporter } from '../../../interfaces/ErrorReporter';
import { Logger } from '../../../interfaces/Logger';
import { ApiConnectionMonitor } from './ApiConnectionMonitor';
import { ApiError, ApiErrorType } from './ApiError';
import { CircuitBreakerRegistry, DEFAULT_RETRY_CONFIG, RetryHandler } from './RetryHandler';
export interface BaseApiClientOptions {
timeout?: number;

View File

@@ -1,5 +1,5 @@
import type { DashboardOverviewDTO } from '../../../types/generated/DashboardOverviewDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { DashboardOverviewDTO } from '../../types/generated/DashboardOverviewDTO';
/**
* Dashboard API Client

View File

@@ -1,10 +1,10 @@
import type { CompleteOnboardingInputDTO } from '../../../types/generated/CompleteOnboardingInputDTO';
import type { CompleteOnboardingOutputDTO } from '../../../types/generated/CompleteOnboardingOutputDTO';
import type { DriverLeaderboardItemDTO } from '../../../types/generated/DriverLeaderboardItemDTO';
import type { DriverRegistrationStatusDTO } from '../../../types/generated/DriverRegistrationStatusDTO';
import type { GetDriverOutputDTO } from '../../../types/generated/GetDriverOutputDTO';
import type { GetDriverProfileOutputDTO } from '../../../types/generated/GetDriverProfileOutputDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { CompleteOnboardingInputDTO } from '../../types/generated/CompleteOnboardingInputDTO';
import type { CompleteOnboardingOutputDTO } from '../../types/generated/CompleteOnboardingOutputDTO';
import type { DriverRegistrationStatusDTO } from '../../types/generated/DriverRegistrationStatusDTO';
import type { DriverLeaderboardItemDTO } from '../../types/generated/DriverLeaderboardItemDTO';
import type { GetDriverOutputDTO } from '../../types/generated/GetDriverOutputDTO';
import type { GetDriverProfileOutputDTO } from '../../types/generated/GetDriverProfileOutputDTO';
type DriversLeaderboardDto = {
drivers: DriverLeaderboardItemDTO[];

View File

@@ -1,28 +1,28 @@
import type { AllLeaguesWithCapacityAndScoringDTO } from '../../../types/AllLeaguesWithCapacityAndScoringDTO';
import type { AllLeaguesWithCapacityDTO } from '../../../types/generated/AllLeaguesWithCapacityDTO';
import type { ApproveJoinRequestOutputDTO } from '../../../types/generated/ApproveJoinRequestOutputDTO';
import type { CreateLeagueInputDTO } from '../../../types/generated/CreateLeagueInputDTO';
import type { CreateLeagueOutputDTO } from '../../../types/generated/CreateLeagueOutputDTO';
import type { CreateLeagueScheduleRaceInputDTO } from '../../../types/generated/CreateLeagueScheduleRaceInputDTO';
import type { CreateLeagueScheduleRaceOutputDTO } from '../../../types/generated/CreateLeagueScheduleRaceOutputDTO';
import type { GetLeagueAdminConfigOutputDTO } from '../../../types/generated/GetLeagueAdminConfigOutputDTO';
import type { LeagueMembershipsDTO } from '../../../types/generated/LeagueMembershipsDTO';
import type { LeagueRosterJoinRequestDTO } from '../../../types/generated/LeagueRosterJoinRequestDTO';
import type { LeagueRosterMemberDTO } from '../../../types/generated/LeagueRosterMemberDTO';
import type { LeagueScheduleDTO } from '../../../types/generated/LeagueScheduleDTO';
import type { LeagueScheduleRaceMutationSuccessDTO } from '../../../types/generated/LeagueScheduleRaceMutationSuccessDTO';
import type { LeagueScoringPresetDTO } from '../../../types/generated/LeagueScoringPresetDTO';
import type { LeagueSeasonSchedulePublishOutputDTO } from '../../../types/generated/LeagueSeasonSchedulePublishOutputDTO';
import type { LeagueSeasonSummaryDTO } from '../../../types/generated/LeagueSeasonSummaryDTO';
import type { LeagueStandingsDTO } from '../../../types/generated/LeagueStandingsDTO';
import type { RaceDTO } from '../../../types/generated/RaceDTO';
import type { RejectJoinRequestOutputDTO } from '../../../types/generated/RejectJoinRequestOutputDTO';
import type { RemoveLeagueMemberOutputDTO } from '../../../types/generated/RemoveLeagueMemberOutputDTO';
import type { SponsorshipDetailDTO } from '../../../types/generated/SponsorshipDetailDTO';
import type { TotalLeaguesDTO } from '../../../types/generated/TotalLeaguesDTO';
import type { UpdateLeagueMemberRoleOutputDTO } from '../../../types/generated/UpdateLeagueMemberRoleOutputDTO';
import type { UpdateLeagueScheduleRaceInputDTO } from '../../../types/generated/UpdateLeagueScheduleRaceInputDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { AllLeaguesWithCapacityDTO } from '../../types/generated/AllLeaguesWithCapacityDTO';
import type { TotalLeaguesDTO } from '../../types/generated/TotalLeaguesDTO';
import type { LeagueStandingsDTO } from '../../types/generated/LeagueStandingsDTO';
import type { LeagueScheduleDTO } from '../../types/generated/LeagueScheduleDTO';
import type { LeagueMembershipsDTO } from '../../types/generated/LeagueMembershipsDTO';
import type { CreateLeagueInputDTO } from '../../types/generated/CreateLeagueInputDTO';
import type { CreateLeagueOutputDTO } from '../../types/generated/CreateLeagueOutputDTO';
import type { SponsorshipDetailDTO } from '../../types/generated/SponsorshipDetailDTO';
import type { RaceDTO } from '../../types/generated/RaceDTO';
import type { GetLeagueAdminConfigOutputDTO } from '../../types/generated/GetLeagueAdminConfigOutputDTO';
import type { LeagueScoringPresetDTO } from '../../types/generated/LeagueScoringPresetDTO';
import type { LeagueSeasonSummaryDTO } from '../../types/generated/LeagueSeasonSummaryDTO';
import type { CreateLeagueScheduleRaceInputDTO } from '../../types/generated/CreateLeagueScheduleRaceInputDTO';
import type { CreateLeagueScheduleRaceOutputDTO } from '../../types/generated/CreateLeagueScheduleRaceOutputDTO';
import type { UpdateLeagueScheduleRaceInputDTO } from '../../types/generated/UpdateLeagueScheduleRaceInputDTO';
import type { LeagueScheduleRaceMutationSuccessDTO } from '../../types/generated/LeagueScheduleRaceMutationSuccessDTO';
import type { LeagueSeasonSchedulePublishOutputDTO } from '../../types/generated/LeagueSeasonSchedulePublishOutputDTO';
import type { LeagueRosterMemberDTO } from '../../types/generated/LeagueRosterMemberDTO';
import type { LeagueRosterJoinRequestDTO } from '../../types/generated/LeagueRosterJoinRequestDTO';
import type { ApproveJoinRequestOutputDTO } from '../../types/generated/ApproveJoinRequestOutputDTO';
import type { RejectJoinRequestOutputDTO } from '../../types/generated/RejectJoinRequestOutputDTO';
import type { UpdateLeagueMemberRoleOutputDTO } from '../../types/generated/UpdateLeagueMemberRoleOutputDTO';
import type { RemoveLeagueMemberOutputDTO } from '../../types/generated/RemoveLeagueMemberOutputDTO';
import type { AllLeaguesWithCapacityAndScoringDTO } from '../../types/AllLeaguesWithCapacityAndScoringDTO';
function isRecord(value: unknown): value is Record<string, unknown> {
return typeof value === 'object' && value !== null;

View File

@@ -1,13 +1,13 @@
import type { DeleteMediaOutputDTO } from '../../types/generated/DeleteMediaOutputDTO';
import type { GetAvatarOutputDTO } from '../../types/generated/GetAvatarOutputDTO';
import type { GetMediaOutputDTO } from '../../types/generated/GetMediaOutputDTO';
import type { RequestAvatarGenerationInputDTO } from '../../types/generated/RequestAvatarGenerationInputDTO';
import type { RequestAvatarGenerationOutputDTO } from '../../types/generated/RequestAvatarGenerationOutputDTO';
import type { UpdateAvatarInputDTO } from '../../types/generated/UpdateAvatarInputDTO';
import type { UpdateAvatarOutputDTO } from '../../types/generated/UpdateAvatarOutputDTO';
import type { UploadMediaOutputDTO } from '../../types/generated/UploadMediaOutputDTO';
import type { ValidateFaceInputDTO } from '../../types/generated/ValidateFaceInputDTO';
import type { ValidateFaceOutputDTO } from '../../types/generated/ValidateFaceOutputDTO';
import type { DeleteMediaOutputDTO } from '../../../types/generated/DeleteMediaOutputDTO';
import type { GetAvatarOutputDTO } from '../../../types/generated/GetAvatarOutputDTO';
import type { GetMediaOutputDTO } from '../../../types/generated/GetMediaOutputDTO';
import type { RequestAvatarGenerationInputDTO } from '../../../types/generated/RequestAvatarGenerationInputDTO';
import type { RequestAvatarGenerationOutputDTO } from '../../../types/generated/RequestAvatarGenerationOutputDTO';
import type { UpdateAvatarInputDTO } from '../../../types/generated/UpdateAvatarInputDTO';
import type { UpdateAvatarOutputDTO } from '../../../types/generated/UpdateAvatarOutputDTO';
import type { UploadMediaOutputDTO } from '../../../types/generated/UploadMediaOutputDTO';
import type { ValidateFaceInputDTO } from '../../../types/generated/ValidateFaceInputDTO';
import type { ValidateFaceOutputDTO } from '../../../types/generated/ValidateFaceOutputDTO';
import { BaseApiClient } from '../base/BaseApiClient';
/**

View File

@@ -1,11 +1,11 @@
import type { MemberPaymentDTO } from '../../../types/generated/MemberPaymentDTO';
import type { MembershipFeeDTO } from '../../../types/generated/MembershipFeeDTO';
import type { PaymentDTO } from '../../../types/generated/PaymentDTO';
import type { PrizeDTO } from '../../../types/generated/PrizeDTO';
import type { TransactionDTO } from '../../../types/generated/TransactionDTO';
import type { UpdatePaymentStatusInputDTO } from '../../../types/generated/UpdatePaymentStatusInputDTO';
import type { WalletDTO } from '../../../types/generated/WalletDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { MembershipFeeDTO } from '../../types/generated/MembershipFeeDTO';
import type { MemberPaymentDTO } from '../../types/generated/MemberPaymentDTO';
import type { PaymentDTO } from '../../types/generated/PaymentDTO';
import type { PrizeDTO } from '../../types/generated/PrizeDTO';
import type { TransactionDTO } from '../../types/generated/TransactionDTO';
import type { UpdatePaymentStatusInputDTO } from '../../types/generated/UpdatePaymentStatusInputDTO';
import type { WalletDTO } from '../../types/generated/WalletDTO';
// Define missing types that are not fully generated
type GetPaymentsOutputDto = { payments: PaymentDTO[] };

View File

@@ -1,7 +1,7 @@
import { ApplyPenaltyCommandDTO } from '../../../types/generated/ApplyPenaltyCommandDTO';
import { RacePenaltiesDTO } from '../../../types/generated/RacePenaltiesDTO';
import type { PenaltyTypesReferenceDTO } from '../../../types/PenaltyTypesReferenceDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import { RacePenaltiesDTO } from '../../types/generated/RacePenaltiesDTO';
import { ApplyPenaltyCommandDTO } from '../../types/generated/ApplyPenaltyCommandDTO';
import type { PenaltyTypesReferenceDTO } from '../../types/PenaltyTypesReferenceDTO';
/**
* Penalties API Client

View File

@@ -1,6 +1,6 @@
import type { ErrorReporter } from '../../../interfaces/ErrorReporter';
import type { Logger } from '../../../interfaces/Logger';
import { BaseApiClient } from '../base/BaseApiClient';
import type { ErrorReporter } from '../../interfaces/ErrorReporter';
import type { Logger } from '../../interfaces/Logger';
export type OperationalMode = 'normal' | 'maintenance' | 'test';
export type FeatureState = 'enabled' | 'disabled' | 'coming_soon' | 'hidden';

View File

@@ -1,9 +1,9 @@
import type { ApplyPenaltyCommandDTO } from '../../../types/generated/ApplyPenaltyCommandDTO';
import type { LeagueAdminProtestsDTO } from '../../../types/generated/LeagueAdminProtestsDTO';
import type { RaceProtestsDTO } from '../../../types/generated/RaceProtestsDTO';
import type { RequestProtestDefenseCommandDTO } from '../../../types/generated/RequestProtestDefenseCommandDTO';
import type { ReviewProtestCommandDTO } from '../../../types/generated/ReviewProtestCommandDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { ApplyPenaltyCommandDTO } from '../../types/generated/ApplyPenaltyCommandDTO';
import type { LeagueAdminProtestsDTO } from '../../types/generated/LeagueAdminProtestsDTO';
import type { RaceProtestsDTO } from '../../types/generated/RaceProtestsDTO';
import type { RequestProtestDefenseCommandDTO } from '../../types/generated/RequestProtestDefenseCommandDTO';
import type { ReviewProtestCommandDTO } from '../../types/generated/ReviewProtestCommandDTO';
/**
* Protests API Client

View File

@@ -1,17 +1,17 @@
import type { FileProtestCommandDTO } from '../../../types/generated/FileProtestCommandDTO';
import type { ImportRaceResultsDTO } from '../../../types/generated/ImportRaceResultsDTO';
import type { RaceDetailEntryDTO } from '../../../types/generated/RaceDetailEntryDTO';
import type { RaceDetailLeagueDTO } from '../../../types/generated/RaceDetailLeagueDTO';
import type { RaceDetailRaceDTO } from '../../../types/generated/RaceDetailRaceDTO';
import type { RaceDetailRegistrationDTO } from '../../../types/generated/RaceDetailRegistrationDTO';
import type { RaceDetailUserResultDTO } from '../../../types/generated/RaceDetailUserResultDTO';
import type { RaceResultsDetailDTO } from '../../../types/generated/RaceResultsDetailDTO';
import type { RaceStatsDTO } from '../../../types/generated/RaceStatsDTO';
import type { RaceWithSOFDTO } from '../../../types/generated/RaceWithSOFDTO';
import type { RacesPageDataRaceDTO } from '../../../types/generated/RacesPageDataRaceDTO';
import type { RegisterForRaceParamsDTO } from '../../../types/generated/RegisterForRaceParamsDTO';
import type { WithdrawFromRaceParamsDTO } from '../../../types/generated/WithdrawFromRaceParamsDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { RaceStatsDTO } from '../../types/generated/RaceStatsDTO';
import type { RacesPageDataRaceDTO } from '../../types/generated/RacesPageDataRaceDTO';
import type { RaceResultsDetailDTO } from '../../types/generated/RaceResultsDetailDTO';
import type { RaceWithSOFDTO } from '../../types/generated/RaceWithSOFDTO';
import type { RegisterForRaceParamsDTO } from '../../types/generated/RegisterForRaceParamsDTO';
import type { ImportRaceResultsDTO } from '../../types/generated/ImportRaceResultsDTO';
import type { WithdrawFromRaceParamsDTO } from '../../types/generated/WithdrawFromRaceParamsDTO';
import type { RaceDetailRaceDTO } from '../../types/generated/RaceDetailRaceDTO';
import type { RaceDetailLeagueDTO } from '../../types/generated/RaceDetailLeagueDTO';
import type { RaceDetailEntryDTO } from '../../types/generated/RaceDetailEntryDTO';
import type { RaceDetailRegistrationDTO } from '../../types/generated/RaceDetailRegistrationDTO';
import type { RaceDetailUserResultDTO } from '../../types/generated/RaceDetailUserResultDTO';
import type { FileProtestCommandDTO } from '../../types/generated/FileProtestCommandDTO';
// Define missing types
export type RacesPageDataDTO = { races: RacesPageDataRaceDTO[] };

View File

@@ -1,12 +1,12 @@
import type { AcceptSponsorshipRequestInputDTO } from '../../../types/generated/AcceptSponsorshipRequestInputDTO';
import type { CreateSponsorInputDTO } from '../../../types/generated/CreateSponsorInputDTO';
import type { GetPendingSponsorshipRequestsOutputDTO } from '../../../types/generated/GetPendingSponsorshipRequestsOutputDTO';
import type { GetSponsorOutputDTO } from '../../../types/generated/GetSponsorOutputDTO';
import type { RejectSponsorshipRequestInputDTO } from '../../../types/generated/RejectSponsorshipRequestInputDTO';
import type { SponsorDashboardDTO } from '../../../types/generated/SponsorDashboardDTO';
import type { SponsorDTO } from '../../../types/generated/SponsorDTO';
import type { SponsorSponsorshipsDTO } from '../../../types/generated/SponsorSponsorshipsDTO';
import { BaseApiClient } from '../base/BaseApiClient';
import type { CreateSponsorInputDTO } from '../../types/generated/CreateSponsorInputDTO';
import type { SponsorDashboardDTO } from '../../types/generated/SponsorDashboardDTO';
import type { SponsorSponsorshipsDTO } from '../../types/generated/SponsorSponsorshipsDTO';
import type { GetPendingSponsorshipRequestsOutputDTO } from '../../types/generated/GetPendingSponsorshipRequestsOutputDTO';
import type { AcceptSponsorshipRequestInputDTO } from '../../types/generated/AcceptSponsorshipRequestInputDTO';
import type { RejectSponsorshipRequestInputDTO } from '../../types/generated/RejectSponsorshipRequestInputDTO';
import type { GetSponsorOutputDTO } from '../../types/generated/GetSponsorOutputDTO';
import type { SponsorDTO } from '../../types/generated/SponsorDTO';
// Types that are not yet generated
export type CreateSponsorOutputDto = { id: string; name: string };

View File

@@ -2,10 +2,10 @@
* Enhanced Error Reporter with user notifications and environment-specific handling
*/
import { connectionMonitor } from '../gateways/api/base/ApiConnectionMonitor';
import { ApiError } from '../gateways/api/base/ApiError';
import { ErrorReporter } from '../interfaces/ErrorReporter';
import { Logger } from '../interfaces/Logger';
import { ApiError } from '../api/base/ApiError';
import { connectionMonitor } from '../api/base/ApiConnectionMonitor';
// Import notification system (will be used if available)
try {

View File

@@ -3,9 +3,9 @@
* Allows developers to replay errors with the exact same context
*/
import { getGlobalErrorHandler } from './GlobalErrorHandler';
import { ApiError } from '../gateways/api/base/ApiError';
import { getGlobalApiLogger } from './ApiRequestLogger';
import { ApiError } from '../api/base/ApiError';
import { getGlobalErrorHandler } from './GlobalErrorHandler';
export interface ReplayContext {
timestamp: string;
@@ -178,7 +178,7 @@ export class ErrorReplaySystem {
const error = replay.error.type === 'ApiError'
? new ApiError(
replay.error.message,
((replay.error.context as { type?: string } | undefined)?.type as import('../api/base/ApiError').ApiErrorType) || 'UNKNOWN_ERROR',
((replay.error.context as { type?: string } | undefined)?.type as import('../gateways/api/base/ApiError').ApiErrorType) || 'UNKNOWN_ERROR',
{
timestamp: replay.timestamp,
...(replay.error.context as Record<string, unknown> | undefined),

View File

@@ -3,10 +3,9 @@
* Captures all uncaught errors, promise rejections, and React errors
*/
import { ApiError } from '../api/base/ApiError';
import { getGlobalErrorReporter } from './EnhancedErrorReporter';
import { ConsoleLogger } from './logging/ConsoleLogger';
import { ApiError } from '../gateways/api/base/ApiError';
import { getGlobalReplaySystem } from './ErrorReplay';
import { ConsoleLogger } from './logging/ConsoleLogger';
export interface GlobalErrorHandlerOptions {
/**
@@ -38,7 +37,6 @@ export interface GlobalErrorHandlerOptions {
export class GlobalErrorHandler {
private options: GlobalErrorHandlerOptions;
private logger: ConsoleLogger;
private errorReporter: ReturnType<typeof getGlobalErrorReporter>;
private errorHistory: Array<{
error: Error | ApiError;
timestamp: string;
@@ -58,7 +56,6 @@ export class GlobalErrorHandler {
};
this.logger = new ConsoleLogger();
this.errorReporter = getGlobalErrorReporter();
}
/**

View File

@@ -1,8 +1,8 @@
'use client';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { useMutation, UseMutationOptions, useQueries, useQuery } from '@tanstack/react-query';
import React from 'react';
import { useQuery, useQueries, useMutation, UseMutationOptions } from '@tanstack/react-query';
import { ApiError } from '@/lib/api/base/ApiError';
export interface PageDataConfig<TData, TError = ApiError> {
queryKey: string[];

View File

@@ -1,12 +1,11 @@
import { injectable } from 'inversify';
import { AdminApiClient } from '@/lib/api/admin/AdminApiClient';
import type { UserDto, DashboardStats, UserListResponse } from '@/lib/types/admin';
import { Result } from '@/lib/contracts/Result';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { getWebsiteServerEnv } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { DashboardStats, UserDto, UserListResponse } from '@/lib/types/admin';
import { injectable } from 'inversify';
/**
* Admin Service - DTO Only
@@ -17,7 +16,6 @@ import { getWebsiteServerEnv } from '@/lib/config/env';
*/
@injectable()
export class AdminService implements Service {
private apiClient: AdminApiClient;
constructor() {
const baseUrl = getWebsiteApiBaseUrl();
@@ -28,7 +26,6 @@ export class AdminService implements Service {
logToConsole: true,
reportToExternal: NODE_ENV === 'production',
});
this.apiClient = new AdminApiClient(baseUrl, errorReporter, logger);
}
/**

View File

@@ -1,11 +1,11 @@
import { injectable, unmanaged } from 'inversify';
import { AnalyticsApiClient } from '@/lib/api/analytics/AnalyticsApiClient';
import { RecordPageViewOutputViewModel } from '@/lib/view-models/RecordPageViewOutputViewModel';
import { RecordEngagementOutputViewModel } from '@/lib/view-models/RecordEngagementOutputViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { AnalyticsApiClient } from '@/lib/gateways/api/analytics/AnalyticsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { RecordEngagementOutputViewModel } from '@/lib/view-models/RecordEngagementOutputViewModel';
import { RecordPageViewOutputViewModel } from '@/lib/view-models/RecordPageViewOutputViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class AnalyticsService implements Service {

View File

@@ -1,14 +1,14 @@
import { injectable } from 'inversify';
import { DashboardApiClient } from '@/lib/api/dashboard/DashboardApiClient';
import { AnalyticsApiClient } from '@/lib/api/analytics/AnalyticsApiClient';
import { DashboardOverviewDTO } from '@/lib/types/generated/DashboardOverviewDTO';
import { GetAnalyticsMetricsOutputDTO } from '@/lib/types/generated/GetAnalyticsMetricsOutputDTO';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { AnalyticsApiClient } from '@/lib/gateways/api/analytics/AnalyticsApiClient';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { DashboardApiClient } from '@/lib/gateways/api/dashboard/DashboardApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ApiError } from '@/lib/api/base/ApiError';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { DashboardOverviewDTO } from '@/lib/types/generated/DashboardOverviewDTO';
import { GetAnalyticsMetricsOutputDTO } from '@/lib/types/generated/GetAnalyticsMetricsOutputDTO';
import { injectable } from 'inversify';
/**
* DashboardService

View File

@@ -1,17 +1,15 @@
import { injectable, unmanaged } from 'inversify';
import { AuthApiClient } from '@/lib/api/auth/AuthApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { AuthApiClient } from '@/lib/gateways/api/auth/AuthApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import type { AuthSessionDTO } from '@/lib/types/generated/AuthSessionDTO';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { LoginParamsDTO } from '@/lib/types/generated/LoginParamsDTO';
import type { SignupParamsDTO } from '@/lib/types/generated/SignupParamsDTO';
import type { ForgotPasswordDTO } from '@/lib/types/generated/ForgotPasswordDTO';
import type { ResetPasswordDTO } from '@/lib/types/generated/ResetPasswordDTO';
import { isProductionEnvironment } from '@/lib/config/env';
import type { SignupParamsDTO } from '@/lib/types/generated/SignupParamsDTO';
import { SessionViewModel } from '@/lib/view-models/SessionViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Auth Service

View File

@@ -1,8 +1,8 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import type { Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';

View File

@@ -1,8 +1,8 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import type { Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';

View File

@@ -1,7 +1,7 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import type { Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';

View File

@@ -1,8 +1,8 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import type { DomainError, Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { DriverDTO } from '@/lib/types/generated/DriverDTO';

View File

@@ -1,11 +1,11 @@
import { injectable, unmanaged } from 'inversify';
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { DriverRegistrationStatusViewModel } from '@/lib/view-models/DriverRegistrationStatusViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { DriverRegistrationStatusViewData } from '@/lib/view-data/DriverRegistrationStatusViewData';
import { DriverRegistrationStatusViewModel } from '@/lib/view-models/DriverRegistrationStatusViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class DriverRegistrationService implements Service {

View File

@@ -1,18 +1,16 @@
import { injectable, unmanaged } from 'inversify';
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import type { CompleteOnboardingInputDTO } from '@/lib/types/generated/CompleteOnboardingInputDTO';
import type { GetDriverOutputDTO } from '@/lib/types/generated/GetDriverOutputDTO';
import type { CompleteOnboardingOutputDTO } from '@/lib/types/generated/CompleteOnboardingOutputDTO';
import type { DriverDTO } from '@/lib/types/generated/DriverDTO';
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import type { CompleteOnboardingInputDTO } from '@/lib/types/generated/CompleteOnboardingInputDTO';
import type { DriverDTO } from '@/lib/types/generated/DriverDTO';
import type { GetDriverOutputDTO } from '@/lib/types/generated/GetDriverOutputDTO';
import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO';
import { CompleteOnboardingViewModel } from '@/lib/view-models/CompleteOnboardingViewModel';
import { DriverLeaderboardViewModel } from '@/lib/view-models/DriverLeaderboardViewModel';
import { DriverViewModel } from '@/lib/view-models/DriverViewModel';
import { CompleteOnboardingViewModel } from '@/lib/view-models/CompleteOnboardingViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Driver Service - DTO Only

View File

@@ -1,8 +1,8 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import type { Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { DriversLeaderboardDTO } from '@/lib/types/generated/DriversLeaderboardDTO';

View File

@@ -1,9 +1,9 @@
import { getGlobalErrorHandler } from '@/lib/infrastructure/GlobalErrorHandler';
import { getGlobalApiLogger } from '@/lib/infrastructure/ApiRequestLogger';
import { ApiError } from '@/lib/api/base/ApiError';
import { getWebsiteServerEnv } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteServerEnv } from '@/lib/config/env';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { getGlobalApiLogger } from '@/lib/infrastructure/ApiRequestLogger';
import { getGlobalErrorHandler } from '@/lib/infrastructure/GlobalErrorHandler';
export interface ErrorStats {
totalErrors: number;

View File

@@ -1,9 +1,9 @@
import { FeatureFlagService } from '@/lib/feature/FeatureFlagService';
// API Clients
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
// Services
import { SessionService } from '@/lib/services/auth/SessionService';

View File

@@ -1,15 +1,15 @@
import { injectable, unmanaged } from 'inversify';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import { AuthApiClient } from '@/lib/api/auth/AuthApiClient';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { AuthApiClient } from '@/lib/gateways/api/auth/AuthApiClient';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { HomeDiscoveryViewModel } from '@/lib/view-models/HomeDiscoveryViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Landing Service - DTO Only
@@ -71,7 +71,6 @@ export class LandingService implements Service {
async signup(_email: string): Promise<Result<void, DomainError>> {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const email = _email;
return Result.err({ type: 'notImplemented', message: 'Email signup endpoint' });
}
}

View File

@@ -1,11 +1,11 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { DriverLeaderboardItemDTO } from '@/lib/types/generated/DriverLeaderboardItemDTO';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
export interface DriverRankingsData {
drivers: DriverLeaderboardItemDTO[];

View File

@@ -1,11 +1,11 @@
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import type { LeaderboardsData } from '@/lib/types/LeaderboardsData';
export class LeaderboardsService implements Service {

View File

@@ -1,10 +1,10 @@
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import type { GetTeamsLeaderboardOutputDTO } from '@/lib/types/generated/GetTeamsLeaderboardOutputDTO';
export class TeamRankingsService implements Service {

View File

@@ -1,14 +1,14 @@
import { injectable, unmanaged } from 'inversify';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { isProductionEnvironment } from '@/lib/config/env';
import { LeagueMemberViewModel } from '@/lib/view-models/LeagueMemberViewModel';
import type { LeagueRosterMemberDTO } from '@/lib/types/generated/LeagueRosterMemberDTO';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { LeagueRosterJoinRequestDTO } from '@/lib/types/generated/LeagueRosterJoinRequestDTO';
import type { LeagueRosterMemberDTO } from '@/lib/types/generated/LeagueRosterMemberDTO';
import { LeagueMemberViewModel } from '@/lib/view-models/LeagueMemberViewModel';
import { injectable, unmanaged } from 'inversify';
export interface LeagueRosterAdminData {
leagueId: string;

View File

@@ -1,10 +1,10 @@
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { RulebookApiDto } from '@/lib/types/tbd/RulebookApiDto';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { RulebookApiDto } from '@/lib/types/tbd/RulebookApiDto';
export class LeagueRulebookService implements Service {
private apiClient: LeaguesApiClient;

View File

@@ -1,10 +1,10 @@
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { LeagueScheduleApiDto } from '@/lib/types/tbd/LeagueScheduleApiDto';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { LeagueScheduleApiDto } from '@/lib/types/tbd/LeagueScheduleApiDto';
export class LeagueScheduleService implements Service {
private apiClient: LeaguesApiClient;

View File

@@ -1,11 +1,11 @@
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';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { DriversApiClient } from "@/lib/gateways/api/drivers/DriversApiClient";
import { LeaguesApiClient } from "@/lib/gateways/api/leagues/LeaguesApiClient";
import { RacesApiClient } from "@/lib/gateways/api/races/RacesApiClient";
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { AllLeaguesWithCapacityAndScoringDTO } from '@/lib/types/AllLeaguesWithCapacityAndScoringDTO';

View File

@@ -1,10 +1,10 @@
import { injectable, unmanaged } from 'inversify';
import { Result } from '@/lib/contracts/Result';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { type LeagueSettingsApiDto } from '@/lib/types/tbd/LeagueSettingsApiDto';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { LeagueSettingsViewModel } from '@/lib/view-models/LeagueSettingsViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class LeagueSettingsService implements Service {

View File

@@ -1,10 +1,10 @@
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { type LeagueStandingsApiDto, type LeagueMembershipsApiDto } from '@/lib/types/tbd/LeagueStandingsApiDto';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { type LeagueMembershipsApiDto, type LeagueStandingsApiDto } from '@/lib/types/tbd/LeagueStandingsApiDto';
export class LeagueStandingsService implements Service {
private apiClient: LeaguesApiClient;

View File

@@ -1,8 +1,8 @@
import { injectable, unmanaged } from 'inversify';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { WalletsApiClient } from '@/lib/gateways/api/wallets/WalletsApiClient';
import { LeagueWalletApiDto } from '@/lib/types/tbd/LeagueWalletApiDto';
import { WalletsApiClient } from '@/lib/api/wallets/WalletsApiClient';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class LeagueWalletService implements Service {

View File

@@ -1,9 +1,9 @@
import { injectable, unmanaged } from 'inversify';
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class LeagueWizardService implements Service {
@@ -30,7 +30,7 @@ export class LeagueWizardService implements Service {
return this.createLeague(form, ownerId);
}
async validateLeagueConfig(input: any): Promise<any> {
async validateLeagueConfig(): Promise<any> {
// Mock implementation or call API if available
return { valid: true };
}

View File

@@ -1,11 +1,11 @@
import { LeaguesApiClient } from '@/lib/api/leagues/LeaguesApiClient';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { LeagueMembershipsDTO } from '@/lib/types/generated/LeagueMembershipsDTO';
import { LeaguesApiClient } from '@/lib/gateways/api/leagues/LeaguesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { AllLeaguesWithCapacityDTO } from '@/lib/types/generated/AllLeaguesWithCapacityDTO';
import { LeagueMembershipsDTO } from '@/lib/types/generated/LeagueMembershipsDTO';
export interface ProfileLeaguesPageDto {
ownedLeagues: Array<{

View File

@@ -1,12 +1,12 @@
import { injectable, unmanaged } from 'inversify';
import { MediaApiClient } from '@/lib/api/media/MediaApiClient';
import { RequestAvatarGenerationViewModel } from '@/lib/view-models/RequestAvatarGenerationViewModel';
import { AvatarViewModel } from '@/lib/view-models/AvatarViewModel';
import { UpdateAvatarViewModel } from '@/lib/view-models/UpdateAvatarViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { MediaApiClient } from '@/lib/gateways/api/media/MediaApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { AvatarViewModel } from '@/lib/view-models/AvatarViewModel';
import { RequestAvatarGenerationViewModel } from '@/lib/view-models/RequestAvatarGenerationViewModel';
import { UpdateAvatarViewModel } from '@/lib/view-models/UpdateAvatarViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class AvatarService implements Service {

View File

@@ -7,11 +7,11 @@
* @server-safe
*/
import { DriversApiClient } from '@/lib/api/drivers/DriversApiClient';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { getWebsiteServerEnv } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { DriversApiClient } from '@/lib/gateways/api/drivers/DriversApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { CompleteOnboardingInputDTO } from '@/lib/types/generated/CompleteOnboardingInputDTO';
@@ -55,7 +55,7 @@ export class OnboardingService implements Service {
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async generateAvatars(input: RequestAvatarGenerationInputDTO): Promise<Result<RequestAvatarGenerationOutputDTO, DomainError>> {
async generateAvatars(_input: RequestAvatarGenerationInputDTO): Promise<Result<RequestAvatarGenerationOutputDTO, DomainError>> {
// Endpoint not implemented yet - return NotImplemented error
return Result.err({
type: 'notImplemented',

View File

@@ -1,10 +1,10 @@
import { injectable, unmanaged } from 'inversify';
import { PaymentsApiClient } from '@/lib/api/payments/PaymentsApiClient';
import { MembershipFeeViewModel } from '@/lib/view-models/MembershipFeeViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { PaymentsApiClient } from '@/lib/gateways/api/payments/PaymentsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { MembershipFeeViewModel } from '@/lib/view-models/MembershipFeeViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class MembershipFeeService implements Service {

View File

@@ -1,13 +1,13 @@
import { injectable, unmanaged } from 'inversify';
import { PaymentsApiClient } from '@/lib/api/payments/PaymentsApiClient';
import { PaymentViewModel } from '@/lib/view-models/PaymentViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Service } from '@/lib/contracts/services/Service';
import { PaymentsApiClient } from '@/lib/gateways/api/payments/PaymentsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { MembershipFeeViewModel } from '@/lib/view-models/MembershipFeeViewModel';
import { PaymentViewModel } from '@/lib/view-models/PaymentViewModel';
import { PrizeViewModel } from '@/lib/view-models/PrizeViewModel';
import { WalletViewModel } from '@/lib/view-models/WalletViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class PaymentService implements Service {

View File

@@ -1,10 +1,10 @@
import { injectable, unmanaged } from 'inversify';
import { PaymentsApiClient } from '@/lib/api/payments/PaymentsApiClient';
import { WalletViewModel } from '@/lib/view-models/WalletViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { PaymentsApiClient } from '@/lib/gateways/api/payments/PaymentsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { WalletViewModel } from '@/lib/view-models/WalletViewModel';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class WalletService implements Service {

View File

@@ -1,11 +1,11 @@
import { injectable, unmanaged } from 'inversify';
import { PenaltiesApiClient } from '@/lib/api/penalties/PenaltiesApiClient';
import type { PenaltyTypesReferenceDTO } from '@/lib/types/PenaltyTypesReferenceDTO';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { PenaltiesApiClient } from '@/lib/gateways/api/penalties/PenaltiesApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { PenaltyTypesReferenceDTO } from '@/lib/types/PenaltyTypesReferenceDTO';
import { injectable, unmanaged } from 'inversify';
/**
* Penalty Service

View File

@@ -1,10 +1,10 @@
import { injectable } from 'inversify';
import { PolicyApiClient, type FeatureState, type PolicySnapshotDto } from '@/lib/api/policy/PolicyApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { PolicyApiClient, type FeatureState, type PolicySnapshotDto } from '@/lib/gateways/api/policy/PolicyApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { injectable } from 'inversify';
export interface CapabilityEvaluationResult {
isLoading: boolean;

View File

@@ -1,16 +1,14 @@
import { injectable, unmanaged } from 'inversify';
import { ProtestsApiClient } from '@/lib/api/protests/ProtestsApiClient';
import type { ApplyPenaltyCommandDTO } from '@/lib/types/generated/ApplyPenaltyCommandDTO';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Service } from '@/lib/contracts/services/Service';
import { ProtestsApiClient } from '@/lib/gateways/api/protests/ProtestsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { RequestProtestDefenseCommandDTO } from '@/lib/types/generated/RequestProtestDefenseCommandDTO';
import type { ReviewProtestCommandDTO } from '@/lib/types/generated/ReviewProtestCommandDTO';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ProtestDriverViewModel } from '@/lib/view-models/ProtestDriverViewModel';
import { ProtestViewModel } from '@/lib/view-models/ProtestViewModel';
import { RaceViewModel } from '@/lib/view-models/RaceViewModel';
import { ProtestDriverViewModel } from '@/lib/view-models/ProtestDriverViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Protest Service - DTO Only

View File

@@ -1,14 +1,14 @@
import { injectable, unmanaged } from 'inversify';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ImportRaceResultsSummaryViewModel } from '@/lib/view-models/ImportRaceResultsSummaryViewModel';
import { RaceResultsDetailViewModel } from '@/lib/view-models/RaceResultsDetailViewModel';
import { RaceWithSOFViewModel } from '@/lib/view-models/RaceWithSOFViewModel';
import { ImportRaceResultsSummaryViewModel } from '@/lib/view-models/ImportRaceResultsSummaryViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Race Results Service

View File

@@ -1,11 +1,11 @@
import { injectable } from 'inversify';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { injectable } from 'inversify';
/**
* Race Service - DTO Only

View File

@@ -1,14 +1,14 @@
import { injectable, unmanaged } from 'inversify';
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { ProtestsApiClient } from '@/lib/api/protests/ProtestsApiClient';
import { PenaltiesApiClient } from '@/lib/api/penalties/PenaltiesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import { PenaltiesApiClient } from '@/lib/gateways/api/penalties/PenaltiesApiClient';
import { ProtestsApiClient } from '@/lib/gateways/api/protests/ProtestsApiClient';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { RaceStewardingViewModel } from '@/lib/view-models/RaceStewardingViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Race Stewarding Service

View File

@@ -1,13 +1,13 @@
import { RacesApiClient } from '@/lib/api/races/RacesApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { ApiError } from '@/lib/gateways/api/base/ApiError';
import type { RaceDetailDTO } from '@/lib/gateways/api/races/RacesApiClient';
import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient';
import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ApiError } from '@/lib/api/base/ApiError';
import type { RacesPageDataDTO } from '@/lib/types/generated/RacesPageDataDTO';
import type { RaceDetailDTO } from '@/lib/api/races/RacesApiClient';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { RaceResultsDetailDTO } from '@/lib/types/generated/RaceResultsDetailDTO';
import type { RacesPageDataDTO } from '@/lib/types/generated/RacesPageDataDTO';
import type { RaceWithSOFDTO } from '@/lib/types/generated/RaceWithSOFDTO';
/**

View File

@@ -1,13 +1,13 @@
import { injectable } from 'inversify';
import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient';
import { SponsorViewModel } from '@/lib/view-models/SponsorViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { Result } from '@/lib/contracts/Result';
import { Service, type DomainError } from '@/lib/contracts/services/Service';
import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { SponsorDashboardDTO } from '@/lib/types/generated/SponsorDashboardDTO';
import type { SponsorSponsorshipsDTO } from '@/lib/types/generated/SponsorSponsorshipsDTO';
import { SponsorViewModel } from '@/lib/view-models/SponsorViewModel';
import { injectable } from 'inversify';
@injectable()
export class SponsorService implements Service {

View File

@@ -1,8 +1,8 @@
import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import type { Service, DomainError } from '@/lib/contracts/services/Service';
import type { DomainError, Service } from '@/lib/contracts/services/Service';
import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';

View File

@@ -1,12 +1,12 @@
import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { Service, DomainError } from '@/lib/contracts/services/Service';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { GetPendingSponsorshipRequestsOutputDTO } from '@/lib/types/generated/GetPendingSponsorshipRequestsOutputDTO';
import type { AcceptSponsorshipRequestInputDTO } from '@/lib/types/generated/AcceptSponsorshipRequestInputDTO';
import type { GetPendingSponsorshipRequestsOutputDTO } from '@/lib/types/generated/GetPendingSponsorshipRequestsOutputDTO';
import type { RejectSponsorshipRequestInputDTO } from '@/lib/types/generated/RejectSponsorshipRequestInputDTO';
interface GetPendingRequestsInput {

View File

@@ -1,11 +1,11 @@
import { injectable, unmanaged } from 'inversify';
import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { Service } from '@/lib/contracts/services/Service';
import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { SponsorshipPricingViewModel } from '@/lib/view-models/SponsorshipPricingViewModel';
import { SponsorSponsorshipsViewModel } from '@/lib/view-models/SponsorSponsorshipsViewModel';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { Service } from '@/lib/contracts/services/Service';
import { injectable, unmanaged } from 'inversify';
@injectable()
export class SponsorshipService implements Service {
@@ -22,7 +22,7 @@ export class SponsorshipService implements Service {
}
}
async getSponsorshipPricing(leagueId?: string): Promise<SponsorshipPricingViewModel> {
async getSponsorshipPricing(): Promise<SponsorshipPricingViewModel> {
const data = await this.apiClient.getPricing();
// Map the array-based pricing to the expected view model format
const mainSlot = data.pricing.find(p => p.entityType === 'league');

View File

@@ -1,12 +1,12 @@
import { injectable, unmanaged } from 'inversify';
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import { TeamJoinRequestViewModel } from '@/lib/view-models/TeamJoinRequestViewModel';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { TeamJoinRequestViewModel } from '@/lib/view-models/TeamJoinRequestViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Team Join Service - ViewModels

View File

@@ -1,23 +1,18 @@
import { injectable, unmanaged } from 'inversify';
import { TeamsApiClient } from '@/lib/api/teams/TeamsApiClient';
import type { TeamListItemDTO } from '@/lib/types/generated/TeamListItemDTO';
import type { CreateTeamInputDTO } from '@/lib/types/generated/CreateTeamInputDTO';
import type { CreateTeamOutputDTO } from '@/lib/types/generated/CreateTeamOutputDTO';
import type { UpdateTeamInputDTO } from '@/lib/types/generated/UpdateTeamInputDTO';
import type { UpdateTeamOutputDTO } from '@/lib/types/generated/UpdateTeamOutputDTO';
import type { GetDriverTeamOutputDTO } from '@/lib/types/generated/GetDriverTeamOutputDTO';
import type { GetTeamMembershipOutputDTO } from '@/lib/types/generated/GetTeamMembershipOutputDTO';
import type { GetTeamJoinRequestsOutputDTO } from '@/lib/types/generated/GetTeamJoinRequestsOutputDTO';
import type { GetTeamDetailsOutputDTO } from '@/lib/types/generated/GetTeamDetailsOutputDTO';
import { TeamMemberViewModel } from '@/lib/view-models/TeamMemberViewModel';
import { TeamSummaryViewModel } from '@/lib/view-models/TeamSummaryViewModel';
import { TeamDetailsViewModel } from '@/lib/view-models/TeamDetailsViewModel';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl';
import { isProductionEnvironment } from '@/lib/config/env';
import { Result } from '@/lib/contracts/Result';
import { DomainError, Service } from '@/lib/contracts/services/Service';
import { TeamsApiClient } from '@/lib/gateways/api/teams/TeamsApiClient';
import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter';
import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger';
import type { CreateTeamOutputDTO } from '@/lib/types/generated/CreateTeamOutputDTO';
import type { GetTeamDetailsOutputDTO } from '@/lib/types/generated/GetTeamDetailsOutputDTO';
import type { GetTeamMembershipOutputDTO } from '@/lib/types/generated/GetTeamMembershipOutputDTO';
import type { TeamListItemDTO } from '@/lib/types/generated/TeamListItemDTO';
import type { UpdateTeamInputDTO } from '@/lib/types/generated/UpdateTeamInputDTO';
import type { UpdateTeamOutputDTO } from '@/lib/types/generated/UpdateTeamOutputDTO';
import { TeamMemberViewModel } from '@/lib/view-models/TeamMemberViewModel';
import { injectable, unmanaged } from 'inversify';
/**
* Team Service - DTO Only