From c1750a33dd85a2baf1ec35a3276b6423c8b31d07 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sat, 24 Jan 2026 12:47:49 +0100 Subject: [PATCH] view data fixes --- .../app/actions/leagueScheduleActions.ts | 18 +++--- .../website/app/sponsor/leagues/[id]/page.tsx | 10 ++-- apps/website/app/sponsor/leagues/page.tsx | 8 +-- .../website/components/actions/ActionList.tsx | 6 +- apps/website/components/dev/DevToolbar.tsx | 8 +-- .../components/errors/ApiErrorBoundary.tsx | 8 +-- .../errors/EnhancedErrorBoundary.tsx | 6 +- .../components/errors/EnhancedFormError.tsx | 20 +++---- .../components/errors/ErrorDisplay.tsx | 3 +- .../errors/NotificationIntegration.tsx | 6 +- .../components/shared/DevErrorPanel.tsx | 6 +- .../components/shared/ErrorDisplay.tsx | 2 +- .../components/shared/state/PageWrapper.tsx | 4 +- apps/website/hooks/auth/useCurrentSession.ts | 6 +- apps/website/hooks/auth/useForgotPassword.ts | 4 +- apps/website/hooks/auth/useLogin.ts | 6 +- apps/website/hooks/auth/useLogout.ts | 4 +- apps/website/hooks/auth/useResetPassword.ts | 4 +- apps/website/hooks/auth/useSignup.ts | 6 +- apps/website/hooks/driver/useCreateDriver.ts | 4 +- apps/website/hooks/driver/useCurrentDriver.ts | 12 ++-- apps/website/hooks/driver/useDriverProfile.ts | 6 +- .../website/hooks/driver/useFindDriverById.ts | 6 +- .../hooks/driver/useUpdateDriverProfile.ts | 8 +-- .../league/useCreateLeagueWithBlockers.ts | 4 +- apps/website/hooks/league/useLeagueDetail.ts | 11 +--- .../league/useLeagueMembershipMutation.ts | 4 +- .../hooks/league/useLeagueRosterAdmin.ts | 6 +- .../website/hooks/league/useLeagueSettings.ts | 6 +- apps/website/hooks/league/useProtestDetail.ts | 6 +- apps/website/hooks/race/useFileProtest.ts | 4 +- apps/website/hooks/race/useRegisterForRace.ts | 4 +- .../website/hooks/race/useWithdrawFromRace.ts | 4 +- .../hooks/team/useApproveJoinRequest.ts | 4 +- apps/website/hooks/team/useCreateTeam.ts | 4 +- apps/website/hooks/team/useJoinTeam.ts | 2 +- apps/website/hooks/team/useLeaveTeam.ts | 2 +- .../hooks/team/useRejectJoinRequest.ts | 4 +- .../website/hooks/team/useTeamJoinRequests.ts | 6 +- apps/website/hooks/team/useUpdateTeam.ts | 4 +- apps/website/hooks/useCapability.ts | 8 +-- .../lib/di/hooks/useReactQueryWithApiError.ts | 2 +- apps/website/lib/di/modules/api.module.ts | 56 +++++++++---------- apps/website/lib/gateways/api/ApiClient.ts | 6 +- .../api/analytics/AnalyticsApiClient.ts | 12 ++-- .../lib/gateways/api/auth/AuthApiClient.ts | 10 ++-- .../lib/gateways/api/base/BaseApiClient.ts | 10 ++-- .../api/dashboard/DashboardApiClient.ts | 2 +- .../gateways/api/drivers/DriversApiClient.ts | 12 ++-- .../gateways/api/leagues/LeaguesApiClient.ts | 48 ++++++++-------- .../lib/gateways/api/media/MediaApiClient.ts | 20 +++---- .../api/payments/PaymentsApiClient.ts | 14 ++--- .../api/penalties/PenaltiesApiClient.ts | 6 +- .../gateways/api/policy/PolicyApiClient.ts | 4 +- .../api/protests/ProtestsApiClient.ts | 10 ++-- .../lib/gateways/api/races/RacesApiClient.ts | 26 ++++----- .../api/sponsors/SponsorsApiClient.ts | 16 +++--- .../infrastructure/EnhancedErrorReporter.ts | 4 +- .../website/lib/infrastructure/ErrorReplay.ts | 6 +- .../lib/infrastructure/GlobalErrorHandler.ts | 7 +-- apps/website/lib/page/usePageData.ts | 4 +- .../lib/services/admin/AdminService.ts | 15 ++--- .../services/analytics/AnalyticsService.ts | 12 ++-- .../services/analytics/DashboardService.ts | 14 ++--- apps/website/lib/services/auth/AuthService.ts | 14 ++--- .../drivers/DriverProfilePageService.ts | 2 +- .../drivers/DriverProfileReadService.ts | 2 +- .../services/drivers/DriverProfileService.ts | 2 +- .../drivers/DriverProfileUpdateService.ts | 2 +- .../drivers/DriverRegistrationService.ts | 10 ++-- .../lib/services/drivers/DriverService.ts | 18 +++--- .../services/drivers/DriversPageService.ts | 2 +- .../services/error/ErrorAnalyticsService.ts | 8 +-- apps/website/lib/services/home/HomeService.ts | 6 +- .../lib/services/landing/LandingService.ts | 19 +++---- .../leaderboards/DriverRankingsService.ts | 8 +-- .../leaderboards/LeaderboardsService.ts | 10 ++-- .../leaderboards/TeamRankingsService.ts | 8 +-- .../leagues/LeagueMembershipService.ts | 12 ++-- .../services/leagues/LeagueRulebookService.ts | 8 +-- .../services/leagues/LeagueScheduleService.ts | 8 +-- .../lib/services/leagues/LeagueService.ts | 8 +-- .../services/leagues/LeagueSettingsService.ts | 6 +- .../leagues/LeagueStandingsService.ts | 6 +- .../services/leagues/LeagueWalletService.ts | 6 +- .../services/leagues/LeagueWizardService.ts | 10 ++-- .../services/leagues/ProfileLeaguesService.ts | 8 +-- .../lib/services/media/AvatarService.ts | 14 ++--- .../services/onboarding/OnboardingService.ts | 8 +-- .../services/payments/MembershipFeeService.ts | 10 ++-- .../lib/services/payments/PaymentService.ts | 14 ++--- .../lib/services/payments/WalletService.ts | 10 ++-- .../lib/services/penalties/PenaltyService.ts | 10 ++-- .../lib/services/policy/PolicyService.ts | 8 +-- .../lib/services/protests/ProtestService.ts | 16 +++--- .../lib/services/races/RaceResultsService.ts | 12 ++-- .../website/lib/services/races/RaceService.ts | 10 ++-- .../services/races/RaceStewardingService.ts | 14 ++--- .../lib/services/races/RacesService.ts | 12 ++-- .../lib/services/sponsors/SponsorService.ts | 12 ++-- .../SponsorshipRequestsReadService.ts | 4 +- .../sponsors/SponsorshipRequestsService.ts | 6 +- .../services/sponsors/SponsorshipService.ts | 14 ++--- .../lib/services/teams/TeamJoinService.ts | 14 ++--- .../website/lib/services/teams/TeamService.ts | 31 +++++----- 105 files changed, 474 insertions(+), 498 deletions(-) diff --git a/apps/website/app/actions/leagueScheduleActions.ts b/apps/website/app/actions/leagueScheduleActions.ts index 50aa22bf0..b8ae304fd 100644 --- a/apps/website/app/actions/leagueScheduleActions.ts +++ b/apps/website/app/actions/leagueScheduleActions.ts @@ -1,14 +1,14 @@ 'use server'; -import { revalidatePath } from 'next/cache'; -import { redirect } from 'next/navigation'; -import { Result } from '@/lib/contracts/Result'; -import { ScheduleAdminMutation } from '@/lib/mutations/leagues/ScheduleAdminMutation'; -import { RacesApiClient } from '@/lib/api/races/RacesApiClient'; -import { routes } from '@/lib/routing/RouteConfig'; import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl'; +import { Result } from '@/lib/contracts/Result'; +import { RacesApiClient } from '@/lib/gateways/api/races/RacesApiClient'; import { ConsoleErrorReporter } from '@/lib/infrastructure/logging/ConsoleErrorReporter'; import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger'; +import { ScheduleAdminMutation } from '@/lib/mutations/leagues/ScheduleAdminMutation'; +import { routes } from '@/lib/routing/RouteConfig'; +import { revalidatePath } from 'next/cache'; +import { redirect } from 'next/navigation'; // eslint-disable-next-line gridpilot-rules/server-actions-interface export async function publishScheduleAction(leagueId: string, seasonId: string): Promise> { @@ -124,16 +124,16 @@ export async function withdrawFromRaceAction(raceId: string, driverId: string, l } // eslint-disable-next-line gridpilot-rules/server-actions-interface -export async function navigateToEditRaceAction(raceId: string, leagueId: string): Promise { +export async function navigateToEditRaceAction(leagueId: string): Promise { redirect(routes.league.scheduleAdmin(leagueId)); } // eslint-disable-next-line gridpilot-rules/server-actions-interface -export async function navigateToRescheduleRaceAction(raceId: string, leagueId: string): Promise { +export async function navigateToRescheduleRaceAction(leagueId: string): Promise { redirect(routes.league.scheduleAdmin(leagueId)); } // eslint-disable-next-line gridpilot-rules/server-actions-interface -export async function navigateToRaceResultsAction(raceId: string, leagueId: string): Promise { +export async function navigateToRaceResultsAction(raceId: string): Promise { redirect(routes.race.results(raceId)); } diff --git a/apps/website/app/sponsor/leagues/[id]/page.tsx b/apps/website/app/sponsor/leagues/[id]/page.tsx index 33897c30f..8d70ce5a5 100644 --- a/apps/website/app/sponsor/leagues/[id]/page.tsx +++ b/apps/website/app/sponsor/leagues/[id]/page.tsx @@ -1,11 +1,11 @@ -import { notFound } from 'next/navigation'; -import { PageWrapper } from '@/components/shared/state/PageWrapper'; import { SponsorLeagueDetailPageClient } from '@/client-wrapper/SponsorLeagueDetailPageClient'; -import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient'; -import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter'; -import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger'; +import { PageWrapper } from '@/components/shared/state/PageWrapper'; import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl'; import { getWebsiteServerEnv } from '@/lib/config/env'; +import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient'; +import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter'; +import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger'; +import { notFound } from 'next/navigation'; export default async function Page({ params }: { params: Promise<{ id: string }> }) { const { id } = await params; diff --git a/apps/website/app/sponsor/leagues/page.tsx b/apps/website/app/sponsor/leagues/page.tsx index d1779af33..dfe612c37 100644 --- a/apps/website/app/sponsor/leagues/page.tsx +++ b/apps/website/app/sponsor/leagues/page.tsx @@ -1,10 +1,10 @@ -import { PageWrapper } from '@/components/shared/state/PageWrapper'; import { SponsorLeaguesPageClient } from '@/client-wrapper/SponsorLeaguesPageClient'; -import { SponsorsApiClient } from '@/lib/api/sponsors/SponsorsApiClient'; -import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter'; -import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger'; +import { PageWrapper } from '@/components/shared/state/PageWrapper'; import { getWebsiteApiBaseUrl } from '@/lib/config/apiBaseUrl'; import { getWebsiteServerEnv } from '@/lib/config/env'; +import { SponsorsApiClient } from '@/lib/gateways/api/sponsors/SponsorsApiClient'; +import { EnhancedErrorReporter } from '@/lib/infrastructure/EnhancedErrorReporter'; +import { ConsoleLogger } from '@/lib/infrastructure/logging/ConsoleLogger'; export default async function Page() { // Manual wiring: create dependencies diff --git a/apps/website/components/actions/ActionList.tsx b/apps/website/components/actions/ActionList.tsx index 355b8e098..cb29673f6 100644 --- a/apps/website/components/actions/ActionList.tsx +++ b/apps/website/components/actions/ActionList.tsx @@ -1,9 +1,9 @@ 'use client'; -import { ActionItem } from '@/lib/queries/ActionsPageQuery'; -import { ActionStatusBadge } from './ActionStatusBadge'; -import { Table, TableHead, TableBody, TableRow, TableHeader, TableCell } from '@/ui/Table'; +import { ActionItem } from '@/lib/page-queries/ActionsPageQuery'; +import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/ui/Table'; import { Text } from '@/ui/Text'; +import { ActionStatusBadge } from './ActionStatusBadge'; interface ActionListProps { actions: ActionItem[]; diff --git a/apps/website/components/dev/DevToolbar.tsx b/apps/website/components/dev/DevToolbar.tsx index 4ff258439..77c351b5a 100644 --- a/apps/website/components/dev/DevToolbar.tsx +++ b/apps/website/components/dev/DevToolbar.tsx @@ -3,10 +3,10 @@ import { useNotifications } from '@/components/notifications/NotificationProvider'; import type { NotificationVariant } from '@/components/notifications/notificationTypes'; import { useEffectiveDriverId } from "@/hooks/useEffectiveDriverId"; -import { ApiConnectionMonitor } from '@/lib/api/base/ApiConnectionMonitor'; -import { CircuitBreakerRegistry } from '@/lib/api/base/RetryHandler'; +import { ApiConnectionMonitor } from '@/lib/gateways/api/base/ApiConnectionMonitor'; +import { CircuitBreakerRegistry } from '@/lib/gateways/api/base/RetryHandler'; import { getGlobalErrorHandler } from '@/lib/infrastructure/GlobalErrorHandler'; -import { Activity, AlertTriangle, ChevronDown, ChevronUp, MessageSquare, Wrench, X } from 'lucide-react'; +import { ChevronUp, Wrench, X } from 'lucide-react'; import { useEffect, useState } from 'react'; // Import our new components @@ -15,8 +15,8 @@ import { Badge } from '@/ui/Badge'; import { Button } from '@/ui/Button'; import { Icon } from '@/ui/Icon'; import { IconButton } from '@/ui/IconButton'; -import { Text } from '@/ui/Text'; import { Stack } from '@/ui/Stack'; +import { Text } from '@/ui/Text'; import { Toolbar } from '@/ui/Toolbar'; import { APIStatusSection } from './sections/APIStatusSection'; import { NotificationSendSection } from './sections/NotificationSendSection'; diff --git a/apps/website/components/errors/ApiErrorBoundary.tsx b/apps/website/components/errors/ApiErrorBoundary.tsx index cce7cc29f..6d1bd405c 100644 --- a/apps/website/components/errors/ApiErrorBoundary.tsx +++ b/apps/website/components/errors/ApiErrorBoundary.tsx @@ -1,10 +1,10 @@ 'use client'; -import React, { Component, ReactNode, useState } from 'react'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { connectionMonitor } from '@/lib/api/base/ApiConnectionMonitor'; -import { ErrorDisplay } from '@/components/shared/ErrorDisplay'; import { DevErrorPanel } from '@/components/shared/DevErrorPanel'; +import { ErrorDisplay } from '@/components/shared/ErrorDisplay'; +import { connectionMonitor } from '@/lib/gateways/api/base/ApiConnectionMonitor'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { Component, ReactNode, useState } from 'react'; interface Props { children: ReactNode; diff --git a/apps/website/components/errors/EnhancedErrorBoundary.tsx b/apps/website/components/errors/EnhancedErrorBoundary.tsx index e7ce95606..302c11495 100644 --- a/apps/website/components/errors/EnhancedErrorBoundary.tsx +++ b/apps/website/components/errors/EnhancedErrorBoundary.tsx @@ -1,10 +1,10 @@ 'use client'; -import React, { Component, ReactNode, ErrorInfo, useState, version } from 'react'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { getGlobalErrorHandler } from '@/lib/infrastructure/GlobalErrorHandler'; import { DevErrorPanel } from '@/components/shared/DevErrorPanel'; import { ErrorDisplay } from '@/components/shared/ErrorDisplay'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { getGlobalErrorHandler } from '@/lib/infrastructure/GlobalErrorHandler'; +import React, { Component, ErrorInfo, ReactNode, useState, version } from 'react'; interface Props { children: ReactNode; diff --git a/apps/website/components/errors/EnhancedFormError.tsx b/apps/website/components/errors/EnhancedFormError.tsx index 7f767ed6c..72fff493a 100644 --- a/apps/website/components/errors/EnhancedFormError.tsx +++ b/apps/website/components/errors/EnhancedFormError.tsx @@ -1,6 +1,6 @@ 'use client'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { getErrorSeverity, isConnectivityError, isRetryable, parseApiError } from '@/lib/utils/errorUtils'; import { Button } from '@/ui/Button'; import { Icon } from '@/ui/Icon'; @@ -9,15 +9,15 @@ import { Stack } from '@/ui/Stack'; import { Text } from '@/ui/Text'; import { AnimatePresence, motion } from 'framer-motion'; import { - AlertCircle, - AlertTriangle, - Bug, - ChevronDown, - ChevronUp, - Info, - RefreshCw, - Wifi, - X + AlertCircle, + AlertTriangle, + Bug, + ChevronDown, + ChevronUp, + Info, + RefreshCw, + Wifi, + X } from 'lucide-react'; import { useState } from 'react'; diff --git a/apps/website/components/errors/ErrorDisplay.tsx b/apps/website/components/errors/ErrorDisplay.tsx index 193550720..5408a7f26 100644 --- a/apps/website/components/errors/ErrorDisplay.tsx +++ b/apps/website/components/errors/ErrorDisplay.tsx @@ -1,8 +1,7 @@ 'use client'; -import React from 'react'; -import { ApiError } from '@/lib/api/base/ApiError'; import { ErrorDisplay as UiErrorDisplay } from '@/components/shared/ErrorDisplay'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; interface ErrorDisplayProps { error: ApiError; diff --git a/apps/website/components/errors/NotificationIntegration.tsx b/apps/website/components/errors/NotificationIntegration.tsx index ee96d9305..b1d576000 100644 --- a/apps/website/components/errors/NotificationIntegration.tsx +++ b/apps/website/components/errors/NotificationIntegration.tsx @@ -1,9 +1,9 @@ 'use client'; -import { useEffect, useState } from 'react'; import { useNotifications } from '@/components/notifications/NotificationProvider'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { connectionMonitor } from '@/lib/api/base/ApiConnectionMonitor'; +import { connectionMonitor } from '@/lib/gateways/api/base/ApiConnectionMonitor'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useEffect, useState } from 'react'; /** * Integration component that listens for API errors and shows notifications diff --git a/apps/website/components/shared/DevErrorPanel.tsx b/apps/website/components/shared/DevErrorPanel.tsx index 0d377158b..0b251f797 100644 --- a/apps/website/components/shared/DevErrorPanel.tsx +++ b/apps/website/components/shared/DevErrorPanel.tsx @@ -1,6 +1,6 @@ -import { connectionMonitor } from '@/lib/api/base/ApiConnectionMonitor'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { CircuitBreakerRegistry } from '@/lib/api/base/RetryHandler'; +import { connectionMonitor } from '@/lib/gateways/api/base/ApiConnectionMonitor'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { CircuitBreakerRegistry } from '@/lib/gateways/api/base/RetryHandler'; import { Badge } from '@/ui/Badge'; import { Box } from '@/ui/Box'; import { Button } from '@/ui/Button'; diff --git a/apps/website/components/shared/ErrorDisplay.tsx b/apps/website/components/shared/ErrorDisplay.tsx index eae4bbc72..22896fbae 100644 --- a/apps/website/components/shared/ErrorDisplay.tsx +++ b/apps/website/components/shared/ErrorDisplay.tsx @@ -1,4 +1,4 @@ -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { Box } from '@/ui/Box'; import { Button } from '@/ui/Button'; import { Heading } from '@/ui/Heading'; diff --git a/apps/website/components/shared/state/PageWrapper.tsx b/apps/website/components/shared/state/PageWrapper.tsx index 55e94382b..bbb33b2b0 100644 --- a/apps/website/components/shared/state/PageWrapper.tsx +++ b/apps/website/components/shared/state/PageWrapper.tsx @@ -1,7 +1,7 @@ -import { EmptyState } from '@/ui/EmptyState'; import { ErrorDisplay } from '@/components/shared/ErrorDisplay'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { EmptyState } from '@/ui/EmptyState'; import { LoadingWrapper } from '@/ui/LoadingWrapper'; -import { ApiError } from '@/lib/api/base/ApiError'; import { Inbox, List, LucideIcon } from 'lucide-react'; import React, { ReactNode } from 'react'; diff --git a/apps/website/hooks/auth/useCurrentSession.ts b/apps/website/hooks/auth/useCurrentSession.ts index 1e34acad4..e8a01ec5e 100644 --- a/apps/website/hooks/auth/useCurrentSession.ts +++ b/apps/website/hooks/auth/useCurrentSession.ts @@ -1,9 +1,9 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { SESSION_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { SESSION_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useCurrentSession( options?: Omit, 'queryKey' | 'queryFn'> & { initialData?: SessionViewModel | null } diff --git a/apps/website/hooks/auth/useForgotPassword.ts b/apps/website/hooks/auth/useForgotPassword.ts index 246fabe17..944425d4a 100644 --- a/apps/website/hooks/auth/useForgotPassword.ts +++ b/apps/website/hooks/auth/useForgotPassword.ts @@ -1,8 +1,8 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { ForgotPasswordDTO } from '@/lib/types/generated/ForgotPasswordDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useForgotPassword( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/auth/useLogin.ts b/apps/website/hooks/auth/useLogin.ts index 88db4bc73..98619c5bc 100644 --- a/apps/website/hooks/auth/useLogin.ts +++ b/apps/website/hooks/auth/useLogin.ts @@ -1,9 +1,9 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { LoginParamsDTO } from '@/lib/types/generated/LoginParamsDTO'; +import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useLogin( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/auth/useLogout.ts b/apps/website/hooks/auth/useLogout.ts index bb36d29a0..c5254bf2f 100644 --- a/apps/website/hooks/auth/useLogout.ts +++ b/apps/website/hooks/auth/useLogout.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useLogout( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/auth/useResetPassword.ts b/apps/website/hooks/auth/useResetPassword.ts index b406a4f06..a71fbdd5f 100644 --- a/apps/website/hooks/auth/useResetPassword.ts +++ b/apps/website/hooks/auth/useResetPassword.ts @@ -1,8 +1,8 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { ResetPasswordDTO } from '@/lib/types/generated/ResetPasswordDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useResetPassword( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/auth/useSignup.ts b/apps/website/hooks/auth/useSignup.ts index 18c0f26fc..d5232146b 100644 --- a/apps/website/hooks/auth/useSignup.ts +++ b/apps/website/hooks/auth/useSignup.ts @@ -1,9 +1,9 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { AUTH_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { SignupParamsDTO } from '@/lib/types/generated/SignupParamsDTO'; +import { SessionViewModel } from '@/lib/view-models/SessionViewModel'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useSignup( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/driver/useCreateDriver.ts b/apps/website/hooks/driver/useCreateDriver.ts index cbe3b2f03..5cb35e660 100644 --- a/apps/website/hooks/driver/useCreateDriver.ts +++ b/apps/website/hooks/driver/useCreateDriver.ts @@ -1,11 +1,11 @@ 'use client'; -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { CompleteOnboardingInputDTO } from '@/lib/types/generated/CompleteOnboardingInputDTO'; import { CompleteOnboardingViewModel } from '@/lib/view-models/CompleteOnboardingViewModel'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useCreateDriver( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/driver/useCurrentDriver.ts b/apps/website/hooks/driver/useCurrentDriver.ts index a910a59c2..999ce387b 100644 --- a/apps/website/hooks/driver/useCurrentDriver.ts +++ b/apps/website/hooks/driver/useCurrentDriver.ts @@ -1,10 +1,10 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; -import { useInject } from '@/lib/di/hooks/useInject'; -import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; -import type { DriverDTO } from '@/lib/types/generated/DriverDTO'; import { useAuth } from '@/components/auth/AuthContext'; +import { useInject } from '@/lib/di/hooks/useInject'; +import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; +import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import type { DriverDTO } from '@/lib/types/generated/DriverDTO'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useCurrentDriver( options?: Omit, 'queryKey' | 'queryFn'> diff --git a/apps/website/hooks/driver/useDriverProfile.ts b/apps/website/hooks/driver/useDriverProfile.ts index e2ad09284..f609fc0b9 100644 --- a/apps/website/hooks/driver/useDriverProfile.ts +++ b/apps/website/hooks/driver/useDriverProfile.ts @@ -1,9 +1,9 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { DriverProfileViewModel, type DriverProfileViewModelData } from '@/lib/view-models/DriverProfileViewModel'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useDriverProfile( driverId: string, diff --git a/apps/website/hooks/driver/useFindDriverById.ts b/apps/website/hooks/driver/useFindDriverById.ts index 4423e06b1..8f3e7e58b 100644 --- a/apps/website/hooks/driver/useFindDriverById.ts +++ b/apps/website/hooks/driver/useFindDriverById.ts @@ -1,9 +1,9 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { GetDriverOutputDTO } from '@/lib/types/generated/GetDriverOutputDTO'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useFindDriverById( driverId: string, diff --git a/apps/website/hooks/driver/useUpdateDriverProfile.ts b/apps/website/hooks/driver/useUpdateDriverProfile.ts index 6a0f65d2f..0ef58b159 100644 --- a/apps/website/hooks/driver/useUpdateDriverProfile.ts +++ b/apps/website/hooks/driver/useUpdateDriverProfile.ts @@ -1,10 +1,10 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; +import { DriverProfileViewModelBuilder } from '@/lib/builders/view-models/DriverProfileViewModelBuilder'; import { useInject } from '@/lib/di/hooks/useInject'; import { DRIVER_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { DriverProfileViewModel } from '@/lib/view-models/DriverProfileViewModel'; -import { DriverProfileViewModelBuilder } from '@/lib/builders/view-models/DriverProfileViewModelBuilder'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { GetDriverProfileOutputDTO } from '@/lib/types/generated/GetDriverProfileOutputDTO'; +import { DriverProfileViewModel } from '@/lib/view-models/DriverProfileViewModel'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useUpdateDriverProfile( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/league/useCreateLeagueWithBlockers.ts b/apps/website/hooks/league/useCreateLeagueWithBlockers.ts index 3cdd5d055..570f00b42 100644 --- a/apps/website/hooks/league/useCreateLeagueWithBlockers.ts +++ b/apps/website/hooks/league/useCreateLeagueWithBlockers.ts @@ -1,9 +1,9 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { LEAGUE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { CreateLeagueInputDTO } from '@/lib/types/generated/CreateLeagueInputDTO'; import { CreateLeagueOutputDTO } from '@/lib/types/generated/CreateLeagueOutputDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export interface CreateLeagueInput { name: string; diff --git a/apps/website/hooks/league/useLeagueDetail.ts b/apps/website/hooks/league/useLeagueDetail.ts index 8f31ccb8d..88f773f36 100644 --- a/apps/website/hooks/league/useLeagueDetail.ts +++ b/apps/website/hooks/league/useLeagueDetail.ts @@ -1,15 +1,10 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { LEAGUE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; -import type { LeagueWithCapacityAndScoringDTO } from '@/lib/types/generated/LeagueWithCapacityAndScoringDTO'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { LeagueMembershipsDTO } from '@/lib/types/generated/LeagueMembershipsDTO'; -import type { AllLeaguesWithCapacityAndScoringDTO } from '@/lib/types/AllLeaguesWithCapacityAndScoringDTO'; +import type { LeagueWithCapacityAndScoringDTO } from '@/lib/types/generated/LeagueWithCapacityAndScoringDTO'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; -interface UseLeagueDetailOptions { - leagueId: string; - queryOptions?: UseQueryOptions; -} interface UseLeagueMembershipsOptions { leagueId: string; diff --git a/apps/website/hooks/league/useLeagueMembershipMutation.ts b/apps/website/hooks/league/useLeagueMembershipMutation.ts index 9b255371d..d8a39c386 100644 --- a/apps/website/hooks/league/useLeagueMembershipMutation.ts +++ b/apps/website/hooks/league/useLeagueMembershipMutation.ts @@ -1,7 +1,7 @@ -import { useMutation, useQueryClient } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { LEAGUE_MEMBERSHIP_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; export function useLeagueMembershipMutation() { const leagueMembershipService = useInject(LEAGUE_MEMBERSHIP_SERVICE_TOKEN); diff --git a/apps/website/hooks/league/useLeagueRosterAdmin.ts b/apps/website/hooks/league/useLeagueRosterAdmin.ts index bcd893149..c6149ee66 100644 --- a/apps/website/hooks/league/useLeagueRosterAdmin.ts +++ b/apps/website/hooks/league/useLeagueRosterAdmin.ts @@ -1,9 +1,9 @@ -import { useMutation, useQuery, UseMutationOptions, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { LEAGUE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; -import type { LeagueRosterMemberDTO } from '@/lib/types/generated/LeagueRosterMemberDTO'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { LeagueRosterJoinRequestDTO } from '@/lib/types/generated/LeagueRosterJoinRequestDTO'; +import type { LeagueRosterMemberDTO } from '@/lib/types/generated/LeagueRosterMemberDTO'; +import { useMutation, UseMutationOptions, useQuery, UseQueryOptions } from '@tanstack/react-query'; interface UpdateMemberRoleInput { leagueId: string; diff --git a/apps/website/hooks/league/useLeagueSettings.ts b/apps/website/hooks/league/useLeagueSettings.ts index 88e5287e0..0f9dd36a9 100644 --- a/apps/website/hooks/league/useLeagueSettings.ts +++ b/apps/website/hooks/league/useLeagueSettings.ts @@ -1,9 +1,9 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { LEAGUE_SETTINGS_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { LEAGUE_SETTINGS_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { LeagueSettingsViewModel } from '@/lib/view-models/LeagueSettingsViewModel'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useLeagueSettings( leagueId: string, diff --git a/apps/website/hooks/league/useProtestDetail.ts b/apps/website/hooks/league/useProtestDetail.ts index 4e2cf4df3..763108990 100644 --- a/apps/website/hooks/league/useProtestDetail.ts +++ b/apps/website/hooks/league/useProtestDetail.ts @@ -1,8 +1,8 @@ -import { useQuery } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { LEAGUE_STEWARDING_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { LEAGUE_STEWARDING_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useQuery } from '@tanstack/react-query'; export function useProtestDetail(leagueId: string, protestId: string, enabled: boolean = true) { const leagueStewardingService = useInject(LEAGUE_STEWARDING_SERVICE_TOKEN); diff --git a/apps/website/hooks/race/useFileProtest.ts b/apps/website/hooks/race/useFileProtest.ts index 9f843d9a3..598c5a4a0 100644 --- a/apps/website/hooks/race/useFileProtest.ts +++ b/apps/website/hooks/race/useFileProtest.ts @@ -1,8 +1,8 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { RACE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { FileProtestCommandDTO } from '@/lib/types/generated/FileProtestCommandDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useFileProtest( options?: Omit, 'mutationFn'> diff --git a/apps/website/hooks/race/useRegisterForRace.ts b/apps/website/hooks/race/useRegisterForRace.ts index 6cd18937c..4855072ac 100644 --- a/apps/website/hooks/race/useRegisterForRace.ts +++ b/apps/website/hooks/race/useRegisterForRace.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { RACE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; interface RegisterForRaceParams { raceId: string; diff --git a/apps/website/hooks/race/useWithdrawFromRace.ts b/apps/website/hooks/race/useWithdrawFromRace.ts index 9da36246d..2d5a95a0d 100644 --- a/apps/website/hooks/race/useWithdrawFromRace.ts +++ b/apps/website/hooks/race/useWithdrawFromRace.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { RACE_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; interface WithdrawFromRaceParams { raceId: string; diff --git a/apps/website/hooks/team/useApproveJoinRequest.ts b/apps/website/hooks/team/useApproveJoinRequest.ts index 8912ac426..5fe6b1eef 100644 --- a/apps/website/hooks/team/useApproveJoinRequest.ts +++ b/apps/website/hooks/team/useApproveJoinRequest.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { TEAM_JOIN_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useApproveJoinRequest(options?: Omit, 'mutationFn'>) { const teamJoinService = useInject(TEAM_JOIN_SERVICE_TOKEN); diff --git a/apps/website/hooks/team/useCreateTeam.ts b/apps/website/hooks/team/useCreateTeam.ts index 45db6f929..293e95af8 100644 --- a/apps/website/hooks/team/useCreateTeam.ts +++ b/apps/website/hooks/team/useCreateTeam.ts @@ -1,9 +1,9 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { TEAM_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { CreateTeamInputDTO } from '@/lib/types/generated/CreateTeamInputDTO'; import type { CreateTeamOutputDTO } from '@/lib/types/generated/CreateTeamOutputDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useCreateTeam(options?: UseMutationOptions) { const teamService = useInject(TEAM_SERVICE_TOKEN); diff --git a/apps/website/hooks/team/useJoinTeam.ts b/apps/website/hooks/team/useJoinTeam.ts index de42c158f..677c343a2 100644 --- a/apps/website/hooks/team/useJoinTeam.ts +++ b/apps/website/hooks/team/useJoinTeam.ts @@ -1,5 +1,5 @@ +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { useMutation, UseMutationOptions } from '@tanstack/react-query'; -import { ApiError } from '@/lib/api/base/ApiError'; interface JoinTeamParams { teamId: string; diff --git a/apps/website/hooks/team/useLeaveTeam.ts b/apps/website/hooks/team/useLeaveTeam.ts index 2fd2d7175..f72e2f32c 100644 --- a/apps/website/hooks/team/useLeaveTeam.ts +++ b/apps/website/hooks/team/useLeaveTeam.ts @@ -1,5 +1,5 @@ +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import { useMutation, UseMutationOptions } from '@tanstack/react-query'; -import { ApiError } from '@/lib/api/base/ApiError'; interface LeaveTeamParams { teamId: string; diff --git a/apps/website/hooks/team/useRejectJoinRequest.ts b/apps/website/hooks/team/useRejectJoinRequest.ts index fc064eee6..ed44bd99c 100644 --- a/apps/website/hooks/team/useRejectJoinRequest.ts +++ b/apps/website/hooks/team/useRejectJoinRequest.ts @@ -1,7 +1,7 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { TEAM_JOIN_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useRejectJoinRequest(options?: Omit, 'mutationFn'>) { const teamJoinService = useInject(TEAM_JOIN_SERVICE_TOKEN); diff --git a/apps/website/hooks/team/useTeamJoinRequests.ts b/apps/website/hooks/team/useTeamJoinRequests.ts index 43e1a63ae..066f260aa 100644 --- a/apps/website/hooks/team/useTeamJoinRequests.ts +++ b/apps/website/hooks/team/useTeamJoinRequests.ts @@ -1,8 +1,8 @@ -import { useQuery } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { TEAM_JOIN_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { TEAM_JOIN_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { useQuery } from '@tanstack/react-query'; export function useTeamJoinRequests(teamId: string, currentUserId: string, isOwner: boolean) { const teamJoinService = useInject(TEAM_JOIN_SERVICE_TOKEN); diff --git a/apps/website/hooks/team/useUpdateTeam.ts b/apps/website/hooks/team/useUpdateTeam.ts index b13863fd1..2e7b985b7 100644 --- a/apps/website/hooks/team/useUpdateTeam.ts +++ b/apps/website/hooks/team/useUpdateTeam.ts @@ -1,9 +1,9 @@ -import { useMutation, UseMutationOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; import { TEAM_SERVICE_TOKEN } from '@/lib/di/tokens'; -import { ApiError } from '@/lib/api/base/ApiError'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; import type { UpdateTeamInputDTO } from '@/lib/types/generated/UpdateTeamInputDTO'; import type { UpdateTeamOutputDTO } from '@/lib/types/generated/UpdateTeamOutputDTO'; +import { useMutation, UseMutationOptions } from '@tanstack/react-query'; export function useUpdateTeam(options?: UseMutationOptions) { const teamService = useInject(TEAM_SERVICE_TOKEN); diff --git a/apps/website/hooks/useCapability.ts b/apps/website/hooks/useCapability.ts index 3ad50e957..bb40ce99e 100644 --- a/apps/website/hooks/useCapability.ts +++ b/apps/website/hooks/useCapability.ts @@ -1,9 +1,9 @@ -import { useQuery, UseQueryOptions } from '@tanstack/react-query'; import { useInject } from '@/lib/di/hooks/useInject'; -import { POLICY_SERVICE_TOKEN } from '@/lib/di/tokens'; import { enhanceQueryResult } from '@/lib/di/hooks/useReactQueryWithApiError'; -import { ApiError } from '@/lib/api/base/ApiError'; -import { PolicySnapshotDto } from '@/lib/api/policy/PolicyApiClient'; +import { POLICY_SERVICE_TOKEN } from '@/lib/di/tokens'; +import { ApiError } from '@/lib/gateways/api/base/ApiError'; +import { PolicySnapshotDto } from '@/lib/gateways/api/policy/PolicyApiClient'; +import { useQuery, UseQueryOptions } from '@tanstack/react-query'; export function useCapability( capabilityKey: string, diff --git a/apps/website/lib/di/hooks/useReactQueryWithApiError.ts b/apps/website/lib/di/hooks/useReactQueryWithApiError.ts index 3d8b83e1a..1a0cb7034 100644 --- a/apps/website/lib/di/hooks/useReactQueryWithApiError.ts +++ b/apps/website/lib/di/hooks/useReactQueryWithApiError.ts @@ -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 diff --git a/apps/website/lib/di/modules/api.module.ts b/apps/website/lib/di/modules/api.module.ts index e3cba060e..3c1678d33 100644 --- a/apps/website/lib/di/modules/api.module.ts +++ b/apps/website/lib/di/modules/api.module.ts @@ -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) => { diff --git a/apps/website/lib/gateways/api/ApiClient.ts b/apps/website/lib/gateways/api/ApiClient.ts index fa4a0f51e..2573f7d75 100644 --- a/apps/website/lib/gateways/api/ApiClient.ts +++ b/apps/website/lib/gateways/api/ApiClient.ts @@ -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; diff --git a/apps/website/lib/gateways/api/analytics/AnalyticsApiClient.ts b/apps/website/lib/gateways/api/analytics/AnalyticsApiClient.ts index ef0f85429..b40b9d86a 100644 --- a/apps/website/lib/gateways/api/analytics/AnalyticsApiClient.ts +++ b/apps/website/lib/gateways/api/analytics/AnalyticsApiClient.ts @@ -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 diff --git a/apps/website/lib/gateways/api/auth/AuthApiClient.ts b/apps/website/lib/gateways/api/auth/AuthApiClient.ts index df1cb6eb1..c82a5332b 100644 --- a/apps/website/lib/gateways/api/auth/AuthApiClient.ts +++ b/apps/website/lib/gateways/api/auth/AuthApiClient.ts @@ -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 diff --git a/apps/website/lib/gateways/api/base/BaseApiClient.ts b/apps/website/lib/gateways/api/base/BaseApiClient.ts index 3f801356c..3097c45d5 100644 --- a/apps/website/lib/gateways/api/base/BaseApiClient.ts +++ b/apps/website/lib/gateways/api/base/BaseApiClient.ts @@ -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; diff --git a/apps/website/lib/gateways/api/dashboard/DashboardApiClient.ts b/apps/website/lib/gateways/api/dashboard/DashboardApiClient.ts index edb45103a..d4aea6833 100644 --- a/apps/website/lib/gateways/api/dashboard/DashboardApiClient.ts +++ b/apps/website/lib/gateways/api/dashboard/DashboardApiClient.ts @@ -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 diff --git a/apps/website/lib/gateways/api/drivers/DriversApiClient.ts b/apps/website/lib/gateways/api/drivers/DriversApiClient.ts index bf7abc180..884178604 100644 --- a/apps/website/lib/gateways/api/drivers/DriversApiClient.ts +++ b/apps/website/lib/gateways/api/drivers/DriversApiClient.ts @@ -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[]; diff --git a/apps/website/lib/gateways/api/leagues/LeaguesApiClient.ts b/apps/website/lib/gateways/api/leagues/LeaguesApiClient.ts index 0ce18cc81..8160a487c 100644 --- a/apps/website/lib/gateways/api/leagues/LeaguesApiClient.ts +++ b/apps/website/lib/gateways/api/leagues/LeaguesApiClient.ts @@ -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 { return typeof value === 'object' && value !== null; diff --git a/apps/website/lib/gateways/api/media/MediaApiClient.ts b/apps/website/lib/gateways/api/media/MediaApiClient.ts index 5ce8bc051..c95fe9253 100644 --- a/apps/website/lib/gateways/api/media/MediaApiClient.ts +++ b/apps/website/lib/gateways/api/media/MediaApiClient.ts @@ -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'; /** diff --git a/apps/website/lib/gateways/api/payments/PaymentsApiClient.ts b/apps/website/lib/gateways/api/payments/PaymentsApiClient.ts index c13400bf8..a972127c3 100644 --- a/apps/website/lib/gateways/api/payments/PaymentsApiClient.ts +++ b/apps/website/lib/gateways/api/payments/PaymentsApiClient.ts @@ -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[] }; diff --git a/apps/website/lib/gateways/api/penalties/PenaltiesApiClient.ts b/apps/website/lib/gateways/api/penalties/PenaltiesApiClient.ts index 51d8db4f8..bdaf4bdd8 100644 --- a/apps/website/lib/gateways/api/penalties/PenaltiesApiClient.ts +++ b/apps/website/lib/gateways/api/penalties/PenaltiesApiClient.ts @@ -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 diff --git a/apps/website/lib/gateways/api/policy/PolicyApiClient.ts b/apps/website/lib/gateways/api/policy/PolicyApiClient.ts index a206547b3..0ff360b64 100644 --- a/apps/website/lib/gateways/api/policy/PolicyApiClient.ts +++ b/apps/website/lib/gateways/api/policy/PolicyApiClient.ts @@ -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'; diff --git a/apps/website/lib/gateways/api/protests/ProtestsApiClient.ts b/apps/website/lib/gateways/api/protests/ProtestsApiClient.ts index 0610f5cf4..199fb5a57 100644 --- a/apps/website/lib/gateways/api/protests/ProtestsApiClient.ts +++ b/apps/website/lib/gateways/api/protests/ProtestsApiClient.ts @@ -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 diff --git a/apps/website/lib/gateways/api/races/RacesApiClient.ts b/apps/website/lib/gateways/api/races/RacesApiClient.ts index 603198668..48a3a9794 100644 --- a/apps/website/lib/gateways/api/races/RacesApiClient.ts +++ b/apps/website/lib/gateways/api/races/RacesApiClient.ts @@ -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[] }; diff --git a/apps/website/lib/gateways/api/sponsors/SponsorsApiClient.ts b/apps/website/lib/gateways/api/sponsors/SponsorsApiClient.ts index 3e03e35c7..9b56db38a 100644 --- a/apps/website/lib/gateways/api/sponsors/SponsorsApiClient.ts +++ b/apps/website/lib/gateways/api/sponsors/SponsorsApiClient.ts @@ -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 }; diff --git a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts index d5ccf68de..6f3a99059 100644 --- a/apps/website/lib/infrastructure/EnhancedErrorReporter.ts +++ b/apps/website/lib/infrastructure/EnhancedErrorReporter.ts @@ -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 { diff --git a/apps/website/lib/infrastructure/ErrorReplay.ts b/apps/website/lib/infrastructure/ErrorReplay.ts index 5165c253f..c72f6c180 100644 --- a/apps/website/lib/infrastructure/ErrorReplay.ts +++ b/apps/website/lib/infrastructure/ErrorReplay.ts @@ -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 | undefined), diff --git a/apps/website/lib/infrastructure/GlobalErrorHandler.ts b/apps/website/lib/infrastructure/GlobalErrorHandler.ts index 3a62ec9c2..e80c918aa 100644 --- a/apps/website/lib/infrastructure/GlobalErrorHandler.ts +++ b/apps/website/lib/infrastructure/GlobalErrorHandler.ts @@ -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; private errorHistory: Array<{ error: Error | ApiError; timestamp: string; @@ -58,7 +56,6 @@ export class GlobalErrorHandler { }; this.logger = new ConsoleLogger(); - this.errorReporter = getGlobalErrorReporter(); } /** diff --git a/apps/website/lib/page/usePageData.ts b/apps/website/lib/page/usePageData.ts index d55189efe..53b810454 100644 --- a/apps/website/lib/page/usePageData.ts +++ b/apps/website/lib/page/usePageData.ts @@ -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 { queryKey: string[]; diff --git a/apps/website/lib/services/admin/AdminService.ts b/apps/website/lib/services/admin/AdminService.ts index 8804f81e0..e6ef66fc9 100644 --- a/apps/website/lib/services/admin/AdminService.ts +++ b/apps/website/lib/services/admin/AdminService.ts @@ -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); } /** diff --git a/apps/website/lib/services/analytics/AnalyticsService.ts b/apps/website/lib/services/analytics/AnalyticsService.ts index 76e0ed677..d3b1e8224 100644 --- a/apps/website/lib/services/analytics/AnalyticsService.ts +++ b/apps/website/lib/services/analytics/AnalyticsService.ts @@ -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 { diff --git a/apps/website/lib/services/analytics/DashboardService.ts b/apps/website/lib/services/analytics/DashboardService.ts index 330603d0e..cd40976a9 100644 --- a/apps/website/lib/services/analytics/DashboardService.ts +++ b/apps/website/lib/services/analytics/DashboardService.ts @@ -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 diff --git a/apps/website/lib/services/auth/AuthService.ts b/apps/website/lib/services/auth/AuthService.ts index dd731b8df..c2a1cee66 100644 --- a/apps/website/lib/services/auth/AuthService.ts +++ b/apps/website/lib/services/auth/AuthService.ts @@ -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 diff --git a/apps/website/lib/services/drivers/DriverProfilePageService.ts b/apps/website/lib/services/drivers/DriverProfilePageService.ts index a77d88f29..97f062fbb 100644 --- a/apps/website/lib/services/drivers/DriverProfilePageService.ts +++ b/apps/website/lib/services/drivers/DriverProfilePageService.ts @@ -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'; diff --git a/apps/website/lib/services/drivers/DriverProfileReadService.ts b/apps/website/lib/services/drivers/DriverProfileReadService.ts index ec63b3fc6..df94ea7e2 100644 --- a/apps/website/lib/services/drivers/DriverProfileReadService.ts +++ b/apps/website/lib/services/drivers/DriverProfileReadService.ts @@ -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'; diff --git a/apps/website/lib/services/drivers/DriverProfileService.ts b/apps/website/lib/services/drivers/DriverProfileService.ts index 026354a42..ba3867640 100644 --- a/apps/website/lib/services/drivers/DriverProfileService.ts +++ b/apps/website/lib/services/drivers/DriverProfileService.ts @@ -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'; diff --git a/apps/website/lib/services/drivers/DriverProfileUpdateService.ts b/apps/website/lib/services/drivers/DriverProfileUpdateService.ts index f3f5094d2..2af462b57 100644 --- a/apps/website/lib/services/drivers/DriverProfileUpdateService.ts +++ b/apps/website/lib/services/drivers/DriverProfileUpdateService.ts @@ -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'; diff --git a/apps/website/lib/services/drivers/DriverRegistrationService.ts b/apps/website/lib/services/drivers/DriverRegistrationService.ts index d6e587bb1..4520e7ec2 100644 --- a/apps/website/lib/services/drivers/DriverRegistrationService.ts +++ b/apps/website/lib/services/drivers/DriverRegistrationService.ts @@ -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 { diff --git a/apps/website/lib/services/drivers/DriverService.ts b/apps/website/lib/services/drivers/DriverService.ts index 73c360e45..31f99983c 100644 --- a/apps/website/lib/services/drivers/DriverService.ts +++ b/apps/website/lib/services/drivers/DriverService.ts @@ -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 diff --git a/apps/website/lib/services/drivers/DriversPageService.ts b/apps/website/lib/services/drivers/DriversPageService.ts index c2616c5a1..f4a4bb71e 100644 --- a/apps/website/lib/services/drivers/DriversPageService.ts +++ b/apps/website/lib/services/drivers/DriversPageService.ts @@ -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'; diff --git a/apps/website/lib/services/error/ErrorAnalyticsService.ts b/apps/website/lib/services/error/ErrorAnalyticsService.ts index 233eddcaa..7a5e9b679 100644 --- a/apps/website/lib/services/error/ErrorAnalyticsService.ts +++ b/apps/website/lib/services/error/ErrorAnalyticsService.ts @@ -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; diff --git a/apps/website/lib/services/home/HomeService.ts b/apps/website/lib/services/home/HomeService.ts index 271046184..e6ec30f5b 100644 --- a/apps/website/lib/services/home/HomeService.ts +++ b/apps/website/lib/services/home/HomeService.ts @@ -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'; diff --git a/apps/website/lib/services/landing/LandingService.ts b/apps/website/lib/services/landing/LandingService.ts index ca1515a3b..2e20bad81 100644 --- a/apps/website/lib/services/landing/LandingService.ts +++ b/apps/website/lib/services/landing/LandingService.ts @@ -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> { // eslint-disable-next-line @typescript-eslint/no-unused-vars - const email = _email; return Result.err({ type: 'notImplemented', message: 'Email signup endpoint' }); } } diff --git a/apps/website/lib/services/leaderboards/DriverRankingsService.ts b/apps/website/lib/services/leaderboards/DriverRankingsService.ts index 470f7ba7e..3b1dd7551 100644 --- a/apps/website/lib/services/leaderboards/DriverRankingsService.ts +++ b/apps/website/lib/services/leaderboards/DriverRankingsService.ts @@ -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[]; diff --git a/apps/website/lib/services/leaderboards/LeaderboardsService.ts b/apps/website/lib/services/leaderboards/LeaderboardsService.ts index f59837798..edb09c8b4 100644 --- a/apps/website/lib/services/leaderboards/LeaderboardsService.ts +++ b/apps/website/lib/services/leaderboards/LeaderboardsService.ts @@ -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 { diff --git a/apps/website/lib/services/leaderboards/TeamRankingsService.ts b/apps/website/lib/services/leaderboards/TeamRankingsService.ts index 2d36f23ec..58b779965 100644 --- a/apps/website/lib/services/leaderboards/TeamRankingsService.ts +++ b/apps/website/lib/services/leaderboards/TeamRankingsService.ts @@ -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 { diff --git a/apps/website/lib/services/leagues/LeagueMembershipService.ts b/apps/website/lib/services/leagues/LeagueMembershipService.ts index 55ec77959..a435d50d7 100644 --- a/apps/website/lib/services/leagues/LeagueMembershipService.ts +++ b/apps/website/lib/services/leagues/LeagueMembershipService.ts @@ -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; diff --git a/apps/website/lib/services/leagues/LeagueRulebookService.ts b/apps/website/lib/services/leagues/LeagueRulebookService.ts index 650039327..2899574c4 100644 --- a/apps/website/lib/services/leagues/LeagueRulebookService.ts +++ b/apps/website/lib/services/leagues/LeagueRulebookService.ts @@ -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; diff --git a/apps/website/lib/services/leagues/LeagueScheduleService.ts b/apps/website/lib/services/leagues/LeagueScheduleService.ts index 8632d0da7..f3ac193c3 100644 --- a/apps/website/lib/services/leagues/LeagueScheduleService.ts +++ b/apps/website/lib/services/leagues/LeagueScheduleService.ts @@ -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; diff --git a/apps/website/lib/services/leagues/LeagueService.ts b/apps/website/lib/services/leagues/LeagueService.ts index 4bc2ea07a..95a4de39a 100644 --- a/apps/website/lib/services/leagues/LeagueService.ts +++ b/apps/website/lib/services/leagues/LeagueService.ts @@ -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'; diff --git a/apps/website/lib/services/leagues/LeagueSettingsService.ts b/apps/website/lib/services/leagues/LeagueSettingsService.ts index c2a426326..b61a1d409 100644 --- a/apps/website/lib/services/leagues/LeagueSettingsService.ts +++ b/apps/website/lib/services/leagues/LeagueSettingsService.ts @@ -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 { diff --git a/apps/website/lib/services/leagues/LeagueStandingsService.ts b/apps/website/lib/services/leagues/LeagueStandingsService.ts index 5ca9c35ba..961cae337 100644 --- a/apps/website/lib/services/leagues/LeagueStandingsService.ts +++ b/apps/website/lib/services/leagues/LeagueStandingsService.ts @@ -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; diff --git a/apps/website/lib/services/leagues/LeagueWalletService.ts b/apps/website/lib/services/leagues/LeagueWalletService.ts index 7c27ae5fb..9a7679abc 100644 --- a/apps/website/lib/services/leagues/LeagueWalletService.ts +++ b/apps/website/lib/services/leagues/LeagueWalletService.ts @@ -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 { diff --git a/apps/website/lib/services/leagues/LeagueWizardService.ts b/apps/website/lib/services/leagues/LeagueWizardService.ts index 5d6d64d38..ebc7681c9 100644 --- a/apps/website/lib/services/leagues/LeagueWizardService.ts +++ b/apps/website/lib/services/leagues/LeagueWizardService.ts @@ -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 { + async validateLeagueConfig(): Promise { // Mock implementation or call API if available return { valid: true }; } diff --git a/apps/website/lib/services/leagues/ProfileLeaguesService.ts b/apps/website/lib/services/leagues/ProfileLeaguesService.ts index 0fc11d8b8..2d9a0380a 100644 --- a/apps/website/lib/services/leagues/ProfileLeaguesService.ts +++ b/apps/website/lib/services/leagues/ProfileLeaguesService.ts @@ -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<{ diff --git a/apps/website/lib/services/media/AvatarService.ts b/apps/website/lib/services/media/AvatarService.ts index 6dc645594..d79a387e1 100644 --- a/apps/website/lib/services/media/AvatarService.ts +++ b/apps/website/lib/services/media/AvatarService.ts @@ -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 { diff --git a/apps/website/lib/services/onboarding/OnboardingService.ts b/apps/website/lib/services/onboarding/OnboardingService.ts index cc506698e..5b817f890 100644 --- a/apps/website/lib/services/onboarding/OnboardingService.ts +++ b/apps/website/lib/services/onboarding/OnboardingService.ts @@ -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> { + async generateAvatars(_input: RequestAvatarGenerationInputDTO): Promise> { // Endpoint not implemented yet - return NotImplemented error return Result.err({ type: 'notImplemented', diff --git a/apps/website/lib/services/payments/MembershipFeeService.ts b/apps/website/lib/services/payments/MembershipFeeService.ts index 8c9729842..c5d69f155 100644 --- a/apps/website/lib/services/payments/MembershipFeeService.ts +++ b/apps/website/lib/services/payments/MembershipFeeService.ts @@ -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 { diff --git a/apps/website/lib/services/payments/PaymentService.ts b/apps/website/lib/services/payments/PaymentService.ts index 48a6665fd..9303305e3 100644 --- a/apps/website/lib/services/payments/PaymentService.ts +++ b/apps/website/lib/services/payments/PaymentService.ts @@ -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 { diff --git a/apps/website/lib/services/payments/WalletService.ts b/apps/website/lib/services/payments/WalletService.ts index 981486f04..abc2a9f78 100644 --- a/apps/website/lib/services/payments/WalletService.ts +++ b/apps/website/lib/services/payments/WalletService.ts @@ -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 { diff --git a/apps/website/lib/services/penalties/PenaltyService.ts b/apps/website/lib/services/penalties/PenaltyService.ts index f165a9e18..12bc7ccf8 100644 --- a/apps/website/lib/services/penalties/PenaltyService.ts +++ b/apps/website/lib/services/penalties/PenaltyService.ts @@ -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 diff --git a/apps/website/lib/services/policy/PolicyService.ts b/apps/website/lib/services/policy/PolicyService.ts index ab7c0d400..135735027 100644 --- a/apps/website/lib/services/policy/PolicyService.ts +++ b/apps/website/lib/services/policy/PolicyService.ts @@ -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; diff --git a/apps/website/lib/services/protests/ProtestService.ts b/apps/website/lib/services/protests/ProtestService.ts index fa6651b61..65058bdf8 100644 --- a/apps/website/lib/services/protests/ProtestService.ts +++ b/apps/website/lib/services/protests/ProtestService.ts @@ -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 diff --git a/apps/website/lib/services/races/RaceResultsService.ts b/apps/website/lib/services/races/RaceResultsService.ts index d9502b878..78cc0f204 100644 --- a/apps/website/lib/services/races/RaceResultsService.ts +++ b/apps/website/lib/services/races/RaceResultsService.ts @@ -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 diff --git a/apps/website/lib/services/races/RaceService.ts b/apps/website/lib/services/races/RaceService.ts index eefb8a55a..d05b06757 100644 --- a/apps/website/lib/services/races/RaceService.ts +++ b/apps/website/lib/services/races/RaceService.ts @@ -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 diff --git a/apps/website/lib/services/races/RaceStewardingService.ts b/apps/website/lib/services/races/RaceStewardingService.ts index 9680aa688..a1206633a 100644 --- a/apps/website/lib/services/races/RaceStewardingService.ts +++ b/apps/website/lib/services/races/RaceStewardingService.ts @@ -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 diff --git a/apps/website/lib/services/races/RacesService.ts b/apps/website/lib/services/races/RacesService.ts index 994d27542..31cb20686 100644 --- a/apps/website/lib/services/races/RacesService.ts +++ b/apps/website/lib/services/races/RacesService.ts @@ -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'; /** diff --git a/apps/website/lib/services/sponsors/SponsorService.ts b/apps/website/lib/services/sponsors/SponsorService.ts index e746ed6d8..840db2ad0 100644 --- a/apps/website/lib/services/sponsors/SponsorService.ts +++ b/apps/website/lib/services/sponsors/SponsorService.ts @@ -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 { diff --git a/apps/website/lib/services/sponsors/SponsorshipRequestsReadService.ts b/apps/website/lib/services/sponsors/SponsorshipRequestsReadService.ts index a30c1c22a..a7a6e6fe3 100644 --- a/apps/website/lib/services/sponsors/SponsorshipRequestsReadService.ts +++ b/apps/website/lib/services/sponsors/SponsorshipRequestsReadService.ts @@ -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'; diff --git a/apps/website/lib/services/sponsors/SponsorshipRequestsService.ts b/apps/website/lib/services/sponsors/SponsorshipRequestsService.ts index 34487bc49..819ad844f 100644 --- a/apps/website/lib/services/sponsors/SponsorshipRequestsService.ts +++ b/apps/website/lib/services/sponsors/SponsorshipRequestsService.ts @@ -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 { diff --git a/apps/website/lib/services/sponsors/SponsorshipService.ts b/apps/website/lib/services/sponsors/SponsorshipService.ts index dd37e31ab..0aea40427 100644 --- a/apps/website/lib/services/sponsors/SponsorshipService.ts +++ b/apps/website/lib/services/sponsors/SponsorshipService.ts @@ -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 { + async getSponsorshipPricing(): Promise { 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'); diff --git a/apps/website/lib/services/teams/TeamJoinService.ts b/apps/website/lib/services/teams/TeamJoinService.ts index 6a7964f3a..9a5ba2659 100644 --- a/apps/website/lib/services/teams/TeamJoinService.ts +++ b/apps/website/lib/services/teams/TeamJoinService.ts @@ -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 diff --git a/apps/website/lib/services/teams/TeamService.ts b/apps/website/lib/services/teams/TeamService.ts index 14fcc9b6e..a4f7e830d 100644 --- a/apps/website/lib/services/teams/TeamService.ts +++ b/apps/website/lib/services/teams/TeamService.ts @@ -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