From 9a891ac8b39d4462f0744630ebec2c2d13d9fa41 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Tue, 16 Dec 2025 11:52:26 +0100 Subject: [PATCH] refactor --- .../InMemoryAnalyticsSnapshotRepository.ts | 2 +- .../inmemory/InMemoryEngagementRepository.ts | 2 +- .../inmemory/InMemoryPageViewRepository.ts | 2 +- adapters/automation/config/LoggingConfig.ts | 2 +- adapters/bootstrap/EnsureInitialData.ts | 2 +- .../inmemory/InMemoryAchievementRepository.ts | 2 +- .../inmemory/InMemoryAuthRepository.ts | 12 ++-- .../InMemorySponsorAccountRepository.ts | 2 +- .../inmemory/InMemoryUserRatingRepository.ts | 2 +- .../inmemory/InMemoryUserRepository.ts | 2 +- .../InMemoryPasswordHashingService.ts | 2 +- .../session/CookieIdentitySessionAdapter.ts | 8 +-- .../InMemoryAvatarGenerationRepository.ts | 6 +- .../ports/InMemoryFaceValidationAdapter.ts | 4 +- .../ports/InMemoryImageServiceAdapter.ts | 4 +- ...nMemoryNotificationPreferenceRepository.ts | 6 +- .../InMemoryNotificationRepository.ts | 2 +- .../InMemoryMembershipFeeRepository.ts | 8 +-- .../inmemory/InMemoryPaymentRepository.ts | 6 +- .../inmemory/InMemoryPrizeRepository.ts | 6 +- .../inmemory/InMemoryWalletRepository.ts | 6 +- .../inmemory/InMemoryCarRepository.ts | 6 +- .../inmemory/InMemoryDriverRepository.ts | 6 +- .../inmemory/InMemoryGameRepository.ts | 6 +- .../InMemoryLeagueMembershipRepository.ts | 6 +- .../inmemory/InMemoryLeagueRepository.ts | 6 +- .../InMemoryLeagueScoringConfigRepository.ts | 6 +- .../InMemoryLeagueScoringPresetProvider.ts | 2 +- .../InMemoryLeagueStandingsRepository.ts | 4 +- .../InMemoryLeagueWalletRepository.ts | 2 +- .../inmemory/InMemoryLiveryRepository.ts | 2 +- .../inmemory/InMemoryPenaltyRepository.ts | 2 +- .../inmemory/InMemoryProtestRepository.ts | 6 +- .../inmemory/InMemoryRaceEventRepository.ts | 2 +- .../InMemoryRaceRegistrationRepository.ts | 6 +- .../inmemory/InMemoryRaceRepository.ts | 6 +- .../inmemory/InMemoryResultRepository.ts | 8 +-- .../inmemory/InMemoryScoringRepositories.ts | 32 +++++----- .../inmemory/InMemorySeasonRepository.ts | 6 +- .../InMemorySeasonSponsorshipRepository.ts | 2 +- .../inmemory/InMemorySessionRepository.ts | 2 +- .../inmemory/InMemorySponsorRepository.ts | 6 +- .../InMemorySponsorshipPricingRepository.ts | 2 +- .../InMemorySponsorshipRequestRepository.ts | 6 +- .../inmemory/InMemoryStandingRepository.ts | 12 ++-- .../InMemoryTeamMembershipRepository.ts | 6 +- .../inmemory/InMemoryTeamRepository.ts | 6 +- .../inmemory/InMemoryTrackRepository.ts | 6 +- .../inmemory/InMemoryTransactionRepository.ts | 2 +- .../ports/InMemoryDriverRatingProvider.ts | 4 +- .../services/InMemoryDriverStatsService.ts | 4 +- .../racing/services/InMemoryRankingService.ts | 4 +- adapters/tsconfig.json | 30 ++++----- apps/api/jest.config.js | 18 ------ apps/api/package.json | 7 +- .../infrastructure/logging/LoggingModule.ts | 4 +- .../modules/analytics/AnalyticsProviders.ts | 6 +- .../src/modules/analytics/AnalyticsService.ts | 2 +- .../use-cases/RecordEngagementUseCase.spec.ts | 4 +- .../use-cases/RecordEngagementUseCase.ts | 6 +- .../use-cases/RecordPageViewUseCase.spec.ts | 4 +- .../use-cases/RecordPageViewUseCase.ts | 6 +- apps/api/src/modules/auth/AuthProviders.ts | 10 +-- apps/api/src/modules/auth/AuthService.ts | 26 ++++---- .../api/src/modules/driver/DriverProviders.ts | 20 +++--- .../src/modules/driver/DriverService.spec.ts | 10 +-- apps/api/src/modules/driver/DriverService.ts | 10 +-- .../api/src/modules/league/LeagueProviders.ts | 60 ++++++++--------- .../src/modules/league/LeagueService.spec.ts | 30 ++++----- apps/api/src/modules/league/LeagueService.ts | 38 +++++------ .../AllLeaguesWithCapacityPresenter.ts | 2 +- .../ApproveLeagueJoinRequestPresenter.ts | 2 +- .../GetLeagueAdminPermissionsPresenter.ts | 2 +- .../GetLeagueMembershipsPresenter.ts | 2 +- .../GetLeagueOwnerSummaryPresenter.ts | 2 +- .../presenters/GetLeagueProtestsPresenter.ts | 2 +- .../presenters/GetLeagueSeasonsPresenter.ts | 2 +- .../presenters/LeagueConfigPresenter.ts | 2 +- .../presenters/LeagueJoinRequestsPresenter.ts | 2 +- .../presenters/LeagueSchedulePresenter.ts | 2 +- .../presenters/LeagueStandingsPresenter.ts | 2 +- .../league/presenters/LeagueStatsPresenter.ts | 2 +- .../RejectLeagueJoinRequestPresenter.ts | 2 +- .../presenters/RemoveLeagueMemberPresenter.ts | 2 +- .../presenters/TotalLeaguesPresenter.ts | 2 +- .../UpdateLeagueMemberRolePresenter.ts | 2 +- apps/api/src/modules/media/MediaProviders.ts | 10 +-- apps/api/src/modules/media/MediaService.ts | 4 +- .../RequestAvatarGenerationPresenter.ts | 2 +- .../src/modules/payments/PaymentsProviders.ts | 36 +++++------ .../src/modules/payments/PaymentsService.ts | 26 ++++---- .../presenters/AwardPrizePresenter.ts | 2 +- .../presenters/CreatePaymentPresenter.ts | 2 +- .../presenters/CreatePrizePresenter.ts | 2 +- .../presenters/DeletePrizePresenter.ts | 2 +- .../presenters/GetMembershipFeesPresenter.ts | 2 +- .../presenters/GetPaymentsPresenter.ts | 2 +- .../payments/presenters/GetPrizesPresenter.ts | 2 +- .../payments/presenters/GetWalletPresenter.ts | 2 +- .../ProcessWalletTransactionPresenter.ts | 2 +- .../UpdateMemberPaymentPresenter.ts | 2 +- .../UpdatePaymentStatusPresenter.ts | 2 +- .../UpsertMembershipFeePresenter.ts | 2 +- apps/api/src/modules/race/RaceProviders.ts | 18 +++--- apps/api/src/modules/race/RaceService.ts | 8 +-- .../race/presenters/GetAllRacesPresenter.ts | 2 +- .../race/presenters/GetTotalRacesPresenter.ts | 2 +- .../ImportRaceResultsApiPresenter.ts | 2 +- .../src/modules/sponsor/SponsorProviders.ts | 48 +++++++------- .../api/src/modules/sponsor/SponsorService.ts | 12 ++-- .../presenters/CreateSponsorPresenter.ts | 2 +- .../GetEntitySponsorshipPricingPresenter.ts | 4 +- .../GetSponsorDashboardPresenter.ts | 4 +- .../GetSponsorSponsorshipsPresenter.ts | 4 +- .../presenters/GetSponsorsPresenter.ts | 2 +- .../GetSponsorshipPricingPresenter.ts | 2 +- apps/api/src/modules/team/TeamProviders.ts | 36 +++++------ apps/api/src/modules/team/TeamService.spec.ts | 6 +- apps/api/src/modules/team/TeamService.ts | 20 +++--- .../team/presenters/AllTeamsPresenter.ts | 2 +- .../team/presenters/DriverTeamPresenter.ts | 2 +- .../team/presenters/TeamDetailsPresenter.ts | 2 +- .../presenters/TeamJoinRequestsPresenter.ts | 2 +- .../team/presenters/TeamMembersPresenter.ts | 2 +- apps/api/tsconfig.json | 55 ++-------------- apps/companion/main/di-config.ts | 44 ++++++------- apps/companion/main/di-container.ts | 30 ++++----- .../components/SessionCreationForm.tsx | 2 +- apps/website/app/dashboard/page.tsx | 2 +- apps/website/app/drivers/[id]/page.tsx | 10 +-- apps/website/app/drivers/page.tsx | 2 +- .../website/app/leaderboards/drivers/page.tsx | 2 +- apps/website/app/leaderboards/page.tsx | 4 +- apps/website/app/leagues/[id]/layout.tsx | 2 +- apps/website/app/leagues/[id]/page.tsx | 2 +- .../app/leagues/[id]/rulebook/page.tsx | 4 +- .../app/leagues/[id]/settings/page.tsx | 10 +-- .../app/leagues/[id]/sponsorships/page.tsx | 2 +- .../app/leagues/[id]/standings/page.tsx | 2 +- .../app/leagues/[id]/stewarding/page.tsx | 10 +-- .../stewarding/protests/[protestId]/page.tsx | 10 +-- apps/website/app/leagues/page.tsx | 2 +- apps/website/app/page.tsx | 2 +- apps/website/app/profile/leagues/page.tsx | 4 +- apps/website/app/profile/page.tsx | 4 +- apps/website/app/races/[id]/page.tsx | 2 +- apps/website/app/races/[id]/results/page.tsx | 2 +- .../app/races/[id]/stewarding/page.tsx | 8 +-- apps/website/app/races/all/page.tsx | 2 +- apps/website/app/races/page.tsx | 2 +- apps/website/app/teams/[id]/page.tsx | 2 +- apps/website/app/teams/leaderboard/page.tsx | 2 +- apps/website/app/teams/page.tsx | 2 +- .../alpha/CompanionInstructions.tsx | 2 +- apps/website/components/dev/DevToolbar.tsx | 2 +- .../components/drivers/CreateDriverForm.tsx | 2 +- .../website/components/drivers/DriverCard.tsx | 2 +- .../components/drivers/DriverIdentity.tsx | 2 +- .../components/drivers/DriverProfile.tsx | 6 +- .../components/drivers/ProfileRaceHistory.tsx | 6 +- .../components/drivers/ProfileSettings.tsx | 2 +- .../components/drivers/ProfileStats.tsx | 2 +- apps/website/components/feed/FeedItemCard.tsx | 2 +- apps/website/components/feed/FeedLayout.tsx | 6 +- apps/website/components/feed/FeedList.tsx | 2 +- .../components/leagues/ChampionshipCard.tsx | 2 +- .../components/leagues/CreateLeagueForm.tsx | 2 +- .../components/leagues/CreateLeagueWizard.tsx | 4 +- .../components/leagues/LeagueActivityFeed.tsx | 6 +- .../components/leagues/LeagueAdmin.tsx | 2 +- .../leagues/LeagueBasicsSection.tsx | 2 +- .../website/components/leagues/LeagueCard.tsx | 2 +- .../components/leagues/LeagueDropSection.tsx | 2 +- .../components/leagues/LeagueHeader.tsx | 4 +- .../components/leagues/LeagueMembers.tsx | 4 +- .../leagues/LeagueReviewSummary.tsx | 4 +- .../leagues/LeagueScoringSection.tsx | 4 +- .../components/leagues/LeagueScoringTab.tsx | 2 +- .../leagues/LeagueStewardingSection.tsx | 4 +- .../leagues/LeagueStructureSection.tsx | 4 +- .../leagues/LeagueTimingsSection.tsx | 4 +- .../leagues/LeagueVisibilitySection.tsx | 2 +- .../components/leagues/ReadonlyLeagueInfo.tsx | 4 +- .../components/leagues/StandingsTable.tsx | 4 +- .../notifications/ModalNotification.tsx | 2 +- .../notifications/NotificationCenter.tsx | 2 +- .../notifications/NotificationProvider.tsx | 2 +- .../notifications/ToastNotification.tsx | 2 +- .../components/profile/DriverSummaryPill.tsx | 2 +- .../components/profile/ProfileHeader.tsx | 2 +- apps/website/components/profile/UserPill.tsx | 4 +- .../components/races/FileProtestModal.tsx | 2 +- .../components/races/LatestResultsSidebar.tsx | 2 +- apps/website/components/races/RaceCard.tsx | 2 +- .../components/races/RaceResultCard.tsx | 6 +- .../components/races/UpcomingRacesSidebar.tsx | 2 +- apps/website/components/teams/TeamAdmin.tsx | 2 +- apps/website/components/teams/TeamRoster.tsx | 2 +- .../AllLeaguesWithCapacityPresenter.ts | 2 +- .../lib/presenters/AllRacesPagePresenter.ts | 2 +- .../presenters/DashboardOverviewPresenter.ts | 2 +- .../DriverRegistrationStatusPresenter.ts | 2 +- .../EntitySponsorshipPricingPresenter.ts | 4 +- .../presenters/ImportRaceResultsPresenter.ts | 2 +- .../LeagueDriverSeasonStatsPresenter.ts | 2 +- .../presenters/LeagueFullConfigPresenter.ts | 4 +- .../lib/presenters/LeagueSchedulePresenter.ts | 10 +-- .../LeagueSchedulePreviewPresenter.ts | 4 +- .../LeagueScoringConfigPresenter.ts | 6 +- .../LeagueScoringPresetsPresenter.ts | 2 +- .../lib/presenters/LeagueStatsPresenter.ts | 2 +- .../PendingSponsorshipRequestsPresenter.ts | 4 +- .../presenters/ProfileOverviewPresenter.ts | 2 +- .../lib/presenters/RaceDetailPresenter.ts | 2 +- .../lib/presenters/RacePenaltiesPresenter.ts | 2 +- .../lib/presenters/RaceProtestsPresenter.ts | 2 +- .../presenters/RaceRegistrationsPresenter.ts | 2 +- .../presenters/RaceResultsDetailPresenter.ts | 2 +- .../lib/presenters/RaceWithSOFPresenter.ts | 2 +- .../lib/presenters/RacesPagePresenter.ts | 2 +- .../presenters/SponsorDashboardPresenter.ts | 4 +- .../SponsorSponsorshipsPresenter.ts | 4 +- .../presenters/TeamJoinRequestsPresenter.ts | 2 +- .../lib/presenters/TeamMembersPresenter.ts | 2 +- .../presenters/TeamsLeaderboardPresenter.ts | 2 +- apps/website/next.config.mjs | 7 +- apps/website/package.json | 10 +-- apps/website/tsconfig.json | 20 +----- .../use-cases/GetEntityAnalyticsQuery.ts | 4 +- .../use-cases/RecordEngagementUseCase.ts | 4 +- .../use-cases/RecordPageViewUseCase.ts | 4 +- .../domain/entities/AnalyticsSnapshot.ts | 2 +- .../domain/entities/EngagementEvent.ts | 2 +- core/analytics/domain/entities/PageView.ts | 2 +- .../domain/value-objects/AnalyticsEntityId.ts | 2 +- .../value-objects/AnalyticsSessionId.ts | 2 +- .../domain/value-objects/PageViewId.ts | 2 +- core/analytics/package.json | 14 ---- core/analytics/tsconfig.json | 9 --- .../application/ports/LoggerPort.ts | 2 +- .../services/OverlaySyncService.ts | 2 +- .../use-cases/InitiateLoginUseCase.ts | 2 +- .../StartAutomationSessionUseCase.ts | 2 +- .../domain/entities/AutomationSession.ts | 2 +- .../domain/errors/AutomationDomainError.ts | 2 +- .../domain/services/PageStateValidator.ts | 2 +- .../services/StepTransitionValidator.ts | 2 +- .../BrowserAuthenticationState.ts | 2 +- .../domain/value-objects/CheckoutPrice.ts | 2 +- .../domain/value-objects/SessionLifetime.ts | 2 +- .../domain/value-objects/SessionState.ts | 2 +- .../automation/domain/value-objects/StepId.ts | 2 +- .../adapters/IAutomationLifecycleEmitter.ts | 2 +- .../automation/auth/AuthenticationGuard.ts | 2 +- .../auth/IRacingPlaywrightAuthFlow.ts | 2 +- .../core/PlaywrightAutomationAdapter.ts | 2 +- .../core/PlaywrightBrowserSession.ts | 2 +- .../automation/dom/SafeClickService.ts | 2 +- .../adapters/logging/NoOpLogAdapter.ts | 2 +- .../adapters/logging/PinoLogAdapter.ts | 8 +-- core/automation/package.json | 15 ----- core/automation/tsconfig.json | 10 --- core/identity/domain/entities/Achievement.ts | 2 +- .../domain/entities/UserAchievement.ts | 2 +- .../domain/services/RatingUpdateService.ts | 2 +- .../domain/value-objects/EmailAddress.ts | 2 +- .../domain/value-objects/PasswordHash.ts | 2 +- core/identity/domain/value-objects/UserId.ts | 2 +- .../domain/value-objects/UserRating.ts | 2 +- core/identity/package.json | 15 ----- core/identity/tsconfig.json | 9 --- .../RequestAvatarGenerationUseCase.ts | 2 +- .../use-cases/SelectAvatarUseCase.ts | 2 +- .../entities/AvatarGenerationRequest.ts | 2 +- core/media/domain/value-objects/MediaUrl.ts | 2 +- core/media/package.json | 11 ---- core/media/tsconfig.json | 10 --- .../GetUnreadNotificationsUseCase.ts | 2 +- .../use-cases/MarkNotificationReadUseCase.ts | 2 +- .../NotificationPreferencesUseCases.ts | 4 +- .../use-cases/SendNotificationUseCase.ts | 2 +- .../domain/entities/Notification.ts | 2 +- .../domain/entities/NotificationPreference.ts | 2 +- .../domain/errors/NotificationDomainError.ts | 2 +- .../domain/value-objects/NotificationId.ts | 2 +- .../domain/value-objects/QuietHours.ts | 2 +- core/notifications/package.json | 18 ------ .../presenters/IAwardPrizePresenter.ts | 2 +- .../presenters/ICreatePaymentPresenter.ts | 2 +- .../presenters/ICreatePrizePresenter.ts | 2 +- .../presenters/IDeletePrizePresenter.ts | 2 +- .../presenters/IGetMembershipFeesPresenter.ts | 2 +- .../presenters/IGetPaymentsPresenter.ts | 2 +- .../presenters/IGetPrizesPresenter.ts | 2 +- .../presenters/IGetWalletPresenter.ts | 2 +- .../IProcessWalletTransactionPresenter.ts | 2 +- .../IUpdateMemberPaymentPresenter.ts | 2 +- .../IUpdatePaymentStatusPresenter.ts | 2 +- .../IUpsertMembershipFeePresenter.ts | 2 +- .../use-cases/AwardPrizeUseCase.ts | 2 +- .../use-cases/CreatePaymentUseCase.ts | 2 +- .../use-cases/CreatePrizeUseCase.ts | 2 +- .../use-cases/DeletePrizeUseCase.ts | 2 +- .../use-cases/GetMembershipFeesUseCase.ts | 2 +- .../use-cases/GetPaymentsUseCase.ts | 2 +- .../application/use-cases/GetPrizesUseCase.ts | 2 +- .../application/use-cases/GetWalletUseCase.ts | 2 +- .../ProcessWalletTransactionUseCase.ts | 2 +- .../use-cases/UpdateMemberPaymentUseCase.ts | 2 +- .../use-cases/UpdatePaymentStatusUseCase.ts | 2 +- .../use-cases/UpsertMembershipFeeUseCase.ts | 2 +- .../dto/ChampionshipStandingsDTO.ts | 2 +- .../errors/RacingApplicationError.ts | 2 +- ...lLeaguesWithCapacityAndScoringPresenter.ts | 2 +- .../IAllLeaguesWithCapacityPresenter.ts | 2 +- .../presenters/IAllRacesPagePresenter.ts | 2 +- .../presenters/IAllTeamsPresenter.ts | 2 +- .../IApproveLeagueJoinRequestPresenter.ts | 2 +- .../presenters/ICreateSponsorPresenter.ts | 2 +- .../presenters/IDashboardOverviewPresenter.ts | 2 +- .../presenters/IDriverTeamPresenter.ts | 2 +- .../IDriversLeaderboardPresenter.ts | 2 +- .../IEntitySponsorshipPricingPresenter.ts | 2 +- .../presenters/IGetAllRacesPresenter.ts | 2 +- .../IGetLeagueAdminPermissionsPresenter.ts | 2 +- .../presenters/IGetLeagueAdminPresenter.ts | 2 +- .../IGetLeagueJoinRequestsPresenter.ts | 2 +- .../IGetLeagueMembershipsPresenter.ts | 2 +- .../IGetLeagueOwnerSummaryPresenter.ts | 2 +- .../presenters/IGetLeagueProtestsPresenter.ts | 2 +- .../presenters/IGetLeagueSchedulePresenter.ts | 2 +- .../presenters/IGetLeagueSeasonsPresenter.ts | 2 +- .../presenters/IGetSponsorsPresenter.ts | 2 +- .../IGetSponsorshipPricingPresenter.ts | 2 +- .../presenters/IGetTotalLeaguesPresenter.ts | 2 +- .../presenters/IGetTotalRacesPresenter.ts | 2 +- .../IImportRaceResultsApiPresenter.ts | 2 +- .../ILeagueDriverSeasonStatsPresenter.ts | 2 +- .../presenters/ILeagueFullConfigPresenter.ts | 2 +- .../ILeagueScoringConfigPresenter.ts | 2 +- .../ILeagueScoringPresetsPresenter.ts | 2 +- .../presenters/ILeagueStandingsPresenter.ts | 2 +- .../presenters/ILeagueStatsPresenter.ts | 2 +- .../IPendingSponsorshipRequestsPresenter.ts | 2 +- .../presenters/IRaceDetailPresenter.ts | 2 +- .../presenters/IRacePenaltiesPresenter.ts | 2 +- .../presenters/IRaceProtestsPresenter.ts | 2 +- .../presenters/IRaceRegistrationsPresenter.ts | 2 +- .../presenters/IRaceResultsDetailPresenter.ts | 2 +- .../presenters/IRaceWithSOFPresenter.ts | 2 +- .../presenters/IRacesPagePresenter.ts | 2 +- .../IRejectLeagueJoinRequestPresenter.ts | 2 +- .../IRemoveLeagueMemberPresenter.ts | 2 +- .../presenters/ISponsorDashboardPresenter.ts | 2 +- .../ISponsorSponsorshipsPresenter.ts | 2 +- .../presenters/ITeamDetailsPresenter.ts | 2 +- .../presenters/ITeamJoinRequestsPresenter.ts | 2 +- .../presenters/ITeamMembersPresenter.ts | 2 +- .../presenters/ITeamsLeaderboardPresenter.ts | 2 +- .../IUpdateLeagueMemberRolePresenter.ts | 2 +- .../AcceptSponsorshipRequestUseCase.ts | 2 +- .../use-cases/ApplyForSponsorshipUseCase.ts | 2 +- .../use-cases/ApplyPenaltyUseCase.ts | 2 +- .../ApproveLeagueJoinRequestUseCase.ts | 2 +- .../ApproveTeamJoinRequestUseCase.ts | 2 +- .../use-cases/CancelRaceUseCase.ts | 2 +- .../CloseRaceEventStewardingUseCase.ts | 4 +- .../CompleteDriverOnboardingUseCase.ts | 2 +- .../use-cases/CompleteRaceUseCase.ts | 2 +- .../CompleteRaceUseCaseWithRatings.ts | 4 +- ...CreateLeagueWithSeasonAndScoringUseCase.ts | 2 +- .../use-cases/CreateSponsorUseCase.ts | 2 +- ...AllLeaguesWithCapacityAndScoringUseCase.ts | 2 +- .../GetAllLeaguesWithCapacityUseCase.ts | 2 +- .../use-cases/GetAllRacesUseCase.ts | 2 +- .../use-cases/GetAllTeamsUseCase.ts | 2 +- .../use-cases/GetDashboardOverviewUseCase.ts | 4 +- .../use-cases/GetDriverTeamUseCase.ts | 2 +- .../use-cases/GetDriversLeaderboardUseCase.ts | 2 +- .../GetEntitySponsorshipPricingUseCase.ts | 2 +- .../GetLeagueAdminPermissionsUseCase.ts | 2 +- .../use-cases/GetLeagueAdminUseCase.ts | 37 +++++++++++ .../GetLeagueDriverSeasonStatsUseCase.ts | 2 +- .../use-cases/GetLeagueFullConfigUseCase.ts | 2 +- .../use-cases/GetLeagueJoinRequestsUseCase.ts | 2 +- .../use-cases/GetLeagueMembershipsUseCase.ts | 2 +- .../use-cases/GetLeagueOwnerSummaryUseCase.ts | 2 +- .../use-cases/GetLeagueProtestsUseCase.ts | 2 +- .../use-cases/GetLeagueScheduleUseCase.ts | 2 +- .../GetLeagueScoringConfigUseCase.ts | 2 +- .../use-cases/GetLeagueSeasonsUseCase.ts | 2 +- .../use-cases/GetLeagueStandingsUseCase.ts | 2 +- .../use-cases/GetLeagueStatsUseCase.ts | 2 +- .../GetPendingSponsorshipRequestsUseCase.ts | 2 +- .../use-cases/GetProfileOverviewUseCase.ts | 2 +- .../use-cases/GetRaceDetailUseCase.ts | 2 +- .../use-cases/GetRacePenaltiesUseCase.ts | 2 +- .../use-cases/GetRaceProtestsUseCase.ts | 2 +- .../use-cases/GetRaceRegistrationsUseCase.ts | 4 +- .../use-cases/GetRaceResultsDetailUseCase.ts | 2 +- .../use-cases/GetRaceWithSOFUseCase.ts | 2 +- .../use-cases/GetRacesPageDataUseCase.ts | 4 +- .../use-cases/GetSponsorDashboardUseCase.ts | 2 +- .../GetSponsorSponsorshipsUseCase.ts | 2 +- .../use-cases/GetSponsorsUseCase.ts | 2 +- .../use-cases/GetSponsorshipPricingUseCase.ts | 2 +- .../use-cases/GetTeamDetailsUseCase.ts | 2 +- .../use-cases/GetTeamJoinRequestsUseCase.ts | 2 +- .../use-cases/GetTeamMembersUseCase.ts | 2 +- .../use-cases/GetTeamsLeaderboardUseCase.ts | 12 ++-- .../use-cases/GetTotalDriversUseCase.ts | 2 +- .../use-cases/GetTotalLeaguesUseCase.ts | 2 +- .../use-cases/GetTotalRacesUseCase.ts | 2 +- .../use-cases/ImportRaceResultsApiUseCase.ts | 2 +- .../use-cases/ImportRaceResultsUseCase.ts | 2 +- .../IsDriverRegisteredForRaceUseCase.ts | 2 +- .../use-cases/JoinLeagueUseCase.ts | 6 +- .../application/use-cases/JoinTeamUseCase.ts | 2 +- .../ListLeagueScoringPresetsUseCase.ts | 2 +- .../use-cases/QuickPenaltyUseCase.ts | 2 +- ...RecalculateChampionshipStandingsUseCase.ts | 22 +++---- .../use-cases/RegisterForRaceUseCase.ts | 10 +-- .../RejectLeagueJoinRequestUseCase.ts | 2 +- .../use-cases/RemoveLeagueMemberUseCase.ts | 2 +- .../use-cases/SendFinalResultsUseCase.ts | 2 +- .../SendPerformanceSummaryUseCase.ts | 2 +- .../TransferLeagueOwnershipUseCase.ts | 6 +- .../UpdateLeagueMemberRoleUseCase.ts | 2 +- .../use-cases/WithdrawFromRaceUseCase.ts | 2 +- core/racing/domain/entities/Car.ts | 2 +- core/racing/domain/entities/Driver.ts | 2 +- core/racing/domain/entities/DriverLivery.ts | 2 +- core/racing/domain/entities/Game.ts | 2 +- core/racing/domain/entities/League.ts | 2 +- .../domain/entities/LeagueMembership.ts | 2 +- core/racing/domain/entities/LeagueWallet.ts | 2 +- core/racing/domain/entities/LiveryTemplate.ts | 2 +- core/racing/domain/entities/Penalty.ts | 2 +- core/racing/domain/entities/Prize.ts | 2 +- core/racing/domain/entities/Protest.ts | 2 +- core/racing/domain/entities/Race.ts | 2 +- core/racing/domain/entities/RaceEvent.ts | 2 +- .../domain/entities/RaceRegistration.ts | 2 +- core/racing/domain/entities/Result.ts | 2 +- .../domain/entities/ResultWithIncidents.ts | 2 +- core/racing/domain/entities/Season.ts | 2 +- .../domain/entities/SeasonSponsorship.ts | 2 +- core/racing/domain/entities/Session.ts | 2 +- core/racing/domain/entities/Sponsor.ts | 2 +- .../domain/entities/SponsorshipRequest.ts | 2 +- core/racing/domain/entities/Standing.ts | 2 +- core/racing/domain/entities/Team.ts | 2 +- core/racing/domain/entities/Track.ts | 2 +- core/racing/domain/entities/Transaction.ts | 2 +- .../racing/domain/errors/RacingDomainError.ts | 2 +- .../racing/domain/events/MainRaceCompleted.ts | 2 +- .../events/RaceEventStewardingClosed.ts | 2 +- .../domain/services/DropScoreApplier.ts | 2 +- .../domain/services/EventScoringService.ts | 2 +- .../domain/services/IDriverStatsService.ts | 2 +- .../racing/domain/services/IRankingService.ts | 2 +- .../services/SeasonScheduleGenerator.ts | 2 +- .../domain/services/SkillLevelService.ts | 2 +- .../services/StrengthOfFieldCalculator.ts | 2 +- .../domain/value-objects/GameConstraints.ts | 2 +- .../domain/value-objects/LeagueDescription.ts | 2 +- .../racing/domain/value-objects/LeagueName.ts | 2 +- .../domain/value-objects/LeagueTimezone.ts | 2 +- .../domain/value-objects/LeagueVisibility.ts | 2 +- .../domain/value-objects/LiveryDecal.ts | 2 +- .../domain/value-objects/MembershipFee.ts | 2 +- core/racing/domain/value-objects/Money.ts | 2 +- .../value-objects/MonthlyRecurrencePattern.ts | 2 +- .../domain/value-objects/PointsTable.ts | 2 +- .../domain/value-objects/RaceIncidents.ts | 2 +- .../domain/value-objects/RaceTimeOfDay.ts | 2 +- .../domain/value-objects/ScheduledRaceSlot.ts | 2 +- .../domain/value-objects/SeasonDropPolicy.ts | 2 +- .../domain/value-objects/SeasonSchedule.ts | 2 +- .../value-objects/SeasonScoringConfig.ts | 2 +- .../value-objects/SeasonStewardingConfig.ts | 2 +- .../domain/value-objects/SessionType.ts | 2 +- .../value-objects/SponsorshipPricing.ts | 2 +- .../racing/domain/value-objects/WeekdaySet.ts | 2 +- core/racing/package.json | 20 ------ core/racing/tsconfig.json | 10 --- core/shared/package.json | 23 ------- .../use-cases/GetCurrentUserSocialUseCase.ts | 2 +- .../use-cases/GetUserFeedUseCase.ts | 2 +- .../social/domain/errors/SocialDomainError.ts | 2 +- .../repositories/ISocialGraphRepository.ts | 2 +- .../inmemory/InMemorySocialAndFeed.ts | 10 +-- core/social/package.json | 10 --- core/social/tsconfig.json | 11 ---- core/tsconfig.json | 20 ++++++ package.json | 23 ++++--- plans/auth-clean-arch.md | 4 +- .../racing/ChampionshipConfigFactory.ts | 8 +-- testing/factories/racing/DriverRefFactory.ts | 4 +- .../factories/racing/PointsTableFactory.ts | 2 +- testing/factories/racing/SeasonFactory.ts | 4 +- .../IracingDemoIdentityProviderAdapter.ts | 2 +- .../media/DemoAvatarGenerationAdapter.ts | 2 +- .../fakes/media/DemoFaceValidationAdapter.ts | 2 +- .../fakes/media/DemoImageServiceAdapter.ts | 2 +- testing/fakes/racing/DemoCars.ts | 2 +- testing/fakes/racing/DemoTracks.ts | 2 +- testing/fixtures/racing/RacingFeedSeed.ts | 12 ++-- testing/fixtures/racing/RacingSeedCore.ts | 12 ++-- .../fixtures/racing/RacingSponsorshipSeed.ts | 12 ++-- testing/fixtures/racing/RacingStaticSeed.ts | 14 ++-- .../CheckAuthenticationUseCase.spec.ts | 10 +-- .../CompleteDriverOnboardingUseCase.spec.ts | 6 +- .../CompleteRaceCreationUseCase.spec.ts | 12 ++-- .../ConfirmCheckoutUseCase.enhanced.spec.ts | 14 ++-- .../ConfirmCheckoutUseCase.spec.ts | 16 ++--- .../GetTotalDriversUseCase.spec.ts | 6 +- .../ICheckoutConfirmationPort.spec.ts | 8 +-- tests/application/OverlaySyncService.spec.ts | 8 +-- .../OverlaySyncService.timeout.spec.ts | 6 +- ...culateChampionshipStandingsUseCase.spec.ts | 42 ++++++------ .../StartAutomationSession.spec.ts | 10 +-- .../VerifyAuthenticatedPageUseCase.spec.ts | 10 +-- .../race-event-performance-summary.test.ts | 20 +++--- tests/domain/AutomationSession.spec.ts | 6 +- .../domain/BrowserAuthenticationState.spec.ts | 4 +- tests/domain/CheckoutConfirmation.spec.ts | 2 +- tests/domain/CheckoutPrice.spec.ts | 2 +- tests/domain/CheckoutState.spec.ts | 2 +- tests/domain/CookieConfiguration.spec.ts | 2 +- tests/domain/DropScoreApplier.spec.ts | 6 +- tests/domain/PageStateValidator.spec.ts | 2 +- tests/domain/RaceCreationResult.spec.ts | 2 +- tests/domain/ScheduleCalculator.spec.ts | 4 +- tests/domain/SessionLifetime.spec.ts | 2 +- tests/domain/SessionState.spec.ts | 2 +- tests/domain/StepId.spec.ts | 2 +- tests/domain/StepTransitionValidator.spec.ts | 6 +- tests/e2e/automation.e2e.test.ts | 2 +- .../companion-ui-full-workflow.e2e.test.ts | 4 +- .../hosted-real/cars-flow.real.e2e.test.ts | 2 +- .../login-and-wizard-smoke.e2e.test.ts | 2 +- .../step-03-race-information.real.e2e.test.ts | 2 +- .../steps/step-17-team-driving.e2e.test.ts | 2 +- tests/e2e/support/AutoNavGuard.ts | 2 +- tests/e2e/support/StepHarness.ts | 2 +- .../hosted-validator-guards.e2e.test.ts | 2 +- ...osted-session.autonav.workflow.e2e.test.ts | 2 +- .../full-hosted-session.workflow.e2e.test.ts | 2 +- .../steps-07-09-cars-flow.e2e.test.ts | 2 +- tests/identity/EmailValidation.spec.ts | 2 +- .../AuthenticationGuard.spec.ts | 2 +- .../infrastructure/BrowserModeConfig.spec.ts | 2 +- .../DemoImageServiceAdapter.spec.ts | 2 +- ...lectronCheckoutConfirmationAdapter.spec.ts | 6 +- ...nService.initiateLogin.browserMode.spec.ts | 14 ++-- ...onService.verifyPageAuthentication.spec.ts | 16 ++--- .../infrastructure/SessionCookieStore.spec.ts | 2 +- .../BrowserModeIntegration.test.ts | 4 +- .../CheckoutPriceExtractor.test.ts | 2 +- .../InMemorySessionRepository.test.ts | 4 +- .../MockBrowserAutomationAdapter.test.ts | 2 +- .../ValidatorConformance.integration.test.ts | 8 +-- ...n.browser-mode-refresh.integration.test.ts | 4 +- ....browser-not-connected.integration.test.ts | 4 +- ...ion.connection-failure.integration.test.ts | 2 +- ...start-automation.happy.integration.test.ts | 4 +- .../ApproveLeagueJoinRequestUseCase.spec.ts | 6 +- .../DashboardOverviewUseCase.spec.ts | 18 +++--- .../GetLeagueJoinRequestsUseCase.spec.ts | 8 +-- .../MembershipUseCases.spec.ts | 6 +- .../RaceDetailUseCases.spec.ts | 32 +++++----- .../RaceResultsUseCases.spec.ts | 20 +++--- .../RegistrationAndTeamUseCases.spec.ts | 64 +++++++++---------- .../RejectLeagueJoinRequestUseCase.spec.ts | 6 +- .../RemoveLeagueMemberUseCase.spec.ts | 6 +- .../racing-application/SeasonUseCases.spec.ts | 12 ++-- .../UpdateLeagueMemberRoleUseCase.spec.ts | 6 +- tests/racing/EventScoringService.spec.ts | 18 +++--- tests/racing/Season.spec.ts | 10 +-- tests/smoke/browser-mode-toggle.smoke.test.ts | 2 +- tests/smoke/di-container.test.ts | 2 +- tests/smoke/electron-init.smoke.test.ts | 16 ++--- tests/smoke/playwright-init.smoke.test.ts | 2 +- tsconfig.base.json | 41 +++--------- vitest.config.ts | 16 +---- 586 files changed, 1320 insertions(+), 1563 deletions(-) delete mode 100644 apps/api/jest.config.js delete mode 100644 core/analytics/package.json delete mode 100644 core/analytics/tsconfig.json delete mode 100644 core/automation/package.json delete mode 100644 core/automation/tsconfig.json delete mode 100644 core/identity/package.json delete mode 100644 core/identity/tsconfig.json delete mode 100644 core/media/package.json delete mode 100644 core/media/tsconfig.json delete mode 100644 core/notifications/package.json create mode 100644 core/racing/application/use-cases/GetLeagueAdminUseCase.ts delete mode 100644 core/racing/package.json delete mode 100644 core/racing/tsconfig.json delete mode 100644 core/shared/package.json delete mode 100644 core/social/package.json delete mode 100644 core/social/tsconfig.json create mode 100644 core/tsconfig.json diff --git a/adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository.ts b/adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository.ts index 0ef2f8179..ed6a1d51b 100644 --- a/adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository.ts +++ b/adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository.ts @@ -6,7 +6,7 @@ import type { IAnalyticsSnapshotRepository } from '../../domain/repositories/IAnalyticsSnapshotRepository'; import { AnalyticsSnapshot, type SnapshotPeriod, type SnapshotEntityType } from '../../domain/entities/AnalyticsSnapshot'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemoryAnalyticsSnapshotRepository implements IAnalyticsSnapshotRepository { private snapshots: Map = new Map(); diff --git a/adapters/analytics/persistence/inmemory/InMemoryEngagementRepository.ts b/adapters/analytics/persistence/inmemory/InMemoryEngagementRepository.ts index 0721bc8bd..f4f5ac5aa 100644 --- a/adapters/analytics/persistence/inmemory/InMemoryEngagementRepository.ts +++ b/adapters/analytics/persistence/inmemory/InMemoryEngagementRepository.ts @@ -6,7 +6,7 @@ import type { IEngagementRepository } from '../../domain/repositories/IEngagementRepository'; import { EngagementEvent, type EngagementAction, type EngagementEntityType } from '../../domain/entities/EngagementEvent'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemoryEngagementRepository implements IEngagementRepository { diff --git a/adapters/analytics/persistence/inmemory/InMemoryPageViewRepository.ts b/adapters/analytics/persistence/inmemory/InMemoryPageViewRepository.ts index 25b357d6f..ceb8ac412 100644 --- a/adapters/analytics/persistence/inmemory/InMemoryPageViewRepository.ts +++ b/adapters/analytics/persistence/inmemory/InMemoryPageViewRepository.ts @@ -6,7 +6,7 @@ import type { IPageViewRepository } from '../../domain/repositories/IPageViewRepository'; import { PageView, type EntityType } from '../../domain/entities/PageView'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemoryPageViewRepository implements IPageViewRepository { private pageViews: Map = new Map(); diff --git a/adapters/automation/config/LoggingConfig.ts b/adapters/automation/config/LoggingConfig.ts index 6422ce72a..84d376805 100644 --- a/adapters/automation/config/LoggingConfig.ts +++ b/adapters/automation/config/LoggingConfig.ts @@ -1,4 +1,4 @@ -import type { LogLevel } from '@gridpilot/automation/application/ports/LoggerLogLevel'; +import type { LogLevel } from '@core/automation/application/ports/LoggerLogLevel'; export type LogEnvironment = 'development' | 'production' | 'test'; diff --git a/adapters/bootstrap/EnsureInitialData.ts b/adapters/bootstrap/EnsureInitialData.ts index 4e3a01918..8743c5b98 100644 --- a/adapters/bootstrap/EnsureInitialData.ts +++ b/adapters/bootstrap/EnsureInitialData.ts @@ -1,4 +1,4 @@ -import { SignupWithEmailUseCase } from '../../core/identity/application/use-cases/SignupWithEmailUseCase'; +import { SignupWithEmailUseCase } from '@core/identity/application/use-cases/SignupWithEmailUseCase'; /** * EnsureInitialData - Bootstrap script to ensure initial data exists. diff --git a/adapters/identity/persistence/inmemory/InMemoryAchievementRepository.ts b/adapters/identity/persistence/inmemory/InMemoryAchievementRepository.ts index 82db32d77..5e5bd1283 100644 --- a/adapters/identity/persistence/inmemory/InMemoryAchievementRepository.ts +++ b/adapters/identity/persistence/inmemory/InMemoryAchievementRepository.ts @@ -4,7 +4,7 @@ * In-memory implementation of IAchievementRepository */ -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; import { Achievement, AchievementCategory, diff --git a/adapters/identity/persistence/inmemory/InMemoryAuthRepository.ts b/adapters/identity/persistence/inmemory/InMemoryAuthRepository.ts index 3521c981d..5de38c348 100644 --- a/adapters/identity/persistence/inmemory/InMemoryAuthRepository.ts +++ b/adapters/identity/persistence/inmemory/InMemoryAuthRepository.ts @@ -1,11 +1,11 @@ -import { IAuthRepository } from '@gridpilot/core/identity/domain/repositories/IAuthRepository'; -import { IUserRepository, StoredUser } from '@gridpilot/core/identity/domain/repositories/IUserRepository'; -import { IPasswordHashingService } from '@gridpilot/core/identity/domain/services/PasswordHashingService'; -import { User } from '@gridpilot/core/identity/domain/entities/User'; +import { IAuthRepository } from '@core/identity/domain/repositories/IAuthRepository'; +import { IUserRepository, StoredUser } from '@core/identity/domain/repositories/IUserRepository'; +import { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService'; +import { User } from '@core/identity/domain/entities/User'; -import { EmailAddress } from '@gridpilot/core/identity/domain/value-objects/EmailAddress'; +import { EmailAddress } from '@core/identity/domain/value-objects/EmailAddress'; import { randomUUID } from 'crypto'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemoryAuthRepository implements IAuthRepository { constructor( diff --git a/adapters/identity/persistence/inmemory/InMemorySponsorAccountRepository.ts b/adapters/identity/persistence/inmemory/InMemorySponsorAccountRepository.ts index c8ae88595..70a49fd6c 100644 --- a/adapters/identity/persistence/inmemory/InMemorySponsorAccountRepository.ts +++ b/adapters/identity/persistence/inmemory/InMemorySponsorAccountRepository.ts @@ -7,7 +7,7 @@ import type { ISponsorAccountRepository } from '../../domain/repositories/ISponsorAccountRepository'; import type { SponsorAccount } from '../../domain/entities/SponsorAccount'; import type { UserId } from '../../domain/value-objects/UserId'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemorySponsorAccountRepository implements ISponsorAccountRepository { private accounts: Map = new Map(); diff --git a/adapters/identity/persistence/inmemory/InMemoryUserRatingRepository.ts b/adapters/identity/persistence/inmemory/InMemoryUserRatingRepository.ts index 025a8f9f3..fdd739eba 100644 --- a/adapters/identity/persistence/inmemory/InMemoryUserRatingRepository.ts +++ b/adapters/identity/persistence/inmemory/InMemoryUserRatingRepository.ts @@ -6,7 +6,7 @@ import { UserRating } from '../../domain/value-objects/UserRating'; import type { IUserRatingRepository } from '../../domain/repositories/IUserRatingRepository'; -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; export class InMemoryUserRatingRepository implements IUserRatingRepository { private ratings: Map = new Map(); diff --git a/adapters/identity/persistence/inmemory/InMemoryUserRepository.ts b/adapters/identity/persistence/inmemory/InMemoryUserRepository.ts index ce9227c13..8e755b039 100644 --- a/adapters/identity/persistence/inmemory/InMemoryUserRepository.ts +++ b/adapters/identity/persistence/inmemory/InMemoryUserRepository.ts @@ -4,7 +4,7 @@ * Stores users in memory for demo/development purposes. */ -import { Logger } from '@gridpilot/core/shared/application'; +import { Logger } from '@core/shared/application'; import type { IUserRepository, StoredUser } from '../../domain/repositories/IUserRepository'; export class InMemoryUserRepository implements IUserRepository { diff --git a/adapters/identity/services/InMemoryPasswordHashingService.ts b/adapters/identity/services/InMemoryPasswordHashingService.ts index 36aa4e0e8..c1a791d8d 100644 --- a/adapters/identity/services/InMemoryPasswordHashingService.ts +++ b/adapters/identity/services/InMemoryPasswordHashingService.ts @@ -5,7 +5,7 @@ * NOT FOR PRODUCTION USE - uses a simple string reversal as "hashing". */ -import type { IPasswordHashingService } from '@gridpilot/core/identity/domain/services/PasswordHashingService'; +import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService'; export class InMemoryPasswordHashingService implements IPasswordHashingService { async hash(plain: string): Promise { diff --git a/adapters/identity/session/CookieIdentitySessionAdapter.ts b/adapters/identity/session/CookieIdentitySessionAdapter.ts index 5993f35ef..085c006ae 100644 --- a/adapters/identity/session/CookieIdentitySessionAdapter.ts +++ b/adapters/identity/session/CookieIdentitySessionAdapter.ts @@ -4,10 +4,10 @@ * Manages user session using cookies. This is a placeholder implementation. */ -import type { AuthenticatedUserDTO } from '@gridpilot/core/identity/application/dto/AuthenticatedUserDTO'; -import type { AuthSessionDTO } from '@gridpilot/core/identity/application/dto/AuthSessionDTO'; -import type { IdentitySessionPort } from '@gridpilot/core/identity/application/ports/IdentitySessionPort'; -import { Logger } from '@gridpilot/core/shared/application'; +import type { AuthenticatedUserDTO } from '@core/identity/application/dto/AuthenticatedUserDTO'; +import type { AuthSessionDTO } from '@core/identity/application/dto/AuthSessionDTO'; +import type { IdentitySessionPort } from '@core/identity/application/ports/IdentitySessionPort'; +import { Logger } from '@core/shared/application'; export class CookieIdentitySessionAdapter implements IdentitySessionPort { private currentSession: AuthSessionDTO | null = null; diff --git a/adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository.ts b/adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository.ts index dd0bbc432..cad808451 100644 --- a/adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository.ts +++ b/adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository.ts @@ -1,6 +1,6 @@ -import { IAvatarGenerationRepository } from '@gridpilot/core/media/domain/repositories/IAvatarGenerationRepository'; -import { AvatarGenerationRequest } from '@gridpilot/core/media/domain/entities/AvatarGenerationRequest'; -import { Logger } from '@gridpilot/core/shared/application'; +import { IAvatarGenerationRepository } from '@core/media/domain/repositories/IAvatarGenerationRepository'; +import { AvatarGenerationRequest } from '@core/media/domain/entities/AvatarGenerationRequest'; +import { Logger } from '@core/shared/application'; export class InMemoryAvatarGenerationRepository implements IAvatarGenerationRepository { private requests: Map = new Map(); // Key: requestId diff --git a/adapters/media/ports/InMemoryFaceValidationAdapter.ts b/adapters/media/ports/InMemoryFaceValidationAdapter.ts index ef03f29bf..582bf799a 100644 --- a/adapters/media/ports/InMemoryFaceValidationAdapter.ts +++ b/adapters/media/ports/InMemoryFaceValidationAdapter.ts @@ -1,5 +1,5 @@ -import type { FaceValidationPort, FaceValidationResult } from '@gridpilot/core/media/application/ports/FaceValidationPort'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { FaceValidationPort, FaceValidationResult } from '@core/media/application/ports/FaceValidationPort'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryFaceValidationAdapter implements FaceValidationPort { constructor(private readonly logger: Logger) { diff --git a/adapters/media/ports/InMemoryImageServiceAdapter.ts b/adapters/media/ports/InMemoryImageServiceAdapter.ts index e59c60d8f..e48537c8d 100644 --- a/adapters/media/ports/InMemoryImageServiceAdapter.ts +++ b/adapters/media/ports/InMemoryImageServiceAdapter.ts @@ -1,5 +1,5 @@ -import type { IImageServicePort } from '@gridpilot/racing/application/ports/IImageServicePort'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { IImageServicePort } from '@core/racing/application/ports/IImageServicePort'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryImageServiceAdapter implements IImageServicePort { constructor(private readonly logger: Logger) { diff --git a/adapters/notifications/persistence/inmemory/InMemoryNotificationPreferenceRepository.ts b/adapters/notifications/persistence/inmemory/InMemoryNotificationPreferenceRepository.ts index 85cb34f80..f3c195f67 100644 --- a/adapters/notifications/persistence/inmemory/InMemoryNotificationPreferenceRepository.ts +++ b/adapters/notifications/persistence/inmemory/InMemoryNotificationPreferenceRepository.ts @@ -1,6 +1,6 @@ -import { INotificationPreferenceRepository } from '@gridpilot/core/notifications/domain/repositories/INotificationPreferenceRepository'; -import { NotificationPreference } from '@gridpilot/core/notifications/domain/entities/NotificationPreference'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/INotificationPreferenceRepository'; +import { NotificationPreference } from '@core/notifications/domain/entities/NotificationPreference'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryNotificationPreferenceRepository implements INotificationPreferenceRepository { private preferences: Map = new Map(); diff --git a/adapters/notifications/persistence/inmemory/InMemoryNotificationRepository.ts b/adapters/notifications/persistence/inmemory/InMemoryNotificationRepository.ts index 243418b37..c98409a50 100644 --- a/adapters/notifications/persistence/inmemory/InMemoryNotificationRepository.ts +++ b/adapters/notifications/persistence/inmemory/InMemoryNotificationRepository.ts @@ -7,7 +7,7 @@ import { Notification } from '../../domain/entities/Notification'; import type { INotificationRepository } from '../../domain/repositories/INotificationRepository'; import type { NotificationType } from '../../domain/types/NotificationTypes'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryNotificationRepository implements INotificationRepository { private notifications: Map = new Map(); diff --git a/adapters/payments/persistence/inmemory/InMemoryMembershipFeeRepository.ts b/adapters/payments/persistence/inmemory/InMemoryMembershipFeeRepository.ts index c9d93bdf2..b5f69bd6c 100644 --- a/adapters/payments/persistence/inmemory/InMemoryMembershipFeeRepository.ts +++ b/adapters/payments/persistence/inmemory/InMemoryMembershipFeeRepository.ts @@ -2,10 +2,10 @@ * In-Memory Implementation: InMemoryMembershipFeeRepository */ -import type { Logger } from '@gridpilot/shared/application/Logger'; -import type { IMembershipFeeRepository, IMemberPaymentRepository } from '../../../../core/payments/domain/repositories/IMembershipFeeRepository'; -import type { MembershipFee } from '../../../../core/payments/domain/entities/MembershipFee'; -import type { MemberPayment } from '../../../../core/payments/domain/entities/MemberPayment'; +import type { Logger } from '@core/shared/application/Logger'; +import type { IMembershipFeeRepository, IMemberPaymentRepository } from '@core/payments/domain/repositories/IMembershipFeeRepository'; +import type { MembershipFee } from '@core/payments/domain/entities/MembershipFee'; +import type { MemberPayment } from '@core/payments/domain/entities/MemberPayment'; const membershipFees: Map = new Map(); const memberPayments: Map = new Map(); diff --git a/adapters/payments/persistence/inmemory/InMemoryPaymentRepository.ts b/adapters/payments/persistence/inmemory/InMemoryPaymentRepository.ts index 75fbae616..80879b837 100644 --- a/adapters/payments/persistence/inmemory/InMemoryPaymentRepository.ts +++ b/adapters/payments/persistence/inmemory/InMemoryPaymentRepository.ts @@ -2,9 +2,9 @@ * In-Memory Implementation: InMemoryPaymentRepository */ -import type { Logger } from '@gridpilot/shared/application/Logger'; -import type { IPaymentRepository } from '../../../../core/payments/domain/repositories/IPaymentRepository'; -import type { Payment, PaymentType } from '../../../../core/payments/domain/entities/Payment'; +import type { Logger } from '@core/shared/application/Logger'; +import type { IPaymentRepository } from '@core/payments/domain/repositories/IPaymentRepository'; +import type { Payment, PaymentType } from '@core/payments/domain/entities/Payment'; const payments: Map = new Map(); diff --git a/adapters/payments/persistence/inmemory/InMemoryPrizeRepository.ts b/adapters/payments/persistence/inmemory/InMemoryPrizeRepository.ts index ce914c24b..d4e544938 100644 --- a/adapters/payments/persistence/inmemory/InMemoryPrizeRepository.ts +++ b/adapters/payments/persistence/inmemory/InMemoryPrizeRepository.ts @@ -2,9 +2,9 @@ * In-Memory Implementation: InMemoryPrizeRepository */ -import type { Logger } from '@gridpilot/shared/application/Logger'; -import type { IPrizeRepository } from '../../../../core/payments/domain/repositories/IPrizeRepository'; -import type { Prize } from '../../../../core/payments/domain/entities/Prize'; +import type { Logger } from '@core/shared/application/Logger'; +import type { IPrizeRepository } from '@core/payments/domain/repositories/IPrizeRepository'; +import type { Prize } from '@core/payments/domain/entities/Prize'; const prizes: Map = new Map(); diff --git a/adapters/payments/persistence/inmemory/InMemoryWalletRepository.ts b/adapters/payments/persistence/inmemory/InMemoryWalletRepository.ts index c19761e2e..93a79882a 100644 --- a/adapters/payments/persistence/inmemory/InMemoryWalletRepository.ts +++ b/adapters/payments/persistence/inmemory/InMemoryWalletRepository.ts @@ -2,9 +2,9 @@ * In-Memory Implementation: InMemoryWalletRepository */ -import type { Logger } from '@gridpilot/shared/application/Logger'; -import type { IWalletRepository, ITransactionRepository } from '../../../../core/payments/domain/repositories/IWalletRepository'; -import type { Wallet, Transaction } from '../../../../core/payments/domain/entities/Wallet'; +import type { Logger } from '@core/shared/application/Logger'; +import type { IWalletRepository, ITransactionRepository } from '@core/payments/domain/repositories/IWalletRepository'; +import type { Wallet, Transaction } from '@core/payments/domain/entities/Wallet'; const wallets: Map = new Map(); const transactions: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryCarRepository.ts b/adapters/racing/persistence/inmemory/InMemoryCarRepository.ts index e6e1ff500..474de15d7 100644 --- a/adapters/racing/persistence/inmemory/InMemoryCarRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryCarRepository.ts @@ -6,9 +6,9 @@ */ import { v4 as uuidv4 } from 'uuid'; -import { Car, CarClass, CarLicense } from '@gridpilot/racing/domain/entities/Car'; -import type { ICarRepository } from '@gridpilot/racing/domain/repositories/ICarRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import { Car, CarClass, CarLicense } from '@core/racing/domain/entities/Car'; +import type { ICarRepository } from '@core/racing/domain/repositories/ICarRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryCarRepository implements ICarRepository { private cars: Map; diff --git a/adapters/racing/persistence/inmemory/InMemoryDriverRepository.ts b/adapters/racing/persistence/inmemory/InMemoryDriverRepository.ts index 954b1aef9..15c578067 100644 --- a/adapters/racing/persistence/inmemory/InMemoryDriverRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryDriverRepository.ts @@ -1,6 +1,6 @@ -import { IDriverRepository } from '@gridpilot/racing/domain/repositories/IDriverRepository'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryDriverRepository implements IDriverRepository { private drivers: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryGameRepository.ts b/adapters/racing/persistence/inmemory/InMemoryGameRepository.ts index fbf25d179..05fcc009d 100644 --- a/adapters/racing/persistence/inmemory/InMemoryGameRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryGameRepository.ts @@ -1,6 +1,6 @@ -import { IGameRepository } from '@gridpilot/racing/domain/repositories/IGameRepository'; -import { Game } from '@gridpilot/racing/domain/entities/Game'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IGameRepository } from '@core/racing/domain/repositories/IGameRepository'; +import { Game } from '@core/racing/domain/entities/Game'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryGameRepository implements IGameRepository { private games: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository.ts index 8dcfa2f29..dd0cc75e6 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository.ts @@ -1,6 +1,6 @@ -import { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import { LeagueMembership, JoinRequest } from '@gridpilot/racing/domain/entities/LeagueMembership'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import { LeagueMembership, JoinRequest } from '@core/racing/domain/entities/LeagueMembership'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryLeagueMembershipRepository implements ILeagueMembershipRepository { private memberships: Map = new Map(); // Key: `${leagueId}:${driverId}` diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueRepository.ts index 323072a2e..f2ae61b51 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueRepository.ts @@ -1,6 +1,6 @@ -import { ILeagueRepository } from '@gridpilot/core/racing/domain/repositories/ILeagueRepository'; -import { League } from '@gridpilot/core/racing/domain/entities/League'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; +import { League } from '@core/racing/domain/entities/League'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryLeagueRepository implements ILeagueRepository { private leagues: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository.ts index 02327f52a..11336971a 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository.ts @@ -1,6 +1,6 @@ -import { ILeagueScoringConfigRepository } from '@gridpilot/racing/domain/repositories/ILeagueScoringConfigRepository'; -import { LeagueScoringConfig } from '@gridpilot/racing/domain/entities/LeagueScoringConfig'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/ILeagueScoringConfigRepository'; +import { LeagueScoringConfig } from '@core/racing/domain/entities/LeagueScoringConfig'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryLeagueScoringConfigRepository implements ILeagueScoringConfigRepository { private configs: Map = new Map(); // Key: seasonId diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueScoringPresetProvider.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueScoringPresetProvider.ts index a5d4978b7..b8eefd4fe 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueScoringPresetProvider.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueScoringPresetProvider.ts @@ -5,7 +5,7 @@ import { import type { LeagueScoringPresetDTO, LeagueScoringPresetProvider, -} from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider'; +} from '@core/racing/application/ports/LeagueScoringPresetProvider'; /** * Infrastructure adapter exposing the in-memory scoring preset registry diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository.ts index cc28504eb..fa8b29b32 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository.ts @@ -1,5 +1,5 @@ -import { ILeagueStandingsRepository, RawStanding } from '@gridpilot/core/league/application/ports/ILeagueStandingsRepository'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ILeagueStandingsRepository, RawStanding } from '@core/league/application/ports/ILeagueStandingsRepository'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryLeagueStandingsRepository implements ILeagueStandingsRepository { private standings: Map = new Map(); // Key: leagueId diff --git a/adapters/racing/persistence/inmemory/InMemoryLeagueWalletRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLeagueWalletRepository.ts index 47c6e13cc..cb474b930 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLeagueWalletRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLeagueWalletRepository.ts @@ -6,7 +6,7 @@ import type { LeagueWallet } from '../../domain/entities/LeagueWallet'; import type { ILeagueWalletRepository } from '../../domain/repositories/ILeagueWalletRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryLeagueWalletRepository implements ILeagueWalletRepository { private wallets: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryLiveryRepository.ts b/adapters/racing/persistence/inmemory/InMemoryLiveryRepository.ts index 06a093c27..dbbbc0443 100644 --- a/adapters/racing/persistence/inmemory/InMemoryLiveryRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryLiveryRepository.ts @@ -7,7 +7,7 @@ import type { DriverLivery } from '../../domain/entities/DriverLivery'; import type { LiveryTemplate } from '../../domain/entities/LiveryTemplate'; import type { ILiveryRepository } from '../../domain/repositories/ILiveryRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryLiveryRepository implements ILiveryRepository { private driverLiveries: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryPenaltyRepository.ts b/adapters/racing/persistence/inmemory/InMemoryPenaltyRepository.ts index 2469548bc..02c134d00 100644 --- a/adapters/racing/persistence/inmemory/InMemoryPenaltyRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryPenaltyRepository.ts @@ -6,7 +6,7 @@ import type { Penalty } from '../../domain/entities/Penalty'; import type { IPenaltyRepository } from '../../domain/repositories/IPenaltyRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryPenaltyRepository implements IPenaltyRepository { private penalties: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryProtestRepository.ts b/adapters/racing/persistence/inmemory/InMemoryProtestRepository.ts index 31c1bbb1b..369c81cce 100644 --- a/adapters/racing/persistence/inmemory/InMemoryProtestRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryProtestRepository.ts @@ -1,6 +1,6 @@ -import { IProtestRepository } from '@gridpilot/racing/domain/repositories/IProtestRepository'; -import { Protest, ProtestStatus } from '@gridpilot/racing/domain/entities/Protest'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IProtestRepository } from '@core/racing/domain/repositories/IProtestRepository'; +import { Protest, ProtestStatus } from '@core/racing/domain/entities/Protest'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryProtestRepository implements IProtestRepository { private protests: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryRaceEventRepository.ts b/adapters/racing/persistence/inmemory/InMemoryRaceEventRepository.ts index bbc0b205c..4f6670f0f 100644 --- a/adapters/racing/persistence/inmemory/InMemoryRaceEventRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryRaceEventRepository.ts @@ -3,7 +3,7 @@ */ import type { IRaceEventRepository } from '../../domain/repositories/IRaceEventRepository'; import type { RaceEvent } from '../../domain/entities/RaceEvent'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryRaceEventRepository implements IRaceEventRepository { private raceEvents: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository.ts b/adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository.ts index d946e8084..3904e3aa5 100644 --- a/adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryRaceRegistrationRepository.ts @@ -1,6 +1,6 @@ -import { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; -import { RaceRegistration } from '@gridpilot/racing/domain/entities/RaceRegistration'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; +import { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryRaceRegistrationRepository implements IRaceRegistrationRepository { private registrations: Map = new Map(); // Key: `${raceId}:${driverId}` diff --git a/adapters/racing/persistence/inmemory/InMemoryRaceRepository.ts b/adapters/racing/persistence/inmemory/InMemoryRaceRepository.ts index 1ffc7cdc3..9f5f3c47f 100644 --- a/adapters/racing/persistence/inmemory/InMemoryRaceRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryRaceRepository.ts @@ -1,6 +1,6 @@ -import { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import { Race, RaceStatus } from '@gridpilot/racing/domain/entities/Race'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import { Race, RaceStatus } from '@core/racing/domain/entities/Race'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemoryRaceRepository implements IRaceRepository { private races: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryResultRepository.ts b/adapters/racing/persistence/inmemory/InMemoryResultRepository.ts index 7cef2aa20..616bf5a17 100644 --- a/adapters/racing/persistence/inmemory/InMemoryResultRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryResultRepository.ts @@ -6,10 +6,10 @@ */ import { v4 as uuidv4 } from 'uuid'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import type { IResultRepository } from '@gridpilot/racing/domain/repositories/IResultRepository'; -import type { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import { Result } from '@core/racing/domain/entities/Result'; +import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository'; +import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryResultRepository implements IResultRepository { private results: Map; diff --git a/adapters/racing/persistence/inmemory/InMemoryScoringRepositories.ts b/adapters/racing/persistence/inmemory/InMemoryScoringRepositories.ts index fac09952c..e562a6937 100644 --- a/adapters/racing/persistence/inmemory/InMemoryScoringRepositories.ts +++ b/adapters/racing/persistence/inmemory/InMemoryScoringRepositories.ts @@ -1,19 +1,19 @@ -import { Game } from '@gridpilot/racing/domain/entities/Game'; -import { Season } from '@gridpilot/racing/domain/entities/Season'; -import type { LeagueScoringConfig } from '@gridpilot/racing/domain/entities/LeagueScoringConfig'; -import { PointsTable } from '@gridpilot/racing/domain/value-objects/PointsTable'; -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; -import type { SessionType } from '@gridpilot/racing/domain/types/SessionType'; -import type { BonusRule } from '@gridpilot/racing/domain/types/BonusRule'; -import type { DropScorePolicy } from '@gridpilot/racing/domain/types/DropScorePolicy'; -import type { IGameRepository } from '@gridpilot/racing/domain/repositories/IGameRepository'; -import type { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import type { ILeagueScoringConfigRepository } from '@gridpilot/racing/domain/repositories/ILeagueScoringConfigRepository'; -import type { IChampionshipStandingRepository } from '@gridpilot/racing/domain/repositories/IChampionshipStandingRepository'; -import { ChampionshipStanding } from '@gridpilot/racing/domain/entities/ChampionshipStanding'; -import type { ChampionshipType } from '@gridpilot/racing/domain/types/ChampionshipType'; -import type { ParticipantRef } from '@gridpilot/racing/domain/types/ParticipantRef'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import { Game } from '@core/racing/domain/entities/Game'; +import { Season } from '@core/racing/domain/entities/Season'; +import type { LeagueScoringConfig } from '@core/racing/domain/entities/LeagueScoringConfig'; +import { PointsTable } from '@core/racing/domain/value-objects/PointsTable'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; +import type { SessionType } from '@core/racing/domain/types/SessionType'; +import type { BonusRule } from '@core/racing/domain/types/BonusRule'; +import type { DropScorePolicy } from '@core/racing/domain/types/DropScorePolicy'; +import type { IGameRepository } from '@core/racing/domain/repositories/IGameRepository'; +import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/ILeagueScoringConfigRepository'; +import type { IChampionshipStandingRepository } from '@core/racing/domain/repositories/IChampionshipStandingRepository'; +import { ChampionshipStanding } from '@core/racing/domain/entities/ChampionshipStanding'; +import type { ChampionshipType } from '@core/racing/domain/types/ChampionshipType'; +import type { ParticipantRef } from '@core/racing/domain/types/ParticipantRef'; +import type { Logger } from '@core/shared/logging/Logger'; class SilentLogger implements Logger { debug(..._args: unknown[]): void { diff --git a/adapters/racing/persistence/inmemory/InMemorySeasonRepository.ts b/adapters/racing/persistence/inmemory/InMemorySeasonRepository.ts index 3703085ca..2c95a1ba4 100644 --- a/adapters/racing/persistence/inmemory/InMemorySeasonRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySeasonRepository.ts @@ -1,6 +1,6 @@ -import { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import { Season } from '@gridpilot/racing/domain/entities/Season'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import { Season } from '@core/racing/domain/entities/Season'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemorySeasonRepository implements ISeasonRepository { private seasons: Map = new Map(); // Key: seasonId diff --git a/adapters/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository.ts b/adapters/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository.ts index 4c16ac9fb..d284d76f5 100644 --- a/adapters/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository.ts @@ -6,7 +6,7 @@ import type { SeasonSponsorship, SponsorshipTier } from '../../domain/entities/SeasonSponsorship'; import type { ISeasonSponsorshipRepository } from '../../domain/repositories/ISeasonSponsorshipRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemorySeasonSponsorshipRepository implements ISeasonSponsorshipRepository { private sponsorships: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemorySessionRepository.ts b/adapters/racing/persistence/inmemory/InMemorySessionRepository.ts index b73b133f7..56893653c 100644 --- a/adapters/racing/persistence/inmemory/InMemorySessionRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySessionRepository.ts @@ -3,7 +3,7 @@ */ import type { ISessionRepository } from '../../domain/repositories/ISessionRepository'; import type { Session } from '../../domain/entities/Session'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemorySessionRepository implements ISessionRepository { private sessions: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemorySponsorRepository.ts b/adapters/racing/persistence/inmemory/InMemorySponsorRepository.ts index 112cf0007..a0e41433a 100644 --- a/adapters/racing/persistence/inmemory/InMemorySponsorRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySponsorRepository.ts @@ -1,6 +1,6 @@ -import { ISponsorRepository } from '@gridpilot/core/racing/domain/repositories/ISponsorRepository'; -import { Sponsor } from '@gridpilot/core/racing/domain/entities/Sponsor'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ISponsorRepository } from '@core/racing/domain/repositories/ISponsorRepository'; +import { Sponsor } from '@core/racing/domain/entities/Sponsor'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemorySponsorRepository implements ISponsorRepository { private sponsors: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemorySponsorshipPricingRepository.ts b/adapters/racing/persistence/inmemory/InMemorySponsorshipPricingRepository.ts index 72daee4ba..981753d6e 100644 --- a/adapters/racing/persistence/inmemory/InMemorySponsorshipPricingRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySponsorshipPricingRepository.ts @@ -5,7 +5,7 @@ import type { ISponsorshipPricingRepository } from '../../domain/repositories/ISponsorshipPricingRepository'; import { SponsorshipPricing } from '../../domain/value-objects/SponsorshipPricing'; import type { SponsorableEntityType } from '../../domain/entities/SponsorshipRequest'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; interface StorageKey { entityType: SponsorableEntityType; diff --git a/adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository.ts b/adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository.ts index 4814c9be3..65b19b5b6 100644 --- a/adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository.ts @@ -1,6 +1,6 @@ -import { ISponsorshipRequestRepository } from '@gridpilot/racing/domain/repositories/ISponsorshipRequestRepository'; -import { SponsorshipRequest, SponsorableEntityType, SponsorshipRequestStatus } from '@gridpilot/racing/domain/entities/SponsorshipRequest'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/ISponsorshipRequestRepository'; +import { SponsorshipRequest, SponsorableEntityType, SponsorshipRequestStatus } from '@core/racing/domain/entities/SponsorshipRequest'; +import { Logger } from '@core/shared/logging/Logger'; export class InMemorySponsorshipRequestRepository implements ISponsorshipRequestRepository { private requests: Map = new Map(); diff --git a/adapters/racing/persistence/inmemory/InMemoryStandingRepository.ts b/adapters/racing/persistence/inmemory/InMemoryStandingRepository.ts index 157857a05..4c1e54df5 100644 --- a/adapters/racing/persistence/inmemory/InMemoryStandingRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryStandingRepository.ts @@ -5,12 +5,12 @@ * Stores data in Map structure and calculates standings from race results. */ -import { Standing } from '@gridpilot/racing/domain/entities/Standing'; -import type { IStandingRepository } from '@gridpilot/racing/domain/repositories/IStandingRepository'; -import type { IResultRepository } from '@gridpilot/racing/domain/repositories/IResultRepository'; -import type { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import type { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import { Standing } from '@core/racing/domain/entities/Standing'; +import type { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository'; +import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository'; +import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; +import type { Logger } from '@core/shared/logging/Logger'; /** * Points systems presets diff --git a/adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository.ts b/adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository.ts index 61825b34f..72cb0cc80 100644 --- a/adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository.ts @@ -8,9 +8,9 @@ import type { TeamMembership, TeamJoinRequest, -} from '@gridpilot/racing/domain/types/TeamMembership'; -import type { ITeamMembershipRepository } from '@gridpilot/racing/domain/repositories/ITeamMembershipRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +} from '@core/racing/domain/types/TeamMembership'; +import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryTeamMembershipRepository implements ITeamMembershipRepository { private membershipsByTeam: Map; diff --git a/adapters/racing/persistence/inmemory/InMemoryTeamRepository.ts b/adapters/racing/persistence/inmemory/InMemoryTeamRepository.ts index 917c96861..fa7455128 100644 --- a/adapters/racing/persistence/inmemory/InMemoryTeamRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryTeamRepository.ts @@ -5,9 +5,9 @@ * Stores data in a Map structure. */ -import type { Team } from '@gridpilot/racing/domain/entities/Team'; -import type { ITeamRepository } from '@gridpilot/racing/domain/repositories/ITeamRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Team } from '@core/racing/domain/entities/Team'; +import type { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryTeamRepository implements ITeamRepository { private teams: Map; diff --git a/adapters/racing/persistence/inmemory/InMemoryTrackRepository.ts b/adapters/racing/persistence/inmemory/InMemoryTrackRepository.ts index 7ab384406..7f425421e 100644 --- a/adapters/racing/persistence/inmemory/InMemoryTrackRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryTrackRepository.ts @@ -6,9 +6,9 @@ */ import { v4 as uuidv4 } from 'uuid'; -import { Track, TrackCategory } from '@gridpilot/racing/domain/entities/Track'; -import type { ITrackRepository } from '@gridpilot/racing/domain/repositories/ITrackRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import { Track, TrackCategory } from '@core/racing/domain/entities/Track'; +import type { ITrackRepository } from '@core/racing/domain/repositories/ITrackRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryTrackRepository implements ITrackRepository { private tracks: Map; diff --git a/adapters/racing/persistence/inmemory/InMemoryTransactionRepository.ts b/adapters/racing/persistence/inmemory/InMemoryTransactionRepository.ts index eb3db9eba..06aa6be01 100644 --- a/adapters/racing/persistence/inmemory/InMemoryTransactionRepository.ts +++ b/adapters/racing/persistence/inmemory/InMemoryTransactionRepository.ts @@ -6,7 +6,7 @@ import type { Transaction, TransactionType } from '../../domain/entities/Transaction'; import type { ITransactionRepository } from '../../domain/repositories/ITransactionRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryTransactionRepository implements ITransactionRepository { private transactions: Map = new Map(); diff --git a/adapters/racing/ports/InMemoryDriverRatingProvider.ts b/adapters/racing/ports/InMemoryDriverRatingProvider.ts index 8d2a508c4..6b4ac3633 100644 --- a/adapters/racing/ports/InMemoryDriverRatingProvider.ts +++ b/adapters/racing/ports/InMemoryDriverRatingProvider.ts @@ -1,5 +1,5 @@ -import type { DriverRatingProvider } from '@gridpilot/racing/application/ports/DriverRatingProvider'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryDriverRatingProvider implements DriverRatingProvider { constructor(private readonly logger: Logger) { diff --git a/adapters/racing/services/InMemoryDriverStatsService.ts b/adapters/racing/services/InMemoryDriverStatsService.ts index a388e9f20..e3cda788e 100644 --- a/adapters/racing/services/InMemoryDriverStatsService.ts +++ b/adapters/racing/services/InMemoryDriverStatsService.ts @@ -1,5 +1,5 @@ -import type { IDriverStatsService, DriverStats } from '@gridpilot/racing/domain/services/IDriverStatsService'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { IDriverStatsService, DriverStats } from '@core/racing/domain/services/IDriverStatsService'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryDriverStatsService implements IDriverStatsService { constructor(private readonly logger: Logger) { diff --git a/adapters/racing/services/InMemoryRankingService.ts b/adapters/racing/services/InMemoryRankingService.ts index 3f666adaa..88a3155e9 100644 --- a/adapters/racing/services/InMemoryRankingService.ts +++ b/adapters/racing/services/InMemoryRankingService.ts @@ -1,5 +1,5 @@ -import type { IRankingService, DriverRanking } from '@gridpilot/racing/domain/services/IRankingService'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { IRankingService, DriverRanking } from '@core/racing/domain/services/IRankingService'; +import type { Logger } from '@core/shared/logging/Logger'; export class InMemoryRankingService implements IRankingService { constructor(private readonly logger: Logger) { diff --git a/adapters/tsconfig.json b/adapters/tsconfig.json index 9f11eeb95..c5c3fbcd0 100644 --- a/adapters/tsconfig.json +++ b/adapters/tsconfig.json @@ -1,22 +1,20 @@ { "extends": "../tsconfig.base.json", "compilerOptions": { - "baseUrl": "../", // Base URL is the project root - "paths": { - "@gridpilot/core/*": ["core/*"], - "@gridpilot/shared/*": ["core/shared/*"], - "@gridpilot/identity/application/dto/*": ["core/identity/application/dto/*"], - "@gridpilot/identity/application/ports/*": ["core/identity/application/ports/*"], - "@gridpilot/identity/domain/repositories/*": ["core/identity/domain/repositories/*"], - "@gridpilot/identity/domain/services/*": ["core/identity/domain/services/*"], - "@gridpilot/racing/domain/repositories/*": ["core/racing/domain/repositories/*"], - "@gridpilot/racing/domain/entities/*": ["core/racing/domain/entities/*"], - "@gridpilot/racing/application/ports/*": ["core/racing/application/ports/*"] - }, + "rootDir": ".", + "outDir": "dist", + "baseUrl": ".", "composite": true, - "outDir": "./dist", - "rootDir": "../" // Root directory is the project root + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "paths": { + "@/*": ["./*"], + "@core/*": ["../core/*"], + "@adapters/*": ["./*"], + "@testing/*": ["../testing/*"] + } }, - "include": ["**/*", "../core/**/*"], - "exclude": ["node_modules", "dist", "**/*.spec.ts"] + "include": ["**/*.ts"], + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts"] } \ No newline at end of file diff --git a/apps/api/jest.config.js b/apps/api/jest.config.js deleted file mode 100644 index 681363423..000000000 --- a/apps/api/jest.config.js +++ /dev/null @@ -1,18 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -module.exports = { - testEnvironment: 'node', - roots: ['/src'], - transform: { - '^.+\.(t|j)s$': ['ts-jest', { tsconfig: '/tsconfig.json' }], - }, - moduleFileExtensions: ['js', 'json', 'ts'], - collectCoverageFrom: [ - '**/*.(t|j)s' - ], - coverageDirectory: '../coverage', - testRegex: '.*\\.spec\\.ts$', - moduleNameMapper: { - '^@gridpilot/(.*)$': '/../../core/$1', // Corrected path - '^adapters/(.*)$': '/../../adapters/$1', - }, -}; diff --git a/apps/api/package.json b/apps/api/package.json index ff0b031fc..4994eb52b 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -1,5 +1,5 @@ { - "name": "api", + "name": "@gridpilot/api", "version": "1.0.0", "description": "NestJS API service", "main": "dist/index.js", @@ -7,14 +7,14 @@ "build": "tsc --build --verbose", "start:dev": "ts-node-dev --respawn --inspect=0.0.0.0:9229 src/main.ts", "start:prod": "node dist/main", - "test": "npx jest" + "test": "vitest run", + "test:watch": "vitest" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@nestjs/testing": "^10.4.20", - "@types/jest": "^30.0.0", "ts-node-dev": "^2.0.0" }, "dependencies": { @@ -30,7 +30,6 @@ "pg": "^8.12.0", "reflect-metadata": "^0.1.13", "rxjs": "^7.8.1", - "ts-jest": "^29.4.6", "typeorm": "^0.3.20" } } diff --git a/apps/api/src/infrastructure/logging/LoggingModule.ts b/apps/api/src/infrastructure/logging/LoggingModule.ts index 5f1799ef9..8cf9bc2a1 100644 --- a/apps/api/src/infrastructure/logging/LoggingModule.ts +++ b/apps/api/src/infrastructure/logging/LoggingModule.ts @@ -1,6 +1,6 @@ import { Global, Module } from '@nestjs/common'; -import { Logger } from '@gridpilot/shared/application/Logger'; -import { ConsoleLogger } from '@gridpilot//logging/ConsoleLogger'; +import { Logger } from '@core/shared/application/Logger'; +import { ConsoleLogger } from '@core//logging/ConsoleLogger'; @Global() @Module({ diff --git a/apps/api/src/modules/analytics/AnalyticsProviders.ts b/apps/api/src/modules/analytics/AnalyticsProviders.ts index 3cd7c688d..e9f6a9773 100644 --- a/apps/api/src/modules/analytics/AnalyticsProviders.ts +++ b/apps/api/src/modules/analytics/AnalyticsProviders.ts @@ -9,9 +9,9 @@ const IENGAGEMENT_REPO_TOKEN = 'IEngagementRepository_TOKEN'; const RECORD_PAGE_VIEW_USE_CASE_TOKEN = 'RecordPageViewUseCase_TOKEN'; const RECORD_ENGAGEMENT_USE_CASE_TOKEN = 'RecordEngagementUseCase_TOKEN'; -import { Logger } from '@gridpilot/shared/logging/Logger'; -import { IPageViewRepository } from '@gridpilot/analytics/application/repositories/IPageViewRepository'; -import { IEngagementRepository } from '@gridpilot/analytics/domain/repositories/IEngagementRepository'; +import { Logger } from '@core/shared/logging/Logger'; +import { IPageViewRepository } from '@core/analytics/application/repositories/IPageViewRepository'; +import { IEngagementRepository } from '@core/analytics/domain/repositories/IEngagementRepository'; import { ConsoleLogger } from '../../../..//logging/ConsoleLogger'; import { InMemoryPageViewRepository } from '../../../..//analytics/persistence/inmemory/InMemoryPageViewRepository'; diff --git a/apps/api/src/modules/analytics/AnalyticsService.ts b/apps/api/src/modules/analytics/AnalyticsService.ts index e57b116c1..18f2c8412 100644 --- a/apps/api/src/modules/analytics/AnalyticsService.ts +++ b/apps/api/src/modules/analytics/AnalyticsService.ts @@ -1,6 +1,6 @@ import { Injectable, Inject } from '@nestjs/common'; import { RecordEngagementInput, RecordEngagementOutput, RecordPageViewInput, RecordPageViewOutput } from './dto/AnalyticsDto'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { Logger } from '@core/shared/logging/Logger'; import { RecordPageViewUseCase } from './use-cases/RecordPageViewUseCase'; import { RecordEngagementUseCase } from './use-cases/RecordEngagementUseCase'; diff --git a/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.spec.ts b/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.spec.ts index dae55a10a..fe938b0dc 100644 --- a/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.spec.ts +++ b/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { RecordEngagementUseCase } from './RecordEngagementUseCase'; -import { IEngagementRepository } from '@gridpilot/analytics/domain/repositories/IEngagementRepository'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IEngagementRepository } from '@core/analytics/domain/repositories/IEngagementRepository'; +import { Logger } from '@core/shared/logging/Logger'; describe('RecordEngagementUseCase', () => { let useCase: RecordEngagementUseCase; diff --git a/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.ts b/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.ts index afc40dd74..cf0ca1013 100644 --- a/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.ts +++ b/apps/api/src/modules/analytics/use-cases/RecordEngagementUseCase.ts @@ -1,8 +1,8 @@ import { Injectable, Inject } from '@nestjs/common'; import { RecordEngagementInput, RecordEngagementOutput } from '../dto/AnalyticsDto'; -import { IEngagementRepository } from '@gridpilot/analytics/domain/repositories/IEngagementRepository'; -import { Logger } from '@gridpilot/shared/logging/Logger'; -import { EngagementEvent } from '@gridpilot/analytics/domain/entities/EngagementEvent'; +import { IEngagementRepository } from '@core/analytics/domain/repositories/IEngagementRepository'; +import { Logger } from '@core/shared/logging/Logger'; +import { EngagementEvent } from '@core/analytics/domain/entities/EngagementEvent'; const Logger_TOKEN = 'Logger_TOKEN'; const IENGAGEMENT_REPO_TOKEN = 'IEngagementRepository_TOKEN'; diff --git a/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.spec.ts b/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.spec.ts index 56552da05..17353b2ee 100644 --- a/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.spec.ts +++ b/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.spec.ts @@ -1,7 +1,7 @@ import { Test, TestingModule } from '@nestjs/testing'; import { RecordPageViewUseCase } from './RecordPageViewUseCase'; -import { IPageViewRepository } from '@gridpilot/analytics/application/repositories/IPageViewRepository'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import { IPageViewRepository } from '@core/analytics/application/repositories/IPageViewRepository'; +import { Logger } from '@core/shared/logging/Logger'; describe('RecordPageViewUseCase', () => { let useCase: RecordPageViewUseCase; diff --git a/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.ts b/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.ts index 128bd9715..660acf629 100644 --- a/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.ts +++ b/apps/api/src/modules/analytics/use-cases/RecordPageViewUseCase.ts @@ -1,8 +1,8 @@ import { Injectable, Inject } from '@nestjs/common'; import { RecordPageViewInput, RecordPageViewOutput } from '../dto/AnalyticsDto'; -import { IPageViewRepository } from '@gridpilot/analytics/application/repositories/IPageViewRepository'; -import { Logger } from '@gridpilot/shared/logging/Logger'; -import { PageView } from '@gridpilot/analytics/domain/entities/PageView'; +import { IPageViewRepository } from '@core/analytics/application/repositories/IPageViewRepository'; +import { Logger } from '@core/shared/logging/Logger'; +import { PageView } from '@core/analytics/domain/entities/PageView'; const Logger_TOKEN = 'Logger_TOKEN'; const IPAGE_VIEW_REPO_TOKEN = 'IPageViewRepository_TOKEN'; diff --git a/apps/api/src/modules/auth/AuthProviders.ts b/apps/api/src/modules/auth/AuthProviders.ts index 55a40ca63..46aefecbd 100644 --- a/apps/api/src/modules/auth/AuthProviders.ts +++ b/apps/api/src/modules/auth/AuthProviders.ts @@ -2,16 +2,16 @@ import { Provider } from '@nestjs/common'; import { AuthService } from './AuthService'; // Import interfaces and concrete implementations -import { IAuthRepository } from '@gridpilot/core/identity/domain/repositories/IAuthRepository'; -import { IUserRepository, StoredUser } from '@gridpilot/core/identity/domain/repositories/IUserRepository'; -import { IPasswordHashingService } from '@gridpilot/core/identity/domain/services/PasswordHashingService'; -import { Logger } from '@gridpilot/core/shared/logging/Logger'; +import { IAuthRepository } from '@core/identity/domain/repositories/IAuthRepository'; +import { IUserRepository, StoredUser } from '@core/identity/domain/repositories/IUserRepository'; +import { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService'; +import { Logger } from '@core/shared/logging/Logger'; import { InMemoryAuthRepository } from '../../..//identity/persistence/inmemory/InMemoryAuthRepository'; import { InMemoryUserRepository } from '../../..//identity/persistence/inmemory/InMemoryUserRepository'; import { InMemoryPasswordHashingService } from '../../..//identity/services/InMemoryPasswordHashingService'; import { ConsoleLogger } from '../../..//logging/ConsoleLogger'; -import { IdentitySessionPort } from '../../../../core/identity/application/ports/IdentitySessionPort'; // Path from apps/api/src/modules/auth +import { IdentitySessionPort } from '@core/identity/application/ports/IdentitySessionPort'; // Path from apps/api/src/modules/auth import { CookieIdentitySessionAdapter } from '../../..//identity/session/CookieIdentitySessionAdapter'; // Define the tokens for dependency injection diff --git a/apps/api/src/modules/auth/AuthService.ts b/apps/api/src/modules/auth/AuthService.ts index 300965322..8192726ae 100644 --- a/apps/api/src/modules/auth/AuthService.ts +++ b/apps/api/src/modules/auth/AuthService.ts @@ -2,23 +2,23 @@ import { Injectable, Inject, InternalServerErrorException } from '@nestjs/common import type { AuthenticatedUserDTO, AuthSessionDTO, SignupParams, LoginParams, IracingAuthRedirectResult, LoginWithIracingCallbackParams } from './dto/AuthDto'; // Core Use Cases -import { LoginUseCase } from '../../../../core/identity/application/use-cases/LoginUseCase'; -import { SignupUseCase } from '../../../../core/identity/application/use-cases/SignupUseCase'; -import { GetCurrentSessionUseCase } from '../../../../core/identity/application/use-cases/GetCurrentSessionUseCase'; -import { LogoutUseCase } from '../../../../core/identity/application/use-cases/LogoutUseCase'; -import { StartIracingAuthRedirectUseCase } from '../../../../core/identity/application/use-cases/StartIracingAuthRedirectUseCase'; -import { LoginWithIracingCallbackUseCase } from '../../../../core/identity/application/use-cases/LoginWithIracingCallbackUseCase'; +import { LoginUseCase } from '@core/identity/application/use-cases/LoginUseCase'; +import { SignupUseCase } from '@core/identity/application/use-cases/SignupUseCase'; +import { GetCurrentSessionUseCase } from '@core/identity/application/use-cases/GetCurrentSessionUseCase'; +import { LogoutUseCase } from '@core/identity/application/use-cases/LogoutUseCase'; +import { StartIracingAuthRedirectUseCase } from '@core/identity/application/use-cases/StartIracingAuthRedirectUseCase'; +import { LoginWithIracingCallbackUseCase } from '@core/identity/application/use-cases/LoginWithIracingCallbackUseCase'; // Core Interfaces and Tokens import { AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN, IDENTITY_SESSION_PORT_TOKEN, USER_REPOSITORY_TOKEN } from './AuthProviders'; -import { IAuthRepository } from '../../../../core/identity/domain/repositories/IAuthRepository'; -import { IPasswordHashingService } from '../../../../core/identity/domain/services/PasswordHashingService'; +import { IAuthRepository } from '@core/identity/domain/repositories/IAuthRepository'; +import { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService'; import { Logger } from "@gridpilot/core/shared/application"; -import { IdentitySessionPort } from '../../../../core/identity/application/ports/IdentitySessionPort'; -import { UserId } from '../../../../core/identity/domain/value-objects/UserId'; -import { User } from '../../../../core/identity/domain/entities/User'; -import { IUserRepository } from '../../../../core/identity/domain/repositories/IUserRepository'; -import { AuthenticatedUserDTO as CoreAuthenticatedUserDTO } from '../../../../core/identity/application/dto/AuthenticatedUserDTO'; +import { IdentitySessionPort } from '@core/identity/application/ports/IdentitySessionPort'; +import { UserId } from '@core/identity/domain/value-objects/UserId'; +import { User } from '@core/identity/domain/entities/User'; +import { IUserRepository } from '@core/identity/domain/repositories/IUserRepository'; +import { AuthenticatedUserDTO as CoreAuthenticatedUserDTO } from '@core/identity/application/dto/AuthenticatedUserDTO'; @Injectable() export class AuthService { diff --git a/apps/api/src/modules/driver/DriverProviders.ts b/apps/api/src/modules/driver/DriverProviders.ts index 619011f3e..d12f94e74 100644 --- a/apps/api/src/modules/driver/DriverProviders.ts +++ b/apps/api/src/modules/driver/DriverProviders.ts @@ -2,19 +2,19 @@ import { Provider } from '@nestjs/common'; import { DriverService } from './DriverService'; // Import core interfaces -import { IDriverRepository } from '../../../../core/racing/domain/repositories/IDriverRepository'; -import { IRankingService } from '../../../../core/racing/domain/services/IRankingService'; -import { IDriverStatsService } from '../../../../core/racing/domain/services/IDriverStatsService'; -import { DriverRatingProvider } from '../../../../core/racing/application/ports/DriverRatingProvider'; -import { IImageServicePort } from '../../../../core/racing/application/ports/IImageServicePort'; -import { IRaceRegistrationRepository } from '../../../../core/racing/domain/repositories/IRaceRegistrationRepository'; -import { INotificationPreferenceRepository } from '../../../../core/notifications/domain/repositories/INotificationPreferenceRepository'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import { IRankingService } from '@core/racing/domain/services/IRankingService'; +import { IDriverStatsService } from '@core/racing/domain/services/IDriverStatsService'; +import { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider'; +import { IImageServicePort } from '@core/racing/application/ports/IImageServicePort'; +import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; +import { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/INotificationPreferenceRepository'; import { Logger } from "@gridpilot/core/shared/application"; // Import use cases -import { GetDriversLeaderboardUseCase } from '../../../../core/racing/application/use-cases/GetDriversLeaderboardUseCase'; -import { GetTotalDriversUseCase } from '../../../../core/racing/application/use-cases/GetTotalDriversUseCase'; -import { CompleteDriverOnboardingUseCase } from '../../../../core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; +import { GetDriversLeaderboardUseCase } from '@core/racing/application/use-cases/GetDriversLeaderboardUseCase'; +import { GetTotalDriversUseCase } from '@core/racing/application/use-cases/GetTotalDriversUseCase'; +import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; // Import concrete in-memory implementations import { InMemoryDriverRepository } from '../../..//racing/persistence/inmemory/InMemoryDriverRepository'; diff --git a/apps/api/src/modules/driver/DriverService.spec.ts b/apps/api/src/modules/driver/DriverService.spec.ts index cee126b9b..b1f822433 100644 --- a/apps/api/src/modules/driver/DriverService.spec.ts +++ b/apps/api/src/modules/driver/DriverService.spec.ts @@ -1,10 +1,10 @@ import { Test, TestingModule } from '@nestjs/testing'; import { DriverService } from './DriverService'; -import { GetDriversLeaderboardUseCase } from '../../../../core/racing/application/use-cases/GetDriversLeaderboardUseCase'; -import { GetTotalDriversUseCase } from '../../../../core/racing/application/use-cases/GetTotalDriversUseCase'; -import { CompleteDriverOnboardingUseCase } from '../../../../core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; -import { IsDriverRegisteredForRaceUseCase } from '../../../../core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; -import { Logger } from '../../../../core/shared/logging/Logger'; +import { GetDriversLeaderboardUseCase } from '@core/racing/application/use-cases/GetDriversLeaderboardUseCase'; +import { GetTotalDriversUseCase } from '@core/racing/application/use-cases/GetTotalDriversUseCase'; +import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; +import { IsDriverRegisteredForRaceUseCase } from '@core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; +import { Logger } from '@core/shared/logging/Logger'; describe('DriverService', () => { let service: DriverService; diff --git a/apps/api/src/modules/driver/DriverService.ts b/apps/api/src/modules/driver/DriverService.ts index e80de1177..d68962c71 100644 --- a/apps/api/src/modules/driver/DriverService.ts +++ b/apps/api/src/modules/driver/DriverService.ts @@ -2,10 +2,10 @@ import { Injectable, Inject } from '@nestjs/common'; import { DriversLeaderboardViewModel, DriverStatsDto, CompleteOnboardingInput, CompleteOnboardingOutput, GetDriverRegistrationStatusQuery, DriverRegistrationStatusViewModel } from './dto/DriverDto'; // Use cases -import { GetDriversLeaderboardUseCase } from '../../../../core/racing/application/use-cases/GetDriversLeaderboardUseCase'; -import { GetTotalDriversUseCase } from '../../../../core/racing/application/use-cases/GetTotalDriversUseCase'; -import { CompleteDriverOnboardingUseCase } from '../../../../core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; -import { IsDriverRegisteredForRaceUseCase } from '../../../../core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; +import { GetDriversLeaderboardUseCase } from '@core/racing/application/use-cases/GetDriversLeaderboardUseCase'; +import { GetTotalDriversUseCase } from '@core/racing/application/use-cases/GetTotalDriversUseCase'; +import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; +import { IsDriverRegisteredForRaceUseCase } from '@core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; // Presenters import { DriversLeaderboardPresenter } from './presenters/DriversLeaderboardPresenter'; @@ -15,7 +15,7 @@ import { DriverRegistrationStatusPresenter } from './presenters/DriverRegistrati // Tokens import { GET_DRIVERS_LEADERBOARD_USE_CASE_TOKEN, GET_TOTAL_DRIVERS_USE_CASE_TOKEN, COMPLETE_DRIVER_ONBOARDING_USE_CASE_TOKEN, IS_DRIVER_REGISTERED_FOR_RACE_USE_CASE_TOKEN, LOGGER_TOKEN } from './DriverProviders'; -import { Logger } from '../../../../core/shared/logging/Logger'; +import { Logger } from '@core/shared/logging/Logger'; @Injectable() export class DriverService { diff --git a/apps/api/src/modules/league/LeagueProviders.ts b/apps/api/src/modules/league/LeagueProviders.ts index a18f79d35..40311eaef 100644 --- a/apps/api/src/modules/league/LeagueProviders.ts +++ b/apps/api/src/modules/league/LeagueProviders.ts @@ -2,40 +2,40 @@ import { Provider } from '@nestjs/common'; import { LeagueService } from './LeagueService'; // Import core interfaces -import { Logger } from '@gridpilot/shared/application/Logger'; +import { Logger } from '@core/shared/application/Logger'; // Import concrete in-memory implementations -import { InMemoryLeagueRepository } from '/racing/persistence/inmemory/InMemoryLeagueRepository'; -import { InMemoryLeagueMembershipRepository } from '/racing/persistence/inmemory/InMemoryLeagueMembershipRepository'; -import { InMemoryLeagueStandingsRepository } from '/racing/persistence/inmemory/InMemoryLeagueStandingsRepository'; -import { InMemorySeasonRepository } from '/racing/persistence/inmemory/InMemorySeasonRepository'; -import { InMemoryLeagueScoringConfigRepository } from '/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository'; -import { InMemoryGameRepository } from '/racing/persistence/inmemory/InMemoryGameRepository'; -import { InMemoryProtestRepository } from '/racing/persistence/inmemory/InMemoryProtestRepository'; -import { InMemoryRaceRepository } from '/racing/persistence/inmemory/InMemoryRaceRepository'; -import { InMemoryDriverRepository } from '/racing/persistence/inmemory/InMemoryDriverRepository'; -import { InMemoryStandingRepository } from '/racing/persistence/inmemory/InMemoryStandingRepository'; -import { ConsoleLogger } from '/logging/ConsoleLogger'; +import { InMemoryLeagueRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueRepository'; +import { InMemoryLeagueMembershipRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository'; +import { InMemoryLeagueStandingsRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository'; +import { InMemorySeasonRepository } from '@adapters/racing/persistence/inmemory/InMemorySeasonRepository'; +import { InMemoryLeagueScoringConfigRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueScoringConfigRepository'; +import { InMemoryGameRepository } from '@adapters/racing/persistence/inmemory/InMemoryGameRepository'; +import { InMemoryProtestRepository } from '@adapters/racing/persistence/inmemory/InMemoryProtestRepository'; +import { InMemoryRaceRepository } from '@adapters/racing/persistence/inmemory/InMemoryRaceRepository'; +import { InMemoryDriverRepository } from '@adapters/racing/persistence/inmemory/InMemoryDriverRepository'; +import { InMemoryStandingRepository } from '@adapters/racing/persistence/inmemory/InMemoryStandingRepository'; +import { ConsoleLogger } from '@adapters/logging/ConsoleLogger'; // Import use cases -import { GetAllLeaguesWithCapacityUseCase } from '@gridpilot/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; -import { GetLeagueStandingsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStandingsUseCase'; -import { GetLeagueFullConfigUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueFullConfigUseCase'; -import { CreateLeagueWithSeasonAndScoringUseCase } from '@gridpilot/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; -import { GetRaceProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetRaceProtestsUseCase'; -import { GetTotalLeaguesUseCase } from '@gridpilot/racing/application/use-cases/GetTotalLeaguesUseCase'; -import { GetLeagueJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; -import { ApproveLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; -import { RejectLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; -import { RemoveLeagueMemberUseCase } from '@gridpilot/racing/application/use-cases/RemoveLeagueMemberUseCase'; -import { UpdateLeagueMemberRoleUseCase } from '@gridpilot/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; -import { GetLeagueOwnerSummaryUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; -import { GetLeagueProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueProtestsUseCase'; -import { GetLeagueSeasonsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueSeasonsUseCase'; -import { GetLeagueMembershipsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueMembershipsUseCase'; -import { GetLeagueScheduleUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueScheduleUseCase'; -import { GetLeagueStatsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStatsUseCase'; -import { GetLeagueAdminPermissionsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueAdminPermissionsUseCase'; +import { GetAllLeaguesWithCapacityUseCase } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; +import { GetLeagueStandingsUseCase } from '@core/racing/application/use-cases/GetLeagueStandingsUseCase'; +import { GetLeagueFullConfigUseCase } from '@core/racing/application/use-cases/GetLeagueFullConfigUseCase'; +import { CreateLeagueWithSeasonAndScoringUseCase } from '@core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; +import { GetRaceProtestsUseCase } from '@core/racing/application/use-cases/GetRaceProtestsUseCase'; +import { GetTotalLeaguesUseCase } from '@core/racing/application/use-cases/GetTotalLeaguesUseCase'; +import { GetLeagueJoinRequestsUseCase } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; +import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; +import { RejectLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; +import { RemoveLeagueMemberUseCase } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase'; +import { UpdateLeagueMemberRoleUseCase } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; +import { GetLeagueOwnerSummaryUseCase } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; +import { GetLeagueProtestsUseCase } from '@core/racing/application/use-cases/GetLeagueProtestsUseCase'; +import { GetLeagueSeasonsUseCase } from '@core/racing/application/use-cases/GetLeagueSeasonsUseCase'; +import { GetLeagueMembershipsUseCase } from '@core/racing/application/use-cases/GetLeagueMembershipsUseCase'; +import { GetLeagueScheduleUseCase } from '@core/racing/application/use-cases/GetLeagueScheduleUseCase'; +import { GetLeagueStatsUseCase } from '@core/racing/application/use-cases/GetLeagueStatsUseCase'; +import { GetLeagueAdminPermissionsUseCase } from '@core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase'; // Define injection tokens export const LEAGUE_REPOSITORY_TOKEN = 'ILeagueRepository'; diff --git a/apps/api/src/modules/league/LeagueService.spec.ts b/apps/api/src/modules/league/LeagueService.spec.ts index 98300edf8..c93157082 100644 --- a/apps/api/src/modules/league/LeagueService.spec.ts +++ b/apps/api/src/modules/league/LeagueService.spec.ts @@ -1,19 +1,19 @@ import { LeagueService } from './LeagueService'; -import { GetAllLeaguesWithCapacityUseCase } from '@gridpilot/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; -import { GetLeagueStandingsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStandingsUseCase'; -import { GetLeagueStatsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStatsUseCase'; -import { GetLeagueFullConfigUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueFullConfigUseCase'; -import { CreateLeagueWithSeasonAndScoringUseCase } from '@gridpilot/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; -import { GetRaceProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetRaceProtestsUseCase'; -import { GetTotalLeaguesUseCase } from '@gridpilot/racing/application/use-cases/GetTotalLeaguesUseCase'; -import { GetLeagueJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; -import { ApproveLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; -import { RejectLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; -import { RemoveLeagueMemberUseCase } from '@gridpilot/racing/application/use-cases/RemoveLeagueMemberUseCase'; -import { UpdateLeagueMemberRoleUseCase } from '@gridpilot/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; -import { GetLeagueOwnerSummaryUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; -import { GetLeagueProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueProtestsUseCase'; -import { Logger } from '@gridpilot/shared/application/Logger'; +import { GetAllLeaguesWithCapacityUseCase } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; +import { GetLeagueStandingsUseCase } from '@core/racing/application/use-cases/GetLeagueStandingsUseCase'; +import { GetLeagueStatsUseCase } from '@core/racing/application/use-cases/GetLeagueStatsUseCase'; +import { GetLeagueFullConfigUseCase } from '@core/racing/application/use-cases/GetLeagueFullConfigUseCase'; +import { CreateLeagueWithSeasonAndScoringUseCase } from '@core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; +import { GetRaceProtestsUseCase } from '@core/racing/application/use-cases/GetRaceProtestsUseCase'; +import { GetTotalLeaguesUseCase } from '@core/racing/application/use-cases/GetTotalLeaguesUseCase'; +import { GetLeagueJoinRequestsUseCase } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; +import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; +import { RejectLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; +import { RemoveLeagueMemberUseCase } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase'; +import { UpdateLeagueMemberRoleUseCase } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; +import { GetLeagueOwnerSummaryUseCase } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; +import { GetLeagueProtestsUseCase } from '@core/racing/application/use-cases/GetLeagueProtestsUseCase'; +import { Logger } from '@core/shared/application/Logger'; describe('LeagueService', () => { let service: LeagueService; diff --git a/apps/api/src/modules/league/LeagueService.ts b/apps/api/src/modules/league/LeagueService.ts index e773b6b63..6a9595651 100644 --- a/apps/api/src/modules/league/LeagueService.ts +++ b/apps/api/src/modules/league/LeagueService.ts @@ -2,27 +2,27 @@ import { Injectable, Inject } from '@nestjs/common'; import { AllLeaguesWithCapacityViewModel, LeagueStatsDto, LeagueJoinRequestViewModel, ApproveJoinRequestInput, ApproveJoinRequestOutput, RejectJoinRequestInput, RejectJoinRequestOutput, LeagueAdminPermissionsViewModel, RemoveLeagueMemberInput, RemoveLeagueMemberOutput, UpdateLeagueMemberRoleInput, UpdateLeagueMemberRoleOutput, LeagueOwnerSummaryViewModel, LeagueConfigFormModelDto, LeagueAdminProtestsViewModel, LeagueSeasonSummaryViewModel, GetLeagueAdminPermissionsInput, GetLeagueProtestsQuery, GetLeagueSeasonsQuery, GetLeagueAdminConfigQuery, GetLeagueOwnerSummaryQuery, LeagueMembershipsViewModel, LeagueStandingsViewModel, LeagueScheduleViewModel, LeagueStatsViewModel, LeagueAdminViewModel, CreateLeagueInput, CreateLeagueOutput } from './dto/LeagueDto'; // Core imports -import { Logger } from '@gridpilot/shared/application/Logger'; +import { Logger } from '@core/shared/application/Logger'; // Use cases -import { GetAllLeaguesWithCapacityUseCase } from '@gridpilot/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; -import { GetLeagueStandingsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStandingsUseCase'; -import { GetLeagueStatsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueStatsUseCase'; -import { GetLeagueFullConfigUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueFullConfigUseCase'; -import { CreateLeagueWithSeasonAndScoringUseCase } from '@gridpilot/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; -import { GetRaceProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetRaceProtestsUseCase'; -import { GetTotalLeaguesUseCase } from '@gridpilot/racing/application/use-cases/GetTotalLeaguesUseCase'; -import { GetLeagueJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; -import { ApproveLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; -import { RejectLeagueJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; -import { RemoveLeagueMemberUseCase } from '@gridpilot/racing/application/use-cases/RemoveLeagueMemberUseCase'; -import { UpdateLeagueMemberRoleUseCase } from '@gridpilot/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; -import { GetLeagueOwnerSummaryUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; -import { GetLeagueProtestsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueProtestsUseCase'; -import { GetLeagueSeasonsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueSeasonsUseCase'; -import { GetLeagueMembershipsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueMembershipsUseCase'; -import { GetLeagueScheduleUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueScheduleUseCase'; -import { GetLeagueAdminPermissionsUseCase } from '@gridpilot/racing/application/use-cases/GetLeagueAdminPermissionsUseCase'; +import { GetAllLeaguesWithCapacityUseCase } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase'; +import { GetLeagueStandingsUseCase } from '@core/racing/application/use-cases/GetLeagueStandingsUseCase'; +import { GetLeagueStatsUseCase } from '@core/racing/application/use-cases/GetLeagueStatsUseCase'; +import { GetLeagueFullConfigUseCase } from '@core/racing/application/use-cases/GetLeagueFullConfigUseCase'; +import { CreateLeagueWithSeasonAndScoringUseCase } from '@core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase'; +import { GetRaceProtestsUseCase } from '@core/racing/application/use-cases/GetRaceProtestsUseCase'; +import { GetTotalLeaguesUseCase } from '@core/racing/application/use-cases/GetTotalLeaguesUseCase'; +import { GetLeagueJoinRequestsUseCase } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; +import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; +import { RejectLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; +import { RemoveLeagueMemberUseCase } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase'; +import { UpdateLeagueMemberRoleUseCase } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; +import { GetLeagueOwnerSummaryUseCase } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase'; +import { GetLeagueProtestsUseCase } from '@core/racing/application/use-cases/GetLeagueProtestsUseCase'; +import { GetLeagueSeasonsUseCase } from '@core/racing/application/use-cases/GetLeagueSeasonsUseCase'; +import { GetLeagueMembershipsUseCase } from '@core/racing/application/use-cases/GetLeagueMembershipsUseCase'; +import { GetLeagueScheduleUseCase } from '@core/racing/application/use-cases/GetLeagueScheduleUseCase'; +import { GetLeagueAdminPermissionsUseCase } from '@core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase'; // API Presenters import { LeagueStandingsPresenter } from './presenters/LeagueStandingsPresenter'; diff --git a/apps/api/src/modules/league/presenters/AllLeaguesWithCapacityPresenter.ts b/apps/api/src/modules/league/presenters/AllLeaguesWithCapacityPresenter.ts index b676f5bae..272834920 100644 --- a/apps/api/src/modules/league/presenters/AllLeaguesWithCapacityPresenter.ts +++ b/apps/api/src/modules/league/presenters/AllLeaguesWithCapacityPresenter.ts @@ -1,4 +1,4 @@ -import { IAllLeaguesWithCapacityPresenter, AllLeaguesWithCapacityResultDTO, AllLeaguesWithCapacityViewModel } from '@gridpilot/racing/application/presenters/IAllLeaguesWithCapacityPresenter'; +import { IAllLeaguesWithCapacityPresenter, AllLeaguesWithCapacityResultDTO, AllLeaguesWithCapacityViewModel } from '@core/racing/application/presenters/IAllLeaguesWithCapacityPresenter'; export class AllLeaguesWithCapacityPresenter implements IAllLeaguesWithCapacityPresenter { private result: AllLeaguesWithCapacityViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter.ts b/apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter.ts index d0d84d95c..a2f46d6da 100644 --- a/apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter.ts +++ b/apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter.ts @@ -1,4 +1,4 @@ -import { IApproveLeagueJoinRequestPresenter, ApproveLeagueJoinRequestResultDTO, ApproveLeagueJoinRequestViewModel } from '@gridpilot/racing/application/presenters/IApproveLeagueJoinRequestPresenter'; +import { IApproveLeagueJoinRequestPresenter, ApproveLeagueJoinRequestResultDTO, ApproveLeagueJoinRequestViewModel } from '@core/racing/application/presenters/IApproveLeagueJoinRequestPresenter'; export class ApproveLeagueJoinRequestPresenter implements IApproveLeagueJoinRequestPresenter { private result: ApproveLeagueJoinRequestViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/GetLeagueAdminPermissionsPresenter.ts b/apps/api/src/modules/league/presenters/GetLeagueAdminPermissionsPresenter.ts index 4e913f4ae..df2a8105c 100644 --- a/apps/api/src/modules/league/presenters/GetLeagueAdminPermissionsPresenter.ts +++ b/apps/api/src/modules/league/presenters/GetLeagueAdminPermissionsPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueAdminPermissionsPresenter, GetLeagueAdminPermissionsResultDTO, GetLeagueAdminPermissionsViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueAdminPermissionsPresenter'; +import { IGetLeagueAdminPermissionsPresenter, GetLeagueAdminPermissionsResultDTO, GetLeagueAdminPermissionsViewModel } from '@core/racing/application/presenters/IGetLeagueAdminPermissionsPresenter'; export class GetLeagueAdminPermissionsPresenter implements IGetLeagueAdminPermissionsPresenter { private result: GetLeagueAdminPermissionsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/GetLeagueMembershipsPresenter.ts b/apps/api/src/modules/league/presenters/GetLeagueMembershipsPresenter.ts index 5006a1ccc..0d1573ade 100644 --- a/apps/api/src/modules/league/presenters/GetLeagueMembershipsPresenter.ts +++ b/apps/api/src/modules/league/presenters/GetLeagueMembershipsPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueMembershipsPresenter, GetLeagueMembershipsResultDTO, GetLeagueMembershipsViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueMembershipsPresenter'; +import { IGetLeagueMembershipsPresenter, GetLeagueMembershipsResultDTO, GetLeagueMembershipsViewModel } from '@core/racing/application/presenters/IGetLeagueMembershipsPresenter'; import { LeagueMembershipsViewModel } from '../dto/LeagueDto'; export class GetLeagueMembershipsPresenter implements IGetLeagueMembershipsPresenter { diff --git a/apps/api/src/modules/league/presenters/GetLeagueOwnerSummaryPresenter.ts b/apps/api/src/modules/league/presenters/GetLeagueOwnerSummaryPresenter.ts index 95adbe070..0d56b0a8d 100644 --- a/apps/api/src/modules/league/presenters/GetLeagueOwnerSummaryPresenter.ts +++ b/apps/api/src/modules/league/presenters/GetLeagueOwnerSummaryPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueOwnerSummaryPresenter, GetLeagueOwnerSummaryResultDTO, GetLeagueOwnerSummaryViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueOwnerSummaryPresenter'; +import { IGetLeagueOwnerSummaryPresenter, GetLeagueOwnerSummaryResultDTO, GetLeagueOwnerSummaryViewModel } from '@core/racing/application/presenters/IGetLeagueOwnerSummaryPresenter'; export class GetLeagueOwnerSummaryPresenter implements IGetLeagueOwnerSummaryPresenter { private result: GetLeagueOwnerSummaryViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/GetLeagueProtestsPresenter.ts b/apps/api/src/modules/league/presenters/GetLeagueProtestsPresenter.ts index 66f909947..c5f873db5 100644 --- a/apps/api/src/modules/league/presenters/GetLeagueProtestsPresenter.ts +++ b/apps/api/src/modules/league/presenters/GetLeagueProtestsPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueProtestsPresenter, GetLeagueProtestsResultDTO, GetLeagueProtestsViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueProtestsPresenter'; +import { IGetLeagueProtestsPresenter, GetLeagueProtestsResultDTO, GetLeagueProtestsViewModel } from '@core/racing/application/presenters/IGetLeagueProtestsPresenter'; export class GetLeagueProtestsPresenter implements IGetLeagueProtestsPresenter { private result: GetLeagueProtestsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/GetLeagueSeasonsPresenter.ts b/apps/api/src/modules/league/presenters/GetLeagueSeasonsPresenter.ts index 323fe50be..442505586 100644 --- a/apps/api/src/modules/league/presenters/GetLeagueSeasonsPresenter.ts +++ b/apps/api/src/modules/league/presenters/GetLeagueSeasonsPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueSeasonsPresenter, GetLeagueSeasonsResultDTO, GetLeagueSeasonsViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueSeasonsPresenter'; +import { IGetLeagueSeasonsPresenter, GetLeagueSeasonsResultDTO, GetLeagueSeasonsViewModel } from '@core/racing/application/presenters/IGetLeagueSeasonsPresenter'; export class GetLeagueSeasonsPresenter implements IGetLeagueSeasonsPresenter { private result: GetLeagueSeasonsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/LeagueConfigPresenter.ts b/apps/api/src/modules/league/presenters/LeagueConfigPresenter.ts index 19622701b..207b1aa4f 100644 --- a/apps/api/src/modules/league/presenters/LeagueConfigPresenter.ts +++ b/apps/api/src/modules/league/presenters/LeagueConfigPresenter.ts @@ -1,4 +1,4 @@ -import { ILeagueFullConfigPresenter, LeagueFullConfigData, LeagueConfigFormViewModel } from '@gridpilot/racing/application/presenters/ILeagueFullConfigPresenter'; +import { ILeagueFullConfigPresenter, LeagueFullConfigData, LeagueConfigFormViewModel } from '@core/racing/application/presenters/ILeagueFullConfigPresenter'; import { LeagueConfigFormModelDto } from '../dto/LeagueDto'; export class LeagueConfigPresenter implements ILeagueFullConfigPresenter { diff --git a/apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter.ts b/apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter.ts index 0dda51067..6ee5396a9 100644 --- a/apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter.ts +++ b/apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueJoinRequestsPresenter, GetLeagueJoinRequestsResultDTO, GetLeagueJoinRequestsViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueJoinRequestsPresenter'; +import { IGetLeagueJoinRequestsPresenter, GetLeagueJoinRequestsResultDTO, GetLeagueJoinRequestsViewModel } from '@core/racing/application/presenters/IGetLeagueJoinRequestsPresenter'; export class LeagueJoinRequestsPresenter implements IGetLeagueJoinRequestsPresenter { private result: GetLeagueJoinRequestsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/LeagueSchedulePresenter.ts b/apps/api/src/modules/league/presenters/LeagueSchedulePresenter.ts index dc0212d4d..a1d937d7a 100644 --- a/apps/api/src/modules/league/presenters/LeagueSchedulePresenter.ts +++ b/apps/api/src/modules/league/presenters/LeagueSchedulePresenter.ts @@ -1,4 +1,4 @@ -import { IGetLeagueSchedulePresenter, GetLeagueScheduleResultDTO, LeagueScheduleViewModel } from '@gridpilot/racing/application/presenters/IGetLeagueSchedulePresenter'; +import { IGetLeagueSchedulePresenter, GetLeagueScheduleResultDTO, LeagueScheduleViewModel } from '@core/racing/application/presenters/IGetLeagueSchedulePresenter'; export class LeagueSchedulePresenter implements IGetLeagueSchedulePresenter { private result: LeagueScheduleViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/LeagueStandingsPresenter.ts b/apps/api/src/modules/league/presenters/LeagueStandingsPresenter.ts index fc02d5762..04aa147d9 100644 --- a/apps/api/src/modules/league/presenters/LeagueStandingsPresenter.ts +++ b/apps/api/src/modules/league/presenters/LeagueStandingsPresenter.ts @@ -1,4 +1,4 @@ -import { ILeagueStandingsPresenter, LeagueStandingsResultDTO, LeagueStandingsViewModel } from '@gridpilot/racing/application/presenters/ILeagueStandingsPresenter'; +import { ILeagueStandingsPresenter, LeagueStandingsResultDTO, LeagueStandingsViewModel } from '@core/racing/application/presenters/ILeagueStandingsPresenter'; export class LeagueStandingsPresenter implements ILeagueStandingsPresenter { private result: LeagueStandingsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/LeagueStatsPresenter.ts b/apps/api/src/modules/league/presenters/LeagueStatsPresenter.ts index fb965e553..8a1311d67 100644 --- a/apps/api/src/modules/league/presenters/LeagueStatsPresenter.ts +++ b/apps/api/src/modules/league/presenters/LeagueStatsPresenter.ts @@ -1,4 +1,4 @@ -import { ILeagueStatsPresenter, LeagueStatsResultDTO, LeagueStatsViewModel } from '@gridpilot/racing/application/presenters/ILeagueStatsPresenter'; +import { ILeagueStatsPresenter, LeagueStatsResultDTO, LeagueStatsViewModel } from '@core/racing/application/presenters/ILeagueStatsPresenter'; export class LeagueStatsPresenter implements ILeagueStatsPresenter { private result: LeagueStatsViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter.ts b/apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter.ts index 570d35785..685fc6c29 100644 --- a/apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter.ts +++ b/apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter.ts @@ -1,4 +1,4 @@ -import { IRejectLeagueJoinRequestPresenter, RejectLeagueJoinRequestResultDTO, RejectLeagueJoinRequestViewModel } from '@gridpilot/racing/application/presenters/IRejectLeagueJoinRequestPresenter'; +import { IRejectLeagueJoinRequestPresenter, RejectLeagueJoinRequestResultDTO, RejectLeagueJoinRequestViewModel } from '@core/racing/application/presenters/IRejectLeagueJoinRequestPresenter'; export class RejectLeagueJoinRequestPresenter implements IRejectLeagueJoinRequestPresenter { private result: RejectLeagueJoinRequestViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter.ts b/apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter.ts index e330053e6..9e819fc87 100644 --- a/apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter.ts +++ b/apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter.ts @@ -1,4 +1,4 @@ -import { IRemoveLeagueMemberPresenter, RemoveLeagueMemberResultDTO, RemoveLeagueMemberViewModel } from '@gridpilot/racing/application/presenters/IRemoveLeagueMemberPresenter'; +import { IRemoveLeagueMemberPresenter, RemoveLeagueMemberResultDTO, RemoveLeagueMemberViewModel } from '@core/racing/application/presenters/IRemoveLeagueMemberPresenter'; export class RemoveLeagueMemberPresenter implements IRemoveLeagueMemberPresenter { private result: RemoveLeagueMemberViewModel | null = null; diff --git a/apps/api/src/modules/league/presenters/TotalLeaguesPresenter.ts b/apps/api/src/modules/league/presenters/TotalLeaguesPresenter.ts index bce8c354a..6e831ad7b 100644 --- a/apps/api/src/modules/league/presenters/TotalLeaguesPresenter.ts +++ b/apps/api/src/modules/league/presenters/TotalLeaguesPresenter.ts @@ -1,4 +1,4 @@ -import { IGetTotalLeaguesPresenter, GetTotalLeaguesResultDTO, GetTotalLeaguesViewModel } from '@gridpilot/racing/application/presenters/IGetTotalLeaguesPresenter'; +import { IGetTotalLeaguesPresenter, GetTotalLeaguesResultDTO, GetTotalLeaguesViewModel } from '@core/racing/application/presenters/IGetTotalLeaguesPresenter'; import { LeagueStatsDto } from '../dto/LeagueDto'; export class TotalLeaguesPresenter implements IGetTotalLeaguesPresenter { diff --git a/apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter.ts b/apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter.ts index dea709e24..6a520d339 100644 --- a/apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter.ts +++ b/apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter.ts @@ -1,4 +1,4 @@ -import { IUpdateLeagueMemberRolePresenter, UpdateLeagueMemberRoleResultDTO, UpdateLeagueMemberRoleViewModel } from '@gridpilot/racing/application/presenters/IUpdateLeagueMemberRolePresenter'; +import { IUpdateLeagueMemberRolePresenter, UpdateLeagueMemberRoleResultDTO, UpdateLeagueMemberRoleViewModel } from '@core/racing/application/presenters/IUpdateLeagueMemberRolePresenter'; export class UpdateLeagueMemberRolePresenter implements IUpdateLeagueMemberRolePresenter { private result: UpdateLeagueMemberRoleViewModel | null = null; diff --git a/apps/api/src/modules/media/MediaProviders.ts b/apps/api/src/modules/media/MediaProviders.ts index eedecec68..4ca7f10d3 100644 --- a/apps/api/src/modules/media/MediaProviders.ts +++ b/apps/api/src/modules/media/MediaProviders.ts @@ -2,13 +2,13 @@ import { Provider } from '@nestjs/common'; import { MediaService } from './MediaService'; // Import core interfaces -import { IAvatarGenerationRepository } from '@gridpilot/media/domain/repositories/IAvatarGenerationRepository'; -import { FaceValidationPort } from '@gridpilot/media/application/ports/FaceValidationPort'; -import { AvatarGenerationPort } from '@gridpilot/media/application/ports/AvatarGenerationPort'; -import { Logger } from '@gridpilot/shared/application'; +import { IAvatarGenerationRepository } from '@core/media/domain/repositories/IAvatarGenerationRepository'; +import { FaceValidationPort } from '@core/media/application/ports/FaceValidationPort'; +import { AvatarGenerationPort } from '@core/media/application/ports/AvatarGenerationPort'; +import { Logger } from '@core/shared/application'; // Import use cases -import { RequestAvatarGenerationUseCase } from '@gridpilot/media/application/use-cases/RequestAvatarGenerationUseCase'; +import { RequestAvatarGenerationUseCase } from '@core/media/application/use-cases/RequestAvatarGenerationUseCase'; // Define injection tokens export const AVATAR_GENERATION_REPOSITORY_TOKEN = 'IAvatarGenerationRepository'; diff --git a/apps/api/src/modules/media/MediaService.ts b/apps/api/src/modules/media/MediaService.ts index 9baf15c97..58800b05a 100644 --- a/apps/api/src/modules/media/MediaService.ts +++ b/apps/api/src/modules/media/MediaService.ts @@ -2,14 +2,14 @@ import { Injectable, Inject } from '@nestjs/common'; import { RequestAvatarGenerationInput, RequestAvatarGenerationOutput } from './dto/MediaDto'; // Use cases -import { RequestAvatarGenerationUseCase } from '@gridpilot/media/application/use-cases/RequestAvatarGenerationUseCase'; +import { RequestAvatarGenerationUseCase } from '@core/media/application/use-cases/RequestAvatarGenerationUseCase'; // Presenters import { RequestAvatarGenerationPresenter } from './presenters/RequestAvatarGenerationPresenter'; // Tokens import { REQUEST_AVATAR_GENERATION_USE_CASE_TOKEN, LOGGER_TOKEN } from './MediaProviders'; -import { Logger } from '@gridpilot/shared/application'; +import { Logger } from '@core/shared/application'; @Injectable() export class MediaService { diff --git a/apps/api/src/modules/media/presenters/RequestAvatarGenerationPresenter.ts b/apps/api/src/modules/media/presenters/RequestAvatarGenerationPresenter.ts index 84858a490..7d252106a 100644 --- a/apps/api/src/modules/media/presenters/RequestAvatarGenerationPresenter.ts +++ b/apps/api/src/modules/media/presenters/RequestAvatarGenerationPresenter.ts @@ -1,5 +1,5 @@ import { RequestAvatarGenerationOutput } from '../dto/MediaDto'; -import type { IRequestAvatarGenerationPresenter, RequestAvatarGenerationResultDTO } from '@gridpilot/media/application/presenters/IRequestAvatarGenerationPresenter'; +import type { IRequestAvatarGenerationPresenter, RequestAvatarGenerationResultDTO } from '@core/media/application/presenters/IRequestAvatarGenerationPresenter'; export class RequestAvatarGenerationPresenter implements IRequestAvatarGenerationPresenter { private result: RequestAvatarGenerationOutput | null = null; diff --git a/apps/api/src/modules/payments/PaymentsProviders.ts b/apps/api/src/modules/payments/PaymentsProviders.ts index 6680af0d0..8142204d2 100644 --- a/apps/api/src/modules/payments/PaymentsProviders.ts +++ b/apps/api/src/modules/payments/PaymentsProviders.ts @@ -2,32 +2,32 @@ import { Provider } from '@nestjs/common'; import { PaymentsService } from './PaymentsService'; // Import core interfaces -import type { IPaymentRepository } from '@gridpilot/payments/domain/repositories/IPaymentRepository'; -import type { IMembershipFeeRepository, IMemberPaymentRepository } from '@gridpilot/payments/domain/repositories/IMembershipFeeRepository'; -import type { IPrizeRepository } from '@gridpilot/payments/domain/repositories/IPrizeRepository'; -import type { IWalletRepository, ITransactionRepository } from '@gridpilot/payments/domain/repositories/IWalletRepository'; -import type { Logger } from '@gridpilot/shared/application/Logger'; +import type { IPaymentRepository } from '@core/payments/domain/repositories/IPaymentRepository'; +import type { IMembershipFeeRepository, IMemberPaymentRepository } from '@core/payments/domain/repositories/IMembershipFeeRepository'; +import type { IPrizeRepository } from '@core/payments/domain/repositories/IPrizeRepository'; +import type { IWalletRepository, ITransactionRepository } from '@core/payments/domain/repositories/IWalletRepository'; +import type { Logger } from '@core/shared/application/Logger'; // Import use cases -import { GetPaymentsUseCase } from '@gridpilot/payments/application/use-cases/GetPaymentsUseCase'; -import { CreatePaymentUseCase } from '@gridpilot/payments/application/use-cases/CreatePaymentUseCase'; -import { UpdatePaymentStatusUseCase } from '@gridpilot/payments/application/use-cases/UpdatePaymentStatusUseCase'; -import { GetMembershipFeesUseCase } from '@gridpilot/payments/application/use-cases/GetMembershipFeesUseCase'; -import { UpsertMembershipFeeUseCase } from '@gridpilot/payments/application/use-cases/UpsertMembershipFeeUseCase'; -import { UpdateMemberPaymentUseCase } from '@gridpilot/payments/application/use-cases/UpdateMemberPaymentUseCase'; -import { GetPrizesUseCase } from '@gridpilot/payments/application/use-cases/GetPrizesUseCase'; -import { CreatePrizeUseCase } from '@gridpilot/payments/application/use-cases/CreatePrizeUseCase'; -import { AwardPrizeUseCase } from '@gridpilot/payments/application/use-cases/AwardPrizeUseCase'; -import { DeletePrizeUseCase } from '@gridpilot/payments/application/use-cases/DeletePrizeUseCase'; -import { GetWalletUseCase } from '@gridpilot/payments/application/use-cases/GetWalletUseCase'; -import { ProcessWalletTransactionUseCase } from '@gridpilot/payments/application/use-cases/ProcessWalletTransactionUseCase'; +import { GetPaymentsUseCase } from '@core/payments/application/use-cases/GetPaymentsUseCase'; +import { CreatePaymentUseCase } from '@core/payments/application/use-cases/CreatePaymentUseCase'; +import { UpdatePaymentStatusUseCase } from '@core/payments/application/use-cases/UpdatePaymentStatusUseCase'; +import { GetMembershipFeesUseCase } from '@core/payments/application/use-cases/GetMembershipFeesUseCase'; +import { UpsertMembershipFeeUseCase } from '@core/payments/application/use-cases/UpsertMembershipFeeUseCase'; +import { UpdateMemberPaymentUseCase } from '@core/payments/application/use-cases/UpdateMemberPaymentUseCase'; +import { GetPrizesUseCase } from '@core/payments/application/use-cases/GetPrizesUseCase'; +import { CreatePrizeUseCase } from '@core/payments/application/use-cases/CreatePrizeUseCase'; +import { AwardPrizeUseCase } from '@core/payments/application/use-cases/AwardPrizeUseCase'; +import { DeletePrizeUseCase } from '@core/payments/application/use-cases/DeletePrizeUseCase'; +import { GetWalletUseCase } from '@core/payments/application/use-cases/GetWalletUseCase'; +import { ProcessWalletTransactionUseCase } from '@core/payments/application/use-cases/ProcessWalletTransactionUseCase'; // Import concrete in-memory implementations import { InMemoryPaymentRepository } from '/payments/persistence/inmemory/InMemoryPaymentRepository'; import { InMemoryMembershipFeeRepository, InMemoryMemberPaymentRepository } from '/payments/persistence/inmemory/InMemoryMembershipFeeRepository'; import { InMemoryPrizeRepository } from '/payments/persistence/inmemory/InMemoryPrizeRepository'; import { InMemoryWalletRepository, InMemoryTransactionRepository } from '/payments/persistence/inmemory/InMemoryWalletRepository'; -import { ConsoleLogger } from '/logging/ConsoleLogger'; +import { ConsoleLogger } from '@adapters/logging/ConsoleLogger'; // Repository injection tokens export const PAYMENT_REPOSITORY_TOKEN = 'IPaymentRepository'; diff --git a/apps/api/src/modules/payments/PaymentsService.ts b/apps/api/src/modules/payments/PaymentsService.ts index 6a940c795..e7e7b9da1 100644 --- a/apps/api/src/modules/payments/PaymentsService.ts +++ b/apps/api/src/modules/payments/PaymentsService.ts @@ -1,19 +1,19 @@ import { Injectable, Inject } from '@nestjs/common'; -import type { Logger } from '@gridpilot/shared/application/Logger'; +import type { Logger } from '@core/shared/application/Logger'; // Use cases -import type { GetPaymentsUseCase } from '@gridpilot/payments/application/use-cases/GetPaymentsUseCase'; -import type { CreatePaymentUseCase } from '@gridpilot/payments/application/use-cases/CreatePaymentUseCase'; -import type { UpdatePaymentStatusUseCase } from '@gridpilot/payments/application/use-cases/UpdatePaymentStatusUseCase'; -import type { GetMembershipFeesUseCase } from '@gridpilot/payments/application/use-cases/GetMembershipFeesUseCase'; -import type { UpsertMembershipFeeUseCase } from '@gridpilot/payments/application/use-cases/UpsertMembershipFeeUseCase'; -import type { UpdateMemberPaymentUseCase } from '@gridpilot/payments/application/use-cases/UpdateMemberPaymentUseCase'; -import type { GetPrizesUseCase } from '@gridpilot/payments/application/use-cases/GetPrizesUseCase'; -import type { CreatePrizeUseCase } from '@gridpilot/payments/application/use-cases/CreatePrizeUseCase'; -import type { AwardPrizeUseCase } from '@gridpilot/payments/application/use-cases/AwardPrizeUseCase'; -import type { DeletePrizeUseCase } from '@gridpilot/payments/application/use-cases/DeletePrizeUseCase'; -import type { GetWalletUseCase } from '@gridpilot/payments/application/use-cases/GetWalletUseCase'; -import type { ProcessWalletTransactionUseCase } from '@gridpilot/payments/application/use-cases/ProcessWalletTransactionUseCase'; +import type { GetPaymentsUseCase } from '@core/payments/application/use-cases/GetPaymentsUseCase'; +import type { CreatePaymentUseCase } from '@core/payments/application/use-cases/CreatePaymentUseCase'; +import type { UpdatePaymentStatusUseCase } from '@core/payments/application/use-cases/UpdatePaymentStatusUseCase'; +import type { GetMembershipFeesUseCase } from '@core/payments/application/use-cases/GetMembershipFeesUseCase'; +import type { UpsertMembershipFeeUseCase } from '@core/payments/application/use-cases/UpsertMembershipFeeUseCase'; +import type { UpdateMemberPaymentUseCase } from '@core/payments/application/use-cases/UpdateMemberPaymentUseCase'; +import type { GetPrizesUseCase } from '@core/payments/application/use-cases/GetPrizesUseCase'; +import type { CreatePrizeUseCase } from '@core/payments/application/use-cases/CreatePrizeUseCase'; +import type { AwardPrizeUseCase } from '@core/payments/application/use-cases/AwardPrizeUseCase'; +import type { DeletePrizeUseCase } from '@core/payments/application/use-cases/DeletePrizeUseCase'; +import type { GetWalletUseCase } from '@core/payments/application/use-cases/GetWalletUseCase'; +import type { ProcessWalletTransactionUseCase } from '@core/payments/application/use-cases/ProcessWalletTransactionUseCase'; // Presenters import { GetPaymentsPresenter } from './presenters/GetPaymentsPresenter'; diff --git a/apps/api/src/modules/payments/presenters/AwardPrizePresenter.ts b/apps/api/src/modules/payments/presenters/AwardPrizePresenter.ts index b113d6df5..d0d47c48a 100644 --- a/apps/api/src/modules/payments/presenters/AwardPrizePresenter.ts +++ b/apps/api/src/modules/payments/presenters/AwardPrizePresenter.ts @@ -2,7 +2,7 @@ import type { IAwardPrizePresenter, AwardPrizeResultDTO, AwardPrizeViewModel, -} from '@gridpilot/payments/application/presenters/IAwardPrizePresenter'; +} from '@core/payments/application/presenters/IAwardPrizePresenter'; export class AwardPrizePresenter implements IAwardPrizePresenter { private result: AwardPrizeViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/CreatePaymentPresenter.ts b/apps/api/src/modules/payments/presenters/CreatePaymentPresenter.ts index 73a98fa5a..f22a7e59b 100644 --- a/apps/api/src/modules/payments/presenters/CreatePaymentPresenter.ts +++ b/apps/api/src/modules/payments/presenters/CreatePaymentPresenter.ts @@ -2,7 +2,7 @@ import type { ICreatePaymentPresenter, CreatePaymentResultDTO, CreatePaymentViewModel, -} from '@gridpilot/payments/application/presenters/ICreatePaymentPresenter'; +} from '@core/payments/application/presenters/ICreatePaymentPresenter'; export class CreatePaymentPresenter implements ICreatePaymentPresenter { private result: CreatePaymentViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/CreatePrizePresenter.ts b/apps/api/src/modules/payments/presenters/CreatePrizePresenter.ts index c1e0105bb..749eecf0f 100644 --- a/apps/api/src/modules/payments/presenters/CreatePrizePresenter.ts +++ b/apps/api/src/modules/payments/presenters/CreatePrizePresenter.ts @@ -2,7 +2,7 @@ import type { ICreatePrizePresenter, CreatePrizeResultDTO, CreatePrizeViewModel, -} from '@gridpilot/payments/application/presenters/ICreatePrizePresenter'; +} from '@core/payments/application/presenters/ICreatePrizePresenter'; export class CreatePrizePresenter implements ICreatePrizePresenter { private result: CreatePrizeViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/DeletePrizePresenter.ts b/apps/api/src/modules/payments/presenters/DeletePrizePresenter.ts index a6abc3d1b..351fe359d 100644 --- a/apps/api/src/modules/payments/presenters/DeletePrizePresenter.ts +++ b/apps/api/src/modules/payments/presenters/DeletePrizePresenter.ts @@ -2,7 +2,7 @@ import type { IDeletePrizePresenter, DeletePrizeResultDTO, DeletePrizeViewModel, -} from '@gridpilot/payments/application/presenters/IDeletePrizePresenter'; +} from '@core/payments/application/presenters/IDeletePrizePresenter'; export class DeletePrizePresenter implements IDeletePrizePresenter { private result: DeletePrizeViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/GetMembershipFeesPresenter.ts b/apps/api/src/modules/payments/presenters/GetMembershipFeesPresenter.ts index 2010d8fa9..c9bcee5a8 100644 --- a/apps/api/src/modules/payments/presenters/GetMembershipFeesPresenter.ts +++ b/apps/api/src/modules/payments/presenters/GetMembershipFeesPresenter.ts @@ -2,7 +2,7 @@ import type { IGetMembershipFeesPresenter, GetMembershipFeesResultDTO, GetMembershipFeesViewModel, -} from '@gridpilot/payments/application/presenters/IGetMembershipFeesPresenter'; +} from '@core/payments/application/presenters/IGetMembershipFeesPresenter'; export class GetMembershipFeesPresenter implements IGetMembershipFeesPresenter { private result: GetMembershipFeesViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/GetPaymentsPresenter.ts b/apps/api/src/modules/payments/presenters/GetPaymentsPresenter.ts index 9619d2331..786c52b7b 100644 --- a/apps/api/src/modules/payments/presenters/GetPaymentsPresenter.ts +++ b/apps/api/src/modules/payments/presenters/GetPaymentsPresenter.ts @@ -2,7 +2,7 @@ import type { IGetPaymentsPresenter, GetPaymentsResultDTO, GetPaymentsViewModel, -} from '@gridpilot/payments/application/presenters/IGetPaymentsPresenter'; +} from '@core/payments/application/presenters/IGetPaymentsPresenter'; export class GetPaymentsPresenter implements IGetPaymentsPresenter { private result: GetPaymentsViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/GetPrizesPresenter.ts b/apps/api/src/modules/payments/presenters/GetPrizesPresenter.ts index 05fb4c3fb..1e8b94446 100644 --- a/apps/api/src/modules/payments/presenters/GetPrizesPresenter.ts +++ b/apps/api/src/modules/payments/presenters/GetPrizesPresenter.ts @@ -2,7 +2,7 @@ import type { IGetPrizesPresenter, GetPrizesResultDTO, GetPrizesViewModel, -} from '@gridpilot/payments/application/presenters/IGetPrizesPresenter'; +} from '@core/payments/application/presenters/IGetPrizesPresenter'; export class GetPrizesPresenter implements IGetPrizesPresenter { private result: GetPrizesViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/GetWalletPresenter.ts b/apps/api/src/modules/payments/presenters/GetWalletPresenter.ts index 016b526f3..f79f0bbb7 100644 --- a/apps/api/src/modules/payments/presenters/GetWalletPresenter.ts +++ b/apps/api/src/modules/payments/presenters/GetWalletPresenter.ts @@ -2,7 +2,7 @@ import type { IGetWalletPresenter, GetWalletResultDTO, GetWalletViewModel, -} from '@gridpilot/payments/application/presenters/IGetWalletPresenter'; +} from '@core/payments/application/presenters/IGetWalletPresenter'; export class GetWalletPresenter implements IGetWalletPresenter { private result: GetWalletViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/ProcessWalletTransactionPresenter.ts b/apps/api/src/modules/payments/presenters/ProcessWalletTransactionPresenter.ts index 004cc4eeb..58b62dd0b 100644 --- a/apps/api/src/modules/payments/presenters/ProcessWalletTransactionPresenter.ts +++ b/apps/api/src/modules/payments/presenters/ProcessWalletTransactionPresenter.ts @@ -2,7 +2,7 @@ import type { IProcessWalletTransactionPresenter, ProcessWalletTransactionResultDTO, ProcessWalletTransactionViewModel, -} from '@gridpilot/payments/application/presenters/IProcessWalletTransactionPresenter'; +} from '@core/payments/application/presenters/IProcessWalletTransactionPresenter'; export class ProcessWalletTransactionPresenter implements IProcessWalletTransactionPresenter { private result: ProcessWalletTransactionViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/UpdateMemberPaymentPresenter.ts b/apps/api/src/modules/payments/presenters/UpdateMemberPaymentPresenter.ts index d8173c3b0..8d2bcd54e 100644 --- a/apps/api/src/modules/payments/presenters/UpdateMemberPaymentPresenter.ts +++ b/apps/api/src/modules/payments/presenters/UpdateMemberPaymentPresenter.ts @@ -2,7 +2,7 @@ import type { IUpdateMemberPaymentPresenter, UpdateMemberPaymentResultDTO, UpdateMemberPaymentViewModel, -} from '@gridpilot/payments/application/presenters/IUpdateMemberPaymentPresenter'; +} from '@core/payments/application/presenters/IUpdateMemberPaymentPresenter'; export class UpdateMemberPaymentPresenter implements IUpdateMemberPaymentPresenter { private result: UpdateMemberPaymentViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/UpdatePaymentStatusPresenter.ts b/apps/api/src/modules/payments/presenters/UpdatePaymentStatusPresenter.ts index 1b386c962..ff6699902 100644 --- a/apps/api/src/modules/payments/presenters/UpdatePaymentStatusPresenter.ts +++ b/apps/api/src/modules/payments/presenters/UpdatePaymentStatusPresenter.ts @@ -2,7 +2,7 @@ import type { IUpdatePaymentStatusPresenter, UpdatePaymentStatusResultDTO, UpdatePaymentStatusViewModel, -} from '@gridpilot/payments/application/presenters/IUpdatePaymentStatusPresenter'; +} from '@core/payments/application/presenters/IUpdatePaymentStatusPresenter'; export class UpdatePaymentStatusPresenter implements IUpdatePaymentStatusPresenter { private result: UpdatePaymentStatusViewModel | null = null; diff --git a/apps/api/src/modules/payments/presenters/UpsertMembershipFeePresenter.ts b/apps/api/src/modules/payments/presenters/UpsertMembershipFeePresenter.ts index aa205e1b8..2f8232b9f 100644 --- a/apps/api/src/modules/payments/presenters/UpsertMembershipFeePresenter.ts +++ b/apps/api/src/modules/payments/presenters/UpsertMembershipFeePresenter.ts @@ -2,7 +2,7 @@ import type { IUpsertMembershipFeePresenter, UpsertMembershipFeeResultDTO, UpsertMembershipFeeViewModel, -} from '@gridpilot/payments/application/presenters/IUpsertMembershipFeePresenter'; +} from '@core/payments/application/presenters/IUpsertMembershipFeePresenter'; export class UpsertMembershipFeePresenter implements IUpsertMembershipFeePresenter { private result: UpsertMembershipFeeViewModel | null = null; diff --git a/apps/api/src/modules/race/RaceProviders.ts b/apps/api/src/modules/race/RaceProviders.ts index da61c4d2f..7bef53ef2 100644 --- a/apps/api/src/modules/race/RaceProviders.ts +++ b/apps/api/src/modules/race/RaceProviders.ts @@ -2,19 +2,19 @@ import { Provider } from '@nestjs/common'; import { RaceService } from './RaceService'; // Import core interfaces -import { Logger } from '@gridpilot/shared/application/Logger'; -import { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; +import { Logger } from '@core/shared/application/Logger'; +import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; // Import concrete in-memory implementations -import { InMemoryRaceRepository } from '/racing/persistence/inmemory/InMemoryRaceRepository'; -import { InMemoryLeagueRepository } from '/racing/persistence/inmemory/InMemoryLeagueRepository'; -import { ConsoleLogger } from '/logging/ConsoleLogger'; +import { InMemoryRaceRepository } from '@adapters/racing/persistence/inmemory/InMemoryRaceRepository'; +import { InMemoryLeagueRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueRepository'; +import { ConsoleLogger } from '@adapters/logging/ConsoleLogger'; // Import use cases -import { GetAllRacesUseCase } from '@gridpilot/racing/application/use-cases/GetAllRacesUseCase'; -import { GetTotalRacesUseCase } from '@gridpilot/racing/application/use-cases/GetTotalRacesUseCase'; -import { ImportRaceResultsApiUseCase } from '@gridpilot/racing/application/use-cases/ImportRaceResultsApiUseCase'; +import { GetAllRacesUseCase } from '@core/racing/application/use-cases/GetAllRacesUseCase'; +import { GetTotalRacesUseCase } from '@core/racing/application/use-cases/GetTotalRacesUseCase'; +import { ImportRaceResultsApiUseCase } from '@core/racing/application/use-cases/ImportRaceResultsApiUseCase'; // Define injection tokens export const RACE_REPOSITORY_TOKEN = 'IRaceRepository'; diff --git a/apps/api/src/modules/race/RaceService.ts b/apps/api/src/modules/race/RaceService.ts index 0b278efb0..139d09266 100644 --- a/apps/api/src/modules/race/RaceService.ts +++ b/apps/api/src/modules/race/RaceService.ts @@ -2,12 +2,12 @@ import { Injectable, Inject } from '@nestjs/common'; import { AllRacesPageViewModel, RaceStatsDto, ImportRaceResultsInput, ImportRaceResultsSummaryViewModel } from './dto/RaceDto'; // Core imports -import { Logger } from '@gridpilot/shared/application/Logger'; +import { Logger } from '@core/shared/application/Logger'; // Use cases -import { GetAllRacesUseCase } from '@gridpilot/racing/application/use-cases/GetAllRacesUseCase'; -import { GetTotalRacesUseCase } from '@gridpilot/racing/application/use-cases/GetTotalRacesUseCase'; -import { ImportRaceResultsApiUseCase } from '@gridpilot/racing/application/use-cases/ImportRaceResultsApiUseCase'; +import { GetAllRacesUseCase } from '@core/racing/application/use-cases/GetAllRacesUseCase'; +import { GetTotalRacesUseCase } from '@core/racing/application/use-cases/GetTotalRacesUseCase'; +import { ImportRaceResultsApiUseCase } from '@core/racing/application/use-cases/ImportRaceResultsApiUseCase'; // Presenters import { GetAllRacesPresenter } from './presenters/GetAllRacesPresenter'; diff --git a/apps/api/src/modules/race/presenters/GetAllRacesPresenter.ts b/apps/api/src/modules/race/presenters/GetAllRacesPresenter.ts index effb534ba..3e3843598 100644 --- a/apps/api/src/modules/race/presenters/GetAllRacesPresenter.ts +++ b/apps/api/src/modules/race/presenters/GetAllRacesPresenter.ts @@ -1,4 +1,4 @@ -import { IGetAllRacesPresenter, GetAllRacesResultDTO, AllRacesPageViewModel } from '@gridpilot/racing/application/presenters/IGetAllRacesPresenter'; +import { IGetAllRacesPresenter, GetAllRacesResultDTO, AllRacesPageViewModel } from '@core/racing/application/presenters/IGetAllRacesPresenter'; export class GetAllRacesPresenter implements IGetAllRacesPresenter { private result: AllRacesPageViewModel | null = null; diff --git a/apps/api/src/modules/race/presenters/GetTotalRacesPresenter.ts b/apps/api/src/modules/race/presenters/GetTotalRacesPresenter.ts index 3c28a3d90..ebae5c1a9 100644 --- a/apps/api/src/modules/race/presenters/GetTotalRacesPresenter.ts +++ b/apps/api/src/modules/race/presenters/GetTotalRacesPresenter.ts @@ -1,4 +1,4 @@ -import { IGetTotalRacesPresenter, GetTotalRacesResultDTO } from '@gridpilot/racing/application/presenters/IGetTotalRacesPresenter'; +import { IGetTotalRacesPresenter, GetTotalRacesResultDTO } from '@core/racing/application/presenters/IGetTotalRacesPresenter'; import { RaceStatsDto } from '../dto/RaceDto'; export class GetTotalRacesPresenter implements IGetTotalRacesPresenter { diff --git a/apps/api/src/modules/race/presenters/ImportRaceResultsApiPresenter.ts b/apps/api/src/modules/race/presenters/ImportRaceResultsApiPresenter.ts index d214e6e2a..21f4c43b2 100644 --- a/apps/api/src/modules/race/presenters/ImportRaceResultsApiPresenter.ts +++ b/apps/api/src/modules/race/presenters/ImportRaceResultsApiPresenter.ts @@ -1,4 +1,4 @@ -import { IImportRaceResultsApiPresenter, ImportRaceResultsApiResultDTO, ImportRaceResultsSummaryViewModel } from '@gridpilot/racing/application/presenters/IImportRaceResultsApiPresenter'; +import { IImportRaceResultsApiPresenter, ImportRaceResultsApiResultDTO, ImportRaceResultsSummaryViewModel } from '@core/racing/application/presenters/IImportRaceResultsApiPresenter'; export class ImportRaceResultsApiPresenter implements IImportRaceResultsApiPresenter { private result: ImportRaceResultsSummaryViewModel | null = null; diff --git a/apps/api/src/modules/sponsor/SponsorProviders.ts b/apps/api/src/modules/sponsor/SponsorProviders.ts index fdd353108..c098e6a9c 100644 --- a/apps/api/src/modules/sponsor/SponsorProviders.ts +++ b/apps/api/src/modules/sponsor/SponsorProviders.ts @@ -2,34 +2,34 @@ import { Provider } from '@nestjs/common'; import { SponsorService } from './SponsorService'; // Import core interfaces -import { ISponsorRepository } from '@gridpilot/racing/domain/repositories/ISponsorRepository'; -import { ISeasonSponsorshipRepository } from '@gridpilot/racing/domain/repositories/ISeasonSponsorshipRepository'; -import { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; -import { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import { ISponsorshipPricingRepository } from '@gridpilot/racing/domain/repositories/ISponsorshipPricingRepository'; -import { ISponsorshipRequestRepository } from '@gridpilot/racing/domain/repositories/ISponsorshipRequestRepository'; -import { Logger } from '@gridpilot/shared/application'; +import { ISponsorRepository } from '@core/racing/domain/repositories/ISponsorRepository'; +import { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/ISeasonSponsorshipRepository'; +import { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/ISponsorshipPricingRepository'; +import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/ISponsorshipRequestRepository'; +import { Logger } from '@core/shared/application'; // Import use cases -import { GetSponsorshipPricingUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorshipPricingUseCase'; -import { GetSponsorsUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorsUseCase'; -import { CreateSponsorUseCase } from '@gridpilot/racing/application/use-cases/CreateSponsorUseCase'; -import { GetSponsorDashboardUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorDashboardUseCase'; -import { GetSponsorSponsorshipsUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; -import { GetEntitySponsorshipPricingUseCase } from '@gridpilot/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; +import { GetSponsorshipPricingUseCase } from '@core/racing/application/use-cases/GetSponsorshipPricingUseCase'; +import { GetSponsorsUseCase } from '@core/racing/application/use-cases/GetSponsorsUseCase'; +import { CreateSponsorUseCase } from '@core/racing/application/use-cases/CreateSponsorUseCase'; +import { GetSponsorDashboardUseCase } from '@core/racing/application/use-cases/GetSponsorDashboardUseCase'; +import { GetSponsorSponsorshipsUseCase } from '@core/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; +import { GetEntitySponsorshipPricingUseCase } from '@core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; // Import concrete in-memory implementations -import { InMemorySponsorRepository } from '/racing/persistence/inmemory/InMemorySponsorRepository'; -import { InMemorySeasonSponsorshipRepository } from '/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository'; -import { InMemorySeasonRepository } from '/racing/persistence/inmemory/InMemorySeasonRepository'; -import { InMemoryLeagueRepository } from '/racing/persistence/inmemory/InMemoryLeagueRepository'; -import { InMemoryLeagueMembershipRepository } from '/racing/persistence/inmemory/InMemoryLeagueMembershipRepository'; -import { InMemoryRaceRepository } from '/racing/persistence/inmemory/InMemoryRaceRepository'; -import { InMemorySponsorshipPricingRepository } from '/racing/persistence/inmemory/InMemorySponsorshipPricingRepository'; -import { InMemorySponsorshipRequestRepository } from '/racing/persistence/inmemory/InMemorySponsorshipRequestRepository'; -import { ConsoleLogger } from '/logging/ConsoleLogger'; +import { InMemorySponsorRepository } from '@adapters/racing/persistence/inmemory/InMemorySponsorRepository'; +import { InMemorySeasonSponsorshipRepository } from '@adapters/racing/persistence/inmemory/InMemorySeasonSponsorshipRepository'; +import { InMemorySeasonRepository } from '@adapters/racing/persistence/inmemory/InMemorySeasonRepository'; +import { InMemoryLeagueRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueRepository'; +import { InMemoryLeagueMembershipRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueMembershipRepository'; +import { InMemoryRaceRepository } from '@adapters/racing/persistence/inmemory/InMemoryRaceRepository'; +import { InMemorySponsorshipPricingRepository } from '@adapters/racing/persistence/inmemory/InMemorySponsorshipPricingRepository'; +import { InMemorySponsorshipRequestRepository } from '@adapters/racing/persistence/inmemory/InMemorySponsorshipRequestRepository'; +import { ConsoleLogger } from '@adapters/logging/ConsoleLogger'; // Define injection tokens export const SPONSOR_REPOSITORY_TOKEN = 'ISponsorRepository'; diff --git a/apps/api/src/modules/sponsor/SponsorService.ts b/apps/api/src/modules/sponsor/SponsorService.ts index a0684365a..7f2f7c70b 100644 --- a/apps/api/src/modules/sponsor/SponsorService.ts +++ b/apps/api/src/modules/sponsor/SponsorService.ts @@ -2,11 +2,11 @@ import { Injectable, Inject } from '@nestjs/common'; import { GetEntitySponsorshipPricingResultDto, GetSponsorsOutput, CreateSponsorInput, CreateSponsorOutput, GetSponsorDashboardQueryParams, SponsorDashboardDTO, GetSponsorSponsorshipsQueryParams, SponsorSponsorshipsDTO, SponsorDto, SponsorDashboardMetricsDTO, SponsoredLeagueDTO, SponsorDashboardInvestmentDTO, SponsorshipDetailDTO } from './dto/SponsorDto'; // Use cases -import { GetSponsorshipPricingUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorshipPricingUseCase'; -import { GetSponsorsUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorsUseCase'; -import { CreateSponsorUseCase } from '@gridpilot/racing/application/use-cases/CreateSponsorUseCase'; -import { GetSponsorDashboardUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorDashboardUseCase'; -import { GetSponsorSponsorshipsUseCase } from '@gridpilot/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; +import { GetSponsorshipPricingUseCase } from '@core/racing/application/use-cases/GetSponsorshipPricingUseCase'; +import { GetSponsorsUseCase } from '@core/racing/application/use-cases/GetSponsorsUseCase'; +import { CreateSponsorUseCase } from '@core/racing/application/use-cases/CreateSponsorUseCase'; +import { GetSponsorDashboardUseCase } from '@core/racing/application/use-cases/GetSponsorDashboardUseCase'; +import { GetSponsorSponsorshipsUseCase } from '@core/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; // Presenters import { GetSponsorshipPricingPresenter } from './presenters/GetSponsorshipPricingPresenter'; @@ -17,7 +17,7 @@ import { GetSponsorSponsorshipsPresenter } from './presenters/GetSponsorSponsors // Tokens import { GET_SPONSORSHIP_PRICING_USE_CASE_TOKEN, GET_SPONSORS_USE_CASE_TOKEN, CREATE_SPONSOR_USE_CASE_TOKEN, GET_SPONSOR_DASHBOARD_USE_CASE_TOKEN, GET_SPONSOR_SPONSORSHIPS_USE_CASE_TOKEN, LOGGER_TOKEN } from './SponsorProviders'; -import { Logger } from '@gridpilot/shared/application'; +import { Logger } from '@core/shared/application'; @Injectable() export class SponsorService { diff --git a/apps/api/src/modules/sponsor/presenters/CreateSponsorPresenter.ts b/apps/api/src/modules/sponsor/presenters/CreateSponsorPresenter.ts index 544c7dd4c..d7384fd1a 100644 --- a/apps/api/src/modules/sponsor/presenters/CreateSponsorPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/CreateSponsorPresenter.ts @@ -1,4 +1,4 @@ -import { CreateSponsorViewModel, CreateSponsorResultDTO, ICreateSponsorPresenter } from '@gridpilot/racing/application/presenters/ICreateSponsorPresenter'; +import { CreateSponsorViewModel, CreateSponsorResultDTO, ICreateSponsorPresenter } from '@core/racing/application/presenters/ICreateSponsorPresenter'; export class CreateSponsorPresenter implements ICreateSponsorPresenter { private result: CreateSponsorViewModel | null = null; diff --git a/apps/api/src/modules/sponsor/presenters/GetEntitySponsorshipPricingPresenter.ts b/apps/api/src/modules/sponsor/presenters/GetEntitySponsorshipPricingPresenter.ts index 23ae599af..d8935645f 100644 --- a/apps/api/src/modules/sponsor/presenters/GetEntitySponsorshipPricingPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/GetEntitySponsorshipPricingPresenter.ts @@ -1,5 +1,5 @@ -import type { GetEntitySponsorshipPricingResultDTO } from '@gridpilot/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; -import type { IEntitySponsorshipPricingPresenter } from '@gridpilot/racing/application/presenters/IEntitySponsorshipPricingPresenter'; +import type { GetEntitySponsorshipPricingResultDTO } from '@core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; +import type { IEntitySponsorshipPricingPresenter } from '@core/racing/application/presenters/IEntitySponsorshipPricingPresenter'; export class GetEntitySponsorshipPricingPresenter implements IEntitySponsorshipPricingPresenter { private result: GetEntitySponsorshipPricingResultDTO | null = null; diff --git a/apps/api/src/modules/sponsor/presenters/GetSponsorDashboardPresenter.ts b/apps/api/src/modules/sponsor/presenters/GetSponsorDashboardPresenter.ts index fe849bb5d..57dfa52c0 100644 --- a/apps/api/src/modules/sponsor/presenters/GetSponsorDashboardPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/GetSponsorDashboardPresenter.ts @@ -1,5 +1,5 @@ -import type { SponsorDashboardDTO } from '@gridpilot/racing/application/use-cases/GetSponsorDashboardUseCase'; -import type { ISponsorDashboardPresenter, SponsorDashboardViewModel } from '@gridpilot/racing/application/presenters/ISponsorDashboardPresenter'; +import type { SponsorDashboardDTO } from '@core/racing/application/use-cases/GetSponsorDashboardUseCase'; +import type { ISponsorDashboardPresenter, SponsorDashboardViewModel } from '@core/racing/application/presenters/ISponsorDashboardPresenter'; export class GetSponsorDashboardPresenter implements ISponsorDashboardPresenter { private result: SponsorDashboardViewModel | null = null; diff --git a/apps/api/src/modules/sponsor/presenters/GetSponsorSponsorshipsPresenter.ts b/apps/api/src/modules/sponsor/presenters/GetSponsorSponsorshipsPresenter.ts index cb112af4e..28c1c0b62 100644 --- a/apps/api/src/modules/sponsor/presenters/GetSponsorSponsorshipsPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/GetSponsorSponsorshipsPresenter.ts @@ -1,5 +1,5 @@ -import type { SponsorSponsorshipsDTO } from '@gridpilot/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; -import type { ISponsorSponsorshipsPresenter, SponsorSponsorshipsViewModel } from '@gridpilot/racing/application/presenters/ISponsorSponsorshipsPresenter'; +import type { SponsorSponsorshipsDTO } from '@core/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; +import type { ISponsorSponsorshipsPresenter, SponsorSponsorshipsViewModel } from '@core/racing/application/presenters/ISponsorSponsorshipsPresenter'; export class GetSponsorSponsorshipsPresenter implements ISponsorSponsorshipsPresenter { private result: SponsorSponsorshipsViewModel | null = null; diff --git a/apps/api/src/modules/sponsor/presenters/GetSponsorsPresenter.ts b/apps/api/src/modules/sponsor/presenters/GetSponsorsPresenter.ts index 503ed6108..31e719a03 100644 --- a/apps/api/src/modules/sponsor/presenters/GetSponsorsPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/GetSponsorsPresenter.ts @@ -1,4 +1,4 @@ -import { GetSponsorsViewModel, GetSponsorsResultDTO, IGetSponsorsPresenter } from '@gridpilot/racing/application/presenters/IGetSponsorsPresenter'; +import { GetSponsorsViewModel, GetSponsorsResultDTO, IGetSponsorsPresenter } from '@core/racing/application/presenters/IGetSponsorsPresenter'; export class GetSponsorsPresenter implements IGetSponsorsPresenter { private result: GetSponsorsViewModel | null = null; diff --git a/apps/api/src/modules/sponsor/presenters/GetSponsorshipPricingPresenter.ts b/apps/api/src/modules/sponsor/presenters/GetSponsorshipPricingPresenter.ts index 564e7609f..169758521 100644 --- a/apps/api/src/modules/sponsor/presenters/GetSponsorshipPricingPresenter.ts +++ b/apps/api/src/modules/sponsor/presenters/GetSponsorshipPricingPresenter.ts @@ -1,4 +1,4 @@ -import { GetSponsorshipPricingViewModel, GetSponsorshipPricingResultDTO, IGetSponsorshipPricingPresenter } from '@gridpilot/racing/application/presenters/IGetSponsorshipPricingPresenter'; +import { GetSponsorshipPricingViewModel, GetSponsorshipPricingResultDTO, IGetSponsorshipPricingPresenter } from '@core/racing/application/presenters/IGetSponsorshipPricingPresenter'; export class GetSponsorshipPricingPresenter implements IGetSponsorshipPricingPresenter { private result: GetSponsorshipPricingViewModel | null = null; diff --git a/apps/api/src/modules/team/TeamProviders.ts b/apps/api/src/modules/team/TeamProviders.ts index 4cff7d8ec..1aa270f19 100644 --- a/apps/api/src/modules/team/TeamProviders.ts +++ b/apps/api/src/modules/team/TeamProviders.ts @@ -2,28 +2,28 @@ import { Provider } from '@nestjs/common'; import { TeamService } from './TeamService'; // Import core interfaces -import { ITeamRepository } from '@gridpilot/racing/domain/repositories/ITeamRepository'; -import { ITeamMembershipRepository } from '@gridpilot/racing/domain/repositories/ITeamMembershipRepository'; -import { IDriverRepository } from '@gridpilot/racing/domain/repositories/IDriverRepository'; -import { IImageServicePort } from '@gridpilot/racing/application/ports/IImageServicePort'; -import { Logger } from '@gridpilot/shared/application/Logger'; +import { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository'; +import { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import { IImageServicePort } from '@core/racing/application/ports/IImageServicePort'; +import { Logger } from '@core/shared/application/Logger'; // Import concrete in-memory implementations -import { InMemoryTeamRepository } from '/racing/persistence/inmemory/InMemoryTeamRepository'; -import { InMemoryTeamMembershipRepository } from '/racing/persistence/inmemory/InMemoryTeamMembershipRepository'; -import { InMemoryDriverRepository } from '/racing/persistence/inmemory/InMemoryDriverRepository'; -import { ConsoleLogger } from '/logging/ConsoleLogger'; +import { InMemoryTeamRepository } from '@adapters/racing/persistence/inmemory/InMemoryTeamRepository'; +import { InMemoryTeamMembershipRepository } from '@adapters/racing/persistence/inmemory/InMemoryTeamMembershipRepository'; +import { InMemoryDriverRepository } from '@adapters/racing/persistence/inmemory/InMemoryDriverRepository'; +import { ConsoleLogger } from '@adapters/logging/ConsoleLogger'; // Import use cases -import { GetAllTeamsUseCase } from '@gridpilot/racing/application/use-cases/GetAllTeamsUseCase'; -import { GetDriverTeamUseCase } from '@gridpilot/racing/application/use-cases/GetDriverTeamUseCase'; -import { GetTeamDetailsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamDetailsUseCase'; -import { GetTeamMembersUseCase } from '@gridpilot/racing/application/use-cases/GetTeamMembersUseCase'; -import { GetTeamJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamJoinRequestsUseCase'; -import { CreateTeamUseCase } from '@gridpilot/racing/application/use-cases/CreateTeamUseCase'; -import { UpdateTeamUseCase } from '@gridpilot/racing/application/use-cases/UpdateTeamUseCase'; -import { ApproveTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; -import { RejectTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectTeamJoinRequestUseCase'; +import { GetAllTeamsUseCase } from '@core/racing/application/use-cases/GetAllTeamsUseCase'; +import { GetDriverTeamUseCase } from '@core/racing/application/use-cases/GetDriverTeamUseCase'; +import { GetTeamDetailsUseCase } from '@core/racing/application/use-cases/GetTeamDetailsUseCase'; +import { GetTeamMembersUseCase } from '@core/racing/application/use-cases/GetTeamMembersUseCase'; +import { GetTeamJoinRequestsUseCase } from '@core/racing/application/use-cases/GetTeamJoinRequestsUseCase'; +import { CreateTeamUseCase } from '@core/racing/application/use-cases/CreateTeamUseCase'; +import { UpdateTeamUseCase } from '@core/racing/application/use-cases/UpdateTeamUseCase'; +import { ApproveTeamJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; +import { RejectTeamJoinRequestUseCase } from '@core/racing/application/use-cases/RejectTeamJoinRequestUseCase'; // Import presenters for use case initialization import { DriverTeamPresenter } from './presenters/DriverTeamPresenter'; diff --git a/apps/api/src/modules/team/TeamService.spec.ts b/apps/api/src/modules/team/TeamService.spec.ts index 085fbc913..57d0112c4 100644 --- a/apps/api/src/modules/team/TeamService.spec.ts +++ b/apps/api/src/modules/team/TeamService.spec.ts @@ -1,8 +1,8 @@ import { Test, TestingModule } from '@nestjs/testing'; import { TeamService } from './TeamService'; -import { GetAllTeamsUseCase } from '@gridpilot/racing/application/use-cases/GetAllTeamsUseCase'; -import { GetDriverTeamUseCase } from '@gridpilot/racing/application/use-cases/GetDriverTeamUseCase'; -import { Logger } from '@gridpilot/shared/application/Logger'; +import { GetAllTeamsUseCase } from '@core/racing/application/use-cases/GetAllTeamsUseCase'; +import { GetDriverTeamUseCase } from '@core/racing/application/use-cases/GetDriverTeamUseCase'; +import { Logger } from '@core/shared/application/Logger'; import { AllTeamsPresenter } from './presenters/AllTeamsPresenter'; import { DriverTeamPresenter } from './presenters/DriverTeamPresenter'; import { AllTeamsViewModel, DriverTeamViewModel, GetDriverTeamQuery } from './dto/TeamDto'; diff --git a/apps/api/src/modules/team/TeamService.ts b/apps/api/src/modules/team/TeamService.ts index 2c0f64717..f17c7059e 100644 --- a/apps/api/src/modules/team/TeamService.ts +++ b/apps/api/src/modules/team/TeamService.ts @@ -2,15 +2,15 @@ import { Injectable, Inject } from '@nestjs/common'; import { AllTeamsViewModel, GetDriverTeamQuery, DriverTeamViewModel, TeamDetailsViewModel, TeamMembersViewModel, TeamJoinRequestsViewModel, CreateTeamInput, CreateTeamOutput, UpdateTeamInput, UpdateTeamOutput, ApproveTeamJoinRequestInput, ApproveTeamJoinRequestOutput, RejectTeamJoinRequestInput, RejectTeamJoinRequestOutput } from './dto/TeamDto'; // Use cases -import { GetAllTeamsUseCase } from '@gridpilot/racing/application/use-cases/GetAllTeamsUseCase'; -import { GetDriverTeamUseCase } from '@gridpilot/racing/application/use-cases/GetDriverTeamUseCase'; -import { GetTeamDetailsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamDetailsUseCase'; -import { GetTeamMembersUseCase } from '@gridpilot/racing/application/use-cases/GetTeamMembersUseCase'; -import { GetTeamJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamJoinRequestsUseCase'; -import { CreateTeamUseCase } from '@gridpilot/racing/application/use-cases/CreateTeamUseCase'; -import { UpdateTeamUseCase } from '@gridpilot/racing/application/use-cases/UpdateTeamUseCase'; -import { ApproveTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; -import { RejectTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectTeamJoinRequestUseCase'; +import { GetAllTeamsUseCase } from '@core/racing/application/use-cases/GetAllTeamsUseCase'; +import { GetDriverTeamUseCase } from '@core/racing/application/use-cases/GetDriverTeamUseCase'; +import { GetTeamDetailsUseCase } from '@core/racing/application/use-cases/GetTeamDetailsUseCase'; +import { GetTeamMembersUseCase } from '@core/racing/application/use-cases/GetTeamMembersUseCase'; +import { GetTeamJoinRequestsUseCase } from '@core/racing/application/use-cases/GetTeamJoinRequestsUseCase'; +import { CreateTeamUseCase } from '@core/racing/application/use-cases/CreateTeamUseCase'; +import { UpdateTeamUseCase } from '@core/racing/application/use-cases/UpdateTeamUseCase'; +import { ApproveTeamJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; +import { RejectTeamJoinRequestUseCase } from '@core/racing/application/use-cases/RejectTeamJoinRequestUseCase'; // Presenters import { AllTeamsPresenter } from './presenters/AllTeamsPresenter'; @@ -20,7 +20,7 @@ import { TeamMembersPresenter } from './presenters/TeamMembersPresenter'; import { TeamJoinRequestsPresenter } from './presenters/TeamJoinRequestsPresenter'; // Logger -import { Logger } from '@gridpilot/shared/application/Logger'; +import { Logger } from '@core/shared/application/Logger'; // Tokens import { diff --git a/apps/api/src/modules/team/presenters/AllTeamsPresenter.ts b/apps/api/src/modules/team/presenters/AllTeamsPresenter.ts index 59f7ba13e..16e81781c 100644 --- a/apps/api/src/modules/team/presenters/AllTeamsPresenter.ts +++ b/apps/api/src/modules/team/presenters/AllTeamsPresenter.ts @@ -1,4 +1,4 @@ -import { IAllTeamsPresenter, AllTeamsResultDTO, AllTeamsViewModel, TeamListItemViewModel } from '@gridpilot/racing/application/presenters/IAllTeamsPresenter'; +import { IAllTeamsPresenter, AllTeamsResultDTO, AllTeamsViewModel, TeamListItemViewModel } from '@core/racing/application/presenters/IAllTeamsPresenter'; export class AllTeamsPresenter implements IAllTeamsPresenter { private result: AllTeamsViewModel | null = null; diff --git a/apps/api/src/modules/team/presenters/DriverTeamPresenter.ts b/apps/api/src/modules/team/presenters/DriverTeamPresenter.ts index 55703cb60..90b5f6e2d 100644 --- a/apps/api/src/modules/team/presenters/DriverTeamPresenter.ts +++ b/apps/api/src/modules/team/presenters/DriverTeamPresenter.ts @@ -1,4 +1,4 @@ -import { IDriverTeamPresenter, DriverTeamResultDTO, DriverTeamViewModel } from '@gridpilot/racing/application/presenters/IDriverTeamPresenter'; +import { IDriverTeamPresenter, DriverTeamResultDTO, DriverTeamViewModel } from '@core/racing/application/presenters/IDriverTeamPresenter'; export class DriverTeamPresenter implements IDriverTeamPresenter { private result: DriverTeamViewModel | null = null; diff --git a/apps/api/src/modules/team/presenters/TeamDetailsPresenter.ts b/apps/api/src/modules/team/presenters/TeamDetailsPresenter.ts index b53e3521c..cc083bdde 100644 --- a/apps/api/src/modules/team/presenters/TeamDetailsPresenter.ts +++ b/apps/api/src/modules/team/presenters/TeamDetailsPresenter.ts @@ -2,7 +2,7 @@ import { ITeamDetailsPresenter, TeamDetailsResultDTO, TeamDetailsViewModel, -} from '@gridpilot/racing/application/presenters/ITeamDetailsPresenter'; +} from '@core/racing/application/presenters/ITeamDetailsPresenter'; export class TeamDetailsPresenter implements ITeamDetailsPresenter { private result: TeamDetailsViewModel | null = null; diff --git a/apps/api/src/modules/team/presenters/TeamJoinRequestsPresenter.ts b/apps/api/src/modules/team/presenters/TeamJoinRequestsPresenter.ts index 29c8cb509..9d3ca3d46 100644 --- a/apps/api/src/modules/team/presenters/TeamJoinRequestsPresenter.ts +++ b/apps/api/src/modules/team/presenters/TeamJoinRequestsPresenter.ts @@ -3,7 +3,7 @@ import { TeamJoinRequestsResultDTO, TeamJoinRequestsViewModel, TeamJoinRequestViewModel, -} from '@gridpilot/racing/application/presenters/ITeamJoinRequestsPresenter'; +} from '@core/racing/application/presenters/ITeamJoinRequestsPresenter'; export class TeamJoinRequestsPresenter implements ITeamJoinRequestsPresenter { private result: TeamJoinRequestsViewModel | null = null; diff --git a/apps/api/src/modules/team/presenters/TeamMembersPresenter.ts b/apps/api/src/modules/team/presenters/TeamMembersPresenter.ts index 461ec41cb..6c1a4f8c2 100644 --- a/apps/api/src/modules/team/presenters/TeamMembersPresenter.ts +++ b/apps/api/src/modules/team/presenters/TeamMembersPresenter.ts @@ -3,7 +3,7 @@ import { TeamMembersResultDTO, TeamMembersViewModel, TeamMemberViewModel, -} from '@gridpilot/racing/application/presenters/ITeamMembersPresenter'; +} from '@core/racing/application/presenters/ITeamMembersPresenter'; export class TeamMembersPresenter implements ITeamMembersPresenter { private result: TeamMembersViewModel | null = null; diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json index a9e4226b2..9888c05e5 100644 --- a/apps/api/tsconfig.json +++ b/apps/api/tsconfig.json @@ -20,6 +20,7 @@ "assumeChangesOnlyAffectDirectDependencies": true, "noEmit": false, "declaration": true, + "declarationMap": true, "removeComments": true, "sourceMap": true, "outDir": "./dist", @@ -28,56 +29,12 @@ "types": ["node", "express", "jest"], "strictPropertyInitialization": false, "paths": { - "@core/shared/*": [ - "../../core/shared/*" - ], - "@core/shared/application/*": [ - "../../core/shared/application/*" - ], - "@core/payments/*": [ - "../../core/payments/*" - ], - "@core/payments/application/*": [ - "../../core/payments/application/*" - ], - "@core/payments/domain/*": [ - "../../core/payments/domain/*" - ], - "@core/racing/*": [ - "../../core/racing/*" - ], - "@core/league/*": [ - "../../core/league/*" - ], - "@core/analytics/*": [ - "../../core/analytics/*" - ], - "@core/analytics/domain/repositories/*": [ - "../../core/analytics/domain/repositories/*" - ], - "@core/analytics/domain/entities/*": [ - "../../core/analytics/domain/entities/*" - ], - "@core/core/identity/domain/repositories/*": [ - "../../core/identity/domain/repositories/*" - ], - "@core/core/identity/domain/services/*": [ - "../../core/identity/domain/services/*" - ], - "@core/core/identity/domain/entities/*": [ - "../../core/identity/domain/entities/*" - ], - "@core/core/shared/logging/*": [ - "../../core/shared/logging/*" - ], - "@adapters/*": [ - "../../adapters/*" - ], - "@nestjs/testing": [ - "./node_modules/@nestjs/testing" - ] + "@/*": ["./*"], + "@core/*": ["../../core/*"], + "@adapters/*": ["../../adapters/*"], + "@testing/*": ["../../testing/*"] } }, "include": ["src/**/*"], - "exclude": ["node_modules", "dist", "**/*.mock.ts"] + "exclude": ["node_modules", "dist", "**/*.mock.ts", "**/*.spec.ts", "**/*.test.ts"] } diff --git a/apps/companion/main/di-config.ts b/apps/companion/main/di-config.ts index 5e6b0b188..4962f51c5 100644 --- a/apps/companion/main/di-config.ts +++ b/apps/companion/main/di-config.ts @@ -5,40 +5,40 @@ import * as path from 'path'; import * as os from 'os'; // Domain & Application -import type { SessionRepositoryPort } from '@gridpilot/automation/application/ports/SessionRepositoryPort'; -import type { IBrowserAutomation } from '@gridpilot/automation/application/ports/ScreenAutomationPort'; -import type { AutomationEnginePort } from '@gridpilot/automation/application/ports/AutomationEnginePort'; -import type { AuthenticationServicePort } from '@gridpilot/automation/application/ports/AuthenticationServicePort'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; -import type { OverlaySyncPort } from '@gridpilot/automation/application/ports/OverlaySyncPort'; -import type { CheckoutServicePort } from '@gridpilot/automation/application/ports/CheckoutServicePort'; -import { StartAutomationSessionUseCase } from '@gridpilot/automation/application/use-cases/StartAutomationSessionUseCase'; -import { CheckAuthenticationUseCase } from '@gridpilot/automation/application/use-cases/CheckAuthenticationUseCase'; -import { InitiateLoginUseCase } from '@gridpilot/automation/application/use-cases/InitiateLoginUseCase'; -import { ClearSessionUseCase } from '@gridpilot/automation/application/use-cases/ClearSessionUseCase'; -import { ConfirmCheckoutUseCase } from '@gridpilot/automation/application/use-cases/ConfirmCheckoutUseCase'; -import { OverlaySyncService } from '@gridpilot/automation/application/services/OverlaySyncService'; -import type { IAutomationLifecycleEmitter } from '@gridpilot/automation/infrastructure//IAutomationLifecycleEmitter'; +import type { SessionRepositoryPort } from '@core/automation/application/ports/SessionRepositoryPort'; +import type { IBrowserAutomation } from '@core/automation/application/ports/ScreenAutomationPort'; +import type { AutomationEnginePort } from '@core/automation/application/ports/AutomationEnginePort'; +import type { AuthenticationServicePort } from '@core/automation/application/ports/AuthenticationServicePort'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; +import type { OverlaySyncPort } from '@core/automation/application/ports/OverlaySyncPort'; +import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort'; +import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase'; +import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase'; +import { InitiateLoginUseCase } from '@core/automation/application/use-cases/InitiateLoginUseCase'; +import { ClearSessionUseCase } from '@core/automation/application/use-cases/ClearSessionUseCase'; +import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase'; +import { OverlaySyncService } from '@core/automation/application/services/OverlaySyncService'; +import type { IAutomationLifecycleEmitter } from '@core/automation/infrastructure//IAutomationLifecycleEmitter'; // Infrastructure -import { InMemorySessionRepository } from '@gridpilot/automation/infrastructure/repositories/InMemorySessionRepository'; +import { InMemorySessionRepository } from '@core/automation/infrastructure/repositories/InMemorySessionRepository'; import { MockBrowserAutomationAdapter, PlaywrightAutomationAdapter, AutomationAdapterMode, FixtureServer, -} from '@gridpilot/automation/infrastructure//automation'; -import { MockAutomationEngineAdapter } from '@gridpilot/automation/infrastructure//automation/engine/MockAutomationEngineAdapter'; -import { AutomationEngineAdapter } from '@gridpilot/automation/infrastructure//automation/engine/AutomationEngineAdapter'; -import { ConsoleLogAdapter } from '@gridpilot/automation/infrastructure//logging/ConsoleLogAdapter'; -import { NoOpLogAdapter } from '@gridpilot/automation/infrastructure//logging/NoOpLogAdapter'; +} from '@core/automation/infrastructure//automation'; +import { MockAutomationEngineAdapter } from '@core/automation/infrastructure//automation/engine/MockAutomationEngineAdapter'; +import { AutomationEngineAdapter } from '@core/automation/infrastructure//automation/engine/AutomationEngineAdapter'; +import { ConsoleLogAdapter } from '@core/automation/infrastructure//logging/ConsoleLogAdapter'; +import { NoOpLogAdapter } from '@core/automation/infrastructure//logging/NoOpLogAdapter'; import { loadAutomationConfig, getAutomationMode, AutomationMode, BrowserModeConfigLoader, -} from '@gridpilot/automation/infrastructure/config'; -import { loadLoggingConfig } from '@gridpilot/automation/infrastructure/config/LoggingConfig'; +} from '@core/automation/infrastructure/config'; +import { loadLoggingConfig } from '@core/automation/infrastructure/config/LoggingConfig'; // Electron app safe wrapper let electronApp: { diff --git a/apps/companion/main/di-container.ts b/apps/companion/main/di-container.ts index 1d7867f3b..5449aa0c3 100644 --- a/apps/companion/main/di-container.ts +++ b/apps/companion/main/di-container.ts @@ -1,21 +1,21 @@ import 'reflect-metadata'; import { configureDIContainer, resetDIContainer, getDIContainer, resolveSessionDataPath, resolveTemplatePath } from './di-config'; import { DI_TOKENS } from './di-tokens'; -import { PlaywrightAutomationAdapter, FixtureServer } from '@gridpilot/automation/infrastructure//automation'; -import { StartAutomationSessionUseCase } from '@gridpilot/automation/application/use-cases/StartAutomationSessionUseCase'; -import { CheckAuthenticationUseCase } from '@gridpilot/automation/application/use-cases/CheckAuthenticationUseCase'; -import { InitiateLoginUseCase } from '@gridpilot/automation/application/use-cases/InitiateLoginUseCase'; -import { ClearSessionUseCase } from '@gridpilot/automation/application/use-cases/ClearSessionUseCase'; -import { ConfirmCheckoutUseCase } from '@gridpilot/automation/application/use-cases/ConfirmCheckoutUseCase'; -import { getAutomationMode, AutomationMode, BrowserModeConfigLoader } from '@gridpilot/automation/infrastructure/config'; -import type { SessionRepositoryPort } from '@gridpilot/automation/application/ports/SessionRepositoryPort'; -import type { IBrowserAutomation } from '@gridpilot/automation/application/ports/ScreenAutomationPort'; -import type { AutomationEnginePort } from '@gridpilot/automation/application/ports/AutomationEnginePort'; -import type { AuthenticationServicePort } from '@gridpilot/automation/application/ports/AuthenticationServicePort'; -import type { CheckoutConfirmationPort } from '@gridpilot/automation/application/ports/CheckoutConfirmationPort'; -import type { CheckoutServicePort } from '@gridpilot/automation/application/ports/CheckoutServicePort'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; -import type { OverlaySyncPort } from '@gridpilot/automation/application/ports/OverlaySyncPort'; +import { PlaywrightAutomationAdapter, FixtureServer } from '@core/automation/infrastructure//automation'; +import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase'; +import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase'; +import { InitiateLoginUseCase } from '@core/automation/application/use-cases/InitiateLoginUseCase'; +import { ClearSessionUseCase } from '@core/automation/application/use-cases/ClearSessionUseCase'; +import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase'; +import { getAutomationMode, AutomationMode, BrowserModeConfigLoader } from '@core/automation/infrastructure/config'; +import type { SessionRepositoryPort } from '@core/automation/application/ports/SessionRepositoryPort'; +import type { IBrowserAutomation } from '@core/automation/application/ports/ScreenAutomationPort'; +import type { AutomationEnginePort } from '@core/automation/application/ports/AutomationEnginePort'; +import type { AuthenticationServicePort } from '@core/automation/application/ports/AuthenticationServicePort'; +import type { CheckoutConfirmationPort } from '@core/automation/application/ports/CheckoutConfirmationPort'; +import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; +import type { OverlaySyncPort } from '@core/automation/application/ports/OverlaySyncPort'; // Re-export for backward compatibility export { resolveSessionDataPath, resolveTemplatePath }; diff --git a/apps/companion/renderer/components/SessionCreationForm.tsx b/apps/companion/renderer/components/SessionCreationForm.tsx index 12caae99a..fe84203e9 100644 --- a/apps/companion/renderer/components/SessionCreationForm.tsx +++ b/apps/companion/renderer/components/SessionCreationForm.tsx @@ -1,5 +1,5 @@ import React, { useState } from 'react'; -import type { HostedSessionConfig } from '../../../../core/automation/domain/types/HostedSessionConfig'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; interface SessionCreationFormProps { onSubmit: (config: HostedSessionConfig) => void; diff --git a/apps/website/app/dashboard/page.tsx b/apps/website/app/dashboard/page.tsx index 1c516a556..e39cbfd08 100644 --- a/apps/website/app/dashboard/page.tsx +++ b/apps/website/app/dashboard/page.tsx @@ -31,7 +31,7 @@ import { DashboardOverviewPresenter } from '@/lib/presenters/DashboardOverviewPr import type { DashboardOverviewViewModel, DashboardFeedItemSummaryViewModel, -} from '@gridpilot/racing/application/presenters/IDashboardOverviewPresenter'; +} from '@core/racing/application/presenters/IDashboardOverviewPresenter'; export const dynamic = 'force-dynamic'; diff --git a/apps/website/app/drivers/[id]/page.tsx b/apps/website/app/drivers/[id]/page.tsx index 4abdec222..ff54c64f2 100644 --- a/apps/website/app/drivers/[id]/page.tsx +++ b/apps/website/app/drivers/[id]/page.tsx @@ -45,14 +45,14 @@ import { } from '@/lib/di-container'; import { AllTeamsPresenter } from '@/lib/presenters/AllTeamsPresenter'; import { TeamMembersPresenter } from '@/lib/presenters/TeamMembersPresenter'; -import { Driver, EntityMappers, type Team } from '@gridpilot/racing'; -import type { DriverDTO } from '@gridpilot/racing'; -import type { ProfileOverviewViewModel } from '@gridpilot/racing/application/presenters/IProfileOverviewPresenter'; +import { Driver, EntityMappers, type Team } from '@core/racing'; +import type { DriverDTO } from '@core/racing'; +import type { ProfileOverviewViewModel } from '@core/racing/application/presenters/IProfileOverviewPresenter'; import Button from '@/components/ui/Button'; import Card from '@/components/ui/Card'; import Breadcrumbs from '@/components/layout/Breadcrumbs'; -import type { GetDriverTeamQueryResultDTO } from '@gridpilot/racing/application/dto/TeamCommandAndQueryDTO'; -import type { TeamMemberViewModel } from '@gridpilot/racing/application/presenters/ITeamMembersPresenter'; +import type { GetDriverTeamQueryResultDTO } from '@core/racing/application/dto/TeamCommandAndQueryDTO'; +import type { TeamMemberViewModel } from '@core/racing/application/presenters/ITeamMembersPresenter'; // ============================================================================ // TYPES diff --git a/apps/website/app/drivers/page.tsx b/apps/website/app/drivers/page.tsx index b2f5dfd54..39b099549 100644 --- a/apps/website/app/drivers/page.tsx +++ b/apps/website/app/drivers/page.tsx @@ -29,7 +29,7 @@ import Card from '@/components/ui/Card'; import Heading from '@/components/ui/Heading'; import { getGetDriversLeaderboardUseCase } from '@/lib/di-container'; import { DriversLeaderboardPresenter } from '@/lib/presenters/DriversLeaderboardPresenter'; -import type { DriverLeaderboardItemViewModel, SkillLevel } from '@gridpilot/racing/application/presenters/IDriversLeaderboardPresenter'; +import type { DriverLeaderboardItemViewModel, SkillLevel } from '@core/racing/application/presenters/IDriversLeaderboardPresenter'; import Image from 'next/image'; // ============================================================================ diff --git a/apps/website/app/leaderboards/drivers/page.tsx b/apps/website/app/leaderboards/drivers/page.tsx index 153d79fc3..3b02c4865 100644 --- a/apps/website/app/leaderboards/drivers/page.tsx +++ b/apps/website/app/leaderboards/drivers/page.tsx @@ -21,7 +21,7 @@ import Input from '@/components/ui/Input'; import Heading from '@/components/ui/Heading'; import { getGetDriversLeaderboardUseCase } from '@/lib/di-container'; import { DriversLeaderboardPresenter } from '@/lib/presenters/DriversLeaderboardPresenter'; -import type { DriverLeaderboardItemViewModel, SkillLevel } from '@gridpilot/racing/application/presenters/IDriversLeaderboardPresenter'; +import type { DriverLeaderboardItemViewModel, SkillLevel } from '@core/racing/application/presenters/IDriversLeaderboardPresenter'; import Image from 'next/image'; // ============================================================================ diff --git a/apps/website/app/leaderboards/page.tsx b/apps/website/app/leaderboards/page.tsx index 1c8a252b9..3df44de8d 100644 --- a/apps/website/app/leaderboards/page.tsx +++ b/apps/website/app/leaderboards/page.tsx @@ -23,8 +23,8 @@ import Heading from '@/components/ui/Heading'; import { getGetDriversLeaderboardUseCase, getGetTeamsLeaderboardUseCase } from '@/lib/di-container'; import { DriversLeaderboardPresenter } from '@/lib/presenters/DriversLeaderboardPresenter'; import { TeamsLeaderboardPresenter } from '@/lib/presenters/TeamsLeaderboardPresenter'; -import type { DriverLeaderboardItemViewModel, SkillLevel } from '@gridpilot/racing/application/presenters/IDriversLeaderboardPresenter'; -import type { TeamLeaderboardItemViewModel } from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter'; +import type { DriverLeaderboardItemViewModel, SkillLevel } from '@core/racing/application/presenters/IDriversLeaderboardPresenter'; +import type { TeamLeaderboardItemViewModel } from '@core/racing/application/presenters/ITeamsLeaderboardPresenter'; import Image from 'next/image'; // ============================================================================ diff --git a/apps/website/app/leagues/[id]/layout.tsx b/apps/website/app/leagues/[id]/layout.tsx index 2dfc987d3..ad0396adf 100644 --- a/apps/website/app/leagues/[id]/layout.tsx +++ b/apps/website/app/leagues/[id]/layout.tsx @@ -14,7 +14,7 @@ import { } from '@/lib/di-container'; import { useEffectiveDriverId } from '@/lib/currentDriver'; import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; -import type { League } from '@gridpilot/racing/domain/entities/League'; +import type { League } from '@core/racing/domain/entities/League'; // Main sponsor info for "by XYZ" display interface MainSponsorInfo { diff --git a/apps/website/app/leagues/[id]/page.tsx b/apps/website/app/leagues/[id]/page.tsx index d97709955..513954b11 100644 --- a/apps/website/app/leagues/[id]/page.tsx +++ b/apps/website/app/leagues/[id]/page.tsx @@ -22,7 +22,7 @@ import { type DriverDTO, type LeagueScoringConfigDTO, Race, -} from '@gridpilot/racing'; +} from '@core/racing'; import { getLeagueRepository, getRaceRepository, diff --git a/apps/website/app/leagues/[id]/rulebook/page.tsx b/apps/website/app/leagues/[id]/rulebook/page.tsx index 04ec4eaea..ea5a1a49f 100644 --- a/apps/website/app/leagues/[id]/rulebook/page.tsx +++ b/apps/website/app/leagues/[id]/rulebook/page.tsx @@ -8,8 +8,8 @@ import { getGetLeagueScoringConfigUseCase } from '@/lib/di-container'; import { LeagueScoringConfigPresenter } from '@/lib/presenters/LeagueScoringConfigPresenter'; -import type { LeagueScoringConfigDTO } from '@gridpilot/racing/application/dto/LeagueScoringConfigDTO'; -import type { League } from '@gridpilot/racing/domain/entities/League'; +import type { LeagueScoringConfigDTO } from '@core/racing/application/dto/LeagueScoringConfigDTO'; +import type { League } from '@core/racing/domain/entities/League'; type RulebookSection = 'scoring' | 'conduct' | 'protests' | 'penalties'; diff --git a/apps/website/app/leagues/[id]/settings/page.tsx b/apps/website/app/leagues/[id]/settings/page.tsx index c338a4dd3..efa81b947 100644 --- a/apps/website/app/leagues/[id]/settings/page.tsx +++ b/apps/website/app/leagues/[id]/settings/page.tsx @@ -21,11 +21,11 @@ import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; import { ScoringPatternSection, ChampionshipsSection } from '@/components/leagues/LeagueScoringSection'; import { LeagueDropSection } from '@/components/leagues/LeagueDropSection'; import { ReadonlyLeagueInfo } from '@/components/leagues/ReadonlyLeagueInfo'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; -import type { League } from '@gridpilot/racing/domain/entities/League'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import type { LeagueScoringPresetDTO } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { LeagueConfigFormModel } from '@core/racing/application'; +import type { League } from '@core/racing/domain/entities/League'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import type { LeagueScoringPresetDTO } from '@core/racing/application/ports/LeagueScoringPresetProvider'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import DriverSummaryPill from '@/components/profile/DriverSummaryPill'; import { AlertTriangle, Settings, Trophy, Calendar, TrendingDown, Edit, Users, UserCog } from 'lucide-react'; diff --git a/apps/website/app/leagues/[id]/sponsorships/page.tsx b/apps/website/app/leagues/[id]/sponsorships/page.tsx index 834921d8b..997514d27 100644 --- a/apps/website/app/leagues/[id]/sponsorships/page.tsx +++ b/apps/website/app/leagues/[id]/sponsorships/page.tsx @@ -12,7 +12,7 @@ import { import { useEffectiveDriverId } from '@/lib/currentDriver'; import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; import { AlertTriangle, Building, DollarSign } from 'lucide-react'; -import type { League } from '@gridpilot/racing/domain/entities/League'; +import type { League } from '@core/racing/domain/entities/League'; export default function LeagueSponsorshipsPage() { const params = useParams(); diff --git a/apps/website/app/leagues/[id]/standings/page.tsx b/apps/website/app/leagues/[id]/standings/page.tsx index a4fab960a..f09bce5de 100644 --- a/apps/website/app/leagues/[id]/standings/page.tsx +++ b/apps/website/app/leagues/[id]/standings/page.tsx @@ -8,7 +8,7 @@ import { EntityMappers, type DriverDTO, type LeagueDriverSeasonStatsDTO, -} from '@gridpilot/racing'; +} from '@core/racing'; import { getGetLeagueDriverSeasonStatsUseCase, getDriverRepository, diff --git a/apps/website/app/leagues/[id]/stewarding/page.tsx b/apps/website/app/leagues/[id]/stewarding/page.tsx index ea76fd620..f9dfbc8aa 100644 --- a/apps/website/app/leagues/[id]/stewarding/page.tsx +++ b/apps/website/app/leagues/[id]/stewarding/page.tsx @@ -19,11 +19,11 @@ import { } from '@/lib/di-container'; import { useEffectiveDriverId } from '@/lib/currentDriver'; import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; -import type { Protest } from '@gridpilot/racing/domain/entities/Protest'; -import type { Race } from '@gridpilot/racing/domain/entities/Race'; -import type { Penalty, PenaltyType } from '@gridpilot/racing/domain/entities/Penalty'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { Protest } from '@core/racing/domain/entities/Protest'; +import type { Race } from '@core/racing/domain/entities/Race'; +import type { Penalty, PenaltyType } from '@core/racing/domain/entities/Penalty'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import { AlertTriangle, Clock, CheckCircle, Flag, ChevronRight, Calendar, MapPin, AlertCircle, Video, Gavel diff --git a/apps/website/app/leagues/[id]/stewarding/protests/[protestId]/page.tsx b/apps/website/app/leagues/[id]/stewarding/protests/[protestId]/page.tsx index 4d50d4053..95871b329 100644 --- a/apps/website/app/leagues/[id]/stewarding/protests/[protestId]/page.tsx +++ b/apps/website/app/leagues/[id]/stewarding/protests/[protestId]/page.tsx @@ -17,11 +17,11 @@ import { } from '@/lib/di-container'; import { useEffectiveDriverId } from '@/lib/currentDriver'; import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; -import type { Protest } from '@gridpilot/racing/domain/entities/Protest'; -import type { Race } from '@gridpilot/racing/domain/entities/Race'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import type { PenaltyType } from '@gridpilot/racing/domain/entities/Penalty'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { Protest } from '@core/racing/domain/entities/Protest'; +import type { Race } from '@core/racing/domain/entities/Race'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import type { PenaltyType } from '@core/racing/domain/entities/Penalty'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import { AlertCircle, Video, diff --git a/apps/website/app/leagues/page.tsx b/apps/website/app/leagues/page.tsx index 74c89edda..3ede7922d 100644 --- a/apps/website/app/leagues/page.tsx +++ b/apps/website/app/leagues/page.tsx @@ -30,7 +30,7 @@ import Button from '@/components/ui/Button'; import Card from '@/components/ui/Card'; import Input from '@/components/ui/Input'; import Heading from '@/components/ui/Heading'; -import type { LeagueSummaryViewModel } from '@gridpilot/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter'; +import type { LeagueSummaryViewModel } from '@core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter'; import { AllLeaguesWithCapacityAndScoringPresenter } from '@/lib/presenters/AllLeaguesWithCapacityAndScoringPresenter'; import { getGetAllLeaguesWithCapacityAndScoringUseCase } from '@/lib/di-container'; diff --git a/apps/website/app/page.tsx b/apps/website/app/page.tsx index 3fa6c6771..0c8e27b38 100644 --- a/apps/website/app/page.tsx +++ b/apps/website/app/page.tsx @@ -19,7 +19,7 @@ import { topLeagues, teams, getUpcomingRaces, -} from '@gridpilot/testing-support'; +} from '@core/testing-support'; export default async function HomePage() { const authService = getAuthService(); diff --git a/apps/website/app/profile/leagues/page.tsx b/apps/website/app/profile/leagues/page.tsx index b45a6a6af..8bed4c5b9 100644 --- a/apps/website/app/profile/leagues/page.tsx +++ b/apps/website/app/profile/leagues/page.tsx @@ -6,8 +6,8 @@ import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import { getLeagueRepository, getLeagueMembershipRepository } from '@/lib/di-container'; import { useEffectiveDriverId } from '@/lib/currentDriver'; -import type { League } from '@gridpilot/racing/domain/entities/League'; -import type { LeagueMembership } from '@gridpilot/racing/domain/entities/LeagueMembership'; +import type { League } from '@core/racing/domain/entities/League'; +import type { LeagueMembership } from '@core/racing/domain/entities/LeagueMembership'; interface LeagueWithRole { league: League; diff --git a/apps/website/app/profile/page.tsx b/apps/website/app/profile/page.tsx index cdde8e6a3..1793aee6e 100644 --- a/apps/website/app/profile/page.tsx +++ b/apps/website/app/profile/page.tsx @@ -39,7 +39,7 @@ import { getImageService, getUpdateDriverProfileUseCase, } from '@/lib/di-container'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import type { ProfileOverviewViewModel, ProfileOverviewDriverSummaryViewModel, @@ -49,7 +49,7 @@ import type { ProfileOverviewExtendedProfileViewModel, ProfileOverviewAchievementViewModel, ProfileOverviewSocialHandleViewModel, -} from '@gridpilot/racing/application/presenters/IProfileOverviewPresenter'; +} from '@core/racing/application/presenters/IProfileOverviewPresenter'; import CreateDriverForm from '@/components/drivers/CreateDriverForm'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; diff --git a/apps/website/app/races/[id]/page.tsx b/apps/website/app/races/[id]/page.tsx index 2c7f549e8..a9f969d2f 100644 --- a/apps/website/app/races/[id]/page.tsx +++ b/apps/website/app/races/[id]/page.tsx @@ -17,7 +17,7 @@ import type { RaceDetailViewModel, RaceDetailEntryViewModel, RaceDetailUserResultViewModel, -} from '@gridpilot/racing/application/presenters/IRaceDetailPresenter'; +} from '@core/racing/application/presenters/IRaceDetailPresenter'; import { Calendar, Clock, diff --git a/apps/website/app/races/[id]/results/page.tsx b/apps/website/app/races/[id]/results/page.tsx index ee031ee32..b0b7dc455 100644 --- a/apps/website/app/races/[id]/results/page.tsx +++ b/apps/website/app/races/[id]/results/page.tsx @@ -22,7 +22,7 @@ import { RaceResultsDetailPresenter } from '@/lib/presenters/RaceResultsDetailPr import type { RaceResultsHeaderViewModel, RaceResultsLeagueViewModel, -} from '@gridpilot/racing/application/presenters/IRaceResultsDetailPresenter'; +} from '@core/racing/application/presenters/IRaceResultsDetailPresenter'; type PenaltyTypeDTO = | 'time_penalty' diff --git a/apps/website/app/races/[id]/stewarding/page.tsx b/apps/website/app/races/[id]/stewarding/page.tsx index 700cb1162..2616cfe86 100644 --- a/apps/website/app/races/[id]/stewarding/page.tsx +++ b/apps/website/app/races/[id]/stewarding/page.tsx @@ -33,10 +33,10 @@ import { useEffectiveDriverId } from '@/lib/currentDriver'; import { isLeagueAdminOrHigherRole } from '@/lib/leagueRoles'; import { RaceProtestsPresenter } from '@/lib/presenters/RaceProtestsPresenter'; import { RacePenaltiesPresenter } from '@/lib/presenters/RacePenaltiesPresenter'; -import type { RaceProtestViewModel } from '@gridpilot/racing/application/presenters/IRaceProtestsPresenter'; -import type { RacePenaltyViewModel } from '@gridpilot/racing/application/presenters/IRacePenaltiesPresenter'; -import type { League } from '@gridpilot/racing/domain/entities/League'; -import type { Race } from '@gridpilot/racing/domain/entities/Race'; +import type { RaceProtestViewModel } from '@core/racing/application/presenters/IRaceProtestsPresenter'; +import type { RacePenaltyViewModel } from '@core/racing/application/presenters/IRacePenaltiesPresenter'; +import type { League } from '@core/racing/domain/entities/League'; +import type { Race } from '@core/racing/domain/entities/Race'; export default function RaceStewardingPage() { const params = useParams(); diff --git a/apps/website/app/races/all/page.tsx b/apps/website/app/races/all/page.tsx index 92a0da04b..50725f48e 100644 --- a/apps/website/app/races/all/page.tsx +++ b/apps/website/app/races/all/page.tsx @@ -12,7 +12,7 @@ import { AllRacesPagePresenter } from '@/lib/presenters/AllRacesPagePresenter'; import type { AllRacesPageViewModel, AllRacesListItemViewModel, -} from '@gridpilot/racing/application/presenters/IAllRacesPagePresenter'; +} from '@core/racing/application/presenters/IAllRacesPagePresenter'; import { Calendar, Clock, diff --git a/apps/website/app/races/page.tsx b/apps/website/app/races/page.tsx index c5e479933..f43995558 100644 --- a/apps/website/app/races/page.tsx +++ b/apps/website/app/races/page.tsx @@ -11,7 +11,7 @@ import { RacesPagePresenter } from '@/lib/presenters/RacesPagePresenter'; import type { RacesPageViewModel, RaceListItemViewModel, -} from '@gridpilot/racing/application/presenters/IRacesPagePresenter'; +} from '@core/racing/application/presenters/IRacesPagePresenter'; import { Calendar, Clock, diff --git a/apps/website/app/teams/[id]/page.tsx b/apps/website/app/teams/[id]/page.tsx index 587fdd0e3..d00e9930b 100644 --- a/apps/website/app/teams/[id]/page.tsx +++ b/apps/website/app/teams/[id]/page.tsx @@ -11,7 +11,7 @@ import SponsorInsightsCard, { useSponsorMode, MetricBuilders, SlotTemplates } fr import { getImageService } from '@/lib/di-container'; import { TeamMembersPresenter } from '@/lib/presenters/TeamMembersPresenter'; import { TeamDetailsPresenter } from '@/lib/presenters/TeamDetailsPresenter'; -import type { TeamDetailsViewModel } from '@gridpilot/racing/application/presenters/ITeamDetailsPresenter'; +import type { TeamDetailsViewModel } from '@core/racing/application/presenters/ITeamDetailsPresenter'; import TeamRoster from '@/components/teams/TeamRoster'; import TeamStandings from '@/components/teams/TeamStandings'; import TeamAdmin from '@/components/teams/TeamAdmin'; diff --git a/apps/website/app/teams/leaderboard/page.tsx b/apps/website/app/teams/leaderboard/page.tsx index 372cb70b5..39c3311f0 100644 --- a/apps/website/app/teams/leaderboard/page.tsx +++ b/apps/website/app/teams/leaderboard/page.tsx @@ -27,7 +27,7 @@ import { TeamsLeaderboardPresenter } from '@/lib/presenters/TeamsLeaderboardPres import type { TeamLeaderboardItemViewModel, SkillLevel, -} from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter'; +} from '@core/racing/application/presenters/ITeamsLeaderboardPresenter'; // ============================================================================ // TYPES diff --git a/apps/website/app/teams/page.tsx b/apps/website/app/teams/page.tsx index 8a8be0c96..366c38109 100644 --- a/apps/website/app/teams/page.tsx +++ b/apps/website/app/teams/page.tsx @@ -30,7 +30,7 @@ import Heading from '@/components/ui/Heading'; import CreateTeamForm from '@/components/teams/CreateTeamForm'; import { getGetTeamsLeaderboardUseCase } from '@/lib/di-container'; import { TeamsLeaderboardPresenter } from '@/lib/presenters/TeamsLeaderboardPresenter'; -import type { TeamLeaderboardItemViewModel, SkillLevel } from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter'; +import type { TeamLeaderboardItemViewModel, SkillLevel } from '@core/racing/application/presenters/ITeamsLeaderboardPresenter'; // ============================================================================ // TYPES diff --git a/apps/website/components/alpha/CompanionInstructions.tsx b/apps/website/components/alpha/CompanionInstructions.tsx index 30641658c..c30bab5cd 100644 --- a/apps/website/components/alpha/CompanionInstructions.tsx +++ b/apps/website/components/alpha/CompanionInstructions.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import Card from '../ui/Card'; import Button from '../ui/Button'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; +import { Race } from '@core/racing/domain/entities/Race'; interface CompanionInstructionsProps { race: Race; diff --git a/apps/website/components/dev/DevToolbar.tsx b/apps/website/components/dev/DevToolbar.tsx index f763516fb..68741628d 100644 --- a/apps/website/components/dev/DevToolbar.tsx +++ b/apps/website/components/dev/DevToolbar.tsx @@ -4,7 +4,7 @@ import { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { useEffectiveDriverId } from '@/lib/currentDriver'; import { getSendNotificationUseCase, getRaceRepository, getLeagueRepository } from '@/lib/di-container'; -import type { NotificationUrgency } from '@gridpilot/notifications/application'; +import type { NotificationUrgency } from '@core/notifications/application'; import { Bell, AlertTriangle, diff --git a/apps/website/components/drivers/CreateDriverForm.tsx b/apps/website/components/drivers/CreateDriverForm.tsx index fcf98c19e..7167f86bd 100644 --- a/apps/website/components/drivers/CreateDriverForm.tsx +++ b/apps/website/components/drivers/CreateDriverForm.tsx @@ -4,7 +4,7 @@ import { useState, FormEvent } from 'react'; import { useRouter } from 'next/navigation'; import Input from '../ui/Input'; import Button from '../ui/Button'; -import { Driver } from '@gridpilot/racing'; +import { Driver } from '@core/racing'; import { getDriverRepository } from '../../lib/di-container'; interface FormErrors { diff --git a/apps/website/components/drivers/DriverCard.tsx b/apps/website/components/drivers/DriverCard.tsx index 7279a978f..0be60a622 100644 --- a/apps/website/components/drivers/DriverCard.tsx +++ b/apps/website/components/drivers/DriverCard.tsx @@ -1,7 +1,7 @@ import Card from '@/components/ui/Card'; import RankBadge from '@/components/drivers/RankBadge'; import DriverIdentity from '@/components/drivers/DriverIdentity'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; export interface DriverCardProps { id: string; diff --git a/apps/website/components/drivers/DriverIdentity.tsx b/apps/website/components/drivers/DriverIdentity.tsx index 084e7a7f1..1548b9f8a 100644 --- a/apps/website/components/drivers/DriverIdentity.tsx +++ b/apps/website/components/drivers/DriverIdentity.tsx @@ -1,6 +1,6 @@ import Link from 'next/link'; import Image from 'next/image'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import { getImageService } from '@/lib/di-container'; export interface DriverIdentityProps { diff --git a/apps/website/components/drivers/DriverProfile.tsx b/apps/website/components/drivers/DriverProfile.tsx index 35da87ecc..9d9fa309d 100644 --- a/apps/website/components/drivers/DriverProfile.tsx +++ b/apps/website/components/drivers/DriverProfile.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import Card from '../ui/Card'; import ProfileHeader from '../profile/ProfileHeader'; import ProfileStats from './ProfileStats'; @@ -11,8 +11,8 @@ import { useEffect, useState } from 'react'; import { getLeagueRankings, getGetDriverTeamUseCase, getGetProfileOverviewUseCase } from '@/lib/di-container'; import { DriverTeamPresenter } from '@/lib/presenters/DriverTeamPresenter'; import { getPrimaryLeagueIdForDriver } from '@/lib/leagueMembership'; -import type { ProfileOverviewViewModel } from '@gridpilot/racing/application/presenters/IProfileOverviewPresenter'; -import type { DriverTeamViewModel } from '@gridpilot/racing/application/presenters/IDriverTeamPresenter'; +import type { ProfileOverviewViewModel } from '@core/racing/application/presenters/IProfileOverviewPresenter'; +import type { DriverTeamViewModel } from '@core/racing/application/presenters/IDriverTeamPresenter'; interface DriverProfileProps { driver: DriverDTO; diff --git a/apps/website/components/drivers/ProfileRaceHistory.tsx b/apps/website/components/drivers/ProfileRaceHistory.tsx index b4cfaec7c..088c69526 100644 --- a/apps/website/components/drivers/ProfileRaceHistory.tsx +++ b/apps/website/components/drivers/ProfileRaceHistory.tsx @@ -5,9 +5,9 @@ import Card from '../ui/Card'; import Button from '../ui/Button'; import RaceResultCard from '../races/RaceResultCard'; import { getRaceRepository, getLeagueRepository, getResultRepository } from '@/lib/di-container'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { League } from '@gridpilot/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import { League } from '@core/racing/domain/entities/League'; interface RaceHistoryProps { driverId: string; diff --git a/apps/website/components/drivers/ProfileSettings.tsx b/apps/website/components/drivers/ProfileSettings.tsx index 53f15baa3..2b7f7bec6 100644 --- a/apps/website/components/drivers/ProfileSettings.tsx +++ b/apps/website/components/drivers/ProfileSettings.tsx @@ -1,7 +1,7 @@ 'use client'; import { useState } from 'react'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import Card from '../ui/Card'; import Button from '../ui/Button'; import Input from '../ui/Input'; diff --git a/apps/website/components/drivers/ProfileStats.tsx b/apps/website/components/drivers/ProfileStats.tsx index b71b5803d..1b1955672 100644 --- a/apps/website/components/drivers/ProfileStats.tsx +++ b/apps/website/components/drivers/ProfileStats.tsx @@ -5,7 +5,7 @@ import RankBadge from './RankBadge'; import { getLeagueRankings, getGetProfileOverviewUseCase } from '@/lib/di-container'; import { useState, useEffect } from 'react'; import { getPrimaryLeagueIdForDriver } from '@/lib/leagueMembership'; -import type { ProfileOverviewViewModel } from '@gridpilot/racing/application/presenters/IProfileOverviewPresenter'; +import type { ProfileOverviewViewModel } from '@core/racing/application/presenters/IProfileOverviewPresenter'; interface ProfileStatsProps { driverId?: string; diff --git a/apps/website/components/feed/FeedItemCard.tsx b/apps/website/components/feed/FeedItemCard.tsx index 18306a527..03022b4d8 100644 --- a/apps/website/components/feed/FeedItemCard.tsx +++ b/apps/website/components/feed/FeedItemCard.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import Image from 'next/image'; -import type { FeedItemDTO } from '@gridpilot/social/application/dto/FeedItemDTO'; +import type { FeedItemDTO } from '@core/social/application/dto/FeedItemDTO'; import { getDriverRepository, getImageService } from '@/lib/di-container'; function timeAgo(timestamp: Date | string): string { diff --git a/apps/website/components/feed/FeedLayout.tsx b/apps/website/components/feed/FeedLayout.tsx index fe05e57be..7c32ec5e1 100644 --- a/apps/website/components/feed/FeedLayout.tsx +++ b/apps/website/components/feed/FeedLayout.tsx @@ -1,7 +1,7 @@ import Card from '@/components/ui/Card'; -import type { FeedItemDTO } from '@gridpilot/social/application/dto/FeedItemDTO'; -import type { Race } from '@gridpilot/racing/domain/entities/Race'; -import type { RaceWithResultsDTO } from '@gridpilot/testing-support'; +import type { FeedItemDTO } from '@core/social/application/dto/FeedItemDTO'; +import type { Race } from '@core/racing/domain/entities/Race'; +import type { RaceWithResultsDTO } from '@core/testing-support'; import FeedList from '@/components/feed/FeedList'; import UpcomingRacesSidebar from '@/components/races/UpcomingRacesSidebar'; import LatestResultsSidebar from '@/components/races/LatestResultsSidebar'; diff --git a/apps/website/components/feed/FeedList.tsx b/apps/website/components/feed/FeedList.tsx index 89640dc05..3faf8afc1 100644 --- a/apps/website/components/feed/FeedList.tsx +++ b/apps/website/components/feed/FeedList.tsx @@ -1,6 +1,6 @@ import FeedEmptyState from '@/components/feed/FeedEmptyState'; import FeedItemCard from '@/components/feed/FeedItemCard'; -import type { FeedItemDTO } from '@gridpilot/social/application/dto/FeedItemDTO'; +import type { FeedItemDTO } from '@core/social/application/dto/FeedItemDTO'; interface FeedListProps { items: FeedItemDTO[]; diff --git a/apps/website/components/leagues/ChampionshipCard.tsx b/apps/website/components/leagues/ChampionshipCard.tsx index 37298d08d..7c2b6ccf7 100644 --- a/apps/website/components/leagues/ChampionshipCard.tsx +++ b/apps/website/components/leagues/ChampionshipCard.tsx @@ -1,5 +1,5 @@ import Card from '@/components/ui/Card'; -import type { LeagueScoringChampionshipDTO } from '@gridpilot/racing/application/dto/LeagueScoringConfigDTO'; +import type { LeagueScoringChampionshipDTO } from '@core/racing/application/dto/LeagueScoringConfigDTO'; interface ChampionshipCardProps { championship: LeagueScoringChampionshipDTO; diff --git a/apps/website/components/leagues/CreateLeagueForm.tsx b/apps/website/components/leagues/CreateLeagueForm.tsx index 1932c44cd..90ba63f82 100644 --- a/apps/website/components/leagues/CreateLeagueForm.tsx +++ b/apps/website/components/leagues/CreateLeagueForm.tsx @@ -4,7 +4,7 @@ import { useState, FormEvent } from 'react'; import { useRouter } from 'next/navigation'; import Input from '../ui/Input'; import Button from '../ui/Button'; -import { League } from '@gridpilot/racing/domain/entities/League'; +import { League } from '@core/racing/domain/entities/League'; import { getLeagueRepository, getDriverRepository } from '../../lib/di-container'; interface FormErrors { diff --git a/apps/website/components/leagues/CreateLeagueWizard.tsx b/apps/website/components/leagues/CreateLeagueWizard.tsx index e11607e26..73deeed71 100644 --- a/apps/website/components/leagues/CreateLeagueWizard.tsx +++ b/apps/website/components/leagues/CreateLeagueWizard.tsx @@ -32,8 +32,8 @@ import { createLeagueFromConfig, applyScoringPresetToConfig, } from '@/lib/leagueWizardService'; -import type { LeagueScoringPresetDTO } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueScoringPresetDTO } from '@core/racing/application/ports/LeagueScoringPresetProvider'; +import type { LeagueConfigFormModel } from '@core/racing/application'; import { LeagueBasicsSection } from './LeagueBasicsSection'; import { LeagueVisibilitySection } from './LeagueVisibilitySection'; import { LeagueStructureSection } from './LeagueStructureSection'; diff --git a/apps/website/components/leagues/LeagueActivityFeed.tsx b/apps/website/components/leagues/LeagueActivityFeed.tsx index d82063de9..0407a7313 100644 --- a/apps/website/components/leagues/LeagueActivityFeed.tsx +++ b/apps/website/components/leagues/LeagueActivityFeed.tsx @@ -1,11 +1,11 @@ 'use client'; import { Calendar, Award, UserPlus, UserMinus, Shield, Flag, AlertTriangle } from 'lucide-react'; -import { Race, Penalty } from '@gridpilot/racing'; -import type { LeagueMembership } from '@gridpilot/racing/domain/entities/LeagueMembership'; +import { Race, Penalty } from '@core/racing'; +import type { LeagueMembership } from '@core/racing/domain/entities/LeagueMembership'; import { getDriverRepository, getPenaltyRepository, getRaceRepository } from '@/lib/di-container'; import { useEffect, useState } from 'react'; -import type { Driver } from '@gridpilot/racing'; +import type { Driver } from '@core/racing'; export type LeagueActivity = | { type: 'race_completed'; raceId: string; raceName: string; timestamp: Date } diff --git a/apps/website/components/leagues/LeagueAdmin.tsx b/apps/website/components/leagues/LeagueAdmin.tsx index 034f7d15d..a5a6e31ea 100644 --- a/apps/website/components/leagues/LeagueAdmin.tsx +++ b/apps/website/components/leagues/LeagueAdmin.tsx @@ -21,7 +21,7 @@ import { type LeagueAdminProtestsViewModel, type LeagueSeasonSummaryViewModel, } from '@/lib/presenters/LeagueAdminPresenter'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueConfigFormModel } from '@core/racing/application'; import type { LeagueSummaryViewModel } from '@/lib/presenters/LeagueAdminPresenter'; import { LeagueBasicsSection } from './LeagueBasicsSection'; import { LeagueStructureSection } from './LeagueStructureSection'; diff --git a/apps/website/components/leagues/LeagueBasicsSection.tsx b/apps/website/components/leagues/LeagueBasicsSection.tsx index 02817d483..02a888a5c 100644 --- a/apps/website/components/leagues/LeagueBasicsSection.tsx +++ b/apps/website/components/leagues/LeagueBasicsSection.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { FileText, Gamepad2, AlertCircle, Check } from 'lucide-react'; import Input from '@/components/ui/Input'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueConfigFormModel } from '@core/racing/application'; interface LeagueBasicsSectionProps { form: LeagueConfigFormModel; diff --git a/apps/website/components/leagues/LeagueCard.tsx b/apps/website/components/leagues/LeagueCard.tsx index fc4c6ed03..3a3a52601 100644 --- a/apps/website/components/leagues/LeagueCard.tsx +++ b/apps/website/components/leagues/LeagueCard.tsx @@ -12,7 +12,7 @@ import { ChevronRight, Sparkles, } from 'lucide-react'; -import type { LeagueSummaryViewModel } from '@gridpilot/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter'; +import type { LeagueSummaryViewModel } from '@core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter'; import { getLeagueCoverClasses } from '@/lib/leagueCovers'; import { getImageService } from '@/lib/di-container'; diff --git a/apps/website/components/leagues/LeagueDropSection.tsx b/apps/website/components/leagues/LeagueDropSection.tsx index d2e8842db..b036fdb0d 100644 --- a/apps/website/components/leagues/LeagueDropSection.tsx +++ b/apps/website/components/leagues/LeagueDropSection.tsx @@ -3,7 +3,7 @@ import React, { useState, useRef, useEffect } from 'react'; import { TrendingDown, Check, HelpCircle, X, Zap } from 'lucide-react'; import { createPortal } from 'react-dom'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueConfigFormModel } from '@core/racing/application'; // ============================================================================ // INFO FLYOUT (duplicated for self-contained component) diff --git a/apps/website/components/leagues/LeagueHeader.tsx b/apps/website/components/leagues/LeagueHeader.tsx index 71d4f83bf..b10b1feec 100644 --- a/apps/website/components/leagues/LeagueHeader.tsx +++ b/apps/website/components/leagues/LeagueHeader.tsx @@ -11,8 +11,8 @@ import { getAllDriverRankings, getImageService, } from '@/lib/di-container'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import DriverSummaryPill from '@/components/profile/DriverSummaryPill'; // Main sponsor info for "by XYZ" display diff --git a/apps/website/components/leagues/LeagueMembers.tsx b/apps/website/components/leagues/LeagueMembers.tsx index e30df9611..79de9db2b 100644 --- a/apps/website/components/leagues/LeagueMembers.tsx +++ b/apps/website/components/leagues/LeagueMembers.tsx @@ -2,8 +2,8 @@ import { useState, useEffect, useCallback } from 'react'; import DriverIdentity from '@/components/drivers/DriverIdentity'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import { getDriverRepository, getDriverStats } from '@/lib/di-container'; import { getLeagueMembers, diff --git a/apps/website/components/leagues/LeagueReviewSummary.tsx b/apps/website/components/leagues/LeagueReviewSummary.tsx index b7822f1d9..7e07d41fb 100644 --- a/apps/website/components/leagues/LeagueReviewSummary.tsx +++ b/apps/website/components/leagues/LeagueReviewSummary.tsx @@ -21,8 +21,8 @@ import { Globe, Medal, } from 'lucide-react'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; -import type { LeagueScoringPresetDTO } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider'; +import type { LeagueConfigFormModel } from '@core/racing/application'; +import type { LeagueScoringPresetDTO } from '@core/racing/application/ports/LeagueScoringPresetProvider'; interface LeagueReviewSummaryProps { form: LeagueConfigFormModel; diff --git a/apps/website/components/leagues/LeagueScoringSection.tsx b/apps/website/components/leagues/LeagueScoringSection.tsx index 6c21f7251..f085c26c3 100644 --- a/apps/website/components/leagues/LeagueScoringSection.tsx +++ b/apps/website/components/leagues/LeagueScoringSection.tsx @@ -3,8 +3,8 @@ import React, { useState, useRef, useEffect } from 'react'; import { Trophy, Award, Check, Zap, Settings, Globe, Medal, Plus, Minus, RotateCcw, HelpCircle, X } from 'lucide-react'; import { createPortal } from 'react-dom'; -import type { LeagueScoringPresetDTO } from '@gridpilot/racing/application/ports/LeagueScoringPresetProvider'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueScoringPresetDTO } from '@core/racing/application/ports/LeagueScoringPresetProvider'; +import type { LeagueConfigFormModel } from '@core/racing/application'; // ============================================================================ // INFO FLYOUT COMPONENT diff --git a/apps/website/components/leagues/LeagueScoringTab.tsx b/apps/website/components/leagues/LeagueScoringTab.tsx index 3606c88b4..20e3a7a83 100644 --- a/apps/website/components/leagues/LeagueScoringTab.tsx +++ b/apps/website/components/leagues/LeagueScoringTab.tsx @@ -1,6 +1,6 @@ 'use client'; -import type { LeagueScoringConfigDTO } from '@gridpilot/racing/application/dto/LeagueScoringConfigDTO'; +import type { LeagueScoringConfigDTO } from '@core/racing/application/dto/LeagueScoringConfigDTO'; import { Trophy, Clock, Target, Zap, Info } from 'lucide-react'; interface LeagueScoringTabProps { diff --git a/apps/website/components/leagues/LeagueStewardingSection.tsx b/apps/website/components/leagues/LeagueStewardingSection.tsx index 7ff81390b..58e0619a7 100644 --- a/apps/website/components/leagues/LeagueStewardingSection.tsx +++ b/apps/website/components/leagues/LeagueStewardingSection.tsx @@ -2,8 +2,8 @@ import React from 'react'; import { Scale, Users, Clock, Bell, Shield, Vote, UserCheck, AlertTriangle } from 'lucide-react'; -import type { LeagueConfigFormModel, LeagueStewardingFormDTO } from '@gridpilot/racing/application'; -import type { StewardingDecisionMode } from '@gridpilot/racing/domain/entities/League'; +import type { LeagueConfigFormModel, LeagueStewardingFormDTO } from '@core/racing/application'; +import type { StewardingDecisionMode } from '@core/racing/domain/entities/League'; interface LeagueStewardingSectionProps { form: LeagueConfigFormModel; diff --git a/apps/website/components/leagues/LeagueStructureSection.tsx b/apps/website/components/leagues/LeagueStructureSection.tsx index c6ffa0be3..8205173ab 100644 --- a/apps/website/components/leagues/LeagueStructureSection.tsx +++ b/apps/website/components/leagues/LeagueStructureSection.tsx @@ -4,8 +4,8 @@ import { User, Users2, Info, Check, HelpCircle, X } from 'lucide-react'; import { useState, useRef, useEffect, useMemo } from 'react'; import { createPortal } from 'react-dom'; import Input from '@/components/ui/Input'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; -import { GameConstraints } from '@gridpilot/racing/domain/value-objects/GameConstraints'; +import type { LeagueConfigFormModel } from '@core/racing/application'; +import { GameConstraints } from '@core/racing/domain/value-objects/GameConstraints'; // ============================================================================ // INFO FLYOUT COMPONENT diff --git a/apps/website/components/leagues/LeagueTimingsSection.tsx b/apps/website/components/leagues/LeagueTimingsSection.tsx index e21468c8f..6dca997bd 100644 --- a/apps/website/components/leagues/LeagueTimingsSection.tsx +++ b/apps/website/components/leagues/LeagueTimingsSection.tsx @@ -22,8 +22,8 @@ import { import type { LeagueConfigFormModel, LeagueSchedulePreviewDTO, -} from '@gridpilot/racing/application'; -import type { Weekday } from '@gridpilot/racing/domain/types/Weekday'; +} from '@core/racing/application'; +import type { Weekday } from '@core/racing/domain/types/Weekday'; import Input from '@/components/ui/Input'; import RangeField from '@/components/ui/RangeField'; diff --git a/apps/website/components/leagues/LeagueVisibilitySection.tsx b/apps/website/components/leagues/LeagueVisibilitySection.tsx index a988ae75d..607504de0 100644 --- a/apps/website/components/leagues/LeagueVisibilitySection.tsx +++ b/apps/website/components/leagues/LeagueVisibilitySection.tsx @@ -3,7 +3,7 @@ import { Trophy, Users, Check, HelpCircle, X } from 'lucide-react'; import { useState, useRef, useEffect } from 'react'; import { createPortal } from 'react-dom'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; +import type { LeagueConfigFormModel } from '@core/racing/application'; // Minimum drivers for ranked leagues const MIN_RANKED_DRIVERS = 10; diff --git a/apps/website/components/leagues/ReadonlyLeagueInfo.tsx b/apps/website/components/leagues/ReadonlyLeagueInfo.tsx index d52ca416d..833e256ec 100644 --- a/apps/website/components/leagues/ReadonlyLeagueInfo.tsx +++ b/apps/website/components/leagues/ReadonlyLeagueInfo.tsx @@ -1,8 +1,8 @@ 'use client'; import { Calendar, Users, Trophy, Gamepad2, Eye, Hash, Award } from 'lucide-react'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application'; -import type { League } from '@gridpilot/racing/domain/entities/League'; +import type { LeagueConfigFormModel } from '@core/racing/application'; +import type { League } from '@core/racing/domain/entities/League'; interface ReadonlyLeagueInfoProps { league: League; diff --git a/apps/website/components/leagues/StandingsTable.tsx b/apps/website/components/leagues/StandingsTable.tsx index 53f389467..7eff19a8f 100644 --- a/apps/website/components/leagues/StandingsTable.tsx +++ b/apps/website/components/leagues/StandingsTable.tsx @@ -4,8 +4,8 @@ import { useState, useRef, useEffect } from 'react'; import Link from 'next/link'; import Image from 'next/image'; import { Star } from 'lucide-react'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import type { LeagueDriverSeasonStatsDTO } from '@gridpilot/racing/application/dto/LeagueDriverSeasonStatsDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import type { LeagueDriverSeasonStatsDTO } from '@core/racing/application/dto/LeagueDriverSeasonStatsDTO'; import type { LeagueMembership, MembershipRole } from '@/lib/leagueMembership'; import { getLeagueRoleDisplay } from '@/lib/leagueRoles'; import { getDriverStats } from '@/lib/di-container'; diff --git a/apps/website/components/notifications/ModalNotification.tsx b/apps/website/components/notifications/ModalNotification.tsx index a3d06d4bf..6413006d2 100644 --- a/apps/website/components/notifications/ModalNotification.tsx +++ b/apps/website/components/notifications/ModalNotification.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; -import type { Notification, NotificationAction } from '@gridpilot/notifications/application'; +import type { Notification, NotificationAction } from '@core/notifications/application'; import { Bell, AlertTriangle, diff --git a/apps/website/components/notifications/NotificationCenter.tsx b/apps/website/components/notifications/NotificationCenter.tsx index 5c0856a45..6dd599d40 100644 --- a/apps/website/components/notifications/NotificationCenter.tsx +++ b/apps/website/components/notifications/NotificationCenter.tsx @@ -8,7 +8,7 @@ import { getNotificationRepository, getMarkNotificationReadUseCase, } from '@/lib/di-container'; -import type { Notification } from '@gridpilot/notifications/application'; +import type { Notification } from '@core/notifications/application'; import { Bell, AlertTriangle, diff --git a/apps/website/components/notifications/NotificationProvider.tsx b/apps/website/components/notifications/NotificationProvider.tsx index e51155277..748283d86 100644 --- a/apps/website/components/notifications/NotificationProvider.tsx +++ b/apps/website/components/notifications/NotificationProvider.tsx @@ -6,7 +6,7 @@ import { getNotificationRepository, getMarkNotificationReadUseCase, } from '@/lib/di-container'; -import type { Notification } from '@gridpilot/notifications/application'; +import type { Notification } from '@core/notifications/application'; import ToastNotification from './ToastNotification'; import ModalNotification from './ModalNotification'; diff --git a/apps/website/components/notifications/ToastNotification.tsx b/apps/website/components/notifications/ToastNotification.tsx index 336b4414c..52cade8f5 100644 --- a/apps/website/components/notifications/ToastNotification.tsx +++ b/apps/website/components/notifications/ToastNotification.tsx @@ -2,7 +2,7 @@ import { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; -import type { Notification } from '@gridpilot/notifications/application'; +import type { Notification } from '@core/notifications/application'; import { Bell, AlertTriangle, diff --git a/apps/website/components/profile/DriverSummaryPill.tsx b/apps/website/components/profile/DriverSummaryPill.tsx index 8004316de..d199d2cd5 100644 --- a/apps/website/components/profile/DriverSummaryPill.tsx +++ b/apps/website/components/profile/DriverSummaryPill.tsx @@ -2,7 +2,7 @@ import Image from 'next/image'; import Link from 'next/link'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import DriverRating from '@/components/profile/DriverRatingPill'; import { getImageService } from '@/lib/di-container'; diff --git a/apps/website/components/profile/ProfileHeader.tsx b/apps/website/components/profile/ProfileHeader.tsx index 1c646566a..402449430 100644 --- a/apps/website/components/profile/ProfileHeader.tsx +++ b/apps/website/components/profile/ProfileHeader.tsx @@ -1,7 +1,7 @@ 'use client'; import Image from 'next/image'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import Button from '../ui/Button'; import { getImageService } from '@/lib/di-container'; import DriverRatingPill from '@/components/profile/DriverRatingPill'; diff --git a/apps/website/components/profile/UserPill.tsx b/apps/website/components/profile/UserPill.tsx index 3ad5a34e7..d17356794 100644 --- a/apps/website/components/profile/UserPill.tsx +++ b/apps/website/components/profile/UserPill.tsx @@ -12,8 +12,8 @@ import { getImageService, } from '@/lib/di-container'; import { useEffectiveDriverId } from '@/lib/currentDriver'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; -import { EntityMappers } from '@gridpilot/racing/application/mappers/EntityMappers'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; +import { EntityMappers } from '@core/racing/application/mappers/EntityMappers'; import DriverSummaryPill from '@/components/profile/DriverSummaryPill'; // Hook to detect sponsor mode diff --git a/apps/website/components/races/FileProtestModal.tsx b/apps/website/components/races/FileProtestModal.tsx index 6910bf179..9d78c1fd6 100644 --- a/apps/website/components/races/FileProtestModal.tsx +++ b/apps/website/components/races/FileProtestModal.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import Modal from '@/components/ui/Modal'; import Button from '@/components/ui/Button'; import { getFileProtestUseCase } from '@/lib/di-container'; -import type { ProtestIncident } from '@gridpilot/racing/domain/entities/Protest'; +import type { ProtestIncident } from '@core/racing/domain/entities/Protest'; import { AlertTriangle, Video, diff --git a/apps/website/components/races/LatestResultsSidebar.tsx b/apps/website/components/races/LatestResultsSidebar.tsx index f847f342f..38d9b2324 100644 --- a/apps/website/components/races/LatestResultsSidebar.tsx +++ b/apps/website/components/races/LatestResultsSidebar.tsx @@ -1,5 +1,5 @@ import Card from '@/components/ui/Card'; -import type { RaceWithResultsDTO } from '@gridpilot/testing-support'; +import type { RaceWithResultsDTO } from '@core/testing-support'; interface LatestResultsSidebarProps { results: RaceWithResultsDTO[]; diff --git a/apps/website/components/races/RaceCard.tsx b/apps/website/components/races/RaceCard.tsx index 82d880291..f99d0d30e 100644 --- a/apps/website/components/races/RaceCard.tsx +++ b/apps/website/components/races/RaceCard.tsx @@ -1,6 +1,6 @@ 'use client'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; +import { Race } from '@core/racing/domain/entities/Race'; import { Clock, PlayCircle, CheckCircle2, XCircle, Zap, Car, Trophy } from 'lucide-react'; interface RaceCardProps { diff --git a/apps/website/components/races/RaceResultCard.tsx b/apps/website/components/races/RaceResultCard.tsx index 7d97454fa..48586e07c 100644 --- a/apps/website/components/races/RaceResultCard.tsx +++ b/apps/website/components/races/RaceResultCard.tsx @@ -2,9 +2,9 @@ import Link from 'next/link'; import { ChevronRight } from 'lucide-react'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { League } from '@gridpilot/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import { League } from '@core/racing/domain/entities/League'; interface RaceResultCardProps { race: Race; diff --git a/apps/website/components/races/UpcomingRacesSidebar.tsx b/apps/website/components/races/UpcomingRacesSidebar.tsx index 7dfeb5014..47a667b12 100644 --- a/apps/website/components/races/UpcomingRacesSidebar.tsx +++ b/apps/website/components/races/UpcomingRacesSidebar.tsx @@ -1,4 +1,4 @@ -import type { Race } from '@gridpilot/racing/domain/entities/Race'; +import type { Race } from '@core/racing/domain/entities/Race'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; diff --git a/apps/website/components/teams/TeamAdmin.tsx b/apps/website/components/teams/TeamAdmin.tsx index fca0a8178..1a925f1ca 100644 --- a/apps/website/components/teams/TeamAdmin.tsx +++ b/apps/website/components/teams/TeamAdmin.tsx @@ -4,7 +4,7 @@ import { useState, useEffect } from 'react'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import Input from '@/components/ui/Input'; -import type { DriverDTO } from '@gridpilot/racing/application/dto/DriverDTO'; +import type { DriverDTO } from '@core/racing/application/dto/DriverDTO'; import { loadTeamAdminViewModel, approveTeamJoinRequestAndReload, diff --git a/apps/website/components/teams/TeamRoster.tsx b/apps/website/components/teams/TeamRoster.tsx index 7f2eb6d9e..f447b5283 100644 --- a/apps/website/components/teams/TeamRoster.tsx +++ b/apps/website/components/teams/TeamRoster.tsx @@ -7,7 +7,7 @@ import { getTeamRosterViewModel, type TeamRosterViewModel, } from '@/lib/presenters/TeamRosterPresenter'; -import type { TeamRole } from '@gridpilot/racing/domain/types/TeamMembership'; +import type { TeamRole } from '@core/racing/domain/types/TeamMembership'; interface TeamMembershipSummary { driverId: string; diff --git a/apps/website/lib/presenters/AllLeaguesWithCapacityPresenter.ts b/apps/website/lib/presenters/AllLeaguesWithCapacityPresenter.ts index 82f65eaf0..ea4d0c758 100644 --- a/apps/website/lib/presenters/AllLeaguesWithCapacityPresenter.ts +++ b/apps/website/lib/presenters/AllLeaguesWithCapacityPresenter.ts @@ -3,7 +3,7 @@ import type { LeagueWithCapacityViewModel, AllLeaguesWithCapacityViewModel, AllLeaguesWithCapacityResultDTO, -} from '@gridpilot/racing/application/presenters/IAllLeaguesWithCapacityPresenter'; +} from '@core/racing/application/presenters/IAllLeaguesWithCapacityPresenter'; export class AllLeaguesWithCapacityPresenter implements IAllLeaguesWithCapacityPresenter { private viewModel: AllLeaguesWithCapacityViewModel | null = null; diff --git a/apps/website/lib/presenters/AllRacesPagePresenter.ts b/apps/website/lib/presenters/AllRacesPagePresenter.ts index ec6fe3e8f..a20cdf73e 100644 --- a/apps/website/lib/presenters/AllRacesPagePresenter.ts +++ b/apps/website/lib/presenters/AllRacesPagePresenter.ts @@ -2,7 +2,7 @@ import type { IAllRacesPagePresenter, AllRacesPageResultDTO, AllRacesPageViewModel, -} from '@gridpilot/racing/application/presenters/IAllRacesPagePresenter'; +} from '@core/racing/application/presenters/IAllRacesPagePresenter'; export class AllRacesPagePresenter implements IAllRacesPagePresenter { private viewModel: AllRacesPageViewModel | null = null; diff --git a/apps/website/lib/presenters/DashboardOverviewPresenter.ts b/apps/website/lib/presenters/DashboardOverviewPresenter.ts index 7c3ff4cf2..c92974478 100644 --- a/apps/website/lib/presenters/DashboardOverviewPresenter.ts +++ b/apps/website/lib/presenters/DashboardOverviewPresenter.ts @@ -2,7 +2,7 @@ import type { IDashboardOverviewPresenter, DashboardOverviewResultDTO, DashboardOverviewViewModel, -} from '@gridpilot/racing/application/presenters/IDashboardOverviewPresenter'; +} from '@core/racing/application/presenters/IDashboardOverviewPresenter'; export class DashboardOverviewPresenter implements IDashboardOverviewPresenter { private viewModel: DashboardOverviewViewModel | null = null; diff --git a/apps/website/lib/presenters/DriverRegistrationStatusPresenter.ts b/apps/website/lib/presenters/DriverRegistrationStatusPresenter.ts index fff628813..f5f3cbd55 100644 --- a/apps/website/lib/presenters/DriverRegistrationStatusPresenter.ts +++ b/apps/website/lib/presenters/DriverRegistrationStatusPresenter.ts @@ -1,7 +1,7 @@ import type { IDriverRegistrationStatusPresenter, DriverRegistrationStatusViewModel, -} from '@gridpilot/racing/application/presenters/IDriverRegistrationStatusPresenter'; +} from '@core/racing/application/presenters/IDriverRegistrationStatusPresenter'; export class DriverRegistrationStatusPresenter implements IDriverRegistrationStatusPresenter { private viewModel: DriverRegistrationStatusViewModel | null = null; diff --git a/apps/website/lib/presenters/EntitySponsorshipPricingPresenter.ts b/apps/website/lib/presenters/EntitySponsorshipPricingPresenter.ts index 1cfb0570f..98e521293 100644 --- a/apps/website/lib/presenters/EntitySponsorshipPricingPresenter.ts +++ b/apps/website/lib/presenters/EntitySponsorshipPricingPresenter.ts @@ -1,5 +1,5 @@ -import type { IEntitySponsorshipPricingPresenter } from '@gridpilot/racing/application/presenters/IEntitySponsorshipPricingPresenter'; -import type { GetEntitySponsorshipPricingResultDTO } from '@gridpilot/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; +import type { IEntitySponsorshipPricingPresenter } from '@core/racing/application/presenters/IEntitySponsorshipPricingPresenter'; +import type { GetEntitySponsorshipPricingResultDTO } from '@core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase'; export class EntitySponsorshipPricingPresenter implements IEntitySponsorshipPricingPresenter { private data: GetEntitySponsorshipPricingResultDTO | null = null; diff --git a/apps/website/lib/presenters/ImportRaceResultsPresenter.ts b/apps/website/lib/presenters/ImportRaceResultsPresenter.ts index 4cdb563cb..7cf8a5fa6 100644 --- a/apps/website/lib/presenters/ImportRaceResultsPresenter.ts +++ b/apps/website/lib/presenters/ImportRaceResultsPresenter.ts @@ -1,7 +1,7 @@ import type { IImportRaceResultsPresenter, ImportRaceResultsSummaryViewModel, -} from '@gridpilot/racing/application/presenters/IImportRaceResultsPresenter'; +} from '@core/racing/application/presenters/IImportRaceResultsPresenter'; export class ImportRaceResultsPresenter implements IImportRaceResultsPresenter { private viewModel: ImportRaceResultsSummaryViewModel | null = null; diff --git a/apps/website/lib/presenters/LeagueDriverSeasonStatsPresenter.ts b/apps/website/lib/presenters/LeagueDriverSeasonStatsPresenter.ts index ee6f13594..ab323570f 100644 --- a/apps/website/lib/presenters/LeagueDriverSeasonStatsPresenter.ts +++ b/apps/website/lib/presenters/LeagueDriverSeasonStatsPresenter.ts @@ -3,7 +3,7 @@ import type { LeagueDriverSeasonStatsItemViewModel, LeagueDriverSeasonStatsViewModel, LeagueDriverSeasonStatsResultDTO, -} from '@gridpilot/racing/application/presenters/ILeagueDriverSeasonStatsPresenter'; +} from '@core/racing/application/presenters/ILeagueDriverSeasonStatsPresenter'; export class LeagueDriverSeasonStatsPresenter implements ILeagueDriverSeasonStatsPresenter { private viewModel: LeagueDriverSeasonStatsViewModel | null = null; diff --git a/apps/website/lib/presenters/LeagueFullConfigPresenter.ts b/apps/website/lib/presenters/LeagueFullConfigPresenter.ts index 76fb9842a..67ff480e4 100644 --- a/apps/website/lib/presenters/LeagueFullConfigPresenter.ts +++ b/apps/website/lib/presenters/LeagueFullConfigPresenter.ts @@ -1,9 +1,9 @@ -import type { DropScorePolicy } from '@gridpilot/racing/domain/types/DropScorePolicy'; +import type { DropScorePolicy } from '@core/racing/domain/types/DropScorePolicy'; import type { ILeagueFullConfigPresenter, LeagueFullConfigData, LeagueConfigFormViewModel, -} from '@gridpilot/racing/application/presenters/ILeagueFullConfigPresenter'; +} from '@core/racing/application/presenters/ILeagueFullConfigPresenter'; export class LeagueFullConfigPresenter implements ILeagueFullConfigPresenter { private viewModel: LeagueConfigFormViewModel | null = null; diff --git a/apps/website/lib/presenters/LeagueSchedulePresenter.ts b/apps/website/lib/presenters/LeagueSchedulePresenter.ts index 65563756e..01135b375 100644 --- a/apps/website/lib/presenters/LeagueSchedulePresenter.ts +++ b/apps/website/lib/presenters/LeagueSchedulePresenter.ts @@ -1,8 +1,8 @@ -import type { Race } from '@gridpilot/racing/domain/entities/Race'; -import type { IRaceRepository } from '@gridpilot/racing/application/ports/IRaceRepository'; -import type { IIsDriverRegisteredForRaceQuery } from '@gridpilot/racing/application/queries/IIsDriverRegisteredForRaceQuery'; -import type { IRegisterForRaceUseCase } from '@gridpilot/racing/application/use-cases/IRegisterForRaceUseCase'; -import type { IWithdrawFromRaceUseCase } from '@gridpilot/racing/application/use-cases/IWithdrawFromRaceUseCase'; +import type { Race } from '@core/racing/domain/entities/Race'; +import type { IRaceRepository } from '@core/racing/application/ports/IRaceRepository'; +import type { IIsDriverRegisteredForRaceQuery } from '@core/racing/application/queries/IIsDriverRegisteredForRaceQuery'; +import type { IRegisterForRaceUseCase } from '@core/racing/application/use-cases/IRegisterForRaceUseCase'; +import type { IWithdrawFromRaceUseCase } from '@core/racing/application/use-cases/IWithdrawFromRaceUseCase'; export interface LeagueScheduleRaceItemViewModel { id: string; diff --git a/apps/website/lib/presenters/LeagueSchedulePreviewPresenter.ts b/apps/website/lib/presenters/LeagueSchedulePreviewPresenter.ts index 9a2a73c34..3433f9be5 100644 --- a/apps/website/lib/presenters/LeagueSchedulePreviewPresenter.ts +++ b/apps/website/lib/presenters/LeagueSchedulePreviewPresenter.ts @@ -1,5 +1,5 @@ -import type { ILeagueSchedulePreviewPresenter } from '@gridpilot/racing/application/presenters/ILeagueSchedulePreviewPresenter'; -import type { LeagueSchedulePreviewDTO } from '@gridpilot/racing/application/dto/LeagueScheduleDTO'; +import type { ILeagueSchedulePreviewPresenter } from '@core/racing/application/presenters/ILeagueSchedulePreviewPresenter'; +import type { LeagueSchedulePreviewDTO } from '@core/racing/application/dto/LeagueScheduleDTO'; export class LeagueSchedulePreviewPresenter implements ILeagueSchedulePreviewPresenter { private data: LeagueSchedulePreviewDTO | null = null; diff --git a/apps/website/lib/presenters/LeagueScoringConfigPresenter.ts b/apps/website/lib/presenters/LeagueScoringConfigPresenter.ts index fdf4319ef..44b6ba690 100644 --- a/apps/website/lib/presenters/LeagueScoringConfigPresenter.ts +++ b/apps/website/lib/presenters/LeagueScoringConfigPresenter.ts @@ -1,11 +1,11 @@ -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; -import type { BonusRule } from '@gridpilot/racing/domain/types/BonusRule'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; +import type { BonusRule } from '@core/racing/domain/types/BonusRule'; import type { ILeagueScoringConfigPresenter, LeagueScoringConfigData, LeagueScoringConfigViewModel, LeagueScoringChampionshipViewModel, -} from '@gridpilot/racing/application/presenters/ILeagueScoringConfigPresenter'; +} from '@core/racing/application/presenters/ILeagueScoringConfigPresenter'; export class LeagueScoringConfigPresenter implements ILeagueScoringConfigPresenter { private viewModel: LeagueScoringConfigViewModel | null = null; diff --git a/apps/website/lib/presenters/LeagueScoringPresetsPresenter.ts b/apps/website/lib/presenters/LeagueScoringPresetsPresenter.ts index d99deb16e..336415289 100644 --- a/apps/website/lib/presenters/LeagueScoringPresetsPresenter.ts +++ b/apps/website/lib/presenters/LeagueScoringPresetsPresenter.ts @@ -2,7 +2,7 @@ import type { ILeagueScoringPresetsPresenter, LeagueScoringPresetsViewModel, LeagueScoringPresetsResultDTO, -} from '@gridpilot/racing/application/presenters/ILeagueScoringPresetsPresenter'; +} from '@core/racing/application/presenters/ILeagueScoringPresetsPresenter'; export class LeagueScoringPresetsPresenter implements ILeagueScoringPresetsPresenter { private viewModel: LeagueScoringPresetsViewModel | null = null; diff --git a/apps/website/lib/presenters/LeagueStatsPresenter.ts b/apps/website/lib/presenters/LeagueStatsPresenter.ts index 21789f4b4..a00b76a18 100644 --- a/apps/website/lib/presenters/LeagueStatsPresenter.ts +++ b/apps/website/lib/presenters/LeagueStatsPresenter.ts @@ -1,7 +1,7 @@ import type { ILeagueStatsPresenter, LeagueStatsViewModel, -} from '@gridpilot/racing/application/presenters/ILeagueStatsPresenter'; +} from '@core/racing/application/presenters/ILeagueStatsPresenter'; export class LeagueStatsPresenter implements ILeagueStatsPresenter { private viewModel: LeagueStatsViewModel | null = null; diff --git a/apps/website/lib/presenters/PendingSponsorshipRequestsPresenter.ts b/apps/website/lib/presenters/PendingSponsorshipRequestsPresenter.ts index 67d2a841d..ad00cd58a 100644 --- a/apps/website/lib/presenters/PendingSponsorshipRequestsPresenter.ts +++ b/apps/website/lib/presenters/PendingSponsorshipRequestsPresenter.ts @@ -1,8 +1,8 @@ import type { IPendingSponsorshipRequestsPresenter, PendingSponsorshipRequestsViewModel, -} from '@gridpilot/racing/application/presenters/IPendingSponsorshipRequestsPresenter'; -import type { GetPendingSponsorshipRequestsResultDTO } from '@gridpilot/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase'; +} from '@core/racing/application/presenters/IPendingSponsorshipRequestsPresenter'; +import type { GetPendingSponsorshipRequestsResultDTO } from '@core/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase'; export class PendingSponsorshipRequestsPresenter implements IPendingSponsorshipRequestsPresenter { private viewModel: PendingSponsorshipRequestsViewModel | null = null; diff --git a/apps/website/lib/presenters/ProfileOverviewPresenter.ts b/apps/website/lib/presenters/ProfileOverviewPresenter.ts index 991d85a24..0a9c68865 100644 --- a/apps/website/lib/presenters/ProfileOverviewPresenter.ts +++ b/apps/website/lib/presenters/ProfileOverviewPresenter.ts @@ -1,7 +1,7 @@ import type { IProfileOverviewPresenter, ProfileOverviewViewModel, -} from '@gridpilot/racing/application/presenters/IProfileOverviewPresenter'; +} from '@core/racing/application/presenters/IProfileOverviewPresenter'; export class ProfileOverviewPresenter implements IProfileOverviewPresenter { private viewModel: ProfileOverviewViewModel | null = null; diff --git a/apps/website/lib/presenters/RaceDetailPresenter.ts b/apps/website/lib/presenters/RaceDetailPresenter.ts index b8408886f..1fa8959d9 100644 --- a/apps/website/lib/presenters/RaceDetailPresenter.ts +++ b/apps/website/lib/presenters/RaceDetailPresenter.ts @@ -1,7 +1,7 @@ import type { IRaceDetailPresenter, RaceDetailViewModel, -} from '@gridpilot/racing/application/presenters/IRaceDetailPresenter'; +} from '@core/racing/application/presenters/IRaceDetailPresenter'; export class RaceDetailPresenter implements IRaceDetailPresenter { private viewModel: RaceDetailViewModel | null = null; diff --git a/apps/website/lib/presenters/RacePenaltiesPresenter.ts b/apps/website/lib/presenters/RacePenaltiesPresenter.ts index dab88fea4..e7a7f8651 100644 --- a/apps/website/lib/presenters/RacePenaltiesPresenter.ts +++ b/apps/website/lib/presenters/RacePenaltiesPresenter.ts @@ -3,7 +3,7 @@ import type { RacePenaltyViewModel, RacePenaltiesResultDTO, RacePenaltiesViewModel, -} from '@gridpilot/racing/application/presenters/IRacePenaltiesPresenter'; +} from '@core/racing/application/presenters/IRacePenaltiesPresenter'; export class RacePenaltiesPresenter implements IRacePenaltiesPresenter { private viewModel: RacePenaltiesViewModel | null = null; diff --git a/apps/website/lib/presenters/RaceProtestsPresenter.ts b/apps/website/lib/presenters/RaceProtestsPresenter.ts index 16fcd2042..ff2142c2a 100644 --- a/apps/website/lib/presenters/RaceProtestsPresenter.ts +++ b/apps/website/lib/presenters/RaceProtestsPresenter.ts @@ -3,7 +3,7 @@ import type { RaceProtestViewModel, RaceProtestsResultDTO, RaceProtestsViewModel, -} from '@gridpilot/racing/application/presenters/IRaceProtestsPresenter'; +} from '@core/racing/application/presenters/IRaceProtestsPresenter'; export class RaceProtestsPresenter implements IRaceProtestsPresenter { private viewModel: RaceProtestsViewModel | null = null; diff --git a/apps/website/lib/presenters/RaceRegistrationsPresenter.ts b/apps/website/lib/presenters/RaceRegistrationsPresenter.ts index 9ddb06713..472b3f636 100644 --- a/apps/website/lib/presenters/RaceRegistrationsPresenter.ts +++ b/apps/website/lib/presenters/RaceRegistrationsPresenter.ts @@ -2,7 +2,7 @@ import type { IRaceRegistrationsPresenter, RaceRegistrationsViewModel, RaceRegistrationsResultDTO, -} from '@gridpilot/racing/application/presenters/IRaceRegistrationsPresenter'; +} from '@core/racing/application/presenters/IRaceRegistrationsPresenter'; export class RaceRegistrationsPresenter implements IRaceRegistrationsPresenter { private viewModel: RaceRegistrationsViewModel | null = null; diff --git a/apps/website/lib/presenters/RaceResultsDetailPresenter.ts b/apps/website/lib/presenters/RaceResultsDetailPresenter.ts index 7085d4891..14f4bf507 100644 --- a/apps/website/lib/presenters/RaceResultsDetailPresenter.ts +++ b/apps/website/lib/presenters/RaceResultsDetailPresenter.ts @@ -1,7 +1,7 @@ import type { IRaceResultsDetailPresenter, RaceResultsDetailViewModel, -} from '@gridpilot/racing/application/presenters/IRaceResultsDetailPresenter'; +} from '@core/racing/application/presenters/IRaceResultsDetailPresenter'; export class RaceResultsDetailPresenter implements IRaceResultsDetailPresenter { private viewModel: RaceResultsDetailViewModel | null = null; diff --git a/apps/website/lib/presenters/RaceWithSOFPresenter.ts b/apps/website/lib/presenters/RaceWithSOFPresenter.ts index a0106eec8..9a46cdb99 100644 --- a/apps/website/lib/presenters/RaceWithSOFPresenter.ts +++ b/apps/website/lib/presenters/RaceWithSOFPresenter.ts @@ -2,7 +2,7 @@ import type { IRaceWithSOFPresenter, RaceWithSOFResultDTO, RaceWithSOFViewModel, -} from '@gridpilot/racing/application/presenters/IRaceWithSOFPresenter'; +} from '@core/racing/application/presenters/IRaceWithSOFPresenter'; export class RaceWithSOFPresenter implements IRaceWithSOFPresenter { private viewModel: RaceWithSOFViewModel | null = null; diff --git a/apps/website/lib/presenters/RacesPagePresenter.ts b/apps/website/lib/presenters/RacesPagePresenter.ts index 02c7a804f..2fa2a8cd9 100644 --- a/apps/website/lib/presenters/RacesPagePresenter.ts +++ b/apps/website/lib/presenters/RacesPagePresenter.ts @@ -3,7 +3,7 @@ import type { RacesPageViewModel, RaceListItemViewModel, RacesPageResultDTO, -} from '@gridpilot/racing/application/presenters/IRacesPagePresenter'; +} from '@core/racing/application/presenters/IRacesPagePresenter'; export class RacesPagePresenter implements IRacesPagePresenter { private viewModel: RacesPageViewModel | null = null; diff --git a/apps/website/lib/presenters/SponsorDashboardPresenter.ts b/apps/website/lib/presenters/SponsorDashboardPresenter.ts index 0b368881a..ed9287d24 100644 --- a/apps/website/lib/presenters/SponsorDashboardPresenter.ts +++ b/apps/website/lib/presenters/SponsorDashboardPresenter.ts @@ -1,8 +1,8 @@ import type { ISponsorDashboardPresenter, SponsorDashboardViewModel, -} from '@gridpilot/racing/application/presenters/ISponsorDashboardPresenter'; -import type { SponsorDashboardDTO } from '@gridpilot/racing/application/use-cases/GetSponsorDashboardUseCase'; +} from '@core/racing/application/presenters/ISponsorDashboardPresenter'; +import type { SponsorDashboardDTO } from '@core/racing/application/use-cases/GetSponsorDashboardUseCase'; export class SponsorDashboardPresenter implements ISponsorDashboardPresenter { private viewModel: SponsorDashboardViewModel = null; diff --git a/apps/website/lib/presenters/SponsorSponsorshipsPresenter.ts b/apps/website/lib/presenters/SponsorSponsorshipsPresenter.ts index fb80aa634..f7bf0c971 100644 --- a/apps/website/lib/presenters/SponsorSponsorshipsPresenter.ts +++ b/apps/website/lib/presenters/SponsorSponsorshipsPresenter.ts @@ -1,8 +1,8 @@ import type { ISponsorSponsorshipsPresenter, SponsorSponsorshipsViewModel, -} from '@gridpilot/racing/application/presenters/ISponsorSponsorshipsPresenter'; -import type { SponsorSponsorshipsDTO } from '@gridpilot/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; +} from '@core/racing/application/presenters/ISponsorSponsorshipsPresenter'; +import type { SponsorSponsorshipsDTO } from '@core/racing/application/use-cases/GetSponsorSponsorshipsUseCase'; export class SponsorSponsorshipsPresenter implements ISponsorSponsorshipsPresenter { private viewModel: SponsorSponsorshipsViewModel = null; diff --git a/apps/website/lib/presenters/TeamJoinRequestsPresenter.ts b/apps/website/lib/presenters/TeamJoinRequestsPresenter.ts index b0229a97f..bfc5aa926 100644 --- a/apps/website/lib/presenters/TeamJoinRequestsPresenter.ts +++ b/apps/website/lib/presenters/TeamJoinRequestsPresenter.ts @@ -3,7 +3,7 @@ import type { TeamJoinRequestViewModel, TeamJoinRequestsViewModel, TeamJoinRequestsResultDTO, -} from '@gridpilot/racing/application/presenters/ITeamJoinRequestsPresenter'; +} from '@core/racing/application/presenters/ITeamJoinRequestsPresenter'; export class TeamJoinRequestsPresenter implements ITeamJoinRequestsPresenter { private viewModel: TeamJoinRequestsViewModel | null = null; diff --git a/apps/website/lib/presenters/TeamMembersPresenter.ts b/apps/website/lib/presenters/TeamMembersPresenter.ts index 483af3a6c..f67839806 100644 --- a/apps/website/lib/presenters/TeamMembersPresenter.ts +++ b/apps/website/lib/presenters/TeamMembersPresenter.ts @@ -3,7 +3,7 @@ import type { TeamMemberViewModel, TeamMembersViewModel, TeamMembersResultDTO, -} from '@gridpilot/racing/application/presenters/ITeamMembersPresenter'; +} from '@core/racing/application/presenters/ITeamMembersPresenter'; export class TeamMembersPresenter implements ITeamMembersPresenter { private viewModel: TeamMembersViewModel | null = null; diff --git a/apps/website/lib/presenters/TeamsLeaderboardPresenter.ts b/apps/website/lib/presenters/TeamsLeaderboardPresenter.ts index 646cd9470..b6a53ede4 100644 --- a/apps/website/lib/presenters/TeamsLeaderboardPresenter.ts +++ b/apps/website/lib/presenters/TeamsLeaderboardPresenter.ts @@ -4,7 +4,7 @@ import type { TeamLeaderboardItemViewModel, SkillLevel, TeamsLeaderboardResultDTO, -} from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter'; +} from '@core/racing/application/presenters/ITeamsLeaderboardPresenter'; interface TeamLeaderboardInput { id: string; diff --git a/apps/website/next.config.mjs b/apps/website/next.config.mjs index 674601651..342819565 100644 --- a/apps/website/next.config.mjs +++ b/apps/website/next.config.mjs @@ -20,10 +20,9 @@ const nextConfig = { ignoreBuildErrors: false, }, transpilePackages: [ - '@gridpilot/racing', - '@gridpilot/identity', - '@gridpilot/social', - '@gridpilot/testing-support', + '@core/racing', + '@core/identity', + '@core/social' ], webpack: (config) => { config.module.rules.push({ diff --git a/apps/website/package.json b/apps/website/package.json index 564e95fa8..0b5be3cc6 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -12,11 +12,11 @@ }, "dependencies": { "@faker-js/faker": "^9.2.0", - "@gridpilot/identity": "file:../../core/identity", - "@gridpilot/notifications": "file:../../core/notifications", - "@gridpilot/racing": "file:../../core/racing", - "@gridpilot/social": "file:../../core/social", - "@gridpilot/testing-support": "file:../../core/testing-support", + "@core/identity": "file:../../core/identity", + "@core/notifications": "file:../../core/notifications", + "@core/racing": "file:../../core/racing", + "@core/social": "file:../../core/social", + "@core/testing-support": "file:../../core/testing-support", "@vercel/kv": "^3.0.0", "electron": "39.2.7", "framer-motion": "^12.23.25", diff --git a/apps/website/tsconfig.json b/apps/website/tsconfig.json index 095497ef5..e32833a09 100644 --- a/apps/website/tsconfig.json +++ b/apps/website/tsconfig.json @@ -15,23 +15,9 @@ ], "paths": { "@/*": ["./*"], - "@/lib/*": ["./lib/*"], - "@/components/*": ["./components/*"], - "@/app/*": ["./app/*"], - "@core/identity": ["../../core/identity/index.ts"], - "@core/identity/*": ["../../core/identity/*"], - "@core/racing": ["../../core/racing/index.ts"], - "@core/racing/*": ["../../core/racing/*"], - "@core/social": ["../../core/social/index.ts"], - "@core/social/*": ["../../core/social/*"], - "@core/testing-support": ["../../core/testing-support/index.ts"], - "@core/testing-support/*": ["../../core/testing-support/*"], - "@core/media": ["../../core/media/index.ts"], - "@core/media/*": ["../../core/media/*"], - "@core/shared/logging": ["../../core/shared/logging"], - "@core/shared/*": ["../../core/shared/*"], - "@core/core/*": ["../../core/*"], - "@core/api/*": ["../../apps/api/src/*"] + "@core/*": ["../../core/*"], + "@adapters/*": ["../../adapters/*"], + "@testing/*": ["../../testing/*"] } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], diff --git a/core/analytics/application/use-cases/GetEntityAnalyticsQuery.ts b/core/analytics/application/use-cases/GetEntityAnalyticsQuery.ts index ccf9c03b7..1b17effad 100644 --- a/core/analytics/application/use-cases/GetEntityAnalyticsQuery.ts +++ b/core/analytics/application/use-cases/GetEntityAnalyticsQuery.ts @@ -5,8 +5,8 @@ * Returns metrics formatted for display to sponsors and admins. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; -import type { Logger } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; +import type { Logger } from '@core/shared/application'; import type { IPageViewRepository } from '../../domain/repositories/IPageViewRepository'; import type { IEngagementRepository } from '../../domain/repositories/IEngagementRepository'; import type { IAnalyticsSnapshotRepository } from '../../domain/repositories/IAnalyticsSnapshotRepository'; diff --git a/core/analytics/application/use-cases/RecordEngagementUseCase.ts b/core/analytics/application/use-cases/RecordEngagementUseCase.ts index bb94e09d1..100c6c86a 100644 --- a/core/analytics/application/use-cases/RecordEngagementUseCase.ts +++ b/core/analytics/application/use-cases/RecordEngagementUseCase.ts @@ -4,8 +4,8 @@ * Records an engagement event when a visitor interacts with an entity. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { AsyncUseCase } from '@core/shared/application'; +import type { Logger } from '@core/shared/logging/Logger'; import { EngagementEvent, type EngagementAction, type EngagementEntityType } from '../../domain/entities/EngagementEvent'; import type { IEngagementRepository } from '../../domain/repositories/IEngagementRepository'; diff --git a/core/analytics/application/use-cases/RecordPageViewUseCase.ts b/core/analytics/application/use-cases/RecordPageViewUseCase.ts index f581561be..9398862d9 100644 --- a/core/analytics/application/use-cases/RecordPageViewUseCase.ts +++ b/core/analytics/application/use-cases/RecordPageViewUseCase.ts @@ -4,8 +4,8 @@ * Records a page view event when a visitor accesses an entity page. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { AsyncUseCase } from '@core/shared/application'; +import type { Logger } from '@core/shared/logging/Logger'; import { PageView } from '../../domain/entities/PageView'; import type { EntityType, VisitorType } from '../../domain/types/PageView'; import type { IPageViewRepository } from '../../domain/repositories/IPageViewRepository'; diff --git a/core/analytics/domain/entities/AnalyticsSnapshot.ts b/core/analytics/domain/entities/AnalyticsSnapshot.ts index de38da96d..e1737856e 100644 --- a/core/analytics/domain/entities/AnalyticsSnapshot.ts +++ b/core/analytics/domain/entities/AnalyticsSnapshot.ts @@ -5,7 +5,7 @@ * Pre-calculated metrics for sponsor dashboard and entity analytics. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { AnalyticsSnapshotProps, AnalyticsMetrics, diff --git a/core/analytics/domain/entities/EngagementEvent.ts b/core/analytics/domain/entities/EngagementEvent.ts index c87cc416c..e8bb0f7dd 100644 --- a/core/analytics/domain/entities/EngagementEvent.ts +++ b/core/analytics/domain/entities/EngagementEvent.ts @@ -5,7 +5,7 @@ * Tracks clicks, downloads, sign-ups, and other engagement actions. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { EngagementAction, EngagementEntityType, diff --git a/core/analytics/domain/entities/PageView.ts b/core/analytics/domain/entities/PageView.ts index 619f398c9..9014c3a86 100644 --- a/core/analytics/domain/entities/PageView.ts +++ b/core/analytics/domain/entities/PageView.ts @@ -5,7 +5,7 @@ * Captures visitor interactions with leagues, drivers, teams, races. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { EntityType, VisitorType, PageViewProps } from '../types/PageView'; export type { EntityType, VisitorType } from '../types/PageView'; diff --git a/core/analytics/domain/value-objects/AnalyticsEntityId.ts b/core/analytics/domain/value-objects/AnalyticsEntityId.ts index fb6c97d9e..fb7743013 100644 --- a/core/analytics/domain/value-objects/AnalyticsEntityId.ts +++ b/core/analytics/domain/value-objects/AnalyticsEntityId.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface AnalyticsEntityIdProps { value: string; diff --git a/core/analytics/domain/value-objects/AnalyticsSessionId.ts b/core/analytics/domain/value-objects/AnalyticsSessionId.ts index b1e03fc2d..0913d02ee 100644 --- a/core/analytics/domain/value-objects/AnalyticsSessionId.ts +++ b/core/analytics/domain/value-objects/AnalyticsSessionId.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface AnalyticsSessionIdProps { value: string; diff --git a/core/analytics/domain/value-objects/PageViewId.ts b/core/analytics/domain/value-objects/PageViewId.ts index 3fe7beaa3..af211f6ab 100644 --- a/core/analytics/domain/value-objects/PageViewId.ts +++ b/core/analytics/domain/value-objects/PageViewId.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface PageViewIdProps { value: string; diff --git a/core/analytics/package.json b/core/analytics/package.json deleted file mode 100644 index 65bd3c4a9..000000000 --- a/core/analytics/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "@gridpilot/analytics", - "version": "0.1.0", - "main": "./index.ts", - "types": "./index.ts", - "type": "module", - "exports": { - ".": "./index.ts", - "./domain/*": "./domain/*", - "./application/*": "./application/*", - "./infrastructure/*": "./infrastructure/*" - }, - "dependencies": {} -} \ No newline at end of file diff --git a/core/analytics/tsconfig.json b/core/analytics/tsconfig.json deleted file mode 100644 index f5824790a..000000000 --- a/core/analytics/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "dist", - "declaration": true, - "declarationMap": false - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/core/automation/application/ports/LoggerPort.ts b/core/automation/application/ports/LoggerPort.ts index d8a3075ef..935cf0ce6 100644 --- a/core/automation/application/ports/LoggerPort.ts +++ b/core/automation/application/ports/LoggerPort.ts @@ -1,6 +1,6 @@ import type { LogLevel } from './LoggerLogLevel'; import type { LogContext } from './LoggerContext'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; /** * LoggerPort - Port interface for application-layer logging. diff --git a/core/automation/application/services/OverlaySyncService.ts b/core/automation/application/services/OverlaySyncService.ts index 4ff79184a..2b06017e1 100644 --- a/core/automation/application/services/OverlaySyncService.ts +++ b/core/automation/application/services/OverlaySyncService.ts @@ -2,7 +2,7 @@ import { OverlaySyncPort, OverlayAction, ActionAck } from '../ports/OverlaySyncP import { AutomationEventPublisherPort, AutomationEvent } from '../ports/AutomationEventPublisherPort'; import { AutomationLifecycleEmitterPort, LifecycleCallback } from '../ports/AutomationLifecycleEmitterPort'; import { LoggerPort } from '../ports/LoggerPort'; -import type { IAsyncApplicationService } from '@gridpilot/shared/application'; +import type { IAsyncApplicationService } from '@core/shared/application'; type ConstructorArgs = { lifecycleEmitter: AutomationLifecycleEmitterPort diff --git a/core/automation/application/use-cases/InitiateLoginUseCase.ts b/core/automation/application/use-cases/InitiateLoginUseCase.ts index 13711d6cd..311fdc2c5 100644 --- a/core/automation/application/use-cases/InitiateLoginUseCase.ts +++ b/core/automation/application/use-cases/InitiateLoginUseCase.ts @@ -1,6 +1,6 @@ import { Result } from '../../../shared/result/Result'; import type { AuthenticationServicePort } from '../ports/AuthenticationServicePort'; -import type { Logger } from '@gridpilot/shared/application/Logger'; +import type { Logger } from '@core/shared/application/Logger'; /** * Use case for initiating the manual login flow. diff --git a/core/automation/application/use-cases/StartAutomationSessionUseCase.ts b/core/automation/application/use-cases/StartAutomationSessionUseCase.ts index 6e26e27c8..609043b5f 100644 --- a/core/automation/application/use-cases/StartAutomationSessionUseCase.ts +++ b/core/automation/application/use-cases/StartAutomationSessionUseCase.ts @@ -1,4 +1,4 @@ -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import { AutomationSession } from '../../domain/entities/AutomationSession'; import type { HostedSessionConfig } from '../../domain/types/HostedSessionConfig'; diff --git a/core/automation/domain/entities/AutomationSession.ts b/core/automation/domain/entities/AutomationSession.ts index fdd811e75..0b5a4419a 100644 --- a/core/automation/domain/entities/AutomationSession.ts +++ b/core/automation/domain/entities/AutomationSession.ts @@ -1,5 +1,5 @@ import { randomUUID } from 'crypto'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { StepId } from '../value-objects/StepId'; import { SessionState } from '../value-objects/SessionState'; import type { HostedSessionConfig } from '../types/HostedSessionConfig'; diff --git a/core/automation/domain/errors/AutomationDomainError.ts b/core/automation/domain/errors/AutomationDomainError.ts index 590fda351..4b513dc84 100644 --- a/core/automation/domain/errors/AutomationDomainError.ts +++ b/core/automation/domain/errors/AutomationDomainError.ts @@ -1,4 +1,4 @@ -import type { IDomainError } from '@gridpilot/shared/errors'; +import type { IDomainError } from '@core/shared/errors'; /** * Domain Error: AutomationDomainError diff --git a/core/automation/domain/services/PageStateValidator.ts b/core/automation/domain/services/PageStateValidator.ts index 5f0b334d2..9c8eb6466 100644 --- a/core/automation/domain/services/PageStateValidator.ts +++ b/core/automation/domain/services/PageStateValidator.ts @@ -1,4 +1,4 @@ -import type { IDomainValidationService } from '@gridpilot/shared/domain'; +import type { IDomainValidationService } from '@core/shared/domain'; import { Result } from '../../../shared/result/Result'; /** diff --git a/core/automation/domain/services/StepTransitionValidator.ts b/core/automation/domain/services/StepTransitionValidator.ts index 6f697f359..6bcb82455 100644 --- a/core/automation/domain/services/StepTransitionValidator.ts +++ b/core/automation/domain/services/StepTransitionValidator.ts @@ -1,6 +1,6 @@ import { StepId } from '../value-objects/StepId'; import { SessionState } from '../value-objects/SessionState'; -import type { IDomainValidationService } from '@gridpilot/shared/domain'; +import type { IDomainValidationService } from '@core/shared/domain'; import { Result } from '../../../shared/result/Result'; export interface ValidationResult { diff --git a/core/automation/domain/value-objects/BrowserAuthenticationState.ts b/core/automation/domain/value-objects/BrowserAuthenticationState.ts index 160040298..de1ab7e93 100644 --- a/core/automation/domain/value-objects/BrowserAuthenticationState.ts +++ b/core/automation/domain/value-objects/BrowserAuthenticationState.ts @@ -1,5 +1,5 @@ import { AuthenticationState } from './AuthenticationState'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface BrowserAuthenticationStateProps { cookiesValid: boolean; diff --git a/core/automation/domain/value-objects/CheckoutPrice.ts b/core/automation/domain/value-objects/CheckoutPrice.ts index f43db0411..4cc790903 100644 --- a/core/automation/domain/value-objects/CheckoutPrice.ts +++ b/core/automation/domain/value-objects/CheckoutPrice.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface CheckoutPriceProps { amountUsd: number; diff --git a/core/automation/domain/value-objects/SessionLifetime.ts b/core/automation/domain/value-objects/SessionLifetime.ts index 9eed5135e..24eda2f76 100644 --- a/core/automation/domain/value-objects/SessionLifetime.ts +++ b/core/automation/domain/value-objects/SessionLifetime.ts @@ -4,7 +4,7 @@ * Represents the lifetime of an authentication session with expiry tracking. * Handles validation of session expiry dates with a configurable buffer window. */ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface SessionLifetimeProps { expiry: Date | null; diff --git a/core/automation/domain/value-objects/SessionState.ts b/core/automation/domain/value-objects/SessionState.ts index 0fa164bd8..2f2ec734f 100644 --- a/core/automation/domain/value-objects/SessionState.ts +++ b/core/automation/domain/value-objects/SessionState.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export type SessionStateValue = | 'PENDING' diff --git a/core/automation/domain/value-objects/StepId.ts b/core/automation/domain/value-objects/StepId.ts index d17f3d2d7..7828fe6bc 100644 --- a/core/automation/domain/value-objects/StepId.ts +++ b/core/automation/domain/value-objects/StepId.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface StepIdProps { value: number; diff --git a/core/automation/infrastructure/adapters/IAutomationLifecycleEmitter.ts b/core/automation/infrastructure/adapters/IAutomationLifecycleEmitter.ts index ed65e675a..c7a170481 100644 --- a/core/automation/infrastructure/adapters/IAutomationLifecycleEmitter.ts +++ b/core/automation/infrastructure/adapters/IAutomationLifecycleEmitter.ts @@ -1,4 +1,4 @@ -import { AutomationEvent } from '@gridpilot/automation/application/ports/AutomationEventPublisherPort'; +import { AutomationEvent } from '@core/automation/application/ports/AutomationEventPublisherPort'; export type LifecycleCallback = (event: AutomationEvent) => Promise | void; diff --git a/core/automation/infrastructure/adapters/automation/auth/AuthenticationGuard.ts b/core/automation/infrastructure/adapters/automation/auth/AuthenticationGuard.ts index f17942775..d11b3db68 100644 --- a/core/automation/infrastructure/adapters/automation/auth/AuthenticationGuard.ts +++ b/core/automation/infrastructure/adapters/automation/auth/AuthenticationGuard.ts @@ -1,5 +1,5 @@ import { Page } from 'playwright'; -import { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; +import { LoggerPort } from '@core/automation/application/ports/LoggerPort'; export class AuthenticationGuard { constructor( diff --git a/core/automation/infrastructure/adapters/automation/auth/IRacingPlaywrightAuthFlow.ts b/core/automation/infrastructure/adapters/automation/auth/IRacingPlaywrightAuthFlow.ts index 8bd66659c..4e620c564 100644 --- a/core/automation/infrastructure/adapters/automation/auth/IRacingPlaywrightAuthFlow.ts +++ b/core/automation/infrastructure/adapters/automation/auth/IRacingPlaywrightAuthFlow.ts @@ -1,5 +1,5 @@ import type { Page } from 'playwright'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; import type { IPlaywrightAuthFlow } from './PlaywrightAuthFlow'; import { IRACING_URLS, IRACING_SELECTORS, IRACING_TIMEOUTS } from '../dom/IRacingSelectors'; import { AuthenticationGuard } from './AuthenticationGuard'; diff --git a/core/automation/infrastructure/adapters/automation/core/PlaywrightAutomationAdapter.ts b/core/automation/infrastructure/adapters/automation/core/PlaywrightAutomationAdapter.ts index 4b84366ef..df68fa3e3 100644 --- a/core/automation/infrastructure/adapters/automation/core/PlaywrightAutomationAdapter.ts +++ b/core/automation/infrastructure/adapters/automation/core/PlaywrightAutomationAdapter.ts @@ -23,7 +23,7 @@ import { PlaywrightBrowserSession } from './PlaywrightBrowserSession'; import { getFixtureForStep } from '../engine/FixtureServer'; import { BrowserModeConfigLoader, BrowserMode } from '../../../config/BrowserModeConfig'; import { getAutomationMode } from '../../../config/AutomationConfig'; -import { PageStateValidator, PageStateValidation, PageStateValidationResult } from '@gridpilot/automation/domain/services/PageStateValidator'; +import { PageStateValidator, PageStateValidation, PageStateValidationResult } from '@core/automation/domain/services/PageStateValidator'; import { IRacingDomNavigator } from '../dom/IRacingDomNavigator'; import { SafeClickService } from '../dom/SafeClickService'; import { IRacingDomInteractor } from '../dom/IRacingDomInteractor'; diff --git a/core/automation/infrastructure/adapters/automation/core/PlaywrightBrowserSession.ts b/core/automation/infrastructure/adapters/automation/core/PlaywrightBrowserSession.ts index d6b461df2..f2db3abf2 100644 --- a/core/automation/infrastructure/adapters/automation/core/PlaywrightBrowserSession.ts +++ b/core/automation/infrastructure/adapters/automation/core/PlaywrightBrowserSession.ts @@ -4,7 +4,7 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; import * as fs from 'fs'; import * as path from 'path'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; import { BrowserModeConfigLoader, BrowserMode } from '../../../config/BrowserModeConfig'; import { getAutomationMode } from '../../../config/AutomationConfig'; import type { PlaywrightConfig } from './PlaywrightAutomationAdapter'; diff --git a/core/automation/infrastructure/adapters/automation/dom/SafeClickService.ts b/core/automation/infrastructure/adapters/automation/dom/SafeClickService.ts index a31eb5035..cb3b8fbd3 100644 --- a/core/automation/infrastructure/adapters/automation/dom/SafeClickService.ts +++ b/core/automation/infrastructure/adapters/automation/dom/SafeClickService.ts @@ -1,5 +1,5 @@ import type { Page } from 'playwright'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; import { IRACING_SELECTORS, BLOCKED_KEYWORDS } from './IRacingSelectors'; import type { PlaywrightConfig } from '../core/PlaywrightAutomationAdapter'; import { PlaywrightBrowserSession } from '../core/PlaywrightBrowserSession'; diff --git a/core/automation/infrastructure/adapters/logging/NoOpLogAdapter.ts b/core/automation/infrastructure/adapters/logging/NoOpLogAdapter.ts index 9c92a0cac..2ea9a5334 100644 --- a/core/automation/infrastructure/adapters/logging/NoOpLogAdapter.ts +++ b/core/automation/infrastructure/adapters/logging/NoOpLogAdapter.ts @@ -1,6 +1,6 @@ import type { LoggerPort } from '../../../application/ports/LoggerPort'; import type { LogContext } from '../../../application/ports/LoggerContext'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; export class NoOpLogAdapter implements LoggerPort, Logger { debug(_message: string, _context?: LogContext): void {} diff --git a/core/automation/infrastructure/adapters/logging/PinoLogAdapter.ts b/core/automation/infrastructure/adapters/logging/PinoLogAdapter.ts index 8e22317db..6371fd9e5 100644 --- a/core/automation/infrastructure/adapters/logging/PinoLogAdapter.ts +++ b/core/automation/infrastructure/adapters/logging/PinoLogAdapter.ts @@ -1,8 +1,8 @@ -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; -import type { LogContext } from '@gridpilot/automation/application/ports/LoggerContext'; -import type { LogLevel } from '@gridpilot/automation/application/ports/LoggerLogLevel'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; +import type { LogContext } from '@core/automation/application/ports/LoggerContext'; +import type { LogLevel } from '@core/automation/application/ports/LoggerLogLevel'; import { loadLoggingConfig, type LoggingEnvironmentConfig } from '../../config/LoggingConfig'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Logger } from '@core/shared/logging/Logger'; const LOG_LEVEL_PRIORITY: Record = { debug: 10, diff --git a/core/automation/package.json b/core/automation/package.json deleted file mode 100644 index 11e92eee4..000000000 --- a/core/automation/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@gridpilot/automation", - "version": "0.1.0", - "main": "./index.ts", - "types": "./index.ts", - "type": "module", - "exports": { - "./domain/*": "./domain/*", - "./application/*": "./application/*", - "./infrastructure/adapters/automation": "./infrastructure/adapters/automation/index.ts", - "./infrastructure/config": "./infrastructure/config/index.ts", - "./infrastructure/*": "./infrastructure/*" - }, - "dependencies": {} -} \ No newline at end of file diff --git a/core/automation/tsconfig.json b/core/automation/tsconfig.json deleted file mode 100644 index 56f2c4d42..000000000 --- a/core/automation/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": "..", - "outDir": "dist", - "declaration": true, - "declarationMap": false - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/core/identity/domain/entities/Achievement.ts b/core/identity/domain/entities/Achievement.ts index 37e154762..f35d9b3eb 100644 --- a/core/identity/domain/entities/Achievement.ts +++ b/core/identity/domain/entities/Achievement.ts @@ -5,7 +5,7 @@ * Achievements are categorized by role (driver, steward, admin) and type. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export type AchievementCategory = 'driver' | 'steward' | 'admin' | 'community'; diff --git a/core/identity/domain/entities/UserAchievement.ts b/core/identity/domain/entities/UserAchievement.ts index 353c1b67d..8d7324b8c 100644 --- a/core/identity/domain/entities/UserAchievement.ts +++ b/core/identity/domain/entities/UserAchievement.ts @@ -4,7 +4,7 @@ * Represents an achievement earned by a specific user. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export interface UserAchievementProps { id: string; diff --git a/core/identity/domain/services/RatingUpdateService.ts b/core/identity/domain/services/RatingUpdateService.ts index e8d33e296..ba918fd87 100644 --- a/core/identity/domain/services/RatingUpdateService.ts +++ b/core/identity/domain/services/RatingUpdateService.ts @@ -1,4 +1,4 @@ -import type { IDomainService } from '@gridpilot/shared/domain'; +import type { IDomainService } from '@core/shared/domain'; import type { IUserRatingRepository } from '../repositories/IUserRatingRepository'; import { UserRating } from '../value-objects/UserRating'; diff --git a/core/identity/domain/value-objects/EmailAddress.ts b/core/identity/domain/value-objects/EmailAddress.ts index ce4db4d0f..7b4d93354 100644 --- a/core/identity/domain/value-objects/EmailAddress.ts +++ b/core/identity/domain/value-objects/EmailAddress.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; import type { EmailValidationResult } from '../types/EmailAddress'; import { validateEmail, isDisposableEmail } from '../types/EmailAddress'; diff --git a/core/identity/domain/value-objects/PasswordHash.ts b/core/identity/domain/value-objects/PasswordHash.ts index 8aacd944e..3a5badb25 100644 --- a/core/identity/domain/value-objects/PasswordHash.ts +++ b/core/identity/domain/value-objects/PasswordHash.ts @@ -1,5 +1,5 @@ import bcrypt from 'bcrypt'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface PasswordHashProps { value: string; diff --git a/core/identity/domain/value-objects/UserId.ts b/core/identity/domain/value-objects/UserId.ts index 06ca37d37..9d8bd7b8a 100644 --- a/core/identity/domain/value-objects/UserId.ts +++ b/core/identity/domain/value-objects/UserId.ts @@ -1,5 +1,5 @@ import { v4 as uuidv4 } from 'uuid'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface UserIdProps { value: string; diff --git a/core/identity/domain/value-objects/UserRating.ts b/core/identity/domain/value-objects/UserRating.ts index b486ce7f9..ef337949c 100644 --- a/core/identity/domain/value-objects/UserRating.ts +++ b/core/identity/domain/value-objects/UserRating.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; /** * Value Object: UserRating diff --git a/core/identity/package.json b/core/identity/package.json deleted file mode 100644 index da4b0c42e..000000000 --- a/core/identity/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@gridpilot/identity", - "version": "0.1.0", - "main": "./index.ts", - "types": "./index.ts", - "type": "module", - "exports": { - "./domain/*": "./domain/*", - "./application/*": "./application/*", - "./infrastructure/*": "./infrastructure/*" - }, - "dependencies": { - "zod": "^3.25.76" - } -} \ No newline at end of file diff --git a/core/identity/tsconfig.json b/core/identity/tsconfig.json deleted file mode 100644 index f5824790a..000000000 --- a/core/identity/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "dist", - "declaration": true, - "declarationMap": false - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/core/media/application/use-cases/RequestAvatarGenerationUseCase.ts b/core/media/application/use-cases/RequestAvatarGenerationUseCase.ts index e5d6f87c0..c105b7cd7 100644 --- a/core/media/application/use-cases/RequestAvatarGenerationUseCase.ts +++ b/core/media/application/use-cases/RequestAvatarGenerationUseCase.ts @@ -1,4 +1,4 @@ -import type { UseCase, Logger } from '@gridpilot/shared/application'; +import type { UseCase, Logger } from '@core/shared/application'; import type { IAvatarGenerationRepository } from '../../domain/repositories/IAvatarGenerationRepository'; import type { FaceValidationPort } from '../ports/FaceValidationPort'; import type { AvatarGenerationPort } from '../ports/AvatarGenerationPort'; diff --git a/core/media/application/use-cases/SelectAvatarUseCase.ts b/core/media/application/use-cases/SelectAvatarUseCase.ts index a81b3c875..126cc7979 100644 --- a/core/media/application/use-cases/SelectAvatarUseCase.ts +++ b/core/media/application/use-cases/SelectAvatarUseCase.ts @@ -4,7 +4,7 @@ * Allows a user to select one of the generated avatars as their profile avatar. */ -import type { AsyncUseCase, Logger } from '@gridpilot/shared/application'; +import type { AsyncUseCase, Logger } from '@core/shared/application'; import type { IAvatarGenerationRepository } from '../../domain/repositories/IAvatarGenerationRepository'; export interface SelectAvatarCommand { diff --git a/core/media/domain/entities/AvatarGenerationRequest.ts b/core/media/domain/entities/AvatarGenerationRequest.ts index 307dc0a17..982ffff95 100644 --- a/core/media/domain/entities/AvatarGenerationRequest.ts +++ b/core/media/domain/entities/AvatarGenerationRequest.ts @@ -4,7 +4,7 @@ * Represents a request to generate a racing avatar from a face photo. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { AvatarGenerationRequestProps, AvatarGenerationStatus, diff --git a/core/media/domain/value-objects/MediaUrl.ts b/core/media/domain/value-objects/MediaUrl.ts index f3631aae5..b52979507 100644 --- a/core/media/domain/value-objects/MediaUrl.ts +++ b/core/media/domain/value-objects/MediaUrl.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; /** * Value Object: MediaUrl diff --git a/core/media/package.json b/core/media/package.json deleted file mode 100644 index 21e51c02c..000000000 --- a/core/media/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "@gridpilot/media", - "version": "0.1.0", - "type": "module", - "main": "./index.ts", - "types": "./index.ts", - "exports": { - ".": "./index.ts", - "./application/*": "./application/*" - } -} \ No newline at end of file diff --git a/core/media/tsconfig.json b/core/media/tsconfig.json deleted file mode 100644 index 86e44fbd0..000000000 --- a/core/media/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "dist", - "declaration": true, - "declarationMap": false - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/core/notifications/application/use-cases/GetUnreadNotificationsUseCase.ts b/core/notifications/application/use-cases/GetUnreadNotificationsUseCase.ts index 5863f7f73..f2733e090 100644 --- a/core/notifications/application/use-cases/GetUnreadNotificationsUseCase.ts +++ b/core/notifications/application/use-cases/GetUnreadNotificationsUseCase.ts @@ -4,7 +4,7 @@ * Retrieves unread notifications for a recipient. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import type { Notification } from '../../domain/entities/Notification'; import type { INotificationRepository } from '../../domain/repositories/INotificationRepository'; diff --git a/core/notifications/application/use-cases/MarkNotificationReadUseCase.ts b/core/notifications/application/use-cases/MarkNotificationReadUseCase.ts index 87c014618..9b9bba26a 100644 --- a/core/notifications/application/use-cases/MarkNotificationReadUseCase.ts +++ b/core/notifications/application/use-cases/MarkNotificationReadUseCase.ts @@ -4,7 +4,7 @@ * Marks a notification as read. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { INotificationRepository } from '../../domain/repositories/INotificationRepository'; import { NotificationDomainError } from '../../domain/errors/NotificationDomainError'; import type { Logger } from '../../../shared/src/logging/Logger'; diff --git a/core/notifications/application/use-cases/NotificationPreferencesUseCases.ts b/core/notifications/application/use-cases/NotificationPreferencesUseCases.ts index 3ff8375e5..7d620931c 100644 --- a/core/notifications/application/use-cases/NotificationPreferencesUseCases.ts +++ b/core/notifications/application/use-cases/NotificationPreferencesUseCases.ts @@ -4,8 +4,8 @@ * Manages user notification preferences. */ -import type { AsyncUseCase } from '@gridpilot/shared/application'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { AsyncUseCase } from '@core/shared/application'; +import type { Logger } from '@core/shared/logging/Logger'; import { NotificationPreference } from '../../domain/entities/NotificationPreference'; import type { ChannelPreference, TypePreference } from '../../domain/entities/NotificationPreference'; import type { INotificationPreferenceRepository } from '../../domain/repositories/INotificationPreferenceRepository'; diff --git a/core/notifications/application/use-cases/SendNotificationUseCase.ts b/core/notifications/application/use-cases/SendNotificationUseCase.ts index db7c06f9c..20e941bf2 100644 --- a/core/notifications/application/use-cases/SendNotificationUseCase.ts +++ b/core/notifications/application/use-cases/SendNotificationUseCase.ts @@ -6,7 +6,7 @@ */ import { v4 as uuid } from 'uuid'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import { Notification } from '../../domain/entities/Notification'; import type { NotificationData } from '../../domain/entities/Notification'; diff --git a/core/notifications/domain/entities/Notification.ts b/core/notifications/domain/entities/Notification.ts index 1cb2dbf4f..c24c74d39 100644 --- a/core/notifications/domain/entities/Notification.ts +++ b/core/notifications/domain/entities/Notification.ts @@ -5,7 +5,7 @@ * Immutable entity with factory methods and domain validation. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { NotificationDomainError } from '../errors/NotificationDomainError'; import { NotificationId } from '../value-objects/NotificationId'; diff --git a/core/notifications/domain/entities/NotificationPreference.ts b/core/notifications/domain/entities/NotificationPreference.ts index c598b2e2c..b96b538fa 100644 --- a/core/notifications/domain/entities/NotificationPreference.ts +++ b/core/notifications/domain/entities/NotificationPreference.ts @@ -4,7 +4,7 @@ * Represents a user's notification preferences for different channels and types. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { NotificationType, NotificationChannel } from '../types/NotificationTypes'; import { NotificationDomainError } from '../errors/NotificationDomainError'; import { QuietHours } from '../value-objects/QuietHours'; diff --git a/core/notifications/domain/errors/NotificationDomainError.ts b/core/notifications/domain/errors/NotificationDomainError.ts index dc8f322e1..907cff718 100644 --- a/core/notifications/domain/errors/NotificationDomainError.ts +++ b/core/notifications/domain/errors/NotificationDomainError.ts @@ -1,4 +1,4 @@ -import type { IDomainError, CommonDomainErrorKind } from '@gridpilot/shared/errors'; +import type { IDomainError, CommonDomainErrorKind } from '@core/shared/errors'; /** * Domain Error: NotificationDomainError diff --git a/core/notifications/domain/value-objects/NotificationId.ts b/core/notifications/domain/value-objects/NotificationId.ts index 1ad24e87b..b0bc86699 100644 --- a/core/notifications/domain/value-objects/NotificationId.ts +++ b/core/notifications/domain/value-objects/NotificationId.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; import { NotificationDomainError } from '../errors/NotificationDomainError'; export interface NotificationIdProps { diff --git a/core/notifications/domain/value-objects/QuietHours.ts b/core/notifications/domain/value-objects/QuietHours.ts index a63085e0a..f4c93c006 100644 --- a/core/notifications/domain/value-objects/QuietHours.ts +++ b/core/notifications/domain/value-objects/QuietHours.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; import { NotificationDomainError } from '../errors/NotificationDomainError'; export interface QuietHoursProps { diff --git a/core/notifications/package.json b/core/notifications/package.json deleted file mode 100644 index 53e261982..000000000 --- a/core/notifications/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "@gridpilot/notifications", - "version": "0.1.0", - "type": "module", - "exports": { - "./domain/*": "./domain/*", - "./application": "./application/index.ts", - "./application/*": "./application/*", - "./infrastructure": "./infrastructure/index.ts", - "./infrastructure/*": "./infrastructure/*" - }, - "dependencies": { - "uuid": "^11.0.5" - }, - "devDependencies": { - "@types/uuid": "^10.0.0" - } -} \ No newline at end of file diff --git a/core/payments/application/presenters/IAwardPrizePresenter.ts b/core/payments/application/presenters/IAwardPrizePresenter.ts index bcb72a730..52dd36b73 100644 --- a/core/payments/application/presenters/IAwardPrizePresenter.ts +++ b/core/payments/application/presenters/IAwardPrizePresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IAwardPrizePresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PrizeDto } from './IGetPrizesPresenter'; export interface AwardPrizeResultDTO { diff --git a/core/payments/application/presenters/ICreatePaymentPresenter.ts b/core/payments/application/presenters/ICreatePaymentPresenter.ts index 36baff34e..478805bb1 100644 --- a/core/payments/application/presenters/ICreatePaymentPresenter.ts +++ b/core/payments/application/presenters/ICreatePaymentPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: ICreatePaymentPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PaymentDto } from './IGetPaymentsPresenter'; export interface CreatePaymentResultDTO { diff --git a/core/payments/application/presenters/ICreatePrizePresenter.ts b/core/payments/application/presenters/ICreatePrizePresenter.ts index babe68ed4..d4c2a6cc5 100644 --- a/core/payments/application/presenters/ICreatePrizePresenter.ts +++ b/core/payments/application/presenters/ICreatePrizePresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: ICreatePrizePresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PrizeDto } from './IGetPrizesPresenter'; export interface CreatePrizeResultDTO { diff --git a/core/payments/application/presenters/IDeletePrizePresenter.ts b/core/payments/application/presenters/IDeletePrizePresenter.ts index f318951a4..93ba2cdaa 100644 --- a/core/payments/application/presenters/IDeletePrizePresenter.ts +++ b/core/payments/application/presenters/IDeletePrizePresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IDeletePrizePresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface DeletePrizeResultDTO { success: boolean; diff --git a/core/payments/application/presenters/IGetMembershipFeesPresenter.ts b/core/payments/application/presenters/IGetMembershipFeesPresenter.ts index 631c0987d..4a8451138 100644 --- a/core/payments/application/presenters/IGetMembershipFeesPresenter.ts +++ b/core/payments/application/presenters/IGetMembershipFeesPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IGetMembershipFeesPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { MembershipFeeType } from '../../domain/entities/MembershipFee'; import type { MemberPaymentStatus } from '../../domain/entities/MemberPayment'; diff --git a/core/payments/application/presenters/IGetPaymentsPresenter.ts b/core/payments/application/presenters/IGetPaymentsPresenter.ts index 4ab2f99f1..84065791a 100644 --- a/core/payments/application/presenters/IGetPaymentsPresenter.ts +++ b/core/payments/application/presenters/IGetPaymentsPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IGetPaymentsPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PaymentType, PayerType, PaymentStatus } from '../../domain/entities/Payment'; export interface PaymentDto { diff --git a/core/payments/application/presenters/IGetPrizesPresenter.ts b/core/payments/application/presenters/IGetPrizesPresenter.ts index 8affce773..47c018e17 100644 --- a/core/payments/application/presenters/IGetPrizesPresenter.ts +++ b/core/payments/application/presenters/IGetPrizesPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IGetPrizesPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PrizeType } from '../../domain/entities/Prize'; export interface PrizeDto { diff --git a/core/payments/application/presenters/IGetWalletPresenter.ts b/core/payments/application/presenters/IGetWalletPresenter.ts index cb4133997..041f31bcc 100644 --- a/core/payments/application/presenters/IGetWalletPresenter.ts +++ b/core/payments/application/presenters/IGetWalletPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IGetWalletPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { TransactionType, ReferenceType } from '../../domain/entities/Wallet'; export interface WalletDto { diff --git a/core/payments/application/presenters/IProcessWalletTransactionPresenter.ts b/core/payments/application/presenters/IProcessWalletTransactionPresenter.ts index 42eb33674..9f0c2ad92 100644 --- a/core/payments/application/presenters/IProcessWalletTransactionPresenter.ts +++ b/core/payments/application/presenters/IProcessWalletTransactionPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IProcessWalletTransactionPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { WalletDto, TransactionDto } from './IGetWalletPresenter'; export interface ProcessWalletTransactionResultDTO { diff --git a/core/payments/application/presenters/IUpdateMemberPaymentPresenter.ts b/core/payments/application/presenters/IUpdateMemberPaymentPresenter.ts index 4af88c696..8c66f398b 100644 --- a/core/payments/application/presenters/IUpdateMemberPaymentPresenter.ts +++ b/core/payments/application/presenters/IUpdateMemberPaymentPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IUpdateMemberPaymentPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { MemberPaymentDto } from './IGetMembershipFeesPresenter'; export interface UpdateMemberPaymentResultDTO { diff --git a/core/payments/application/presenters/IUpdatePaymentStatusPresenter.ts b/core/payments/application/presenters/IUpdatePaymentStatusPresenter.ts index c52fbb421..b0e0f3c3b 100644 --- a/core/payments/application/presenters/IUpdatePaymentStatusPresenter.ts +++ b/core/payments/application/presenters/IUpdatePaymentStatusPresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IUpdatePaymentStatusPresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { PaymentDto } from './IGetPaymentsPresenter'; export interface UpdatePaymentStatusResultDTO { diff --git a/core/payments/application/presenters/IUpsertMembershipFeePresenter.ts b/core/payments/application/presenters/IUpsertMembershipFeePresenter.ts index cb85cbb42..77a328c07 100644 --- a/core/payments/application/presenters/IUpsertMembershipFeePresenter.ts +++ b/core/payments/application/presenters/IUpsertMembershipFeePresenter.ts @@ -2,7 +2,7 @@ * Presenter Interface: IUpsertMembershipFeePresenter */ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { MembershipFeeDto } from './IGetMembershipFeesPresenter'; export interface UpsertMembershipFeeResultDTO { diff --git a/core/payments/application/use-cases/AwardPrizeUseCase.ts b/core/payments/application/use-cases/AwardPrizeUseCase.ts index b4c23669e..9b1131d5d 100644 --- a/core/payments/application/use-cases/AwardPrizeUseCase.ts +++ b/core/payments/application/use-cases/AwardPrizeUseCase.ts @@ -10,7 +10,7 @@ import type { AwardPrizeResultDTO, AwardPrizeViewModel, } from '../presenters/IAwardPrizePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface AwardPrizeInput { prizeId: string; diff --git a/core/payments/application/use-cases/CreatePaymentUseCase.ts b/core/payments/application/use-cases/CreatePaymentUseCase.ts index 69f2dad5b..449aa6dbc 100644 --- a/core/payments/application/use-cases/CreatePaymentUseCase.ts +++ b/core/payments/application/use-cases/CreatePaymentUseCase.ts @@ -11,7 +11,7 @@ import type { CreatePaymentResultDTO, CreatePaymentViewModel, } from '../presenters/ICreatePaymentPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; const PLATFORM_FEE_RATE = 0.10; diff --git a/core/payments/application/use-cases/CreatePrizeUseCase.ts b/core/payments/application/use-cases/CreatePrizeUseCase.ts index 9d4f29ead..444fb7bd8 100644 --- a/core/payments/application/use-cases/CreatePrizeUseCase.ts +++ b/core/payments/application/use-cases/CreatePrizeUseCase.ts @@ -11,7 +11,7 @@ import type { CreatePrizeResultDTO, CreatePrizeViewModel, } from '../presenters/ICreatePrizePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface CreatePrizeInput { leagueId: string; diff --git a/core/payments/application/use-cases/DeletePrizeUseCase.ts b/core/payments/application/use-cases/DeletePrizeUseCase.ts index cba384ca9..236ac5366 100644 --- a/core/payments/application/use-cases/DeletePrizeUseCase.ts +++ b/core/payments/application/use-cases/DeletePrizeUseCase.ts @@ -10,7 +10,7 @@ import type { DeletePrizeResultDTO, DeletePrizeViewModel, } from '../presenters/IDeletePrizePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface DeletePrizeInput { prizeId: string; diff --git a/core/payments/application/use-cases/GetMembershipFeesUseCase.ts b/core/payments/application/use-cases/GetMembershipFeesUseCase.ts index d2a821e49..2a3bfe4c5 100644 --- a/core/payments/application/use-cases/GetMembershipFeesUseCase.ts +++ b/core/payments/application/use-cases/GetMembershipFeesUseCase.ts @@ -10,7 +10,7 @@ import type { GetMembershipFeesResultDTO, GetMembershipFeesViewModel, } from '../presenters/IGetMembershipFeesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetMembershipFeesInput { leagueId: string; diff --git a/core/payments/application/use-cases/GetPaymentsUseCase.ts b/core/payments/application/use-cases/GetPaymentsUseCase.ts index d1b2faca3..bda1a234f 100644 --- a/core/payments/application/use-cases/GetPaymentsUseCase.ts +++ b/core/payments/application/use-cases/GetPaymentsUseCase.ts @@ -11,7 +11,7 @@ import type { GetPaymentsResultDTO, GetPaymentsViewModel, } from '../presenters/IGetPaymentsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetPaymentsInput { leagueId?: string; diff --git a/core/payments/application/use-cases/GetPrizesUseCase.ts b/core/payments/application/use-cases/GetPrizesUseCase.ts index 269f8c33d..b183f947c 100644 --- a/core/payments/application/use-cases/GetPrizesUseCase.ts +++ b/core/payments/application/use-cases/GetPrizesUseCase.ts @@ -10,7 +10,7 @@ import type { GetPrizesResultDTO, GetPrizesViewModel, } from '../presenters/IGetPrizesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetPrizesInput { leagueId: string; diff --git a/core/payments/application/use-cases/GetWalletUseCase.ts b/core/payments/application/use-cases/GetWalletUseCase.ts index 73d36e55e..f6890f25a 100644 --- a/core/payments/application/use-cases/GetWalletUseCase.ts +++ b/core/payments/application/use-cases/GetWalletUseCase.ts @@ -11,7 +11,7 @@ import type { GetWalletResultDTO, GetWalletViewModel, } from '../presenters/IGetWalletPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetWalletInput { leagueId: string; diff --git a/core/payments/application/use-cases/ProcessWalletTransactionUseCase.ts b/core/payments/application/use-cases/ProcessWalletTransactionUseCase.ts index 0dcffcc7a..f8f06b2f5 100644 --- a/core/payments/application/use-cases/ProcessWalletTransactionUseCase.ts +++ b/core/payments/application/use-cases/ProcessWalletTransactionUseCase.ts @@ -11,7 +11,7 @@ import type { ProcessWalletTransactionResultDTO, ProcessWalletTransactionViewModel, } from '../presenters/IProcessWalletTransactionPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface ProcessWalletTransactionInput { leagueId: string; diff --git a/core/payments/application/use-cases/UpdateMemberPaymentUseCase.ts b/core/payments/application/use-cases/UpdateMemberPaymentUseCase.ts index e2f9e0c7d..08ec9d767 100644 --- a/core/payments/application/use-cases/UpdateMemberPaymentUseCase.ts +++ b/core/payments/application/use-cases/UpdateMemberPaymentUseCase.ts @@ -11,7 +11,7 @@ import type { UpdateMemberPaymentResultDTO, UpdateMemberPaymentViewModel, } from '../presenters/IUpdateMemberPaymentPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; const PLATFORM_FEE_RATE = 0.10; diff --git a/core/payments/application/use-cases/UpdatePaymentStatusUseCase.ts b/core/payments/application/use-cases/UpdatePaymentStatusUseCase.ts index 0b78a4603..546c1bb74 100644 --- a/core/payments/application/use-cases/UpdatePaymentStatusUseCase.ts +++ b/core/payments/application/use-cases/UpdatePaymentStatusUseCase.ts @@ -11,7 +11,7 @@ import type { UpdatePaymentStatusResultDTO, UpdatePaymentStatusViewModel, } from '../presenters/IUpdatePaymentStatusPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface UpdatePaymentStatusInput { paymentId: string; diff --git a/core/payments/application/use-cases/UpsertMembershipFeeUseCase.ts b/core/payments/application/use-cases/UpsertMembershipFeeUseCase.ts index 8293f1052..3b046781f 100644 --- a/core/payments/application/use-cases/UpsertMembershipFeeUseCase.ts +++ b/core/payments/application/use-cases/UpsertMembershipFeeUseCase.ts @@ -11,7 +11,7 @@ import type { UpsertMembershipFeeResultDTO, UpsertMembershipFeeViewModel, } from '../presenters/IUpsertMembershipFeePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface UpsertMembershipFeeInput { leagueId: string; diff --git a/core/racing/application/dto/ChampionshipStandingsDTO.ts b/core/racing/application/dto/ChampionshipStandingsDTO.ts index 47668906b..4f64e068f 100644 --- a/core/racing/application/dto/ChampionshipStandingsDTO.ts +++ b/core/racing/application/dto/ChampionshipStandingsDTO.ts @@ -1,4 +1,4 @@ -import type { ParticipantRef } from '@gridpilot/racing/domain/types/ParticipantRef'; +import type { ParticipantRef } from '@core/racing/domain/types/ParticipantRef'; export interface ChampionshipStandingsRowDTO { participant: ParticipantRef; diff --git a/core/racing/application/errors/RacingApplicationError.ts b/core/racing/application/errors/RacingApplicationError.ts index 0e7f7178a..0a187a808 100644 --- a/core/racing/application/errors/RacingApplicationError.ts +++ b/core/racing/application/errors/RacingApplicationError.ts @@ -1,4 +1,4 @@ -import type { IApplicationError, CommonApplicationErrorKind } from '@gridpilot/shared/errors'; +import type { IApplicationError, CommonApplicationErrorKind } from '@core/shared/errors'; export abstract class RacingApplicationError extends Error diff --git a/core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter.ts b/core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter.ts index e0aba241e..70d179769 100644 --- a/core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter.ts +++ b/core/racing/application/presenters/IAllLeaguesWithCapacityAndScoringPresenter.ts @@ -3,7 +3,7 @@ import type { Season } from '../../domain/entities/Season'; import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig'; import type { Game } from '../../domain/entities/Game'; import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueSummaryViewModel { id: string; diff --git a/core/racing/application/presenters/IAllLeaguesWithCapacityPresenter.ts b/core/racing/application/presenters/IAllLeaguesWithCapacityPresenter.ts index 7c340e368..a46440f39 100644 --- a/core/racing/application/presenters/IAllLeaguesWithCapacityPresenter.ts +++ b/core/racing/application/presenters/IAllLeaguesWithCapacityPresenter.ts @@ -1,5 +1,5 @@ import type { League } from '../../domain/entities/League'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueWithCapacityViewModel { id: string; diff --git a/core/racing/application/presenters/IAllRacesPagePresenter.ts b/core/racing/application/presenters/IAllRacesPagePresenter.ts index ccb16c52d..468c89c2a 100644 --- a/core/racing/application/presenters/IAllRacesPagePresenter.ts +++ b/core/racing/application/presenters/IAllRacesPagePresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export type AllRacesStatus = 'scheduled' | 'running' | 'completed' | 'cancelled' | 'all'; diff --git a/core/racing/application/presenters/IAllTeamsPresenter.ts b/core/racing/application/presenters/IAllTeamsPresenter.ts index 0775c92b3..25bddeb2c 100644 --- a/core/racing/application/presenters/IAllTeamsPresenter.ts +++ b/core/racing/application/presenters/IAllTeamsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface TeamListItemViewModel { id: string; diff --git a/core/racing/application/presenters/IApproveLeagueJoinRequestPresenter.ts b/core/racing/application/presenters/IApproveLeagueJoinRequestPresenter.ts index 959987d0c..64ad292af 100644 --- a/core/racing/application/presenters/IApproveLeagueJoinRequestPresenter.ts +++ b/core/racing/application/presenters/IApproveLeagueJoinRequestPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface ApproveLeagueJoinRequestViewModel { success: boolean; diff --git a/core/racing/application/presenters/ICreateSponsorPresenter.ts b/core/racing/application/presenters/ICreateSponsorPresenter.ts index 96da64ff9..453e4216b 100644 --- a/core/racing/application/presenters/ICreateSponsorPresenter.ts +++ b/core/racing/application/presenters/ICreateSponsorPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface SponsorDto { id: string; diff --git a/core/racing/application/presenters/IDashboardOverviewPresenter.ts b/core/racing/application/presenters/IDashboardOverviewPresenter.ts index 37b0e3f02..b9142050e 100644 --- a/core/racing/application/presenters/IDashboardOverviewPresenter.ts +++ b/core/racing/application/presenters/IDashboardOverviewPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface DashboardDriverSummaryViewModel { id: string; diff --git a/core/racing/application/presenters/IDriverTeamPresenter.ts b/core/racing/application/presenters/IDriverTeamPresenter.ts index c2fc2ee31..8180cf5bd 100644 --- a/core/racing/application/presenters/IDriverTeamPresenter.ts +++ b/core/racing/application/presenters/IDriverTeamPresenter.ts @@ -1,6 +1,6 @@ import type { Team } from '../../domain/entities/Team'; import type { TeamMembership } from '../../domain/types/TeamMembership'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface DriverTeamViewModel { team: { diff --git a/core/racing/application/presenters/IDriversLeaderboardPresenter.ts b/core/racing/application/presenters/IDriversLeaderboardPresenter.ts index 78607f319..3d29bdf14 100644 --- a/core/racing/application/presenters/IDriversLeaderboardPresenter.ts +++ b/core/racing/application/presenters/IDriversLeaderboardPresenter.ts @@ -1,6 +1,6 @@ import type { Driver } from '../../domain/entities/Driver'; import type { SkillLevel } from '../../domain/services/SkillLevelService'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export type { SkillLevel }; diff --git a/core/racing/application/presenters/IEntitySponsorshipPricingPresenter.ts b/core/racing/application/presenters/IEntitySponsorshipPricingPresenter.ts index 787d5a904..58478b233 100644 --- a/core/racing/application/presenters/IEntitySponsorshipPricingPresenter.ts +++ b/core/racing/application/presenters/IEntitySponsorshipPricingPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; import type { GetEntitySponsorshipPricingResultDTO } from '../use-cases/GetEntitySponsorshipPricingUseCase'; export interface IEntitySponsorshipPricingPresenter extends Presenter {} \ No newline at end of file diff --git a/core/racing/application/presenters/IGetAllRacesPresenter.ts b/core/racing/application/presenters/IGetAllRacesPresenter.ts index 548c69d4f..787344717 100644 --- a/core/racing/application/presenters/IGetAllRacesPresenter.ts +++ b/core/racing/application/presenters/IGetAllRacesPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface RaceViewModel { id: string; diff --git a/core/racing/application/presenters/IGetLeagueAdminPermissionsPresenter.ts b/core/racing/application/presenters/IGetLeagueAdminPermissionsPresenter.ts index 36ada28a2..1961324f0 100644 --- a/core/racing/application/presenters/IGetLeagueAdminPermissionsPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueAdminPermissionsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface GetLeagueAdminPermissionsViewModel { canRemoveMember: boolean; diff --git a/core/racing/application/presenters/IGetLeagueAdminPresenter.ts b/core/racing/application/presenters/IGetLeagueAdminPresenter.ts index 38af60684..f30e20280 100644 --- a/core/racing/application/presenters/IGetLeagueAdminPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueAdminPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueAdminViewModel { leagueId: string; diff --git a/core/racing/application/presenters/IGetLeagueJoinRequestsPresenter.ts b/core/racing/application/presenters/IGetLeagueJoinRequestsPresenter.ts index ed9398812..6871b56f3 100644 --- a/core/racing/application/presenters/IGetLeagueJoinRequestsPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueJoinRequestsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueJoinRequestViewModel { id: string; diff --git a/core/racing/application/presenters/IGetLeagueMembershipsPresenter.ts b/core/racing/application/presenters/IGetLeagueMembershipsPresenter.ts index b4cd5f680..e5a95ce3f 100644 --- a/core/racing/application/presenters/IGetLeagueMembershipsPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueMembershipsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueMembershipsViewModel { members: { diff --git a/core/racing/application/presenters/IGetLeagueOwnerSummaryPresenter.ts b/core/racing/application/presenters/IGetLeagueOwnerSummaryPresenter.ts index 3eef4ec02..2ff229564 100644 --- a/core/racing/application/presenters/IGetLeagueOwnerSummaryPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueOwnerSummaryPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueOwnerSummaryViewModel { driver: { id: string; name: string }; diff --git a/core/racing/application/presenters/IGetLeagueProtestsPresenter.ts b/core/racing/application/presenters/IGetLeagueProtestsPresenter.ts index 5baedb094..e35425a91 100644 --- a/core/racing/application/presenters/IGetLeagueProtestsPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueProtestsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface GetLeagueProtestsViewModel { protests: any[]; diff --git a/core/racing/application/presenters/IGetLeagueSchedulePresenter.ts b/core/racing/application/presenters/IGetLeagueSchedulePresenter.ts index ed94ea7b7..649c931a5 100644 --- a/core/racing/application/presenters/IGetLeagueSchedulePresenter.ts +++ b/core/racing/application/presenters/IGetLeagueSchedulePresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueScheduleViewModel { races: Array<{ diff --git a/core/racing/application/presenters/IGetLeagueSeasonsPresenter.ts b/core/racing/application/presenters/IGetLeagueSeasonsPresenter.ts index a5073ff93..07a16cdb1 100644 --- a/core/racing/application/presenters/IGetLeagueSeasonsPresenter.ts +++ b/core/racing/application/presenters/IGetLeagueSeasonsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueSeasonSummaryViewModel { seasonId: string; diff --git a/core/racing/application/presenters/IGetSponsorsPresenter.ts b/core/racing/application/presenters/IGetSponsorsPresenter.ts index 353374b96..62540e7bc 100644 --- a/core/racing/application/presenters/IGetSponsorsPresenter.ts +++ b/core/racing/application/presenters/IGetSponsorsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface SponsorDto { id: string; diff --git a/core/racing/application/presenters/IGetSponsorshipPricingPresenter.ts b/core/racing/application/presenters/IGetSponsorshipPricingPresenter.ts index d0b326700..b61aadf64 100644 --- a/core/racing/application/presenters/IGetSponsorshipPricingPresenter.ts +++ b/core/racing/application/presenters/IGetSponsorshipPricingPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface SponsorshipPricingItemDto { id: string; diff --git a/core/racing/application/presenters/IGetTotalLeaguesPresenter.ts b/core/racing/application/presenters/IGetTotalLeaguesPresenter.ts index 36d82ccf2..a2aa44d5c 100644 --- a/core/racing/application/presenters/IGetTotalLeaguesPresenter.ts +++ b/core/racing/application/presenters/IGetTotalLeaguesPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface GetTotalLeaguesViewModel { totalLeagues: number; diff --git a/core/racing/application/presenters/IGetTotalRacesPresenter.ts b/core/racing/application/presenters/IGetTotalRacesPresenter.ts index 1cdb98508..439cc916d 100644 --- a/core/racing/application/presenters/IGetTotalRacesPresenter.ts +++ b/core/racing/application/presenters/IGetTotalRacesPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface GetTotalRacesViewModel { totalRaces: number; diff --git a/core/racing/application/presenters/IImportRaceResultsApiPresenter.ts b/core/racing/application/presenters/IImportRaceResultsApiPresenter.ts index f07c69ac5..804eb4788 100644 --- a/core/racing/application/presenters/IImportRaceResultsApiPresenter.ts +++ b/core/racing/application/presenters/IImportRaceResultsApiPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface ImportRaceResultsSummaryViewModel { success: boolean; diff --git a/core/racing/application/presenters/ILeagueDriverSeasonStatsPresenter.ts b/core/racing/application/presenters/ILeagueDriverSeasonStatsPresenter.ts index e2bf28e46..574c3b299 100644 --- a/core/racing/application/presenters/ILeagueDriverSeasonStatsPresenter.ts +++ b/core/racing/application/presenters/ILeagueDriverSeasonStatsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueDriverSeasonStatsItemViewModel { leagueId: string; diff --git a/core/racing/application/presenters/ILeagueFullConfigPresenter.ts b/core/racing/application/presenters/ILeagueFullConfigPresenter.ts index b362310ab..5f57a2a00 100644 --- a/core/racing/application/presenters/ILeagueFullConfigPresenter.ts +++ b/core/racing/application/presenters/ILeagueFullConfigPresenter.ts @@ -2,7 +2,7 @@ import type { League } from '../../domain/entities/League'; import type { Season } from '../../domain/entities/Season'; import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig'; import type { Game } from '../../domain/entities/Game'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueConfigFormViewModel { leagueId: string; diff --git a/core/racing/application/presenters/ILeagueScoringConfigPresenter.ts b/core/racing/application/presenters/ILeagueScoringConfigPresenter.ts index 905e5aacc..3a8c4ac9a 100644 --- a/core/racing/application/presenters/ILeagueScoringConfigPresenter.ts +++ b/core/racing/application/presenters/ILeagueScoringConfigPresenter.ts @@ -1,6 +1,6 @@ import type { ChampionshipConfig } from '../../domain/types/ChampionshipConfig'; import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueScoringChampionshipViewModel { id: string; diff --git a/core/racing/application/presenters/ILeagueScoringPresetsPresenter.ts b/core/racing/application/presenters/ILeagueScoringPresetsPresenter.ts index 7753a61b2..645431756 100644 --- a/core/racing/application/presenters/ILeagueScoringPresetsPresenter.ts +++ b/core/racing/application/presenters/ILeagueScoringPresetsPresenter.ts @@ -1,5 +1,5 @@ import type { LeagueScoringPresetDTO } from '../ports/LeagueScoringPresetProvider'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface LeagueScoringPresetsViewModel { presets: LeagueScoringPresetDTO[]; diff --git a/core/racing/application/presenters/ILeagueStandingsPresenter.ts b/core/racing/application/presenters/ILeagueStandingsPresenter.ts index b37f6c8b3..27db139e8 100644 --- a/core/racing/application/presenters/ILeagueStandingsPresenter.ts +++ b/core/racing/application/presenters/ILeagueStandingsPresenter.ts @@ -1,5 +1,5 @@ import type { Standing } from '../../domain/entities/Standing'; -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface StandingItemViewModel { driverId: string; diff --git a/core/racing/application/presenters/ILeagueStatsPresenter.ts b/core/racing/application/presenters/ILeagueStatsPresenter.ts index 0f74107b1..f499b720a 100644 --- a/core/racing/application/presenters/ILeagueStatsPresenter.ts +++ b/core/racing/application/presenters/ILeagueStatsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface LeagueStatsViewModel { totalMembers: number; diff --git a/core/racing/application/presenters/IPendingSponsorshipRequestsPresenter.ts b/core/racing/application/presenters/IPendingSponsorshipRequestsPresenter.ts index cd9badf5a..ddeea3d7c 100644 --- a/core/racing/application/presenters/IPendingSponsorshipRequestsPresenter.ts +++ b/core/racing/application/presenters/IPendingSponsorshipRequestsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; import type { GetPendingSponsorshipRequestsResultDTO } from '../use-cases/GetPendingSponsorshipRequestsUseCase'; export type PendingSponsorshipRequestsViewModel = GetPendingSponsorshipRequestsResultDTO; diff --git a/core/racing/application/presenters/IRaceDetailPresenter.ts b/core/racing/application/presenters/IRaceDetailPresenter.ts index 5a827e302..664b5a20b 100644 --- a/core/racing/application/presenters/IRaceDetailPresenter.ts +++ b/core/racing/application/presenters/IRaceDetailPresenter.ts @@ -1,5 +1,5 @@ import type { SessionType, RaceStatus } from '../../domain/entities/Race'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface RaceDetailEntryViewModel { id: string; diff --git a/core/racing/application/presenters/IRacePenaltiesPresenter.ts b/core/racing/application/presenters/IRacePenaltiesPresenter.ts index 5e818b28b..f213f9bf9 100644 --- a/core/racing/application/presenters/IRacePenaltiesPresenter.ts +++ b/core/racing/application/presenters/IRacePenaltiesPresenter.ts @@ -1,5 +1,5 @@ import type { Penalty, PenaltyType, PenaltyStatus } from '../../domain/entities/Penalty'; -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface RacePenaltyViewModel { id: string; diff --git a/core/racing/application/presenters/IRaceProtestsPresenter.ts b/core/racing/application/presenters/IRaceProtestsPresenter.ts index 27b77af4f..2f7ae37b1 100644 --- a/core/racing/application/presenters/IRaceProtestsPresenter.ts +++ b/core/racing/application/presenters/IRaceProtestsPresenter.ts @@ -1,5 +1,5 @@ import type { Protest, ProtestStatus, ProtestIncident } from '../../domain/entities/Protest'; -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface RaceProtestViewModel { id: string; diff --git a/core/racing/application/presenters/IRaceRegistrationsPresenter.ts b/core/racing/application/presenters/IRaceRegistrationsPresenter.ts index 8c01b6392..4e421d333 100644 --- a/core/racing/application/presenters/IRaceRegistrationsPresenter.ts +++ b/core/racing/application/presenters/IRaceRegistrationsPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface RaceRegistrationsViewModel { registeredDriverIds: string[]; diff --git a/core/racing/application/presenters/IRaceResultsDetailPresenter.ts b/core/racing/application/presenters/IRaceResultsDetailPresenter.ts index bd49a228f..07601023d 100644 --- a/core/racing/application/presenters/IRaceResultsDetailPresenter.ts +++ b/core/racing/application/presenters/IRaceResultsDetailPresenter.ts @@ -2,7 +2,7 @@ import type { RaceStatus } from '../../domain/entities/Race'; import type { Result } from '../../domain/entities/Result'; import type { Driver } from '../../domain/entities/Driver'; import type { PenaltyType } from '../../domain/entities/Penalty'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface RaceResultsHeaderViewModel { id: string; diff --git a/core/racing/application/presenters/IRaceWithSOFPresenter.ts b/core/racing/application/presenters/IRaceWithSOFPresenter.ts index 2a0e91484..7cc561bee 100644 --- a/core/racing/application/presenters/IRaceWithSOFPresenter.ts +++ b/core/racing/application/presenters/IRaceWithSOFPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface RaceWithSOFViewModel { id: string; diff --git a/core/racing/application/presenters/IRacesPagePresenter.ts b/core/racing/application/presenters/IRacesPagePresenter.ts index 33eaed22f..199fe6f2f 100644 --- a/core/racing/application/presenters/IRacesPagePresenter.ts +++ b/core/racing/application/presenters/IRacesPagePresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface RaceListItemViewModel { id: string; diff --git a/core/racing/application/presenters/IRejectLeagueJoinRequestPresenter.ts b/core/racing/application/presenters/IRejectLeagueJoinRequestPresenter.ts index ef1f180fd..d228a101a 100644 --- a/core/racing/application/presenters/IRejectLeagueJoinRequestPresenter.ts +++ b/core/racing/application/presenters/IRejectLeagueJoinRequestPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface RejectLeagueJoinRequestViewModel { success: boolean; diff --git a/core/racing/application/presenters/IRemoveLeagueMemberPresenter.ts b/core/racing/application/presenters/IRemoveLeagueMemberPresenter.ts index 9ec6de653..84f37742d 100644 --- a/core/racing/application/presenters/IRemoveLeagueMemberPresenter.ts +++ b/core/racing/application/presenters/IRemoveLeagueMemberPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface RemoveLeagueMemberViewModel { success: boolean; diff --git a/core/racing/application/presenters/ISponsorDashboardPresenter.ts b/core/racing/application/presenters/ISponsorDashboardPresenter.ts index 2c86f0707..25db8ca2b 100644 --- a/core/racing/application/presenters/ISponsorDashboardPresenter.ts +++ b/core/racing/application/presenters/ISponsorDashboardPresenter.ts @@ -1,5 +1,5 @@ import type { SponsorDashboardDTO } from '../use-cases/GetSponsorDashboardUseCase'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export type SponsorDashboardViewModel = SponsorDashboardDTO | null; diff --git a/core/racing/application/presenters/ISponsorSponsorshipsPresenter.ts b/core/racing/application/presenters/ISponsorSponsorshipsPresenter.ts index fa0800e61..aba5d6773 100644 --- a/core/racing/application/presenters/ISponsorSponsorshipsPresenter.ts +++ b/core/racing/application/presenters/ISponsorSponsorshipsPresenter.ts @@ -1,5 +1,5 @@ import type { SponsorSponsorshipsDTO } from '../use-cases/GetSponsorSponsorshipsUseCase'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export type SponsorSponsorshipsViewModel = SponsorSponsorshipsDTO | null; diff --git a/core/racing/application/presenters/ITeamDetailsPresenter.ts b/core/racing/application/presenters/ITeamDetailsPresenter.ts index 44364a5e7..ce869c0d8 100644 --- a/core/racing/application/presenters/ITeamDetailsPresenter.ts +++ b/core/racing/application/presenters/ITeamDetailsPresenter.ts @@ -1,6 +1,6 @@ import type { Team } from '../../domain/entities/Team'; import type { TeamMembership } from '../../domain/types/TeamMembership'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface TeamDetailsViewModel { team: { diff --git a/core/racing/application/presenters/ITeamJoinRequestsPresenter.ts b/core/racing/application/presenters/ITeamJoinRequestsPresenter.ts index 9e2b692bd..a1ed0ffb1 100644 --- a/core/racing/application/presenters/ITeamJoinRequestsPresenter.ts +++ b/core/racing/application/presenters/ITeamJoinRequestsPresenter.ts @@ -1,5 +1,5 @@ import type { TeamJoinRequest } from '../../domain/types/TeamMembership'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface TeamJoinRequestViewModel { requestId: string; diff --git a/core/racing/application/presenters/ITeamMembersPresenter.ts b/core/racing/application/presenters/ITeamMembersPresenter.ts index c9b8517a3..a717de5c5 100644 --- a/core/racing/application/presenters/ITeamMembersPresenter.ts +++ b/core/racing/application/presenters/ITeamMembersPresenter.ts @@ -1,5 +1,5 @@ import type { TeamMembership } from '../../domain/types/TeamMembership'; -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export interface TeamMemberViewModel { driverId: string; diff --git a/core/racing/application/presenters/ITeamsLeaderboardPresenter.ts b/core/racing/application/presenters/ITeamsLeaderboardPresenter.ts index b3f369ec2..c38106c72 100644 --- a/core/racing/application/presenters/ITeamsLeaderboardPresenter.ts +++ b/core/racing/application/presenters/ITeamsLeaderboardPresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation'; +import type { Presenter } from '@core/shared/presentation'; export type SkillLevel = 'beginner' | 'intermediate' | 'advanced' | 'pro'; diff --git a/core/racing/application/presenters/IUpdateLeagueMemberRolePresenter.ts b/core/racing/application/presenters/IUpdateLeagueMemberRolePresenter.ts index 3469b5d61..bd60759d0 100644 --- a/core/racing/application/presenters/IUpdateLeagueMemberRolePresenter.ts +++ b/core/racing/application/presenters/IUpdateLeagueMemberRolePresenter.ts @@ -1,4 +1,4 @@ -import type { Presenter } from '@gridpilot/shared/presentation/Presenter'; +import type { Presenter } from '@core/shared/presentation/Presenter'; export interface UpdateLeagueMemberRoleViewModel { success: boolean; diff --git a/core/racing/application/use-cases/AcceptSponsorshipRequestUseCase.ts b/core/racing/application/use-cases/AcceptSponsorshipRequestUseCase.ts index da4bec396..311e59d80 100644 --- a/core/racing/application/use-cases/AcceptSponsorshipRequestUseCase.ts +++ b/core/racing/application/use-cases/AcceptSponsorshipRequestUseCase.ts @@ -10,7 +10,7 @@ import type { ISponsorshipRequestRepository } from '../../domain/repositories/IS import type { ISeasonSponsorshipRepository } from '../../domain/repositories/ISeasonSponsorshipRepository'; import type { ISeasonRepository } from '../../domain/repositories/ISeasonRepository'; import { SeasonSponsorship } from '../../domain/entities/SeasonSponsorship'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; export interface AcceptSponsorshipRequestDTO { requestId: string; diff --git a/core/racing/application/use-cases/ApplyForSponsorshipUseCase.ts b/core/racing/application/use-cases/ApplyForSponsorshipUseCase.ts index f3db05199..be95be793 100644 --- a/core/racing/application/use-cases/ApplyForSponsorshipUseCase.ts +++ b/core/racing/application/use-cases/ApplyForSponsorshipUseCase.ts @@ -11,7 +11,7 @@ import type { ISponsorshipRequestRepository } from '../../domain/repositories/IS import type { ISponsorshipPricingRepository } from '../../domain/repositories/ISponsorshipPricingRepository'; import type { ISponsorRepository } from '../../domain/repositories/ISponsorRepository'; import { Money, type Currency } from '../../domain/value-objects/Money'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import { EntityNotFoundError, BusinessRuleViolationError, diff --git a/core/racing/application/use-cases/ApplyPenaltyUseCase.ts b/core/racing/application/use-cases/ApplyPenaltyUseCase.ts index 5033cda9a..f5b46a6ac 100644 --- a/core/racing/application/use-cases/ApplyPenaltyUseCase.ts +++ b/core/racing/application/use-cases/ApplyPenaltyUseCase.ts @@ -11,7 +11,7 @@ import type { IProtestRepository } from '../../domain/repositories/IProtestRepos import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import { randomUUID } from 'crypto'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; export interface ApplyPenaltyCommand { diff --git a/core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase.ts b/core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase.ts index 101f02f0a..66acdb2d3 100644 --- a/core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase.ts +++ b/core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase.ts @@ -1,6 +1,6 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IApproveLeagueJoinRequestPresenter, ApproveLeagueJoinRequestResultDTO, ApproveLeagueJoinRequestViewModel } from '../presenters/IApproveLeagueJoinRequestPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface ApproveLeagueJoinRequestUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/ApproveTeamJoinRequestUseCase.ts b/core/racing/application/use-cases/ApproveTeamJoinRequestUseCase.ts index 9dced8e27..ff3054adc 100644 --- a/core/racing/application/use-cases/ApproveTeamJoinRequestUseCase.ts +++ b/core/racing/application/use-cases/ApproveTeamJoinRequestUseCase.ts @@ -7,7 +7,7 @@ import type { TeamJoinRequest, } from '../../domain/types/TeamMembership'; import type { ApproveTeamJoinRequestCommandDTO } from '../dto/TeamCommandAndQueryDTO'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; export class ApproveTeamJoinRequestUseCase implements AsyncUseCase { diff --git a/core/racing/application/use-cases/CancelRaceUseCase.ts b/core/racing/application/use-cases/CancelRaceUseCase.ts index ea24dd43b..e450e4cb0 100644 --- a/core/racing/application/use-cases/CancelRaceUseCase.ts +++ b/core/racing/application/use-cases/CancelRaceUseCase.ts @@ -1,5 +1,5 @@ import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/CloseRaceEventStewardingUseCase.ts b/core/racing/application/use-cases/CloseRaceEventStewardingUseCase.ts index 6f00f7efc..08a90c227 100644 --- a/core/racing/application/use-cases/CloseRaceEventStewardingUseCase.ts +++ b/core/racing/application/use-cases/CloseRaceEventStewardingUseCase.ts @@ -1,6 +1,6 @@ -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import type { IRaceEventRepository } from '../../domain/repositories/IRaceEventRepository'; -import type { IDomainEventPublisher } from '@gridpilot/shared/domain'; +import type { IDomainEventPublisher } from '@core/shared/domain'; import type { RaceEventStewardingClosedEvent } from '../../domain/events/RaceEventStewardingClosed'; /** diff --git a/core/racing/application/use-cases/CompleteDriverOnboardingUseCase.ts b/core/racing/application/use-cases/CompleteDriverOnboardingUseCase.ts index 72ac0de58..4a55ff2e2 100644 --- a/core/racing/application/use-cases/CompleteDriverOnboardingUseCase.ts +++ b/core/racing/application/use-cases/CompleteDriverOnboardingUseCase.ts @@ -1,6 +1,6 @@ import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { ICompleteDriverOnboardingPresenter, CompleteDriverOnboardingResultDTO } from '../presenters/ICompleteDriverOnboardingPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import { Driver } from '../../domain/entities/Driver'; export interface CompleteDriverOnboardingInput { diff --git a/core/racing/application/use-cases/CompleteRaceUseCase.ts b/core/racing/application/use-cases/CompleteRaceUseCase.ts index 0efb375c0..063f23d80 100644 --- a/core/racing/application/use-cases/CompleteRaceUseCase.ts +++ b/core/racing/application/use-cases/CompleteRaceUseCase.ts @@ -5,7 +5,7 @@ import type { IStandingRepository } from '../../domain/repositories/IStandingRep import type { DriverRatingProvider } from '../ports/DriverRatingProvider'; import { Result } from '../../domain/entities/Result'; import { Standing } from '../../domain/entities/Standing'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/CompleteRaceUseCaseWithRatings.ts b/core/racing/application/use-cases/CompleteRaceUseCaseWithRatings.ts index 0eb5061e3..3dc9516c4 100644 --- a/core/racing/application/use-cases/CompleteRaceUseCaseWithRatings.ts +++ b/core/racing/application/use-cases/CompleteRaceUseCaseWithRatings.ts @@ -6,8 +6,8 @@ import type { DriverRatingProvider } from '../ports/DriverRatingProvider'; import { Result } from '../../domain/entities/Result'; import { Standing } from '../../domain/entities/Standing'; import { RaceResultGenerator } from '../utils/RaceResultGenerator'; -import { RatingUpdateService } from '@gridpilot/identity/domain/services/RatingUpdateService'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import { RatingUpdateService } from '@core/identity/domain/services/RatingUpdateService'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase.ts b/core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase.ts index 76e213b5c..6420b9fd3 100644 --- a/core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase.ts +++ b/core/racing/application/use-cases/CreateLeagueWithSeasonAndScoringUseCase.ts @@ -5,7 +5,7 @@ import type { ILeagueRepository } from '../../domain/repositories/ILeagueReposit import type { ISeasonRepository } from '../../domain/repositories/ISeasonRepository'; import type { ILeagueScoringConfigRepository } from '../../domain/repositories/ILeagueScoringConfigRepository'; import type { LeagueScoringConfig } from '../../domain/entities/LeagueScoringConfig'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import type { LeagueScoringPresetProvider, diff --git a/core/racing/application/use-cases/CreateSponsorUseCase.ts b/core/racing/application/use-cases/CreateSponsorUseCase.ts index dde48744b..625385ebc 100644 --- a/core/racing/application/use-cases/CreateSponsorUseCase.ts +++ b/core/racing/application/use-cases/CreateSponsorUseCase.ts @@ -11,7 +11,7 @@ import type { CreateSponsorResultDTO, CreateSponsorViewModel, } from '../presenters/ICreateSponsorPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface CreateSponsorInput { name: string; diff --git a/core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase.ts b/core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase.ts index be9e4ae45..a7d4833b5 100644 --- a/core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase.ts +++ b/core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase.ts @@ -9,7 +9,7 @@ import type { IAllLeaguesWithCapacityAndScoringPresenter, LeagueEnrichedData, } from '../presenters/IAllLeaguesWithCapacityAndScoringPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving all leagues with capacity and scoring information. diff --git a/core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase.ts b/core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase.ts index 391dc479b..0c7ddacac 100644 --- a/core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase.ts +++ b/core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase.ts @@ -5,7 +5,7 @@ import type { AllLeaguesWithCapacityResultDTO, AllLeaguesWithCapacityViewModel, } from '../presenters/IAllLeaguesWithCapacityPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving all leagues with capacity information. diff --git a/core/racing/application/use-cases/GetAllRacesUseCase.ts b/core/racing/application/use-cases/GetAllRacesUseCase.ts index ec09d7beb..74d119b04 100644 --- a/core/racing/application/use-cases/GetAllRacesUseCase.ts +++ b/core/racing/application/use-cases/GetAllRacesUseCase.ts @@ -1,7 +1,7 @@ import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository'; import type { IGetAllRacesPresenter, GetAllRacesResultDTO, AllRacesPageViewModel } from '../presenters/IGetAllRacesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetAllRacesUseCaseParams {} diff --git a/core/racing/application/use-cases/GetAllTeamsUseCase.ts b/core/racing/application/use-cases/GetAllTeamsUseCase.ts index 2d6ff0226..63b7f0e89 100644 --- a/core/racing/application/use-cases/GetAllTeamsUseCase.ts +++ b/core/racing/application/use-cases/GetAllTeamsUseCase.ts @@ -4,7 +4,7 @@ import type { IAllTeamsPresenter, AllTeamsResultDTO, } from '../presenters/IAllTeamsPresenter'; -import type { UseCase } from '@gridpilot/shared/application'; +import type { UseCase } from '@core/shared/application'; import type { Team } from '../../domain/entities/Team'; import { Logger } from "@gridpilot/core/shared/application"; diff --git a/core/racing/application/use-cases/GetDashboardOverviewUseCase.ts b/core/racing/application/use-cases/GetDashboardOverviewUseCase.ts index 11684221c..156f6118a 100644 --- a/core/racing/application/use-cases/GetDashboardOverviewUseCase.ts +++ b/core/racing/application/use-cases/GetDashboardOverviewUseCase.ts @@ -6,8 +6,8 @@ import type { IStandingRepository } from '../../domain/repositories/IStandingRep import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IRaceRegistrationRepository } from '../../domain/repositories/IRaceRegistrationRepository'; import type { IImageServicePort } from '../ports/IImageServicePort'; -import type { IFeedRepository } from '@gridpilot/social/domain/repositories/IFeedRepository'; -import type { ISocialGraphRepository } from '@gridpilot/social/domain/repositories/ISocialGraphRepository'; +import type { IFeedRepository } from '@core/social/domain/repositories/IFeedRepository'; +import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository'; import type { IDashboardOverviewPresenter, DashboardOverviewViewModel, diff --git a/core/racing/application/use-cases/GetDriverTeamUseCase.ts b/core/racing/application/use-cases/GetDriverTeamUseCase.ts index 39fb377e2..c8d3d68d3 100644 --- a/core/racing/application/use-cases/GetDriverTeamUseCase.ts +++ b/core/racing/application/use-cases/GetDriverTeamUseCase.ts @@ -5,7 +5,7 @@ import type { DriverTeamResultDTO, DriverTeamViewModel, } from '../presenters/IDriverTeamPresenter'; -import type { UseCase } from '@gridpilot/shared/application'; +import type { UseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/GetDriversLeaderboardUseCase.ts b/core/racing/application/use-cases/GetDriversLeaderboardUseCase.ts index 05985f583..7f542644e 100644 --- a/core/racing/application/use-cases/GetDriversLeaderboardUseCase.ts +++ b/core/racing/application/use-cases/GetDriversLeaderboardUseCase.ts @@ -7,7 +7,7 @@ import type { DriversLeaderboardResultDTO, DriversLeaderboardViewModel, } from '../presenters/IDriversLeaderboardPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving driver leaderboard data. diff --git a/core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase.ts b/core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase.ts index 1825cc8f5..0b0358520 100644 --- a/core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase.ts +++ b/core/racing/application/use-cases/GetEntitySponsorshipPricingUseCase.ts @@ -11,7 +11,7 @@ import type { ISeasonSponsorshipRepository } from '../../domain/repositories/ISe import type { SponsorableEntityType } from '../../domain/entities/SponsorshipRequest'; import type { SponsorshipTier } from '../../domain/entities/SeasonSponsorship'; import type { IEntitySponsorshipPricingPresenter } from '../presenters/IEntitySponsorshipPricingPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetEntitySponsorshipPricingDTO { entityType: SponsorableEntityType; diff --git a/core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase.ts b/core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase.ts index b7e49e3fe..3c693c0aa 100644 --- a/core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase.ts @@ -1,7 +1,7 @@ import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository'; import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IGetLeagueAdminPermissionsPresenter, GetLeagueAdminPermissionsResultDTO, GetLeagueAdminPermissionsViewModel } from '../presenters/IGetLeagueAdminPermissionsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueAdminPermissionsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueAdminUseCase.ts b/core/racing/application/use-cases/GetLeagueAdminUseCase.ts new file mode 100644 index 000000000..e1b76e136 --- /dev/null +++ b/core/racing/application/use-cases/GetLeagueAdminUseCase.ts @@ -0,0 +1,37 @@ +import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository'; +import type { IGetLeagueAdminPresenter, GetLeagueAdminResultDTO, GetLeagueAdminViewModel } from '../presenters/IGetLeagueAdminPresenter'; +import type { UseCase } from '@core/shared/application/UseCase'; + +export interface GetLeagueAdminUseCaseParams { + leagueId: string; +} + +export interface GetLeagueAdminResultDTO { + league: { + id: string; + ownerId: string; + }; + // Additional data would be populated by combining multiple use cases +} + +export class GetLeagueAdminUseCase implements UseCase { + constructor( + private readonly leagueRepository: ILeagueRepository, + ) {} + + async execute(params: GetLeagueAdminUseCaseParams, presenter: IGetLeagueAdminPresenter): Promise { + const league = await this.leagueRepository.findById(params.leagueId); + if (!league) { + throw new Error('League not found'); + } + + const dto: GetLeagueAdminResultDTO = { + league: { + id: league.id, + ownerId: league.ownerId, + }, + }; + presenter.reset(); + presenter.present(dto); + } +} \ No newline at end of file diff --git a/core/racing/application/use-cases/GetLeagueDriverSeasonStatsUseCase.ts b/core/racing/application/use-cases/GetLeagueDriverSeasonStatsUseCase.ts index 9170fad60..581385c1b 100644 --- a/core/racing/application/use-cases/GetLeagueDriverSeasonStatsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueDriverSeasonStatsUseCase.ts @@ -7,7 +7,7 @@ import type { LeagueDriverSeasonStatsResultDTO, LeagueDriverSeasonStatsViewModel, } from '../presenters/ILeagueDriverSeasonStatsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface DriverRatingPort { getRating(driverId: string): { rating: number | null; ratingChange: number | null }; diff --git a/core/racing/application/use-cases/GetLeagueFullConfigUseCase.ts b/core/racing/application/use-cases/GetLeagueFullConfigUseCase.ts index 25735c60c..62b1600df 100644 --- a/core/racing/application/use-cases/GetLeagueFullConfigUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueFullConfigUseCase.ts @@ -7,7 +7,7 @@ import type { LeagueFullConfigData, LeagueConfigFormViewModel, } from '../presenters/ILeagueFullConfigPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import { EntityNotFoundError } from '../errors/RacingApplicationError'; /** diff --git a/core/racing/application/use-cases/GetLeagueJoinRequestsUseCase.ts b/core/racing/application/use-cases/GetLeagueJoinRequestsUseCase.ts index 6e11f533d..688fd7fa4 100644 --- a/core/racing/application/use-cases/GetLeagueJoinRequestsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueJoinRequestsUseCase.ts @@ -1,7 +1,7 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { IGetLeagueJoinRequestsPresenter, GetLeagueJoinRequestsResultDTO, GetLeagueJoinRequestsViewModel } from '../presenters/IGetLeagueJoinRequestsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueJoinRequestsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueMembershipsUseCase.ts b/core/racing/application/use-cases/GetLeagueMembershipsUseCase.ts index ad02a9137..7a538e083 100644 --- a/core/racing/application/use-cases/GetLeagueMembershipsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueMembershipsUseCase.ts @@ -2,7 +2,7 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILea import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { LeagueMembership } from '../../domain/entities/LeagueMembership'; import type { IGetLeagueMembershipsPresenter, GetLeagueMembershipsViewModel } from '../presenters/IGetLeagueMembershipsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueMembershipsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase.ts b/core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase.ts index 2a6ca0c0d..c5df680e9 100644 --- a/core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase.ts @@ -1,6 +1,6 @@ import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { IGetLeagueOwnerSummaryPresenter, GetLeagueOwnerSummaryResultDTO, GetLeagueOwnerSummaryViewModel } from '../presenters/IGetLeagueOwnerSummaryPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueOwnerSummaryUseCaseParams { ownerId: string; diff --git a/core/racing/application/use-cases/GetLeagueProtestsUseCase.ts b/core/racing/application/use-cases/GetLeagueProtestsUseCase.ts index 1dd10306d..4e7c9c456 100644 --- a/core/racing/application/use-cases/GetLeagueProtestsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueProtestsUseCase.ts @@ -2,7 +2,7 @@ import type { IRaceRepository } from '../../domain/repositories/IRaceRepository' import type { IProtestRepository } from '../../domain/repositories/IProtestRepository'; import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { IGetLeagueProtestsPresenter, GetLeagueProtestsResultDTO, GetLeagueProtestsViewModel } from '../presenters/IGetLeagueProtestsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueProtestsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueScheduleUseCase.ts b/core/racing/application/use-cases/GetLeagueScheduleUseCase.ts index 2f867508f..1f072021e 100644 --- a/core/racing/application/use-cases/GetLeagueScheduleUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueScheduleUseCase.ts @@ -1,6 +1,6 @@ import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { IGetLeagueSchedulePresenter, GetLeagueScheduleResultDTO, GetLeagueScheduleViewModel } from '../presenters/IGetLeagueSchedulePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueScheduleUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueScoringConfigUseCase.ts b/core/racing/application/use-cases/GetLeagueScoringConfigUseCase.ts index 07e3b7b06..2b4d48c1d 100644 --- a/core/racing/application/use-cases/GetLeagueScoringConfigUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueScoringConfigUseCase.ts @@ -8,7 +8,7 @@ import type { LeagueScoringConfigData, LeagueScoringConfigViewModel, } from '../presenters/ILeagueScoringConfigPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving a league's scoring configuration for its active season. diff --git a/core/racing/application/use-cases/GetLeagueSeasonsUseCase.ts b/core/racing/application/use-cases/GetLeagueSeasonsUseCase.ts index 78f113001..7511d2d09 100644 --- a/core/racing/application/use-cases/GetLeagueSeasonsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueSeasonsUseCase.ts @@ -1,6 +1,6 @@ import type { ISeasonRepository } from '../../domain/repositories/ISeasonRepository'; import type { IGetLeagueSeasonsPresenter, GetLeagueSeasonsResultDTO, GetLeagueSeasonsViewModel } from '../presenters/IGetLeagueSeasonsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueSeasonsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueStandingsUseCase.ts b/core/racing/application/use-cases/GetLeagueStandingsUseCase.ts index c026e8073..69326d2c2 100644 --- a/core/racing/application/use-cases/GetLeagueStandingsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueStandingsUseCase.ts @@ -5,7 +5,7 @@ import type { LeagueStandingsResultDTO, LeagueStandingsViewModel, } from '../presenters/ILeagueStandingsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueStandingsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetLeagueStatsUseCase.ts b/core/racing/application/use-cases/GetLeagueStatsUseCase.ts index 87dd511f1..c400e758d 100644 --- a/core/racing/application/use-cases/GetLeagueStatsUseCase.ts +++ b/core/racing/application/use-cases/GetLeagueStatsUseCase.ts @@ -1,7 +1,7 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { ILeagueStatsPresenter, LeagueStatsResultDTO, LeagueStatsViewModel } from '../presenters/ILeagueStatsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetLeagueStatsUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase.ts b/core/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase.ts index 41a665d3e..a13ee3010 100644 --- a/core/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase.ts +++ b/core/racing/application/use-cases/GetPendingSponsorshipRequestsUseCase.ts @@ -8,7 +8,7 @@ import type { ISponsorshipRequestRepository } from '../../domain/repositories/IS import type { ISponsorRepository } from '../../domain/repositories/ISponsorRepository'; import type { SponsorableEntityType } from '../../domain/entities/SponsorshipRequest'; import type { SponsorshipTier } from '../../domain/entities/SeasonSponsorship'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import type { IPendingSponsorshipRequestsPresenter, PendingSponsorshipRequestsViewModel, diff --git a/core/racing/application/use-cases/GetProfileOverviewUseCase.ts b/core/racing/application/use-cases/GetProfileOverviewUseCase.ts index f34226f3c..31a8b0169 100644 --- a/core/racing/application/use-cases/GetProfileOverviewUseCase.ts +++ b/core/racing/application/use-cases/GetProfileOverviewUseCase.ts @@ -2,7 +2,7 @@ import type { IDriverRepository } from '../../domain/repositories/IDriverReposit import type { ITeamRepository } from '../../domain/repositories/ITeamRepository'; import type { ITeamMembershipRepository } from '../../domain/repositories/ITeamMembershipRepository'; import type { IImageServicePort } from '../ports/IImageServicePort'; -import type { ISocialGraphRepository } from '@gridpilot/social/domain/repositories/ISocialGraphRepository'; +import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository'; import type { IProfileOverviewPresenter, ProfileOverviewViewModel, diff --git a/core/racing/application/use-cases/GetRaceDetailUseCase.ts b/core/racing/application/use-cases/GetRaceDetailUseCase.ts index 3739fa2af..dedf6c5cf 100644 --- a/core/racing/application/use-cases/GetRaceDetailUseCase.ts +++ b/core/racing/application/use-cases/GetRaceDetailUseCase.ts @@ -14,7 +14,7 @@ import type { RaceDetailEntryViewModel, RaceDetailUserResultViewModel, } from '../presenters/IRaceDetailPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case: GetRaceDetailUseCase diff --git a/core/racing/application/use-cases/GetRacePenaltiesUseCase.ts b/core/racing/application/use-cases/GetRacePenaltiesUseCase.ts index b38c8fc23..61083cc6c 100644 --- a/core/racing/application/use-cases/GetRacePenaltiesUseCase.ts +++ b/core/racing/application/use-cases/GetRacePenaltiesUseCase.ts @@ -12,7 +12,7 @@ import type { RacePenaltiesResultDTO, RacePenaltiesViewModel, } from '../presenters/IRacePenaltiesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetRacePenaltiesInput { raceId: string; diff --git a/core/racing/application/use-cases/GetRaceProtestsUseCase.ts b/core/racing/application/use-cases/GetRaceProtestsUseCase.ts index eaa5a454d..5a7354089 100644 --- a/core/racing/application/use-cases/GetRaceProtestsUseCase.ts +++ b/core/racing/application/use-cases/GetRaceProtestsUseCase.ts @@ -12,7 +12,7 @@ import type { RaceProtestsResultDTO, RaceProtestsViewModel, } from '../presenters/IRaceProtestsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetRaceProtestsInput { raceId: string; diff --git a/core/racing/application/use-cases/GetRaceRegistrationsUseCase.ts b/core/racing/application/use-cases/GetRaceRegistrationsUseCase.ts index d9481361b..683043a08 100644 --- a/core/racing/application/use-cases/GetRaceRegistrationsUseCase.ts +++ b/core/racing/application/use-cases/GetRaceRegistrationsUseCase.ts @@ -1,11 +1,11 @@ -import type { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; +import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; import type { GetRaceRegistrationsQueryParamsDTO } from '../dto/RaceRegistrationQueryDTO'; import type { IRaceRegistrationsPresenter, RaceRegistrationsResultDTO, RaceRegistrationsViewModel, } from '../presenters/IRaceRegistrationsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case: GetRaceRegistrationsUseCase diff --git a/core/racing/application/use-cases/GetRaceResultsDetailUseCase.ts b/core/racing/application/use-cases/GetRaceResultsDetailUseCase.ts index 50a703540..4e5095f6e 100644 --- a/core/racing/application/use-cases/GetRaceResultsDetailUseCase.ts +++ b/core/racing/application/use-cases/GetRaceResultsDetailUseCase.ts @@ -8,7 +8,7 @@ import type { RaceResultsDetailViewModel, RaceResultsPenaltySummaryViewModel, } from '../presenters/IRaceResultsDetailPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import type { League } from '../../domain/entities/League'; import type { Result } from '../../domain/entities/Result'; import type { Driver } from '../../domain/entities/Driver'; diff --git a/core/racing/application/use-cases/GetRaceWithSOFUseCase.ts b/core/racing/application/use-cases/GetRaceWithSOFUseCase.ts index 4ef7cab1c..d7cdd714d 100644 --- a/core/racing/application/use-cases/GetRaceWithSOFUseCase.ts +++ b/core/racing/application/use-cases/GetRaceWithSOFUseCase.ts @@ -15,7 +15,7 @@ import { type StrengthOfFieldCalculator, } from '../../domain/services/StrengthOfFieldCalculator'; import type { IRaceWithSOFPresenter, RaceWithSOFResultDTO } from '../presenters/IRaceWithSOFPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetRaceWithSOFQueryParams { raceId: string; diff --git a/core/racing/application/use-cases/GetRacesPageDataUseCase.ts b/core/racing/application/use-cases/GetRacesPageDataUseCase.ts index eb9d646ba..3b39329b4 100644 --- a/core/racing/application/use-cases/GetRacesPageDataUseCase.ts +++ b/core/racing/application/use-cases/GetRacesPageDataUseCase.ts @@ -4,8 +4,8 @@ import type { IRacesPagePresenter, RacesPageResultDTO, RacesPageViewModel, -} from '@gridpilot/racing/application/presenters/IRacesPagePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +} from '@core/racing/application/presenters/IRacesPagePresenter'; +import type { UseCase } from '@core/shared/application/UseCase'; export class GetRacesPageDataUseCase implements UseCase diff --git a/core/racing/application/use-cases/GetSponsorDashboardUseCase.ts b/core/racing/application/use-cases/GetSponsorDashboardUseCase.ts index c0d72feb2..a3862fe31 100644 --- a/core/racing/application/use-cases/GetSponsorDashboardUseCase.ts +++ b/core/racing/application/use-cases/GetSponsorDashboardUseCase.ts @@ -14,7 +14,7 @@ import type { ISponsorDashboardPresenter, SponsorDashboardViewModel, } from '../presenters/ISponsorDashboardPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetSponsorDashboardQueryParams { sponsorId: string; diff --git a/core/racing/application/use-cases/GetSponsorSponsorshipsUseCase.ts b/core/racing/application/use-cases/GetSponsorSponsorshipsUseCase.ts index 561327120..a6217dc5d 100644 --- a/core/racing/application/use-cases/GetSponsorSponsorshipsUseCase.ts +++ b/core/racing/application/use-cases/GetSponsorSponsorshipsUseCase.ts @@ -15,7 +15,7 @@ import type { ISponsorSponsorshipsPresenter, SponsorSponsorshipsViewModel, } from '../presenters/ISponsorSponsorshipsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetSponsorSponsorshipsQueryParams { sponsorId: string; diff --git a/core/racing/application/use-cases/GetSponsorsUseCase.ts b/core/racing/application/use-cases/GetSponsorsUseCase.ts index 0bafd94d7..f1d5ec01f 100644 --- a/core/racing/application/use-cases/GetSponsorsUseCase.ts +++ b/core/racing/application/use-cases/GetSponsorsUseCase.ts @@ -10,7 +10,7 @@ import type { GetSponsorsResultDTO, GetSponsorsViewModel, } from '../presenters/IGetSponsorsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export class GetSponsorsUseCase implements UseCase diff --git a/core/racing/application/use-cases/GetSponsorshipPricingUseCase.ts b/core/racing/application/use-cases/GetSponsorshipPricingUseCase.ts index 65dec2a0b..4dd6975fa 100644 --- a/core/racing/application/use-cases/GetSponsorshipPricingUseCase.ts +++ b/core/racing/application/use-cases/GetSponsorshipPricingUseCase.ts @@ -9,7 +9,7 @@ import type { GetSponsorshipPricingResultDTO, GetSponsorshipPricingViewModel, } from '../presenters/IGetSponsorshipPricingPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export class GetSponsorshipPricingUseCase implements UseCase diff --git a/core/racing/application/use-cases/GetTeamDetailsUseCase.ts b/core/racing/application/use-cases/GetTeamDetailsUseCase.ts index 5d3a9e935..d22623e95 100644 --- a/core/racing/application/use-cases/GetTeamDetailsUseCase.ts +++ b/core/racing/application/use-cases/GetTeamDetailsUseCase.ts @@ -5,7 +5,7 @@ import type { TeamDetailsResultDTO, TeamDetailsViewModel, } from '../presenters/ITeamDetailsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving team details. diff --git a/core/racing/application/use-cases/GetTeamJoinRequestsUseCase.ts b/core/racing/application/use-cases/GetTeamJoinRequestsUseCase.ts index d58225f07..dc5e28850 100644 --- a/core/racing/application/use-cases/GetTeamJoinRequestsUseCase.ts +++ b/core/racing/application/use-cases/GetTeamJoinRequestsUseCase.ts @@ -6,7 +6,7 @@ import type { TeamJoinRequestsResultDTO, TeamJoinRequestsViewModel, } from '../presenters/ITeamJoinRequestsPresenter'; -import type { UseCase } from '@gridpilot/shared/application'; +import type { UseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/GetTeamMembersUseCase.ts b/core/racing/application/use-cases/GetTeamMembersUseCase.ts index 9819540a7..6e3d7c9ca 100644 --- a/core/racing/application/use-cases/GetTeamMembersUseCase.ts +++ b/core/racing/application/use-cases/GetTeamMembersUseCase.ts @@ -6,7 +6,7 @@ import type { TeamMembersResultDTO, TeamMembersViewModel, } from '../presenters/ITeamMembersPresenter'; -import type { UseCase } from '@gridpilot/shared/application'; +import type { UseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; /** diff --git a/core/racing/application/use-cases/GetTeamsLeaderboardUseCase.ts b/core/racing/application/use-cases/GetTeamsLeaderboardUseCase.ts index a1495d2e8..48f18ed68 100644 --- a/core/racing/application/use-cases/GetTeamsLeaderboardUseCase.ts +++ b/core/racing/application/use-cases/GetTeamsLeaderboardUseCase.ts @@ -1,13 +1,13 @@ -import type { ITeamRepository } from '@gridpilot/racing/domain/repositories/ITeamRepository'; -import type { ITeamMembershipRepository } from '@gridpilot/racing/domain/repositories/ITeamMembershipRepository'; -import type { IDriverRepository } from '@gridpilot/racing/domain/repositories/IDriverRepository'; +import type { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository'; +import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository'; +import type { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; import type { ITeamsLeaderboardPresenter, TeamsLeaderboardResultDTO, TeamsLeaderboardViewModel, -} from '@gridpilot/racing/application/presenters/ITeamsLeaderboardPresenter'; -import { SkillLevelService } from '@gridpilot/racing/domain/services/SkillLevelService'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +} from '@core/racing/application/presenters/ITeamsLeaderboardPresenter'; +import { SkillLevelService } from '@core/racing/domain/services/SkillLevelService'; +import type { UseCase } from '@core/shared/application/UseCase'; interface DriverStatsAdapter { rating: number | null; diff --git a/core/racing/application/use-cases/GetTotalDriversUseCase.ts b/core/racing/application/use-cases/GetTotalDriversUseCase.ts index 863db0cb0..d6cd5eb2f 100644 --- a/core/racing/application/use-cases/GetTotalDriversUseCase.ts +++ b/core/racing/application/use-cases/GetTotalDriversUseCase.ts @@ -1,6 +1,6 @@ import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { ITotalDriversPresenter, TotalDriversResultDTO } from '../presenters/ITotalDriversPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for retrieving total number of drivers. diff --git a/core/racing/application/use-cases/GetTotalLeaguesUseCase.ts b/core/racing/application/use-cases/GetTotalLeaguesUseCase.ts index 9506bd19c..19a34a78a 100644 --- a/core/racing/application/use-cases/GetTotalLeaguesUseCase.ts +++ b/core/racing/application/use-cases/GetTotalLeaguesUseCase.ts @@ -1,6 +1,6 @@ import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository'; import type { IGetTotalLeaguesPresenter, GetTotalLeaguesResultDTO, GetTotalLeaguesViewModel } from '../presenters/IGetTotalLeaguesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetTotalLeaguesUseCaseParams {} diff --git a/core/racing/application/use-cases/GetTotalRacesUseCase.ts b/core/racing/application/use-cases/GetTotalRacesUseCase.ts index 529c8d5a5..e779c5c29 100644 --- a/core/racing/application/use-cases/GetTotalRacesUseCase.ts +++ b/core/racing/application/use-cases/GetTotalRacesUseCase.ts @@ -1,6 +1,6 @@ import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { IGetTotalRacesPresenter, GetTotalRacesResultDTO, GetTotalRacesViewModel } from '../presenters/IGetTotalRacesPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface GetTotalRacesUseCaseParams {} diff --git a/core/racing/application/use-cases/ImportRaceResultsApiUseCase.ts b/core/racing/application/use-cases/ImportRaceResultsApiUseCase.ts index 10559538b..d780c98a3 100644 --- a/core/racing/application/use-cases/ImportRaceResultsApiUseCase.ts +++ b/core/racing/application/use-cases/ImportRaceResultsApiUseCase.ts @@ -1,5 +1,5 @@ import type { IImportRaceResultsApiPresenter, ImportRaceResultsApiResultDTO, ImportRaceResultsSummaryViewModel } from '../presenters/IImportRaceResultsApiPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface ImportRaceResultsApiParams { raceId: string; diff --git a/core/racing/application/use-cases/ImportRaceResultsUseCase.ts b/core/racing/application/use-cases/ImportRaceResultsUseCase.ts index f57b7c7d7..6e7f9a158 100644 --- a/core/racing/application/use-cases/ImportRaceResultsUseCase.ts +++ b/core/racing/application/use-cases/ImportRaceResultsUseCase.ts @@ -4,7 +4,7 @@ import type { IResultRepository } from '../../domain/repositories/IResultReposit import type { IDriverRepository } from '../../domain/repositories/IDriverRepository'; import type { IStandingRepository } from '../../domain/repositories/IStandingRepository'; import { Result } from '../../domain/entities/Result'; -import type { AsyncUseCase, Logger } from '@gridpilot/shared/application'; +import type { AsyncUseCase, Logger } from '@core/shared/application'; import { BusinessRuleViolationError, EntityNotFoundError, diff --git a/core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase.ts b/core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase.ts index f26ed0579..ed36f705f 100644 --- a/core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase.ts +++ b/core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase.ts @@ -1,7 +1,7 @@ import type { IRaceRegistrationRepository } from '../../domain/repositories/IRaceRegistrationRepository'; import type { IsDriverRegisteredForRaceQueryParamsDTO } from '../dto/RaceRegistrationQueryDTO'; import type { IDriverRegistrationStatusPresenter } from '../presenters/IDriverRegistrationStatusPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case: IsDriverRegisteredForRaceUseCase diff --git a/core/racing/application/use-cases/JoinLeagueUseCase.ts b/core/racing/application/use-cases/JoinLeagueUseCase.ts index a8e03bff2..9fce18aee 100644 --- a/core/racing/application/use-cases/JoinLeagueUseCase.ts +++ b/core/racing/application/use-cases/JoinLeagueUseCase.ts @@ -1,13 +1,13 @@ import type { Logger } from '../../../shared/src/logging/Logger'; import type { ILeagueMembershipRepository, -} from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +} from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import type { AsyncUseCase } from '@core/shared/application'; import { LeagueMembership, type MembershipRole, type MembershipStatus, -} from '@gridpilot/racing/domain/entities/LeagueMembership'; +} from '@core/racing/domain/entities/LeagueMembership'; import type { JoinLeagueCommandDTO } from '../dto/JoinLeagueCommandDTO'; import { BusinessRuleViolationError } from '../errors/RacingApplicationError'; diff --git a/core/racing/application/use-cases/JoinTeamUseCase.ts b/core/racing/application/use-cases/JoinTeamUseCase.ts index 523bbfbd3..586ca44a4 100644 --- a/core/racing/application/use-cases/JoinTeamUseCase.ts +++ b/core/racing/application/use-cases/JoinTeamUseCase.ts @@ -6,7 +6,7 @@ import type { TeamRole, } from '../../domain/types/TeamMembership'; import type { JoinTeamCommandDTO } from '../dto/TeamCommandAndQueryDTO'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import { BusinessRuleViolationError, diff --git a/core/racing/application/use-cases/ListLeagueScoringPresetsUseCase.ts b/core/racing/application/use-cases/ListLeagueScoringPresetsUseCase.ts index 8dd86c6b4..79294ee0b 100644 --- a/core/racing/application/use-cases/ListLeagueScoringPresetsUseCase.ts +++ b/core/racing/application/use-cases/ListLeagueScoringPresetsUseCase.ts @@ -4,7 +4,7 @@ import type { LeagueScoringPresetsResultDTO, LeagueScoringPresetsViewModel, } from '../presenters/ILeagueScoringPresetsPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; /** * Use Case for listing league scoring presets. diff --git a/core/racing/application/use-cases/QuickPenaltyUseCase.ts b/core/racing/application/use-cases/QuickPenaltyUseCase.ts index 84dcb1016..73c37d4cc 100644 --- a/core/racing/application/use-cases/QuickPenaltyUseCase.ts +++ b/core/racing/application/use-cases/QuickPenaltyUseCase.ts @@ -10,7 +10,7 @@ import type { IPenaltyRepository } from '../../domain/repositories/IPenaltyRepos import type { IRaceRepository } from '../../domain/repositories/IRaceRepository'; import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import { randomUUID } from 'crypto'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; export interface QuickPenaltyCommand { diff --git a/core/racing/application/use-cases/RecalculateChampionshipStandingsUseCase.ts b/core/racing/application/use-cases/RecalculateChampionshipStandingsUseCase.ts index 7a1952668..cde456cac 100644 --- a/core/racing/application/use-cases/RecalculateChampionshipStandingsUseCase.ts +++ b/core/racing/application/use-cases/RecalculateChampionshipStandingsUseCase.ts @@ -1,15 +1,15 @@ -import type { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import type { ILeagueScoringConfigRepository } from '@gridpilot/racing/domain/repositories/ILeagueScoringConfigRepository'; -import type { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import type { IResultRepository } from '@gridpilot/racing/domain/repositories/IResultRepository'; -import type { IPenaltyRepository } from '@gridpilot/racing/domain/repositories/IPenaltyRepository'; -import type { IChampionshipStandingRepository } from '@gridpilot/racing/domain/repositories/IChampionshipStandingRepository'; +import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/ILeagueScoringConfigRepository'; +import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository'; +import type { IPenaltyRepository } from '@core/racing/domain/repositories/IPenaltyRepository'; +import type { IChampionshipStandingRepository } from '@core/racing/domain/repositories/IChampionshipStandingRepository'; -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; -import type { SessionType } from '@gridpilot/racing/domain/types/SessionType'; -import type { ChampionshipStanding } from '@gridpilot/racing/domain/entities/ChampionshipStanding'; -import { EventScoringService } from '@gridpilot/racing/domain/services/EventScoringService'; -import { ChampionshipAggregator } from '@gridpilot/racing/domain/services/ChampionshipAggregator'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; +import type { SessionType } from '@core/racing/domain/types/SessionType'; +import type { ChampionshipStanding } from '@core/racing/domain/entities/ChampionshipStanding'; +import { EventScoringService } from '@core/racing/domain/services/EventScoringService'; +import { ChampionshipAggregator } from '@core/racing/domain/services/ChampionshipAggregator'; import type { ChampionshipStandingsDTO, diff --git a/core/racing/application/use-cases/RegisterForRaceUseCase.ts b/core/racing/application/use-cases/RegisterForRaceUseCase.ts index f2c275724..4682f9e2c 100644 --- a/core/racing/application/use-cases/RegisterForRaceUseCase.ts +++ b/core/racing/application/use-cases/RegisterForRaceUseCase.ts @@ -1,9 +1,9 @@ -import type { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; -import type { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import { RaceRegistration } from '@gridpilot/racing/domain/entities/RaceRegistration'; +import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; +import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration'; import type { RegisterForRaceCommandDTO } from '../dto/RegisterForRaceCommandDTO'; -import type { AsyncUseCase } from '@gridpilot/shared/application'; -import { Logger } from '@gridpilot/shared/logging/Logger'; +import type { AsyncUseCase } from '@core/shared/application'; +import { Logger } from '@core/shared/logging/Logger'; import { BusinessRuleViolationError, PermissionDeniedError, diff --git a/core/racing/application/use-cases/RejectLeagueJoinRequestUseCase.ts b/core/racing/application/use-cases/RejectLeagueJoinRequestUseCase.ts index 30fc04347..ea5b49696 100644 --- a/core/racing/application/use-cases/RejectLeagueJoinRequestUseCase.ts +++ b/core/racing/application/use-cases/RejectLeagueJoinRequestUseCase.ts @@ -1,6 +1,6 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IRejectLeagueJoinRequestPresenter, RejectLeagueJoinRequestResultDTO, RejectLeagueJoinRequestViewModel } from '../presenters/IRejectLeagueJoinRequestPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface RejectLeagueJoinRequestUseCaseParams { requestId: string; diff --git a/core/racing/application/use-cases/RemoveLeagueMemberUseCase.ts b/core/racing/application/use-cases/RemoveLeagueMemberUseCase.ts index bd91e2c2c..73f8a3b64 100644 --- a/core/racing/application/use-cases/RemoveLeagueMemberUseCase.ts +++ b/core/racing/application/use-cases/RemoveLeagueMemberUseCase.ts @@ -1,6 +1,6 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IRemoveLeagueMemberPresenter, RemoveLeagueMemberResultDTO, RemoveLeagueMemberViewModel } from '../presenters/IRemoveLeagueMemberPresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface RemoveLeagueMemberUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/SendFinalResultsUseCase.ts b/core/racing/application/use-cases/SendFinalResultsUseCase.ts index e97f537cc..6e68ebeb6 100644 --- a/core/racing/application/use-cases/SendFinalResultsUseCase.ts +++ b/core/racing/application/use-cases/SendFinalResultsUseCase.ts @@ -1,4 +1,4 @@ -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import type { INotificationService } from '../../../notifications/application/ports/INotificationService'; import type { IRaceEventRepository } from '../../domain/repositories/IRaceEventRepository'; import type { IResultRepository } from '../../domain/repositories/IResultRepository'; diff --git a/core/racing/application/use-cases/SendPerformanceSummaryUseCase.ts b/core/racing/application/use-cases/SendPerformanceSummaryUseCase.ts index 5bf301926..8dbf4ed0c 100644 --- a/core/racing/application/use-cases/SendPerformanceSummaryUseCase.ts +++ b/core/racing/application/use-cases/SendPerformanceSummaryUseCase.ts @@ -1,4 +1,4 @@ -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; import type { INotificationService } from '../../../notifications/application/ports/INotificationService'; import type { IRaceEventRepository } from '../../domain/repositories/IRaceEventRepository'; import type { IResultRepository } from '../../domain/repositories/IResultRepository'; diff --git a/core/racing/application/use-cases/TransferLeagueOwnershipUseCase.ts b/core/racing/application/use-cases/TransferLeagueOwnershipUseCase.ts index 55ad7f820..5d94e3866 100644 --- a/core/racing/application/use-cases/TransferLeagueOwnershipUseCase.ts +++ b/core/racing/application/use-cases/TransferLeagueOwnershipUseCase.ts @@ -1,11 +1,11 @@ import type { ILeagueMembershipRepository, -} from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import type { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; +} from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; import type { LeagueMembership, MembershipRole, -} from '@gridpilot/racing/domain/entities/LeagueMembership'; +} from '@core/racing/domain/entities/LeagueMembership'; export interface TransferLeagueOwnershipCommandDTO { leagueId: string; diff --git a/core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase.ts b/core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase.ts index 5ea5e55ad..44e35ff57 100644 --- a/core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase.ts +++ b/core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase.ts @@ -1,6 +1,6 @@ import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository'; import type { IUpdateLeagueMemberRolePresenter, UpdateLeagueMemberRoleResultDTO, UpdateLeagueMemberRoleViewModel } from '../presenters/IUpdateLeagueMemberRolePresenter'; -import type { UseCase } from '@gridpilot/shared/application/UseCase'; +import type { UseCase } from '@core/shared/application/UseCase'; export interface UpdateLeagueMemberRoleUseCaseParams { leagueId: string; diff --git a/core/racing/application/use-cases/WithdrawFromRaceUseCase.ts b/core/racing/application/use-cases/WithdrawFromRaceUseCase.ts index 2bacb68d9..712d9b71b 100644 --- a/core/racing/application/use-cases/WithdrawFromRaceUseCase.ts +++ b/core/racing/application/use-cases/WithdrawFromRaceUseCase.ts @@ -1,4 +1,4 @@ -import type { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; +import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; import type { WithdrawFromRaceCommandDTO } from '../dto/WithdrawFromRaceCommandDTO'; /** diff --git a/core/racing/domain/entities/Car.ts b/core/racing/domain/entities/Car.ts index 2546cb2b0..a2fdd7b41 100644 --- a/core/racing/domain/entities/Car.ts +++ b/core/racing/domain/entities/Car.ts @@ -5,7 +5,7 @@ * Immutable entity with factory methods and domain validation. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; export type CarClass = 'formula' | 'gt' | 'prototype' | 'touring' | 'sports' | 'oval' | 'dirt'; diff --git a/core/racing/domain/entities/Driver.ts b/core/racing/domain/entities/Driver.ts index f7a71b30d..e7d257e27 100644 --- a/core/racing/domain/entities/Driver.ts +++ b/core/racing/domain/entities/Driver.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export class Driver implements IEntity { readonly id: string; diff --git a/core/racing/domain/entities/DriverLivery.ts b/core/racing/domain/entities/DriverLivery.ts index e153a3056..a2d5c0420 100644 --- a/core/racing/domain/entities/DriverLivery.ts +++ b/core/racing/domain/entities/DriverLivery.ts @@ -5,7 +5,7 @@ * Includes user-placed decals and league-specific overrides. */ import { RacingDomainValidationError, RacingDomainInvariantError, RacingDomainError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { LiveryDecal } from '../value-objects/LiveryDecal'; diff --git a/core/racing/domain/entities/Game.ts b/core/racing/domain/entities/Game.ts index 0a90981c5..84be8c23b 100644 --- a/core/racing/domain/entities/Game.ts +++ b/core/racing/domain/entities/Game.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export class Game implements IEntity { readonly id: string; diff --git a/core/racing/domain/entities/League.ts b/core/racing/domain/entities/League.ts index 2e605d218..f11398551 100644 --- a/core/racing/domain/entities/League.ts +++ b/core/racing/domain/entities/League.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; /** * Stewarding decision mode for protests diff --git a/core/racing/domain/entities/LeagueMembership.ts b/core/racing/domain/entities/LeagueMembership.ts index d6928e402..2bf287a0b 100644 --- a/core/racing/domain/entities/LeagueMembership.ts +++ b/core/racing/domain/entities/LeagueMembership.ts @@ -4,7 +4,7 @@ * Represents a driver's membership in a league and join requests. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; export type MembershipRole = 'owner' | 'admin' | 'steward' | 'member'; diff --git a/core/racing/domain/entities/LeagueWallet.ts b/core/racing/domain/entities/LeagueWallet.ts index 901f2db0d..f87b4314a 100644 --- a/core/racing/domain/entities/LeagueWallet.ts +++ b/core/racing/domain/entities/LeagueWallet.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { Money } from '../value-objects/Money'; import type { Transaction } from './Transaction'; diff --git a/core/racing/domain/entities/LiveryTemplate.ts b/core/racing/domain/entities/LiveryTemplate.ts index 7f2904829..b979d557c 100644 --- a/core/racing/domain/entities/LiveryTemplate.ts +++ b/core/racing/domain/entities/LiveryTemplate.ts @@ -5,7 +5,7 @@ * Contains base image and sponsor decal placements. */ import { RacingDomainValidationError, RacingDomainInvariantError, RacingDomainError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { LiveryDecal } from '../value-objects/LiveryDecal'; diff --git a/core/racing/domain/entities/Penalty.ts b/core/racing/domain/entities/Penalty.ts index c5426fb00..2805cac92 100644 --- a/core/racing/domain/entities/Penalty.ts +++ b/core/racing/domain/entities/Penalty.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export type PenaltyType = | 'time_penalty' // Add time to race result (e.g., +5 seconds) diff --git a/core/racing/domain/entities/Prize.ts b/core/racing/domain/entities/Prize.ts index 9c8394866..224851700 100644 --- a/core/racing/domain/entities/Prize.ts +++ b/core/racing/domain/entities/Prize.ts @@ -5,7 +5,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { Money } from '../value-objects/Money'; diff --git a/core/racing/domain/entities/Protest.ts b/core/racing/domain/entities/Protest.ts index eefcd9255..d54d3c545 100644 --- a/core/racing/domain/entities/Protest.ts +++ b/core/racing/domain/entities/Protest.ts @@ -12,7 +12,7 @@ * - withdrawn: Protesting driver withdrew the protest */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export type ProtestStatus = 'pending' | 'awaiting_defense' | 'under_review' | 'upheld' | 'dismissed' | 'withdrawn'; diff --git a/core/racing/domain/entities/Race.ts b/core/racing/domain/entities/Race.ts index 1a334ed40..60404d780 100644 --- a/core/racing/domain/entities/Race.ts +++ b/core/racing/domain/entities/Race.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { SessionType } from '../value-objects/SessionType'; export type RaceStatus = 'scheduled' | 'running' | 'completed' | 'cancelled'; diff --git a/core/racing/domain/entities/RaceEvent.ts b/core/racing/domain/entities/RaceEvent.ts index 87106f6c5..0888918ef 100644 --- a/core/racing/domain/entities/RaceEvent.ts +++ b/core/racing/domain/entities/RaceEvent.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { Session } from './Session'; import type { SessionType } from '../value-objects/SessionType'; diff --git a/core/racing/domain/entities/RaceRegistration.ts b/core/racing/domain/entities/RaceRegistration.ts index 907b4e08a..46f54daa9 100644 --- a/core/racing/domain/entities/RaceRegistration.ts +++ b/core/racing/domain/entities/RaceRegistration.ts @@ -4,7 +4,7 @@ * Represents a registration of a driver for a specific race. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; export interface RaceRegistrationProps { diff --git a/core/racing/domain/entities/Result.ts b/core/racing/domain/entities/Result.ts index e0a61eb99..0f1997bb0 100644 --- a/core/racing/domain/entities/Result.ts +++ b/core/racing/domain/entities/Result.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export class Result implements IEntity { readonly id: string; diff --git a/core/racing/domain/entities/ResultWithIncidents.ts b/core/racing/domain/entities/ResultWithIncidents.ts index 3408a9016..adbdfa4a0 100644 --- a/core/racing/domain/entities/ResultWithIncidents.ts +++ b/core/racing/domain/entities/ResultWithIncidents.ts @@ -3,7 +3,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { RaceIncidents, type IncidentRecord } from '../value-objects/RaceIncidents'; export class ResultWithIncidents implements IEntity { diff --git a/core/racing/domain/entities/Season.ts b/core/racing/domain/entities/Season.ts index 7de0b5263..a7354eead 100644 --- a/core/racing/domain/entities/Season.ts +++ b/core/racing/domain/entities/Season.ts @@ -9,7 +9,7 @@ import { RacingDomainInvariantError, RacingDomainValidationError, } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { SeasonSchedule } from '../value-objects/SeasonSchedule'; import type { SeasonScoringConfig } from '../value-objects/SeasonScoringConfig'; import type { SeasonDropPolicy } from '../value-objects/SeasonDropPolicy'; diff --git a/core/racing/domain/entities/SeasonSponsorship.ts b/core/racing/domain/entities/SeasonSponsorship.ts index 4413319b2..0d6e234fe 100644 --- a/core/racing/domain/entities/SeasonSponsorship.ts +++ b/core/racing/domain/entities/SeasonSponsorship.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { Money } from '../value-objects/Money'; diff --git a/core/racing/domain/entities/Session.ts b/core/racing/domain/entities/Session.ts index 481562d76..0408f33af 100644 --- a/core/racing/domain/entities/Session.ts +++ b/core/racing/domain/entities/Session.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { SessionType } from '../value-objects/SessionType'; export type SessionStatus = 'scheduled' | 'running' | 'completed' | 'cancelled'; diff --git a/core/racing/domain/entities/Sponsor.ts b/core/racing/domain/entities/Sponsor.ts index 941288468..85e68e8c5 100644 --- a/core/racing/domain/entities/Sponsor.ts +++ b/core/racing/domain/entities/Sponsor.ts @@ -5,7 +5,7 @@ * Aggregate root for sponsor information. */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export interface SponsorProps { id: string; diff --git a/core/racing/domain/entities/SponsorshipRequest.ts b/core/racing/domain/entities/SponsorshipRequest.ts index 914577c0c..bb7f65498 100644 --- a/core/racing/domain/entities/SponsorshipRequest.ts +++ b/core/racing/domain/entities/SponsorshipRequest.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import type { Money } from '../value-objects/Money'; import type { SponsorshipTier } from './SeasonSponsorship'; diff --git a/core/racing/domain/entities/Standing.ts b/core/racing/domain/entities/Standing.ts index 9ffe48886..6ef1c765d 100644 --- a/core/racing/domain/entities/Standing.ts +++ b/core/racing/domain/entities/Standing.ts @@ -6,7 +6,7 @@ */ import { RacingDomainError, RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export class Standing implements IEntity { readonly id: string; diff --git a/core/racing/domain/entities/Team.ts b/core/racing/domain/entities/Team.ts index e31fb2503..96d48f6bc 100644 --- a/core/racing/domain/entities/Team.ts +++ b/core/racing/domain/entities/Team.ts @@ -6,7 +6,7 @@ * basic invariants around identity and core properties. */ -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; export class Team implements IEntity { diff --git a/core/racing/domain/entities/Track.ts b/core/racing/domain/entities/Track.ts index 6b9d86331..df1c2dd5b 100644 --- a/core/racing/domain/entities/Track.ts +++ b/core/racing/domain/entities/Track.ts @@ -6,7 +6,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export type TrackCategory = 'oval' | 'road' | 'street' | 'dirt'; export type TrackDifficulty = 'beginner' | 'intermediate' | 'advanced' | 'expert'; diff --git a/core/racing/domain/entities/Transaction.ts b/core/racing/domain/entities/Transaction.ts index d935ecaf5..31f43d1ca 100644 --- a/core/racing/domain/entities/Transaction.ts +++ b/core/racing/domain/entities/Transaction.ts @@ -7,7 +7,7 @@ import { RacingDomainValidationError, RacingDomainInvariantError } from '../errors/RacingDomainError'; import type { Money } from '../value-objects/Money'; -import type { IEntity } from '@gridpilot/shared/domain'; +import type { IEntity } from '@core/shared/domain'; export type TransactionType = | 'sponsorship_payment' diff --git a/core/racing/domain/errors/RacingDomainError.ts b/core/racing/domain/errors/RacingDomainError.ts index fbaa901f9..27fa19566 100644 --- a/core/racing/domain/errors/RacingDomainError.ts +++ b/core/racing/domain/errors/RacingDomainError.ts @@ -1,4 +1,4 @@ -import type { IDomainError, CommonDomainErrorKind } from '@gridpilot/shared/errors'; +import type { IDomainError, CommonDomainErrorKind } from '@core/shared/errors'; export abstract class RacingDomainError extends Error implements IDomainError { readonly type = 'domain' as const; diff --git a/core/racing/domain/events/MainRaceCompleted.ts b/core/racing/domain/events/MainRaceCompleted.ts index 57d7a7809..4a53186a9 100644 --- a/core/racing/domain/events/MainRaceCompleted.ts +++ b/core/racing/domain/events/MainRaceCompleted.ts @@ -1,4 +1,4 @@ -import type { IDomainEvent } from '@gridpilot/shared/domain'; +import type { IDomainEvent } from '@core/shared/domain'; /** * Domain Event: MainRaceCompleted diff --git a/core/racing/domain/events/RaceEventStewardingClosed.ts b/core/racing/domain/events/RaceEventStewardingClosed.ts index e90295099..5ddbb3883 100644 --- a/core/racing/domain/events/RaceEventStewardingClosed.ts +++ b/core/racing/domain/events/RaceEventStewardingClosed.ts @@ -1,4 +1,4 @@ -import type { IDomainEvent } from '@gridpilot/shared/domain'; +import type { IDomainEvent } from '@core/shared/domain'; /** * Domain Event: RaceEventStewardingClosed diff --git a/core/racing/domain/services/DropScoreApplier.ts b/core/racing/domain/services/DropScoreApplier.ts index 5426189aa..b40d33940 100644 --- a/core/racing/domain/services/DropScoreApplier.ts +++ b/core/racing/domain/services/DropScoreApplier.ts @@ -1,5 +1,5 @@ import type { DropScorePolicy } from '../types/DropScorePolicy'; -import type { IDomainCalculationService } from '@gridpilot/shared/domain'; +import type { IDomainCalculationService } from '@core/shared/domain'; export interface EventPointsEntry { eventId: string; diff --git a/core/racing/domain/services/EventScoringService.ts b/core/racing/domain/services/EventScoringService.ts index e538feecb..78e7143f5 100644 --- a/core/racing/domain/services/EventScoringService.ts +++ b/core/racing/domain/services/EventScoringService.ts @@ -7,7 +7,7 @@ import type { BonusRule } from '../types/BonusRule'; import type { ChampionshipType } from '../types/ChampionshipType'; import type { PointsTable } from '../value-objects/PointsTable'; -import type { IDomainCalculationService } from '@gridpilot/shared/domain'; +import type { IDomainCalculationService } from '@core/shared/domain'; export interface ParticipantEventPoints { participant: ParticipantRef; diff --git a/core/racing/domain/services/IDriverStatsService.ts b/core/racing/domain/services/IDriverStatsService.ts index e3e949c56..dc9b1a147 100644 --- a/core/racing/domain/services/IDriverStatsService.ts +++ b/core/racing/domain/services/IDriverStatsService.ts @@ -1,4 +1,4 @@ -import type { IDomainService } from '@gridpilot/shared/domain'; +import type { IDomainService } from '@core/shared/domain'; export interface DriverStats { rating: number; diff --git a/core/racing/domain/services/IRankingService.ts b/core/racing/domain/services/IRankingService.ts index c7137911e..beae09b08 100644 --- a/core/racing/domain/services/IRankingService.ts +++ b/core/racing/domain/services/IRankingService.ts @@ -1,4 +1,4 @@ -import type { IDomainService } from '@gridpilot/shared/domain'; +import type { IDomainService } from '@core/shared/domain'; export interface DriverRanking { driverId: string; diff --git a/core/racing/domain/services/SeasonScheduleGenerator.ts b/core/racing/domain/services/SeasonScheduleGenerator.ts index 153edf029..feaf6e3ed 100644 --- a/core/racing/domain/services/SeasonScheduleGenerator.ts +++ b/core/racing/domain/services/SeasonScheduleGenerator.ts @@ -5,7 +5,7 @@ import { RacingDomainError, RacingDomainValidationError } from '../errors/Racing import { RaceTimeOfDay } from '../value-objects/RaceTimeOfDay'; import type { Weekday } from '../types/Weekday'; import { weekdayToIndex } from '../types/Weekday'; -import type { IDomainCalculationService } from '@gridpilot/shared/domain'; +import type { IDomainCalculationService } from '@core/shared/domain'; function cloneDate(date: Date): Date { return new Date(date.getTime()); diff --git a/core/racing/domain/services/SkillLevelService.ts b/core/racing/domain/services/SkillLevelService.ts index b894c1001..3bca10af8 100644 --- a/core/racing/domain/services/SkillLevelService.ts +++ b/core/racing/domain/services/SkillLevelService.ts @@ -1,4 +1,4 @@ -import type { IDomainService } from '@gridpilot/shared/domain'; +import type { IDomainService } from '@core/shared/domain'; export type SkillLevel = 'beginner' | 'intermediate' | 'advanced' | 'pro'; diff --git a/core/racing/domain/services/StrengthOfFieldCalculator.ts b/core/racing/domain/services/StrengthOfFieldCalculator.ts index 01e1a2d9e..09d141543 100644 --- a/core/racing/domain/services/StrengthOfFieldCalculator.ts +++ b/core/racing/domain/services/StrengthOfFieldCalculator.ts @@ -1,4 +1,4 @@ -import type { IDomainCalculationService } from '@gridpilot/shared/domain'; +import type { IDomainCalculationService } from '@core/shared/domain'; /** * Domain Service: StrengthOfFieldCalculator diff --git a/core/racing/domain/value-objects/GameConstraints.ts b/core/racing/domain/value-objects/GameConstraints.ts index 16412560c..d9f7fe51d 100644 --- a/core/racing/domain/value-objects/GameConstraints.ts +++ b/core/racing/domain/value-objects/GameConstraints.ts @@ -5,7 +5,7 @@ * Different sim racing games have different maximum grid sizes. */ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface GameConstraintsData { readonly maxDrivers: number; diff --git a/core/racing/domain/value-objects/LeagueDescription.ts b/core/racing/domain/value-objects/LeagueDescription.ts index 02219ebae..b97e6d17b 100644 --- a/core/racing/domain/value-objects/LeagueDescription.ts +++ b/core/racing/domain/value-objects/LeagueDescription.ts @@ -5,7 +5,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface LeagueDescriptionValidationResult { valid: boolean; diff --git a/core/racing/domain/value-objects/LeagueName.ts b/core/racing/domain/value-objects/LeagueName.ts index e135dc9a4..10c5906a4 100644 --- a/core/racing/domain/value-objects/LeagueName.ts +++ b/core/racing/domain/value-objects/LeagueName.ts @@ -5,7 +5,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface LeagueNameValidationResult { valid: boolean; diff --git a/core/racing/domain/value-objects/LeagueTimezone.ts b/core/racing/domain/value-objects/LeagueTimezone.ts index 0c41d85a1..97472e7d3 100644 --- a/core/racing/domain/value-objects/LeagueTimezone.ts +++ b/core/racing/domain/value-objects/LeagueTimezone.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface LeagueTimezoneProps { id: string; diff --git a/core/racing/domain/value-objects/LeagueVisibility.ts b/core/racing/domain/value-objects/LeagueVisibility.ts index 5828b7276..e7ee2e1fa 100644 --- a/core/racing/domain/value-objects/LeagueVisibility.ts +++ b/core/racing/domain/value-objects/LeagueVisibility.ts @@ -9,7 +9,7 @@ * Can have any number of players. */ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; export type LeagueVisibilityType = 'ranked' | 'unranked'; diff --git a/core/racing/domain/value-objects/LiveryDecal.ts b/core/racing/domain/value-objects/LiveryDecal.ts index f97270832..a55944fe5 100644 --- a/core/racing/domain/value-objects/LiveryDecal.ts +++ b/core/racing/domain/value-objects/LiveryDecal.ts @@ -4,7 +4,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export type DecalType = 'sponsor' | 'user'; diff --git a/core/racing/domain/value-objects/MembershipFee.ts b/core/racing/domain/value-objects/MembershipFee.ts index c97538463..e2526b40c 100644 --- a/core/racing/domain/value-objects/MembershipFee.ts +++ b/core/racing/domain/value-objects/MembershipFee.ts @@ -6,7 +6,7 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; import type { Money } from './Money'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export type MembershipFeeType = 'season' | 'monthly' | 'per_race'; diff --git a/core/racing/domain/value-objects/Money.ts b/core/racing/domain/value-objects/Money.ts index 4b10949d6..18140f53e 100644 --- a/core/racing/domain/value-objects/Money.ts +++ b/core/racing/domain/value-objects/Money.ts @@ -4,7 +4,7 @@ */ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export type Currency = 'USD' | 'EUR' | 'GBP'; diff --git a/core/racing/domain/value-objects/MonthlyRecurrencePattern.ts b/core/racing/domain/value-objects/MonthlyRecurrencePattern.ts index 92a1941ee..e8287d62b 100644 --- a/core/racing/domain/value-objects/MonthlyRecurrencePattern.ts +++ b/core/racing/domain/value-objects/MonthlyRecurrencePattern.ts @@ -1,5 +1,5 @@ import type { Weekday } from '../types/Weekday'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface MonthlyRecurrencePatternProps { ordinal: 1 | 2 | 3 | 4; diff --git a/core/racing/domain/value-objects/PointsTable.ts b/core/racing/domain/value-objects/PointsTable.ts index 128963928..0a241ad96 100644 --- a/core/racing/domain/value-objects/PointsTable.ts +++ b/core/racing/domain/value-objects/PointsTable.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface PointsTableProps { pointsByPosition: Map; diff --git a/core/racing/domain/value-objects/RaceIncidents.ts b/core/racing/domain/value-objects/RaceIncidents.ts index c540cc552..a3511cef7 100644 --- a/core/racing/domain/value-objects/RaceIncidents.ts +++ b/core/racing/domain/value-objects/RaceIncidents.ts @@ -1,4 +1,4 @@ -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; /** * Incident types that can occur during a race diff --git a/core/racing/domain/value-objects/RaceTimeOfDay.ts b/core/racing/domain/value-objects/RaceTimeOfDay.ts index fbebd478a..dd1361969 100644 --- a/core/racing/domain/value-objects/RaceTimeOfDay.ts +++ b/core/racing/domain/value-objects/RaceTimeOfDay.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface RaceTimeOfDayProps { hour: number; diff --git a/core/racing/domain/value-objects/ScheduledRaceSlot.ts b/core/racing/domain/value-objects/ScheduledRaceSlot.ts index 832400a91..6f3bbebfe 100644 --- a/core/racing/domain/value-objects/ScheduledRaceSlot.ts +++ b/core/racing/domain/value-objects/ScheduledRaceSlot.ts @@ -1,7 +1,7 @@ import { LeagueTimezone } from './LeagueTimezone'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface ScheduledRaceSlotProps { roundNumber: number; diff --git a/core/racing/domain/value-objects/SeasonDropPolicy.ts b/core/racing/domain/value-objects/SeasonDropPolicy.ts index b9ada2404..1e59b6257 100644 --- a/core/racing/domain/value-objects/SeasonDropPolicy.ts +++ b/core/racing/domain/value-objects/SeasonDropPolicy.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export type SeasonDropStrategy = 'none' | 'bestNResults' | 'dropWorstN'; diff --git a/core/racing/domain/value-objects/SeasonSchedule.ts b/core/racing/domain/value-objects/SeasonSchedule.ts index aaf4e6ebf..c2a1c15ca 100644 --- a/core/racing/domain/value-objects/SeasonSchedule.ts +++ b/core/racing/domain/value-objects/SeasonSchedule.ts @@ -2,7 +2,7 @@ import { RaceTimeOfDay } from './RaceTimeOfDay'; import { LeagueTimezone } from './LeagueTimezone'; import type { RecurrenceStrategy } from './RecurrenceStrategy'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface SeasonScheduleProps { startDate: Date; diff --git a/core/racing/domain/value-objects/SeasonScoringConfig.ts b/core/racing/domain/value-objects/SeasonScoringConfig.ts index 0aca8095f..b6950a080 100644 --- a/core/racing/domain/value-objects/SeasonScoringConfig.ts +++ b/core/racing/domain/value-objects/SeasonScoringConfig.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; /** * Value Object: SeasonScoringConfig diff --git a/core/racing/domain/value-objects/SeasonStewardingConfig.ts b/core/racing/domain/value-objects/SeasonStewardingConfig.ts index 29409b3da..59ea9fa66 100644 --- a/core/racing/domain/value-objects/SeasonStewardingConfig.ts +++ b/core/racing/domain/value-objects/SeasonStewardingConfig.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; import type { StewardingDecisionMode } from '../entities/League'; export interface SeasonStewardingConfigProps { diff --git a/core/racing/domain/value-objects/SessionType.ts b/core/racing/domain/value-objects/SessionType.ts index 7d96185bc..04bf6eaea 100644 --- a/core/racing/domain/value-objects/SessionType.ts +++ b/core/racing/domain/value-objects/SessionType.ts @@ -1,5 +1,5 @@ import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; /** * Value Object: SessionType diff --git a/core/racing/domain/value-objects/SponsorshipPricing.ts b/core/racing/domain/value-objects/SponsorshipPricing.ts index ed733a162..08edb171c 100644 --- a/core/racing/domain/value-objects/SponsorshipPricing.ts +++ b/core/racing/domain/value-objects/SponsorshipPricing.ts @@ -6,7 +6,7 @@ */ import { Money } from './Money'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface SponsorshipSlotConfig { tier: 'main' | 'secondary'; diff --git a/core/racing/domain/value-objects/WeekdaySet.ts b/core/racing/domain/value-objects/WeekdaySet.ts index 61eb05447..3b0cee05c 100644 --- a/core/racing/domain/value-objects/WeekdaySet.ts +++ b/core/racing/domain/value-objects/WeekdaySet.ts @@ -1,7 +1,7 @@ import type { Weekday } from '../types/Weekday'; import { weekdayToIndex } from '../types/Weekday'; import { RacingDomainValidationError } from '../errors/RacingDomainError'; -import type { IValueObject } from '@gridpilot/shared/domain'; +import type { IValueObject } from '@core/shared/domain'; export interface WeekdaySetProps { days: Weekday[]; diff --git a/core/racing/package.json b/core/racing/package.json deleted file mode 100644 index 6236d7f68..000000000 --- a/core/racing/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@gridpilot/racing", - "version": "0.1.0", - "main": "./index.ts", - "types": "./index.ts", - "type": "module", - "exports": { - ".": "./index.ts", - "./domain/*": "./domain/*", - "./application": "./application/index.ts", - "./application/*": "./application/*", - "./infrastructure/*": "./infrastructure/*" - }, - "dependencies": { - "uuid": "^11.0.5" - }, - "devDependencies": { - "@types/uuid": "^10.0.0" - } -} \ No newline at end of file diff --git a/core/racing/tsconfig.json b/core/racing/tsconfig.json deleted file mode 100644 index 86e44fbd0..000000000 --- a/core/racing/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "dist", - "declaration": true, - "declarationMap": false - }, - "include": ["**/*.ts"] -} \ No newline at end of file diff --git a/core/shared/package.json b/core/shared/package.json deleted file mode 100644 index f04cc487e..000000000 --- a/core/shared/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "@gridpilot/shared", - "version": "0.1.0", - "main": "./index.ts", - "types": "./index.ts", - "type": "module", - "exports": { - ".": "./index.ts", - "./logging": "./logging/index.ts", - "./logging/*": "./logging/*", - "./application": "./application/index.ts", - "./application/*": "./application/*", - "./domain": "./domain/index.ts", - "./domain/*": "./domain/*", - "./errors": "./errors/index.ts", - "./errors/*": "./errors/*", - "./presentation": "./presentation/index.ts", - "./presentation/*": "./presentation/*", - "./result": "./result/index.ts", - "./result/*": "./result/*" - }, - "dependencies": {} -} \ No newline at end of file diff --git a/core/social/application/use-cases/GetCurrentUserSocialUseCase.ts b/core/social/application/use-cases/GetCurrentUserSocialUseCase.ts index 69f815602..52757e208 100644 --- a/core/social/application/use-cases/GetCurrentUserSocialUseCase.ts +++ b/core/social/application/use-cases/GetCurrentUserSocialUseCase.ts @@ -1,4 +1,4 @@ -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { Logger } from '../../../shared/src/logging/Logger'; import type { ISocialGraphRepository } from '../../domain/repositories/ISocialGraphRepository'; import type { CurrentUserSocialDTO } from '../dto/CurrentUserSocialDTO'; diff --git a/core/social/application/use-cases/GetUserFeedUseCase.ts b/core/social/application/use-cases/GetUserFeedUseCase.ts index 8ef4cc3b7..52f62d790 100644 --- a/core/social/application/use-cases/GetUserFeedUseCase.ts +++ b/core/social/application/use-cases/GetUserFeedUseCase.ts @@ -1,4 +1,4 @@ -import type { AsyncUseCase } from '@gridpilot/shared/application'; +import type { AsyncUseCase } from '@core/shared/application'; import type { IFeedRepository } from '../../domain/repositories/IFeedRepository'; import type { FeedItemDTO } from '../dto/FeedItemDTO'; import type { FeedItem } from '../../domain/types/FeedItem'; diff --git a/core/social/domain/errors/SocialDomainError.ts b/core/social/domain/errors/SocialDomainError.ts index 4797c4f9c..48e2dc9cd 100644 --- a/core/social/domain/errors/SocialDomainError.ts +++ b/core/social/domain/errors/SocialDomainError.ts @@ -1,4 +1,4 @@ -import type { IDomainError, CommonDomainErrorKind } from '@gridpilot/shared/errors'; +import type { IDomainError, CommonDomainErrorKind } from '@core/shared/errors'; /** * Domain Error: SocialDomainError diff --git a/core/social/domain/repositories/ISocialGraphRepository.ts b/core/social/domain/repositories/ISocialGraphRepository.ts index c21db6d83..8ae9d447e 100644 --- a/core/social/domain/repositories/ISocialGraphRepository.ts +++ b/core/social/domain/repositories/ISocialGraphRepository.ts @@ -1,4 +1,4 @@ -import type { Driver } from '@gridpilot/racing/domain/entities/Driver'; +import type { Driver } from '@core/racing/domain/entities/Driver'; export interface ISocialGraphRepository { getFriends(driverId: string): Promise; diff --git a/core/social/infrastructure/inmemory/InMemorySocialAndFeed.ts b/core/social/infrastructure/inmemory/InMemorySocialAndFeed.ts index d4d6a9de9..4e558eadd 100644 --- a/core/social/infrastructure/inmemory/InMemorySocialAndFeed.ts +++ b/core/social/infrastructure/inmemory/InMemorySocialAndFeed.ts @@ -1,8 +1,8 @@ -import type { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import type { FeedItem } from '@gridpilot/social/domain/types/FeedItem'; -import type { IFeedRepository } from '@gridpilot/social/domain/repositories/IFeedRepository'; -import type { ISocialGraphRepository } from '@gridpilot/social/domain/repositories/ISocialGraphRepository'; -import type { Logger } from '@gridpilot/shared/logging/Logger'; +import type { Driver } from '@core/racing/domain/entities/Driver'; +import type { FeedItem } from '@core/social/domain/types/FeedItem'; +import type { IFeedRepository } from '@core/social/domain/repositories/IFeedRepository'; +import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository'; +import type { Logger } from '@core/shared/logging/Logger'; export type Friendship = { driverId: string; diff --git a/core/social/package.json b/core/social/package.json deleted file mode 100644 index 7a982f175..000000000 --- a/core/social/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "@gridpilot/social", - "version": "0.1.0", - "type": "module", - "exports": { - "./domain/*": "./domain/*", - "./application/*": "./application/*", - "./infrastructure/*": "./infrastructure/*" - } -} \ No newline at end of file diff --git a/core/social/tsconfig.json b/core/social/tsconfig.json deleted file mode 100644 index 0a6cf0650..000000000 --- a/core/social/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "rootDir": ".", - "outDir": "dist", - "composite": false, - "declaration": true, - "declarationMap": false - }, - "include": ["./**/*.ts"] -} \ No newline at end of file diff --git a/core/tsconfig.json b/core/tsconfig.json new file mode 100644 index 000000000..512f0a4df --- /dev/null +++ b/core/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "../dist/core", + "baseUrl": ".", + "composite": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "paths": { + "@/*": ["./*"], + "@core/*": ["./*"], + "@adapters/*": ["../adapters/*"], + "@testing/*": ["../testing/*"] + } + }, + "include": ["**/*.ts"], + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts"] +} \ No newline at end of file diff --git a/package.json b/package.json index 6485252ce..176df7552 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,8 @@ "docker:prod:down": "docker-compose -f docker-compose.prod.yml down", "docker:prod:logs": "docker-compose -f docker-compose.prod.yml logs -f", "docker:prod:clean": "docker-compose -f docker-compose.prod.yml down -v", - "api:build": "npm run build --workspace=@gridpilot/api", + "api:build": "npm run build --workspace=@core/api", "test": "vitest run && vitest run --config vitest.e2e.config.ts && npm run smoke:website", - "test:api": "npx jest --config=apps/api/jest.config.js", "test:unit": "vitest run tests/unit", "test:integration": "vitest run tests/integration", "test:e2e": "vitest run --config vitest.e2e.config.ts", @@ -40,16 +39,16 @@ "test:companion-hosted": "vitest run --config vitest.e2e.config.ts tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts", "typecheck": "tsc --noEmit", "test:types": "tsc --noEmit -p tsconfig.tests.json", - "companion:dev": "npm run dev --workspace=@gridpilot/companion", - "companion:build": "npm run build --workspace=@gridpilot/companion", - "companion:start": "npm run start --workspace=@gridpilot/companion", + "companion:dev": "npm run dev --workspace=@core/companion", + "companion:build": "npm run build --workspace=@core/companion", + "companion:start": "npm run start --workspace=@core/companion", "env:website:merge": "node scripts/merge-website-env.js", - "website:dev": "npm run env:website:merge && npm run dev --workspace=@gridpilot/website", - "website:build": "npm run env:website:merge && npm run build --workspace=@gridpilot/website", - "website:start": "npm run start --workspace=@gridpilot/website", - "website:lint": "npm run lint --workspace=@gridpilot/website", - "website:type-check": "npm run type-check --workspace=@gridpilot/website", - "website:clean": "npm run clean --workspace=@gridpilot/website", + "website:dev": "npm run env:website:merge && npm run dev --workspace=@core/website", + "website:build": "npm run env:website:merge && npm run build --workspace=@core/website", + "website:start": "npm run start --workspace=@core/website", + "website:lint": "npm run lint --workspace=@core/website", + "website:type-check": "npm run type-check --workspace=@core/website", + "website:clean": "npm run clean --workspace=@core/website", "deploy:website:preview": "npx vercel deploy --cwd apps/website", "deploy:website:prod": "npx vercel deploy --prod", "deploy:website": "npm run deploy:website:prod", @@ -89,7 +88,7 @@ "vitest": "^4.0.15" }, "dependencies": { - "@gridpilot/social": "file:core/social", + "@core/social": "file:core/social", "@nestjs/swagger": "11.2.3", "bcrypt": "^6.0.0", "electron-vite": "3.1.0", diff --git a/plans/auth-clean-arch.md b/plans/auth-clean-arch.md index c04d9453c..6f6c74bb8 100644 --- a/plans/auth-clean-arch.md +++ b/plans/auth-clean-arch.md @@ -131,8 +131,8 @@ export class LoginUseCase { ```ts // apps/website/lib/auth/AuthService.ts import { injectable, inject } from 'di'; // assume -import { LoginUseCase } from '@gridpilot/identity'; -import type { LoginDto } from '@gridpilot/identity/application/dto'; // define DTO +import { LoginUseCase } from '@core/identity'; +import type { LoginDto } from '@core/identity/application/dto'; // define DTO @injectable() export class AuthService { diff --git a/testing/factories/racing/ChampionshipConfigFactory.ts b/testing/factories/racing/ChampionshipConfigFactory.ts index a4eed2d84..22be44b7c 100644 --- a/testing/factories/racing/ChampionshipConfigFactory.ts +++ b/testing/factories/racing/ChampionshipConfigFactory.ts @@ -1,7 +1,7 @@ -import type { SessionType } from '@gridpilot/racing/domain/types/SessionType'; -import { PointsTable } from '@gridpilot/racing/domain/value-objects/PointsTable'; -import type { BonusRule } from '@gridpilot/racing/domain/types/BonusRule'; -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; +import type { SessionType } from '@core/racing/domain/types/SessionType'; +import { PointsTable } from '@core/racing/domain/value-objects/PointsTable'; +import type { BonusRule } from '@core/racing/domain/types/BonusRule'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; import { makePointsTable } from './PointsTableFactory'; export const makeChampionshipConfig = (params: { diff --git a/testing/factories/racing/DriverRefFactory.ts b/testing/factories/racing/DriverRefFactory.ts index bf31cb5a5..d9ad7062c 100644 --- a/testing/factories/racing/DriverRefFactory.ts +++ b/testing/factories/racing/DriverRefFactory.ts @@ -1,5 +1,5 @@ -import type { ParticipantRef } from '@gridpilot/racing/domain/types/ParticipantRef'; -import type { ChampionshipType } from '@gridpilot/racing/domain/types/ChampionshipType'; +import type { ParticipantRef } from '@core/racing/domain/types/ParticipantRef'; +import type { ChampionshipType } from '@core/racing/domain/types/ChampionshipType'; export const makeDriverRef = (id: string): ParticipantRef => ({ type: 'driver' as ChampionshipType, diff --git a/testing/factories/racing/PointsTableFactory.ts b/testing/factories/racing/PointsTableFactory.ts index ff63cdc29..28a52a892 100644 --- a/testing/factories/racing/PointsTableFactory.ts +++ b/testing/factories/racing/PointsTableFactory.ts @@ -1,4 +1,4 @@ -import { PointsTable } from '@gridpilot/racing/domain/value-objects/PointsTable'; +import { PointsTable } from '@core/racing/domain/value-objects/PointsTable'; export const makePointsTable = (points: number[]): PointsTable => { const pointsByPosition: Record = {}; diff --git a/testing/factories/racing/SeasonFactory.ts b/testing/factories/racing/SeasonFactory.ts index ab95b0cde..d59cc295e 100644 --- a/testing/factories/racing/SeasonFactory.ts +++ b/testing/factories/racing/SeasonFactory.ts @@ -1,5 +1,5 @@ -import { Season } from '@gridpilot/racing/domain/entities/Season'; -import type { SeasonStatus } from '@gridpilot/racing/domain/entities/Season'; +import { Season } from '@core/racing/domain/entities/Season'; +import type { SeasonStatus } from '@core/racing/domain/entities/Season'; export const createMinimalSeason = (overrides?: { status?: SeasonStatus }) => Season.create({ diff --git a/testing/fakes/identity/IracingDemoIdentityProviderAdapter.ts b/testing/fakes/identity/IracingDemoIdentityProviderAdapter.ts index f773d081a..af64fbde0 100644 --- a/testing/fakes/identity/IracingDemoIdentityProviderAdapter.ts +++ b/testing/fakes/identity/IracingDemoIdentityProviderAdapter.ts @@ -1,5 +1,5 @@ import { randomUUID } from 'crypto'; -import { createStaticRacingSeed } from '@gridpilot/testing-support'; +import { createStaticRacingSeed } from '@core/testing-support'; import type { IdentityProviderPort } from '../../application/ports/IdentityProviderPort'; import type { StartAuthCommandDTO } from '../../application/dto/StartAuthCommandDTO'; import type { AuthCallbackCommandDTO } from '../../application/dto/AuthCallbackCommandDTO'; diff --git a/testing/fakes/media/DemoAvatarGenerationAdapter.ts b/testing/fakes/media/DemoAvatarGenerationAdapter.ts index 748ba1ff6..a7af385a9 100644 --- a/testing/fakes/media/DemoAvatarGenerationAdapter.ts +++ b/testing/fakes/media/DemoAvatarGenerationAdapter.ts @@ -2,7 +2,7 @@ import type { AvatarGenerationPort, AvatarGenerationOptions, AvatarGenerationResult, -} from '@gridpilot/media'; +} from '@core/media'; /** * Demo implementation of AvatarGenerationPort. diff --git a/testing/fakes/media/DemoFaceValidationAdapter.ts b/testing/fakes/media/DemoFaceValidationAdapter.ts index 999dc2e53..284da01ee 100644 --- a/testing/fakes/media/DemoFaceValidationAdapter.ts +++ b/testing/fakes/media/DemoFaceValidationAdapter.ts @@ -1,4 +1,4 @@ -import type { FaceValidationPort, FaceValidationResult } from '@gridpilot/media'; +import type { FaceValidationPort, FaceValidationResult } from '@core/media'; /** * Demo implementation of FaceValidationPort. diff --git a/testing/fakes/media/DemoImageServiceAdapter.ts b/testing/fakes/media/DemoImageServiceAdapter.ts index 83ff25f7a..991c1abf9 100644 --- a/testing/fakes/media/DemoImageServiceAdapter.ts +++ b/testing/fakes/media/DemoImageServiceAdapter.ts @@ -1,4 +1,4 @@ -import type { ImageServicePort } from '@gridpilot/media'; +import type { ImageServicePort } from '@core/media'; const MALE_DEFAULT_AVATAR = '/images/avatars/male-default-avatar.jpg'; const FEMALE_DEFAULT_AVATAR = '/images/avatars/female-default-avatar.jpeg'; diff --git a/testing/fakes/racing/DemoCars.ts b/testing/fakes/racing/DemoCars.ts index 6d908aa01..f1ffe55d0 100644 --- a/testing/fakes/racing/DemoCars.ts +++ b/testing/fakes/racing/DemoCars.ts @@ -1,4 +1,4 @@ -import { Car } from '@gridpilot/racing/domain/entities/Car'; +import { Car } from '@core/racing/domain/entities/Car'; /** * Demo car data for iRacing. diff --git a/testing/fakes/racing/DemoTracks.ts b/testing/fakes/racing/DemoTracks.ts index b8d5cdab8..24c93ca8d 100644 --- a/testing/fakes/racing/DemoTracks.ts +++ b/testing/fakes/racing/DemoTracks.ts @@ -1,4 +1,4 @@ -import { Track } from '@gridpilot/racing/domain/entities/Track'; +import { Track } from '@core/racing/domain/entities/Track'; /** * Demo track data for iRacing. diff --git a/testing/fixtures/racing/RacingFeedSeed.ts b/testing/fixtures/racing/RacingFeedSeed.ts index a0cb2ff06..1e0ec8117 100644 --- a/testing/fixtures/racing/RacingFeedSeed.ts +++ b/testing/fixtures/racing/RacingFeedSeed.ts @@ -1,9 +1,9 @@ -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import type { Result } from '@gridpilot/racing/domain/entities/Result'; -import type { FeedItem } from '@gridpilot/social/domain/types/FeedItem'; -import type { FriendDTO } from '@gridpilot/social/application/dto/FriendDTO'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { League } from '@core/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import type { Result } from '@core/racing/domain/entities/Result'; +import type { FeedItem } from '@core/social/domain/types/FeedItem'; +import type { FriendDTO } from '@core/social/application/dto/FriendDTO'; import { faker } from '../../helpers/faker/faker'; import { getLeagueBanner, getDriverAvatar } from '../../helpers/images/images'; import type { Friendship, RacingMembership } from './RacingSeedCore'; diff --git a/testing/fixtures/racing/RacingSeedCore.ts b/testing/fixtures/racing/RacingSeedCore.ts index f271fe63c..028f7f522 100644 --- a/testing/fixtures/racing/RacingSeedCore.ts +++ b/testing/fixtures/racing/RacingSeedCore.ts @@ -1,9 +1,9 @@ -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { Standing } from '@gridpilot/racing/domain/entities/Standing'; -import { SessionType } from '@gridpilot/racing/domain/value-objects/SessionType'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { League } from '@core/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import { Standing } from '@core/racing/domain/entities/Standing'; +import { SessionType } from '@core/racing/domain/value-objects/SessionType'; import { faker } from '../../helpers/faker/faker'; /** diff --git a/testing/fixtures/racing/RacingSponsorshipSeed.ts b/testing/fixtures/racing/RacingSponsorshipSeed.ts index 2cddc9ead..21c6cdf9c 100644 --- a/testing/fixtures/racing/RacingSponsorshipSeed.ts +++ b/testing/fixtures/racing/RacingSponsorshipSeed.ts @@ -1,12 +1,12 @@ -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { Money } from '@gridpilot/racing/domain/value-objects/Money'; -import { SponsorshipPricing } from '@gridpilot/racing/domain/value-objects/SponsorshipPricing'; +import { League } from '@core/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { Money } from '@core/racing/domain/value-objects/Money'; +import { SponsorshipPricing } from '@core/racing/domain/value-objects/SponsorshipPricing'; import { SponsorshipRequest, type SponsorableEntityType, -} from '@gridpilot/racing/domain/entities/SponsorshipRequest'; +} from '@core/racing/domain/entities/SponsorshipRequest'; import type { DemoTeamDTO } from './RacingSeedCore'; diff --git a/testing/fixtures/racing/RacingStaticSeed.ts b/testing/fixtures/racing/RacingStaticSeed.ts index dc8c102f6..5b66cc071 100644 --- a/testing/fixtures/racing/RacingStaticSeed.ts +++ b/testing/fixtures/racing/RacingStaticSeed.ts @@ -1,11 +1,11 @@ -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { Standing } from '@gridpilot/racing/domain/entities/Standing'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { League } from '@core/racing/domain/entities/League'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import { Standing } from '@core/racing/domain/entities/Standing'; -import type { FeedItem } from '@gridpilot/social/domain/types/FeedItem'; -import type { FriendDTO } from '@gridpilot/social/application/dto/FriendDTO'; +import type { FeedItem } from '@core/social/domain/types/FeedItem'; +import type { FriendDTO } from '@core/social/application/dto/FriendDTO'; import { faker } from '../../helpers/faker/faker'; import { getTeamLogo } from '../../helpers/images/images'; diff --git a/tests/application/CheckAuthenticationUseCase.spec.ts b/tests/application/CheckAuthenticationUseCase.spec.ts index e348f57a3..36f71d3f3 100644 --- a/tests/application/CheckAuthenticationUseCase.spec.ts +++ b/tests/application/CheckAuthenticationUseCase.spec.ts @@ -1,9 +1,9 @@ import { describe, it, expect, beforeEach, vi, Mock } from 'vitest'; -import { CheckAuthenticationUseCase } from '../../../../core/automation/application/use-cases/CheckAuthenticationUseCase'; -import { AuthenticationState } from '@gridpilot/automation/domain/value-objects/AuthenticationState'; -import { BrowserAuthenticationState } from '@gridpilot/automation/domain/value-objects/BrowserAuthenticationState'; -import { Result } from '../../../../core/shared/result/Result'; -import type { AuthenticationServicePort } from '../../../../core/automation/application/ports/AuthenticationServicePort'; +import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase'; +import { AuthenticationState } from '@core/automation/domain/value-objects/AuthenticationState'; +import { BrowserAuthenticationState } from '@core/automation/domain/value-objects/BrowserAuthenticationState'; +import { Result } from '@core/shared/result/Result'; +import type { AuthenticationServicePort } from '@core/automation/application/ports/AuthenticationServicePort'; interface ISessionValidator { validateSession(): Promise>; diff --git a/tests/application/CompleteDriverOnboardingUseCase.spec.ts b/tests/application/CompleteDriverOnboardingUseCase.spec.ts index 24f50931b..a003de5b7 100644 --- a/tests/application/CompleteDriverOnboardingUseCase.spec.ts +++ b/tests/application/CompleteDriverOnboardingUseCase.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; -import { CompleteDriverOnboardingUseCase } from '../../core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; -import { IDriverRepository } from '../../core/racing/domain/repositories/IDriverRepository'; -import { CompleteOnboardingPresenter } from '../../apps/api/src/modules/driver/presenters/CompleteOnboardingPresenter'; +import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import { CompleteOnboardingPresenter } from '@apps/api/src/modules/driver/presenters/CompleteOnboardingPresenter'; describe('CompleteDriverOnboardingUseCase', () => { let useCase: CompleteDriverOnboardingUseCase; diff --git a/tests/application/CompleteRaceCreationUseCase.spec.ts b/tests/application/CompleteRaceCreationUseCase.spec.ts index cec1a931c..34c68ce5a 100644 --- a/tests/application/CompleteRaceCreationUseCase.spec.ts +++ b/tests/application/CompleteRaceCreationUseCase.spec.ts @@ -1,10 +1,10 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; -import { CompleteRaceCreationUseCase } from '../../../../core/automation/application/use-cases/CompleteRaceCreationUseCase'; -import { Result } from '../../../../core/shared/result/Result'; -import { RaceCreationResult } from '@gridpilot/automation/domain/value-objects/RaceCreationResult'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; -import type { CheckoutServicePort } from '../../../../core/automation/application/ports/CheckoutServicePort'; -import { CheckoutState } from '@gridpilot/automation/domain/value-objects/CheckoutState'; +import { CompleteRaceCreationUseCase } from '@core/automation/application/use-cases/CompleteRaceCreationUseCase'; +import { Result } from '@core/shared/result/Result'; +import { RaceCreationResult } from '@core/automation/domain/value-objects/RaceCreationResult'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; +import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort'; +import { CheckoutState } from '@core/automation/domain/value-objects/CheckoutState'; describe('CompleteRaceCreationUseCase', () => { let mockCheckoutService: CheckoutServicePort; diff --git a/tests/application/ConfirmCheckoutUseCase.enhanced.spec.ts b/tests/application/ConfirmCheckoutUseCase.enhanced.spec.ts index e26d6628f..f3643c87e 100644 --- a/tests/application/ConfirmCheckoutUseCase.enhanced.spec.ts +++ b/tests/application/ConfirmCheckoutUseCase.enhanced.spec.ts @@ -1,11 +1,11 @@ import { describe, it, expect, vi, beforeEach } from 'vitest'; -import { ConfirmCheckoutUseCase } from '@gridpilot/automation/application/use-cases/ConfirmCheckoutUseCase'; -import { Result } from '@gridpilot/shared-result'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; -import { CheckoutState } from '@gridpilot/automation/domain/value-objects/CheckoutState'; -import { CheckoutConfirmation } from '@gridpilot/automation/domain/value-objects/CheckoutConfirmation'; -import type { CheckoutServicePort } from '@gridpilot/automation/application/ports/CheckoutServicePort'; -import type { CheckoutConfirmationPort } from '@gridpilot/automation/application/ports/CheckoutConfirmationPort'; +import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase'; +import { Result } from '@core/shared/result/Result'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; +import { CheckoutState } from '@core/automation/domain/value-objects/CheckoutState'; +import { CheckoutConfirmation } from '@core/automation/domain/value-objects/CheckoutConfirmation'; +import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort'; +import type { CheckoutConfirmationPort } from '@core/automation/application/ports/CheckoutConfirmationPort'; describe('ConfirmCheckoutUseCase - Enhanced with Confirmation Port', () => { let mockCheckoutService: CheckoutServicePort; diff --git a/tests/application/ConfirmCheckoutUseCase.spec.ts b/tests/application/ConfirmCheckoutUseCase.spec.ts index e731a04cf..f7e16e492 100644 --- a/tests/application/ConfirmCheckoutUseCase.spec.ts +++ b/tests/application/ConfirmCheckoutUseCase.spec.ts @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach, vi, Mock } from 'vitest'; -import { Result } from '../../../../core/shared/result/Result'; -import { ConfirmCheckoutUseCase } from '../../../../core/automation/application/use-cases/ConfirmCheckoutUseCase'; -import type { CheckoutServicePort } from '../../../../core/automation/application/ports/CheckoutServicePort'; -import type { CheckoutConfirmationPort } from '../../../../core/automation/application/ports/CheckoutConfirmationPort'; -import type { CheckoutInfoDTO } from '../../../../core/automation/application/dto/CheckoutInfoDTO'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; -import { CheckoutState, CheckoutStateEnum } from '@gridpilot/automation/domain/value-objects/CheckoutState'; -import { CheckoutConfirmation } from '@gridpilot/automation/domain/value-objects/CheckoutConfirmation'; +import { Result } from '@core/shared/result/Result'; +import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase'; +import type { CheckoutServicePort } from '@core/automation/application/ports/CheckoutServicePort'; +import type { CheckoutConfirmationPort } from '@core/automation/application/ports/CheckoutConfirmationPort'; +import type { CheckoutInfoDTO } from '@core/automation/application/dto/CheckoutInfoDTO'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; +import { CheckoutState, CheckoutStateEnum } from '@core/automation/domain/value-objects/CheckoutState'; +import { CheckoutConfirmation } from '@core/automation/domain/value-objects/CheckoutConfirmation'; /** * ConfirmCheckoutUseCase - GREEN PHASE diff --git a/tests/application/GetTotalDriversUseCase.spec.ts b/tests/application/GetTotalDriversUseCase.spec.ts index 333b5f6a8..d657df7cb 100644 --- a/tests/application/GetTotalDriversUseCase.spec.ts +++ b/tests/application/GetTotalDriversUseCase.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; -import { GetTotalDriversUseCase } from '../../core/racing/application/use-cases/GetTotalDriversUseCase'; -import { IDriverRepository } from '../../core/racing/domain/repositories/IDriverRepository'; -import { DriverStatsPresenter } from '../../apps/api/src/modules/driver/presenters/DriverStatsPresenter'; +import { GetTotalDriversUseCase } from '@core/racing/application/use-cases/GetTotalDriversUseCase'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import { DriverStatsPresenter } from '@apps/api/src/modules/driver/presenters/DriverStatsPresenter'; describe('GetTotalDriversUseCase', () => { let useCase: GetTotalDriversUseCase; diff --git a/tests/application/ICheckoutConfirmationPort.spec.ts b/tests/application/ICheckoutConfirmationPort.spec.ts index 0fe3f1ef0..5c7150267 100644 --- a/tests/application/ICheckoutConfirmationPort.spec.ts +++ b/tests/application/ICheckoutConfirmationPort.spec.ts @@ -1,8 +1,8 @@ import { describe, it, expect } from 'vitest'; -import { Result } from '@gridpilot/shared-result'; -import { CheckoutConfirmation } from '@gridpilot/automation/domain/value-objects/CheckoutConfirmation'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; -import { CheckoutState } from '@gridpilot/automation/domain/value-objects/CheckoutState'; +import { Result } from '@core/shared/result/Result'; +import { CheckoutConfirmation } from '@core/automation/domain/value-objects/CheckoutConfirmation'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; +import { CheckoutState } from '@core/automation/domain/value-objects/CheckoutState'; /** * Contract tests for ICheckoutConfirmationPort diff --git a/tests/application/OverlaySyncService.spec.ts b/tests/application/OverlaySyncService.spec.ts index 858ca07d5..1c7d751d1 100644 --- a/tests/application/OverlaySyncService.spec.ts +++ b/tests/application/OverlaySyncService.spec.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from 'vitest' -import { OverlayAction, ActionAck } from '../../../../core/automation/application/ports/IOverlaySyncPort' -import { IAutomationEventPublisher, AutomationEvent } from '../../../../core/automation/application/ports/IAutomationEventPublisher' -import { IAutomationLifecycleEmitter, LifecycleCallback } from '../../../../core/automation/infrastructure//IAutomationLifecycleEmitter' -import { OverlaySyncService } from '../../../../core/automation/application/services/OverlaySyncService' +import { OverlayAction, ActionAck } from '@core/automation/application/ports/IOverlaySyncPort' +import { IAutomationEventPublisher, AutomationEvent } from '@core/automation/application/ports/IAutomationEventPublisher' +import { IAutomationLifecycleEmitter, LifecycleCallback } from '@core/automation/infrastructure//IAutomationLifecycleEmitter' +import { OverlaySyncService } from '@core/automation/application/services/OverlaySyncService' class MockLifecycleEmitter implements IAutomationLifecycleEmitter { private callbacks: Set = new Set() diff --git a/tests/application/OverlaySyncService.timeout.spec.ts b/tests/application/OverlaySyncService.timeout.spec.ts index eb356a2b2..79f6a52b9 100644 --- a/tests/application/OverlaySyncService.timeout.spec.ts +++ b/tests/application/OverlaySyncService.timeout.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'vitest' -import { OverlayAction } from '../../../../core/automation/application/ports/OverlaySyncPort' -import { IAutomationLifecycleEmitter, LifecycleCallback } from '../../../../core/automation/infrastructure//IAutomationLifecycleEmitter' -import { OverlaySyncService } from '../../../../core/automation/application/services/OverlaySyncService' +import { OverlayAction } from '@core/automation/application/ports/OverlaySyncPort' +import { IAutomationLifecycleEmitter, LifecycleCallback } from '@core/automation/infrastructure//IAutomationLifecycleEmitter' +import { OverlaySyncService } from '@core/automation/application/services/OverlaySyncService' class MockLifecycleEmitter implements IAutomationLifecycleEmitter { private callbacks: Set = new Set() diff --git a/tests/application/RecalculateChampionshipStandingsUseCase.spec.ts b/tests/application/RecalculateChampionshipStandingsUseCase.spec.ts index 0cc0d4558..51d6f8f88 100644 --- a/tests/application/RecalculateChampionshipStandingsUseCase.spec.ts +++ b/tests/application/RecalculateChampionshipStandingsUseCase.spec.ts @@ -1,27 +1,27 @@ import { describe, it, expect, beforeEach } from 'vitest'; -import { RecalculateChampionshipStandingsUseCase } from '@gridpilot/racing/application/use-cases/RecalculateChampionshipStandingsUseCase'; -import type { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import type { ILeagueScoringConfigRepository } from '@gridpilot/racing/domain/repositories/ILeagueScoringConfigRepository'; -import type { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import type { IResultRepository } from '@gridpilot/racing/domain/repositories/IResultRepository'; -import type { IPenaltyRepository } from '@gridpilot/racing/domain/repositories/IPenaltyRepository'; -import type { IChampionshipStandingRepository } from '@gridpilot/racing/domain/repositories/IChampionshipStandingRepository'; +import { RecalculateChampionshipStandingsUseCase } from '@core/racing/application/use-cases/RecalculateChampionshipStandingsUseCase'; +import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/ILeagueScoringConfigRepository'; +import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository'; +import type { IPenaltyRepository } from '@core/racing/domain/repositories/IPenaltyRepository'; +import type { IChampionshipStandingRepository } from '@core/racing/domain/repositories/IChampionshipStandingRepository'; -import { Season } from '@gridpilot/racing/domain/entities/Season'; -import type { LeagueScoringConfig } from '@gridpilot/racing/domain/entities/LeagueScoringConfig'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import type { Penalty } from '@gridpilot/racing/domain/entities/Penalty'; -import type { ChampionshipStanding } from '@gridpilot/racing/domain/entities/ChampionshipStanding'; -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; -import { EventScoringService } from '@gridpilot/racing/domain/services/EventScoringService'; -import { DropScoreApplier } from '@gridpilot/racing/domain/services/DropScoreApplier'; -import { ChampionshipAggregator } from '@gridpilot/racing/domain/services/ChampionshipAggregator'; -import { PointsTable } from '@gridpilot/racing/domain/value-objects/PointsTable'; -import type { SessionType } from '@gridpilot/racing/domain/types/SessionType'; -import type { BonusRule } from '@gridpilot/racing/domain/types/BonusRule'; -import type { DropScorePolicy } from '@gridpilot/racing/domain/types/DropScorePolicy'; +import { Season } from '@core/racing/domain/entities/Season'; +import type { LeagueScoringConfig } from '@core/racing/domain/entities/LeagueScoringConfig'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import type { Penalty } from '@core/racing/domain/entities/Penalty'; +import type { ChampionshipStanding } from '@core/racing/domain/entities/ChampionshipStanding'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; +import { EventScoringService } from '@core/racing/domain/services/EventScoringService'; +import { DropScoreApplier } from '@core/racing/domain/services/DropScoreApplier'; +import { ChampionshipAggregator } from '@core/racing/domain/services/ChampionshipAggregator'; +import { PointsTable } from '@core/racing/domain/value-objects/PointsTable'; +import type { SessionType } from '@core/racing/domain/types/SessionType'; +import type { BonusRule } from '@core/racing/domain/types/BonusRule'; +import type { DropScorePolicy } from '@core/racing/domain/types/DropScorePolicy'; class InMemorySeasonRepository implements ISeasonRepository { private seasons: Season[] = []; diff --git a/tests/application/StartAutomationSession.spec.ts b/tests/application/StartAutomationSession.spec.ts index 85a344df5..1915eedb2 100644 --- a/tests/application/StartAutomationSession.spec.ts +++ b/tests/application/StartAutomationSession.spec.ts @@ -1,9 +1,9 @@ import { describe, it, expect, vi, beforeEach, Mock } from 'vitest'; -import { StartAutomationSessionUseCase } from '../../../../core/automation/application/use-cases/StartAutomationSessionUseCase'; -import { AutomationEnginePort as IAutomationEngine } from '../../../../core/automation/application/ports/AutomationEnginePort'; -import { IBrowserAutomation as IScreenAutomation } from '../../../../core/automation/application/ports/ScreenAutomationPort'; -import { SessionRepositoryPort as ISessionRepository } from '../../../../core/automation/application/ports/SessionRepositoryPort'; -import { AutomationSession } from '@gridpilot/automation/domain/entities/AutomationSession'; +import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase'; +import { AutomationEnginePort as IAutomationEngine } from '@core/automation/application/ports/AutomationEnginePort'; +import { IBrowserAutomation as IScreenAutomation } from '@core/automation/application/ports/ScreenAutomationPort'; +import { SessionRepositoryPort as ISessionRepository } from '@core/automation/application/ports/SessionRepositoryPort'; +import { AutomationSession } from '@core/automation/domain/entities/AutomationSession'; describe('StartAutomationSessionUseCase', () => { let mockAutomationEngine: { diff --git a/tests/application/VerifyAuthenticatedPageUseCase.spec.ts b/tests/application/VerifyAuthenticatedPageUseCase.spec.ts index 62e2618d9..edfe3af29 100644 --- a/tests/application/VerifyAuthenticatedPageUseCase.spec.ts +++ b/tests/application/VerifyAuthenticatedPageUseCase.spec.ts @@ -1,9 +1,9 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; -import { VerifyAuthenticatedPageUseCase } from '../../../../core/automation/application/use-cases/VerifyAuthenticatedPageUseCase'; -import { AuthenticationServicePort as IAuthenticationService } from '../../../../core/automation/application/ports/AuthenticationServicePort'; -import { Result } from '../../../../core/shared/result/Result'; -import { BrowserAuthenticationState } from '@gridpilot/automation/domain/value-objects/BrowserAuthenticationState'; -import { AuthenticationState } from '@gridpilot/automation/domain/value-objects/AuthenticationState'; +import { VerifyAuthenticatedPageUseCase } from '@core/automation/application/use-cases/VerifyAuthenticatedPageUseCase'; +import { AuthenticationServicePort as IAuthenticationService } from '@core/automation/application/ports/AuthenticationServicePort'; +import { Result } from '@core/shared/result/Result'; +import { BrowserAuthenticationState } from '@core/automation/domain/value-objects/BrowserAuthenticationState'; +import { AuthenticationState } from '@core/automation/domain/value-objects/AuthenticationState'; describe('VerifyAuthenticatedPageUseCase', () => { let useCase: VerifyAuthenticatedPageUseCase; diff --git a/tests/bdd/race-event-performance-summary.test.ts b/tests/bdd/race-event-performance-summary.test.ts index 19983bf5e..9b3ffe3b1 100644 --- a/tests/bdd/race-event-performance-summary.test.ts +++ b/tests/bdd/race-event-performance-summary.test.ts @@ -1,14 +1,14 @@ import { describe, it, beforeEach, expect, vi } from 'vitest'; -import { Session } from '../../core/racing/domain/entities/Session'; -import { RaceEvent } from '../../core/racing/domain/entities/RaceEvent'; -import { SessionType } from '../../core/racing/domain/value-objects/SessionType'; -import { MainRaceCompletedEvent } from '../../core/racing/domain/events/MainRaceCompleted'; -import { RaceEventStewardingClosedEvent } from '../../core/racing/domain/events/RaceEventStewardingClosed'; -import { SendPerformanceSummaryUseCase } from '../../core/racing/application/use-cases/SendPerformanceSummaryUseCase'; -import { SendFinalResultsUseCase } from '../../core/racing/application/use-cases/SendFinalResultsUseCase'; -import { CloseRaceEventStewardingUseCase } from '../../core/racing/application/use-cases/CloseRaceEventStewardingUseCase'; -import { InMemoryRaceEventRepository } from '../../core/racing/infrastructure/repositories/InMemoryRaceEventRepository'; -import { InMemorySessionRepository } from '../../core/racing/infrastructure/repositories/InMemorySessionRepository'; +import { Session } from '@core/racing/domain/entities/Session'; +import { RaceEvent } from '@core/racing/domain/entities/RaceEvent'; +import { SessionType } from '@core/racing/domain/value-objects/SessionType'; +import { MainRaceCompletedEvent } from '@core/racing/domain/events/MainRaceCompleted'; +import { RaceEventStewardingClosedEvent } from '@core/racing/domain/events/RaceEventStewardingClosed'; +import { SendPerformanceSummaryUseCase } from '@core/racing/application/use-cases/SendPerformanceSummaryUseCase'; +import { SendFinalResultsUseCase } from '@core/racing/application/use-cases/SendFinalResultsUseCase'; +import { CloseRaceEventStewardingUseCase } from '@core/racing/application/use-cases/CloseRaceEventStewardingUseCase'; +import { InMemoryRaceEventRepository } from '@core/racing/infrastructure/repositories/InMemoryRaceEventRepository'; +import { InMemorySessionRepository } from '@core/racing/infrastructure/repositories/InMemorySessionRepository'; // Mock notification service const mockNotificationService = { diff --git a/tests/domain/AutomationSession.spec.ts b/tests/domain/AutomationSession.spec.ts index 530209502..c595fe79a 100644 --- a/tests/domain/AutomationSession.spec.ts +++ b/tests/domain/AutomationSession.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from 'vitest'; -import { AutomationSession } from '@gridpilot/automation/domain/entities/AutomationSession'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; -import { SessionState } from '@gridpilot/automation/domain/value-objects/SessionState'; +import { AutomationSession } from '@core/automation/domain/entities/AutomationSession'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; +import { SessionState } from '@core/automation/domain/value-objects/SessionState'; describe('AutomationSession Entity', () => { describe('create', () => { diff --git a/tests/domain/BrowserAuthenticationState.spec.ts b/tests/domain/BrowserAuthenticationState.spec.ts index 057ffdec3..2f42a106e 100644 --- a/tests/domain/BrowserAuthenticationState.spec.ts +++ b/tests/domain/BrowserAuthenticationState.spec.ts @@ -1,6 +1,6 @@ import { describe, test, expect } from 'vitest'; -import { BrowserAuthenticationState } from '@gridpilot/automation/domain/value-objects/BrowserAuthenticationState'; -import { AuthenticationState } from '@gridpilot/automation/domain/value-objects/AuthenticationState'; +import { BrowserAuthenticationState } from '@core/automation/domain/value-objects/BrowserAuthenticationState'; +import { AuthenticationState } from '@core/automation/domain/value-objects/AuthenticationState'; describe('BrowserAuthenticationState', () => { describe('isFullyAuthenticated()', () => { diff --git a/tests/domain/CheckoutConfirmation.spec.ts b/tests/domain/CheckoutConfirmation.spec.ts index 6523d76c6..f54a5a4e3 100644 --- a/tests/domain/CheckoutConfirmation.spec.ts +++ b/tests/domain/CheckoutConfirmation.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { CheckoutConfirmation } from '@gridpilot/automation/domain/value-objects/CheckoutConfirmation'; +import { CheckoutConfirmation } from '@core/automation/domain/value-objects/CheckoutConfirmation'; describe('CheckoutConfirmation Value Object', () => { describe('create', () => { diff --git a/tests/domain/CheckoutPrice.spec.ts b/tests/domain/CheckoutPrice.spec.ts index 4f273efaf..561c8a730 100644 --- a/tests/domain/CheckoutPrice.spec.ts +++ b/tests/domain/CheckoutPrice.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; /** * CheckoutPrice Value Object - GREEN PHASE diff --git a/tests/domain/CheckoutState.spec.ts b/tests/domain/CheckoutState.spec.ts index e7e3bfb04..8c93b80b9 100644 --- a/tests/domain/CheckoutState.spec.ts +++ b/tests/domain/CheckoutState.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { CheckoutState, CheckoutStateEnum } from '@gridpilot/automation/domain/value-objects/CheckoutState'; +import { CheckoutState, CheckoutStateEnum } from '@core/automation/domain/value-objects/CheckoutState'; /** * CheckoutState Value Object - GREEN PHASE diff --git a/tests/domain/CookieConfiguration.spec.ts b/tests/domain/CookieConfiguration.spec.ts index 51bfda60a..cf06ba81c 100644 --- a/tests/domain/CookieConfiguration.spec.ts +++ b/tests/domain/CookieConfiguration.spec.ts @@ -1,5 +1,5 @@ import { describe, test, expect } from 'vitest'; -import { CookieConfiguration } from '@gridpilot/automation/domain/value-objects/CookieConfiguration'; +import { CookieConfiguration } from '@core/automation/domain/value-objects/CookieConfiguration'; describe('CookieConfiguration', () => { const validTargetUrl = 'https://members-ng.iracing.com/jjwtauth/success'; diff --git a/tests/domain/DropScoreApplier.spec.ts b/tests/domain/DropScoreApplier.spec.ts index e801aee96..e7f5ee20f 100644 --- a/tests/domain/DropScoreApplier.spec.ts +++ b/tests/domain/DropScoreApplier.spec.ts @@ -1,8 +1,8 @@ import { describe, it, expect } from 'vitest'; -import { DropScoreApplier } from '@gridpilot/racing/domain/services/DropScoreApplier'; -import type { EventPointsEntry } from '@gridpilot/racing/domain/services/DropScoreApplier'; -import type { DropScorePolicy } from '@gridpilot/racing/domain/types/DropScorePolicy'; +import { DropScoreApplier } from '@core/racing/domain/services/DropScoreApplier'; +import type { EventPointsEntry } from '@core/racing/domain/services/DropScoreApplier'; +import type { DropScorePolicy } from '@core/racing/domain/types/DropScorePolicy'; describe('DropScoreApplier', () => { it('with strategy none counts all events and drops none', () => { diff --git a/tests/domain/PageStateValidator.spec.ts b/tests/domain/PageStateValidator.spec.ts index 2032b6d78..e00661244 100644 --- a/tests/domain/PageStateValidator.spec.ts +++ b/tests/domain/PageStateValidator.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { PageStateValidator } from '@gridpilot/automation/domain/services/PageStateValidator'; +import { PageStateValidator } from '@core/automation/domain/services/PageStateValidator'; describe('PageStateValidator', () => { const validator = new PageStateValidator(); diff --git a/tests/domain/RaceCreationResult.spec.ts b/tests/domain/RaceCreationResult.spec.ts index dcd43ebff..24fc040f4 100644 --- a/tests/domain/RaceCreationResult.spec.ts +++ b/tests/domain/RaceCreationResult.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { RaceCreationResult } from '@gridpilot/automation/domain/value-objects/RaceCreationResult'; +import { RaceCreationResult } from '@core/automation/domain/value-objects/RaceCreationResult'; describe('RaceCreationResult Value Object', () => { describe('create', () => { diff --git a/tests/domain/ScheduleCalculator.spec.ts b/tests/domain/ScheduleCalculator.spec.ts index 3df41a6d3..c41a68a5a 100644 --- a/tests/domain/ScheduleCalculator.spec.ts +++ b/tests/domain/ScheduleCalculator.spec.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from 'vitest'; -import { calculateRaceDates, getNextWeekday, type ScheduleConfig } from '../../../../core/racing/domain/services/ScheduleCalculator'; -import type { Weekday } from '../../../../core/racing/domain/types/Weekday'; +import { calculateRaceDates, getNextWeekday, type ScheduleConfig } from '@core/racing/domain/services/ScheduleCalculator'; +import type { Weekday } from '@core/racing/domain/types/Weekday'; describe('ScheduleCalculator', () => { describe('calculateRaceDates', () => { diff --git a/tests/domain/SessionLifetime.spec.ts b/tests/domain/SessionLifetime.spec.ts index fffb62744..70d19b434 100644 --- a/tests/domain/SessionLifetime.spec.ts +++ b/tests/domain/SessionLifetime.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { SessionLifetime } from '@gridpilot/automation/domain/value-objects/SessionLifetime'; +import { SessionLifetime } from '@core/automation/domain/value-objects/SessionLifetime'; describe('SessionLifetime Value Object', () => { describe('Construction', () => { diff --git a/tests/domain/SessionState.spec.ts b/tests/domain/SessionState.spec.ts index 58dc2ec60..29b1da0ac 100644 --- a/tests/domain/SessionState.spec.ts +++ b/tests/domain/SessionState.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { SessionState } from '@gridpilot/automation/domain/value-objects/SessionState'; +import { SessionState } from '@core/automation/domain/value-objects/SessionState'; describe('SessionState Value Object', () => { describe('create', () => { diff --git a/tests/domain/StepId.spec.ts b/tests/domain/StepId.spec.ts index 5d140cd05..737b9cce9 100644 --- a/tests/domain/StepId.spec.ts +++ b/tests/domain/StepId.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; describe('StepId Value Object', () => { describe('create', () => { diff --git a/tests/domain/StepTransitionValidator.spec.ts b/tests/domain/StepTransitionValidator.spec.ts index 053a94540..af1cf64f1 100644 --- a/tests/domain/StepTransitionValidator.spec.ts +++ b/tests/domain/StepTransitionValidator.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from 'vitest'; -import { StepTransitionValidator } from '@gridpilot/automation/domain/services/StepTransitionValidator'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; -import { SessionState } from '@gridpilot/automation/domain/value-objects/SessionState'; +import { StepTransitionValidator } from '@core/automation/domain/services/StepTransitionValidator'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; +import { SessionState } from '@core/automation/domain/value-objects/SessionState'; describe('StepTransitionValidator Service', () => { describe('canTransition', () => { diff --git a/tests/e2e/automation.e2e.test.ts b/tests/e2e/automation.e2e.test.ts index 697c577a0..55ea0aa22 100644 --- a/tests/e2e/automation.e2e.test.ts +++ b/tests/e2e/automation.e2e.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { FixtureServer, PlaywrightAutomationAdapter, diff --git a/tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts b/tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts index 7ddb12333..23fe0b04b 100644 --- a/tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts +++ b/tests/e2e/companion/companion-ui-full-workflow.e2e.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import { DIContainer } from '../../../apps/companion/main/di-container'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; -import type { HostedSessionConfig } from '@gridpilot/automation/domain/types/HostedSessionConfig'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; import { PlaywrightAutomationAdapter } from 'core/automation/infrastructure//automation'; describe('Companion UI - hosted workflow via fixture-backed real stack', () => { diff --git a/tests/e2e/hosted-real/cars-flow.real.e2e.test.ts b/tests/e2e/hosted-real/cars-flow.real.e2e.test.ts index 4dcde8e65..259fba390 100644 --- a/tests/e2e/hosted-real/cars-flow.real.e2e.test.ts +++ b/tests/e2e/hosted-real/cars-flow.real.e2e.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter, } from 'core/automation/infrastructure//automation'; diff --git a/tests/e2e/hosted-real/login-and-wizard-smoke.e2e.test.ts b/tests/e2e/hosted-real/login-and-wizard-smoke.e2e.test.ts index 81cad844c..67d84268e 100644 --- a/tests/e2e/hosted-real/login-and-wizard-smoke.e2e.test.ts +++ b/tests/e2e/hosted-real/login-and-wizard-smoke.e2e.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter, } from 'core/automation/infrastructure//automation'; diff --git a/tests/e2e/hosted-real/step-03-race-information.real.e2e.test.ts b/tests/e2e/hosted-real/step-03-race-information.real.e2e.test.ts index 5e2d87820..ed307efea 100644 --- a/tests/e2e/hosted-real/step-03-race-information.real.e2e.test.ts +++ b/tests/e2e/hosted-real/step-03-race-information.real.e2e.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeAll, afterAll } from 'vitest'; import { promises as fs } from 'fs'; import path from 'path'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter, } from 'core/automation/infrastructure//automation'; diff --git a/tests/e2e/steps/step-17-team-driving.e2e.test.ts b/tests/e2e/steps/step-17-team-driving.e2e.test.ts index 35a037789..159f6d951 100644 --- a/tests/e2e/steps/step-17-team-driving.e2e.test.ts +++ b/tests/e2e/steps/step-17-team-driving.e2e.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import type { StepHarness } from '../support/StepHarness'; import { createStepHarness } from '../support/StepHarness'; -import { CheckoutConfirmation } from '@gridpilot/automation/domain/value-objects/CheckoutConfirmation'; +import { CheckoutConfirmation } from '@core/automation/domain/value-objects/CheckoutConfirmation'; describe('Step 17 – team driving', () => { let harness: StepHarness; diff --git a/tests/e2e/support/AutoNavGuard.ts b/tests/e2e/support/AutoNavGuard.ts index d1d113660..d495f97ab 100644 --- a/tests/e2e/support/AutoNavGuard.ts +++ b/tests/e2e/support/AutoNavGuard.ts @@ -1,4 +1,4 @@ -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import type { PlaywrightAutomationAdapter } from 'core/automation/infrastructure//automation'; import type { AutomationResult } from 'core/automation/application/ports/AutomationResults'; diff --git a/tests/e2e/support/StepHarness.ts b/tests/e2e/support/StepHarness.ts index ff5c815ea..c5140e898 100644 --- a/tests/e2e/support/StepHarness.ts +++ b/tests/e2e/support/StepHarness.ts @@ -1,5 +1,5 @@ import type { AutomationResult } from 'core/automation/application/ports/AutomationResults'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter, FixtureServer, diff --git a/tests/e2e/validators/hosted-validator-guards.e2e.test.ts b/tests/e2e/validators/hosted-validator-guards.e2e.test.ts index c85c447f3..0c12d9b19 100644 --- a/tests/e2e/validators/hosted-validator-guards.e2e.test.ts +++ b/tests/e2e/validators/hosted-validator-guards.e2e.test.ts @@ -3,7 +3,7 @@ import { PlaywrightAutomationAdapter, FixtureServer, } from 'core/automation/infrastructure//automation'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PinoLogAdapter } from 'core/automation/infrastructure//logging/PinoLogAdapter'; import { executeStepWithAutoNavigationGuard } from '../support/AutoNavGuard'; diff --git a/tests/e2e/workflows/full-hosted-session.autonav.workflow.e2e.test.ts b/tests/e2e/workflows/full-hosted-session.autonav.workflow.e2e.test.ts index 4012f91f6..ec10fe289 100644 --- a/tests/e2e/workflows/full-hosted-session.autonav.workflow.e2e.test.ts +++ b/tests/e2e/workflows/full-hosted-session.autonav.workflow.e2e.test.ts @@ -3,7 +3,7 @@ import { PlaywrightAutomationAdapter, FixtureServer, } from 'core/automation/infrastructure//automation'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PinoLogAdapter } from 'core/automation/infrastructure//logging/PinoLogAdapter'; import { IRACING_SELECTORS } from 'core/automation/infrastructure//automation/dom/IRacingSelectors'; import { executeStepWithAutoNavigationGuard } from '../support/AutoNavGuard'; diff --git a/tests/e2e/workflows/full-hosted-session.workflow.e2e.test.ts b/tests/e2e/workflows/full-hosted-session.workflow.e2e.test.ts index 43a4faaba..5d8057978 100644 --- a/tests/e2e/workflows/full-hosted-session.workflow.e2e.test.ts +++ b/tests/e2e/workflows/full-hosted-session.workflow.e2e.test.ts @@ -6,7 +6,7 @@ import { import { InMemorySessionRepository } from 'core/automation/infrastructure/repositories/InMemorySessionRepository'; import { AutomationEngineAdapter } from 'core/automation/infrastructure//automation/engine/AutomationEngineAdapter'; import { StartAutomationSessionUseCase } from 'core/automation/application/use-cases/StartAutomationSessionUseCase'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PinoLogAdapter } from 'core/automation/infrastructure//logging/PinoLogAdapter'; describe('Workflow – hosted session end-to-end (fixture-backed, real stack)', () => { diff --git a/tests/e2e/workflows/steps-07-09-cars-flow.e2e.test.ts b/tests/e2e/workflows/steps-07-09-cars-flow.e2e.test.ts index 358988c27..c89df345a 100644 --- a/tests/e2e/workflows/steps-07-09-cars-flow.e2e.test.ts +++ b/tests/e2e/workflows/steps-07-09-cars-flow.e2e.test.ts @@ -3,7 +3,7 @@ import { PlaywrightAutomationAdapter, FixtureServer, } from 'core/automation/infrastructure//automation'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { IRACING_SELECTORS } from 'core/automation/infrastructure//automation/dom/IRacingSelectors'; import { PinoLogAdapter } from 'core/automation/infrastructure//logging/PinoLogAdapter'; diff --git a/tests/identity/EmailValidation.spec.ts b/tests/identity/EmailValidation.spec.ts index 34a348738..1f2cff974 100644 --- a/tests/identity/EmailValidation.spec.ts +++ b/tests/identity/EmailValidation.spec.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from 'vitest'; -import { validateEmail, isDisposableEmail } from '@gridpilot/identity/domain/value-objects/EmailAddress'; +import { validateEmail, isDisposableEmail } from '@core/identity/domain/value-objects/EmailAddress'; describe('identity-domain email validation', () => { it('accepts a valid email and normalizes it', () => { diff --git a/tests/infrastructure/AuthenticationGuard.spec.ts b/tests/infrastructure/AuthenticationGuard.spec.ts index 213964281..40e140adf 100644 --- a/tests/infrastructure/AuthenticationGuard.spec.ts +++ b/tests/infrastructure/AuthenticationGuard.spec.ts @@ -1,6 +1,6 @@ import { describe, test, expect, beforeEach, vi } from 'vitest'; import type { Page } from 'playwright'; -import { AuthenticationGuard } from '@gridpilot/automation/infrastructure//automation/auth/AuthenticationGuard'; +import { AuthenticationGuard } from '@core/automation/infrastructure//automation/auth/AuthenticationGuard'; describe('AuthenticationGuard', () => { let mockPage: Page; diff --git a/tests/infrastructure/BrowserModeConfig.spec.ts b/tests/infrastructure/BrowserModeConfig.spec.ts index 8197da205..4ba61830c 100644 --- a/tests/infrastructure/BrowserModeConfig.spec.ts +++ b/tests/infrastructure/BrowserModeConfig.spec.ts @@ -1,5 +1,5 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; -import { BrowserModeConfigLoader } from '../../../../core/automation/infrastructure/config/BrowserModeConfig'; +import { BrowserModeConfigLoader } from '@core/automation/infrastructure/config/BrowserModeConfig'; /** * Unit tests for BrowserModeConfig - GREEN PHASE diff --git a/tests/infrastructure/DemoImageServiceAdapter.spec.ts b/tests/infrastructure/DemoImageServiceAdapter.spec.ts index f2c89ccf7..5160bbee1 100644 --- a/tests/infrastructure/DemoImageServiceAdapter.spec.ts +++ b/tests/infrastructure/DemoImageServiceAdapter.spec.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from 'vitest'; -import { DemoImageServiceAdapter } from '@gridpilot/testing-support'; +import { DemoImageServiceAdapter } from '@core/testing-support'; describe('DemoImageServiceAdapter - driver avatars', () => { it('returns male default avatar for a demo driver treated as male (odd id suffix)', () => { diff --git a/tests/infrastructure/ElectronCheckoutConfirmationAdapter.spec.ts b/tests/infrastructure/ElectronCheckoutConfirmationAdapter.spec.ts index 3987dde8f..f09d4778c 100644 --- a/tests/infrastructure/ElectronCheckoutConfirmationAdapter.spec.ts +++ b/tests/infrastructure/ElectronCheckoutConfirmationAdapter.spec.ts @@ -9,9 +9,9 @@ vi.mock('electron', () => ({ }, })); -import { ElectronCheckoutConfirmationAdapter } from '@gridpilot/automation/infrastructure//ipc/ElectronCheckoutConfirmationAdapter'; -import { CheckoutPrice } from '@gridpilot/automation/domain/value-objects/CheckoutPrice'; -import { CheckoutState } from '@gridpilot/automation/domain/value-objects/CheckoutState'; +import { ElectronCheckoutConfirmationAdapter } from '@core/automation/infrastructure//ipc/ElectronCheckoutConfirmationAdapter'; +import { CheckoutPrice } from '@core/automation/domain/value-objects/CheckoutPrice'; +import { CheckoutState } from '@core/automation/domain/value-objects/CheckoutState'; import { ipcMain } from 'electron'; describe('ElectronCheckoutConfirmationAdapter', () => { diff --git a/tests/infrastructure/PlaywrightAuthSessionService.initiateLogin.browserMode.spec.ts b/tests/infrastructure/PlaywrightAuthSessionService.initiateLogin.browserMode.spec.ts index b8463f0ec..3ce1d9366 100644 --- a/tests/infrastructure/PlaywrightAuthSessionService.initiateLogin.browserMode.spec.ts +++ b/tests/infrastructure/PlaywrightAuthSessionService.initiateLogin.browserMode.spec.ts @@ -1,12 +1,12 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; import type { Page, BrowserContext } from 'playwright'; -import { PlaywrightAuthSessionService } from '../../../../core/automation/infrastructure//automation/auth/PlaywrightAuthSessionService'; -import type { PlaywrightBrowserSession } from '../../../../core/automation/infrastructure//automation/core/PlaywrightBrowserSession'; -import type { SessionCookieStore } from '../../../../core/automation/infrastructure//automation/auth/SessionCookieStore'; -import type { IPlaywrightAuthFlow } from '../../../../core/automation/infrastructure//automation/auth/PlaywrightAuthFlow'; -import type { LoggerPort as Logger } from '../../../../core/automation/application/ports/LoggerPort'; -import { AuthenticationState } from '@gridpilot/automation/domain/value-objects/AuthenticationState'; -import { Result } from '../../../../core/shared/result/Result'; +import { PlaywrightAuthSessionService } from '@core/automation/infrastructure//automation/auth/PlaywrightAuthSessionService'; +import type { PlaywrightBrowserSession } from '@core/automation/infrastructure//automation/core/PlaywrightBrowserSession'; +import type { SessionCookieStore } from '@core/automation/infrastructure//automation/auth/SessionCookieStore'; +import type { IPlaywrightAuthFlow } from '@core/automation/infrastructure//automation/auth/PlaywrightAuthFlow'; +import type { LoggerPort as Logger } from '@core/automation/application/ports/LoggerPort'; +import { AuthenticationState } from '@core/automation/domain/value-objects/AuthenticationState'; +import { Result } from '@core/shared/result/Result'; describe('PlaywrightAuthSessionService.initiateLogin browser mode behaviour', () => { const originalEnv = { ...process.env }; diff --git a/tests/infrastructure/PlaywrightAuthSessionService.verifyPageAuthentication.spec.ts b/tests/infrastructure/PlaywrightAuthSessionService.verifyPageAuthentication.spec.ts index 71e794853..0c5608cbb 100644 --- a/tests/infrastructure/PlaywrightAuthSessionService.verifyPageAuthentication.spec.ts +++ b/tests/infrastructure/PlaywrightAuthSessionService.verifyPageAuthentication.spec.ts @@ -1,13 +1,13 @@ import { describe, it, expect, vi } from 'vitest'; import type { Page, Locator } from 'playwright'; -import { PlaywrightAuthSessionService } from '../../../../core/automation/infrastructure//automation/auth/PlaywrightAuthSessionService'; -import { AuthenticationState } from '@gridpilot/automation/domain/value-objects/AuthenticationState'; -import { BrowserAuthenticationState } from '@gridpilot/automation/domain/value-objects/BrowserAuthenticationState'; -import type { LoggerPort as Logger } from '../../../../core/automation/application/ports/LoggerPort'; -import type { Result } from '../../../../core/shared/result/Result'; -import type { PlaywrightBrowserSession } from '../../../../core/automation/infrastructure//automation/core/PlaywrightBrowserSession'; -import type { SessionCookieStore } from '../../../../core/automation/infrastructure//automation/auth/SessionCookieStore'; -import type { IPlaywrightAuthFlow } from '../../../../core/automation/infrastructure//automation/auth/PlaywrightAuthFlow'; +import { PlaywrightAuthSessionService } from '@core/automation/infrastructure//automation/auth/PlaywrightAuthSessionService'; +import { AuthenticationState } from '@core/automation/domain/value-objects/AuthenticationState'; +import { BrowserAuthenticationState } from '@core/automation/domain/value-objects/BrowserAuthenticationState'; +import type { LoggerPort as Logger } from '@core/automation/application/ports/LoggerPort'; +import type { Result } from '@core/shared/result/Result'; +import type { PlaywrightBrowserSession } from '@core/automation/infrastructure//automation/core/PlaywrightBrowserSession'; +import type { SessionCookieStore } from '@core/automation/infrastructure//automation/auth/SessionCookieStore'; +import type { IPlaywrightAuthFlow } from '@core/automation/infrastructure//automation/auth/PlaywrightAuthFlow'; describe('PlaywrightAuthSessionService.verifyPageAuthentication', () => { function createService(deps: { diff --git a/tests/infrastructure/SessionCookieStore.spec.ts b/tests/infrastructure/SessionCookieStore.spec.ts index 6cf6a7755..465053486 100644 --- a/tests/infrastructure/SessionCookieStore.spec.ts +++ b/tests/infrastructure/SessionCookieStore.spec.ts @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach } from 'vitest'; -import { SessionCookieStore } from '@gridpilot/automation/infrastructure//automation/auth/SessionCookieStore'; +import { SessionCookieStore } from '@core/automation/infrastructure//automation/auth/SessionCookieStore'; import type { Cookie } from 'playwright'; const logger = console as any; diff --git a/tests/integration/infrastructure/BrowserModeIntegration.test.ts b/tests/integration/infrastructure/BrowserModeIntegration.test.ts index 1ff95da9d..1aa400a31 100644 --- a/tests/integration/infrastructure/BrowserModeIntegration.test.ts +++ b/tests/integration/infrastructure/BrowserModeIntegration.test.ts @@ -1,8 +1,8 @@ import { describe, it, expect, beforeEach, afterEach, beforeAll, afterAll } from 'vitest'; import * as fs from 'fs'; import * as path from 'path'; -import type { LoggerPort } from '@gridpilot/automation/application/ports/LoggerPort'; -import type { LogContext } from '@gridpilot/automation/application/ports/LoggerContext'; +import type { LoggerPort } from '@core/automation/application/ports/LoggerPort'; +import type { LogContext } from '@core/automation/application/ports/LoggerContext'; /** * Integration tests for Browser Mode in PlaywrightAutomationAdapter - GREEN PHASE diff --git a/tests/integration/infrastructure/CheckoutPriceExtractor.test.ts b/tests/integration/infrastructure/CheckoutPriceExtractor.test.ts index 1a9a6cc63..eb72b1ee0 100644 --- a/tests/integration/infrastructure/CheckoutPriceExtractor.test.ts +++ b/tests/integration/infrastructure/CheckoutPriceExtractor.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; import { Result } from '../../../core/shared/result/Result'; import { CheckoutPriceExtractor } from '../../../core/automation/infrastructure//automation/CheckoutPriceExtractor'; -import { CheckoutStateEnum } from '@gridpilot/automation/domain/value-objects/CheckoutState'; +import { CheckoutStateEnum } from '@core/automation/domain/value-objects/CheckoutState'; /** * CheckoutPriceExtractor Integration Tests - GREEN PHASE diff --git a/tests/integration/infrastructure/InMemorySessionRepository.test.ts b/tests/integration/infrastructure/InMemorySessionRepository.test.ts index bc54475db..d67003e77 100644 --- a/tests/integration/infrastructure/InMemorySessionRepository.test.ts +++ b/tests/integration/infrastructure/InMemorySessionRepository.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach } from 'vitest'; import { InMemorySessionRepository } from '../../../core/automation/infrastructure/repositories/InMemorySessionRepository'; -import { AutomationSession } from '@gridpilot/automation/domain/entities/AutomationSession'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { AutomationSession } from '@core/automation/domain/entities/AutomationSession'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; describe('InMemorySessionRepository Integration Tests', () => { let repository: InMemorySessionRepository; diff --git a/tests/integration/infrastructure/MockBrowserAutomationAdapter.test.ts b/tests/integration/infrastructure/MockBrowserAutomationAdapter.test.ts index a0a29e586..93ce78f9a 100644 --- a/tests/integration/infrastructure/MockBrowserAutomationAdapter.test.ts +++ b/tests/integration/infrastructure/MockBrowserAutomationAdapter.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { MockBrowserAutomationAdapter } from 'core/automation/infrastructure//automation'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; describe('MockBrowserAutomationAdapter Integration Tests', () => { let adapter: MockBrowserAutomationAdapter; diff --git a/tests/integration/infrastructure/automation/ValidatorConformance.integration.test.ts b/tests/integration/infrastructure/automation/ValidatorConformance.integration.test.ts index 98eb10d6c..065ae6e50 100644 --- a/tests/integration/infrastructure/automation/ValidatorConformance.integration.test.ts +++ b/tests/integration/infrastructure/automation/ValidatorConformance.integration.test.ts @@ -1,8 +1,8 @@ import { describe, it, expect } from 'vitest'; -import { PageStateValidator } from '@gridpilot/automation/domain/services/PageStateValidator'; -import { StepTransitionValidator } from '@gridpilot/automation/domain/services/StepTransitionValidator'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; -import { SessionState } from '@gridpilot/automation/domain/value-objects/SessionState'; +import { PageStateValidator } from '@core/automation/domain/services/PageStateValidator'; +import { StepTransitionValidator } from '@core/automation/domain/services/StepTransitionValidator'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; +import { SessionState } from '@core/automation/domain/value-objects/SessionState'; describe('Validator conformance (integration)', () => { describe('PageStateValidator with hosted-session selectors', () => { diff --git a/tests/integration/interface/companion/companion-start-automation.browser-mode-refresh.integration.test.ts b/tests/integration/interface/companion/companion-start-automation.browser-mode-refresh.integration.test.ts index 8c1ab052f..ebcfb88f8 100644 --- a/tests/integration/interface/companion/companion-start-automation.browser-mode-refresh.integration.test.ts +++ b/tests/integration/interface/companion/companion-start-automation.browser-mode-refresh.integration.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { DIContainer } from '../../../..//apps/companion/main/di-container'; -import type { HostedSessionConfig } from '@gridpilot/automation/domain/types/HostedSessionConfig'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter } from '../../../..//core/automation/infrastructure//automation'; describe('companion start automation - browser mode refresh wiring', () => { diff --git a/tests/integration/interface/companion/companion-start-automation.browser-not-connected.integration.test.ts b/tests/integration/interface/companion/companion-start-automation.browser-not-connected.integration.test.ts index 8ddf95072..2f19cab8d 100644 --- a/tests/integration/interface/companion/companion-start-automation.browser-not-connected.integration.test.ts +++ b/tests/integration/interface/companion/companion-start-automation.browser-not-connected.integration.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { DIContainer } from '../../../..//apps/companion/main/di-container'; -import type { HostedSessionConfig } from '@gridpilot/automation/domain/types/HostedSessionConfig'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; import { PlaywrightAutomationAdapter } from '../../../..//core/automation/infrastructure//automation'; describe('companion start automation - browser not connected at step 1', () => { diff --git a/tests/integration/interface/companion/companion-start-automation.connection-failure.integration.test.ts b/tests/integration/interface/companion/companion-start-automation.connection-failure.integration.test.ts index 90025b151..c49a0abb9 100644 --- a/tests/integration/interface/companion/companion-start-automation.connection-failure.integration.test.ts +++ b/tests/integration/interface/companion/companion-start-automation.connection-failure.integration.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { DIContainer } from '../../../..//apps/companion/main/di-container'; -import type { HostedSessionConfig } from '@gridpilot/automation/domain/types/HostedSessionConfig'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; import { PlaywrightAutomationAdapter } from '../../../..//core/automation/infrastructure//automation'; describe('companion start automation - browser connection failure before steps', () => { diff --git a/tests/integration/interface/companion/companion-start-automation.happy.integration.test.ts b/tests/integration/interface/companion/companion-start-automation.happy.integration.test.ts index 853ba7e81..cb718e5af 100644 --- a/tests/integration/interface/companion/companion-start-automation.happy.integration.test.ts +++ b/tests/integration/interface/companion/companion-start-automation.happy.integration.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeEach, afterEach } from 'vitest'; import { DIContainer } from '../../../..//apps/companion/main/di-container'; -import type { HostedSessionConfig } from '@gridpilot/automation/domain/types/HostedSessionConfig'; -import { StepId } from '@gridpilot/automation/domain/value-objects/StepId'; +import type { HostedSessionConfig } from '@core/automation/domain/types/HostedSessionConfig'; +import { StepId } from '@core/automation/domain/value-objects/StepId'; describe('companion start automation - happy path', () => { const originalEnv = { ...process.env }; diff --git a/tests/racing-application/ApproveLeagueJoinRequestUseCase.spec.ts b/tests/racing-application/ApproveLeagueJoinRequestUseCase.spec.ts index 7de5c16b2..f01405d80 100644 --- a/tests/racing-application/ApproveLeagueJoinRequestUseCase.spec.ts +++ b/tests/racing-application/ApproveLeagueJoinRequestUseCase.spec.ts @@ -1,6 +1,6 @@ -import { ApproveLeagueJoinRequestUseCase } from '../../core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; -import { ApproveLeagueJoinRequestPresenter } from '../../apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter'; -import { ILeagueMembershipRepository } from '../../core/racing/domain/repositories/ILeagueMembershipRepository'; +import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase'; +import { ApproveLeagueJoinRequestPresenter } from '@apps/api/src/modules/league/presenters/ApproveLeagueJoinRequestPresenter'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; describe('ApproveLeagueJoinRequestUseCase', () => { let useCase: ApproveLeagueJoinRequestUseCase; diff --git a/tests/racing-application/DashboardOverviewUseCase.spec.ts b/tests/racing-application/DashboardOverviewUseCase.spec.ts index d62df617c..3bca10d40 100644 --- a/tests/racing-application/DashboardOverviewUseCase.spec.ts +++ b/tests/racing-application/DashboardOverviewUseCase.spec.ts @@ -1,18 +1,18 @@ import { describe, it, expect } from 'vitest'; -import { GetDashboardOverviewUseCase } from '@gridpilot/racing/application/use-cases/GetDashboardOverviewUseCase'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Standing } from '@gridpilot/racing/domain/entities/Standing'; -import { LeagueMembership } from '@gridpilot/racing/domain/entities/LeagueMembership'; -import type { FeedItem } from '@gridpilot/social/domain/types/FeedItem'; +import { GetDashboardOverviewUseCase } from '@core/racing/application/use-cases/GetDashboardOverviewUseCase'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { Race } from '@core/racing/domain/entities/Race'; +import { Result } from '@core/racing/domain/entities/Result'; +import { League } from '@core/racing/domain/entities/League'; +import { Standing } from '@core/racing/domain/entities/Standing'; +import { LeagueMembership } from '@core/racing/domain/entities/LeagueMembership'; +import type { FeedItem } from '@core/social/domain/types/FeedItem'; import type { IDashboardOverviewPresenter, DashboardOverviewViewModel, DashboardFeedItemSummaryViewModel, -} from '@gridpilot/racing/application/presenters/IDashboardOverviewPresenter'; +} from '@core/racing/application/presenters/IDashboardOverviewPresenter'; class FakeDashboardOverviewPresenter implements IDashboardOverviewPresenter { viewModel: DashboardOverviewViewModel | null = null; diff --git a/tests/racing-application/GetLeagueJoinRequestsUseCase.spec.ts b/tests/racing-application/GetLeagueJoinRequestsUseCase.spec.ts index ae147a14c..21f958ebf 100644 --- a/tests/racing-application/GetLeagueJoinRequestsUseCase.spec.ts +++ b/tests/racing-application/GetLeagueJoinRequestsUseCase.spec.ts @@ -1,7 +1,7 @@ -import { GetLeagueJoinRequestsUseCase } from '../../core/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; -import { LeagueJoinRequestsPresenter } from '../../apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter'; -import { ILeagueMembershipRepository } from '../../core/racing/domain/repositories/ILeagueMembershipRepository'; -import { IDriverRepository } from '../../core/racing/domain/repositories/IDriverRepository'; +import { GetLeagueJoinRequestsUseCase } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase'; +import { LeagueJoinRequestsPresenter } from '@apps/api/src/modules/league/presenters/LeagueJoinRequestsPresenter'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; describe('GetLeagueJoinRequestsUseCase', () => { let useCase: GetLeagueJoinRequestsUseCase; diff --git a/tests/racing-application/MembershipUseCases.spec.ts b/tests/racing-application/MembershipUseCases.spec.ts index 5d3f3832a..d1208d8ec 100644 --- a/tests/racing-application/MembershipUseCases.spec.ts +++ b/tests/racing-application/MembershipUseCases.spec.ts @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; -import { JoinLeagueUseCase } from '@gridpilot/racing/application/use-cases/JoinLeagueUseCase'; -import type { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; +import { JoinLeagueUseCase } from '@core/racing/application/use-cases/JoinLeagueUseCase'; +import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; import { LeagueMembership, type MembershipRole, type MembershipStatus, -} from '@gridpilot/racing/domain/entities/LeagueMembership'; +} from '@core/racing/domain/entities/LeagueMembership'; class InMemoryLeagueMembershipRepository implements ILeagueMembershipRepository { private memberships: LeagueMembership[] = []; diff --git a/tests/racing-application/RaceDetailUseCases.spec.ts b/tests/racing-application/RaceDetailUseCases.spec.ts index 51234610a..a93776019 100644 --- a/tests/racing-application/RaceDetailUseCases.spec.ts +++ b/tests/racing-application/RaceDetailUseCases.spec.ts @@ -1,25 +1,25 @@ import { describe, it, expect } from 'vitest'; -import type { IRaceRepository } from '@gridpilot/racing/domain/repositories/IRaceRepository'; -import type { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; -import type { IDriverRepository } from '@gridpilot/racing/domain/repositories/IDriverRepository'; -import type { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; -import type { IResultRepository } from '@gridpilot/racing/domain/repositories/IResultRepository'; -import type { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import type { DriverRatingProvider } from '@gridpilot/racing/application/ports/DriverRatingProvider'; -import type { IImageServicePort } from '@gridpilot/racing/application/ports/IImageServicePort'; +import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository'; +import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; +import type { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository'; +import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; +import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository'; +import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import type { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider'; +import type { IImageServicePort } from '@core/racing/application/ports/IImageServicePort'; import type { IRaceDetailPresenter, RaceDetailViewModel, -} from '@gridpilot/racing/application/presenters/IRaceDetailPresenter'; +} from '@core/racing/application/presenters/IRaceDetailPresenter'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; -import { LeagueMembership } from '@gridpilot/racing/domain/entities/LeagueMembership'; -import { GetRaceDetailUseCase } from '@gridpilot/racing/application/use-cases/GetRaceDetailUseCase'; -import { CancelRaceUseCase } from '@gridpilot/racing/application/use-cases/CancelRaceUseCase'; +import { Race } from '@core/racing/domain/entities/Race'; +import { League } from '@core/racing/domain/entities/League'; +import { Result } from '@core/racing/domain/entities/Result'; +import { Driver } from '@core/racing/domain/entities/Driver'; +import { LeagueMembership } from '@core/racing/domain/entities/LeagueMembership'; +import { GetRaceDetailUseCase } from '@core/racing/application/use-cases/GetRaceDetailUseCase'; +import { CancelRaceUseCase } from '@core/racing/application/use-cases/CancelRaceUseCase'; class InMemoryRaceRepository implements IRaceRepository { private races = new Map(); diff --git a/tests/racing-application/RaceResultsUseCases.spec.ts b/tests/racing-application/RaceResultsUseCases.spec.ts index a414c8c19..eb297e078 100644 --- a/tests/racing-application/RaceResultsUseCases.spec.ts +++ b/tests/racing-application/RaceResultsUseCases.spec.ts @@ -1,23 +1,23 @@ import { describe, it, expect } from 'vitest'; -import { Race } from '@gridpilot/racing/domain/entities/Race'; -import { League } from '@gridpilot/racing/domain/entities/League'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import { Penalty } from '@gridpilot/racing/domain/entities/Penalty'; -import { Standing } from '@gridpilot/racing/domain/entities/Standing'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; +import { Race } from '@core/racing/domain/entities/Race'; +import { League } from '@core/racing/domain/entities/League'; +import { Result } from '@core/racing/domain/entities/Result'; +import { Penalty } from '@core/racing/domain/entities/Penalty'; +import { Standing } from '@core/racing/domain/entities/Standing'; +import { Driver } from '@core/racing/domain/entities/Driver'; -import { GetRaceResultsDetailUseCase } from '@gridpilot/racing/application/use-cases/GetRaceResultsDetailUseCase'; -import { ImportRaceResultsUseCase } from '@gridpilot/racing/application/use-cases/ImportRaceResultsUseCase'; +import { GetRaceResultsDetailUseCase } from '@core/racing/application/use-cases/GetRaceResultsDetailUseCase'; +import { ImportRaceResultsUseCase } from '@core/racing/application/use-cases/ImportRaceResultsUseCase'; import type { IRaceResultsDetailPresenter, RaceResultsDetailViewModel, -} from '@gridpilot/racing/application/presenters/IRaceResultsDetailPresenter'; +} from '@core/racing/application/presenters/IRaceResultsDetailPresenter'; import type { IImportRaceResultsPresenter, ImportRaceResultsSummaryViewModel, -} from '@gridpilot/racing/application/presenters/IImportRaceResultsPresenter'; +} from '@core/racing/application/presenters/IImportRaceResultsPresenter'; class FakeRaceResultsDetailPresenter implements IRaceResultsDetailPresenter { viewModel: RaceResultsDetailViewModel | null = null; diff --git a/tests/racing-application/RegistrationAndTeamUseCases.spec.ts b/tests/racing-application/RegistrationAndTeamUseCases.spec.ts index 2377741e8..91ac2e9ab 100644 --- a/tests/racing-application/RegistrationAndTeamUseCases.spec.ts +++ b/tests/racing-application/RegistrationAndTeamUseCases.spec.ts @@ -1,63 +1,63 @@ import { describe, it, expect, beforeEach } from 'vitest'; -import type { IRaceRegistrationRepository } from '@gridpilot/racing/domain/repositories/IRaceRegistrationRepository'; -import type { ILeagueMembershipRepository } from '@gridpilot/racing/domain/repositories/ILeagueMembershipRepository'; -import type { ITeamRepository } from '@gridpilot/racing/domain/repositories/ITeamRepository'; -import type { ITeamMembershipRepository } from '@gridpilot/racing/domain/repositories/ITeamMembershipRepository'; -import type { RaceRegistration } from '@gridpilot/racing/domain/entities/RaceRegistration'; +import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository'; +import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; +import type { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository'; +import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository'; +import type { RaceRegistration } from '@core/racing/domain/entities/RaceRegistration'; import { LeagueMembership, type MembershipStatus, -} from '@gridpilot/racing/domain/entities/LeagueMembership'; -import { Team } from '@gridpilot/racing/domain/entities/Team'; -import { Driver } from '@gridpilot/racing/domain/entities/Driver'; +} from '@core/racing/domain/entities/LeagueMembership'; +import { Team } from '@core/racing/domain/entities/Team'; +import { Driver } from '@core/racing/domain/entities/Driver'; import type { TeamMembership, TeamMembershipStatus, TeamRole, TeamJoinRequest, -} from '@gridpilot/racing/domain/types/TeamMembership'; +} from '@core/racing/domain/types/TeamMembership'; -import { RegisterForRaceUseCase } from '@gridpilot/racing/application/use-cases/RegisterForRaceUseCase'; -import { WithdrawFromRaceUseCase } from '@gridpilot/racing/application/use-cases/WithdrawFromRaceUseCase'; -import { IsDriverRegisteredForRaceUseCase } from '@gridpilot/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; -import { GetRaceRegistrationsUseCase } from '@gridpilot/racing/application/use-cases/GetRaceRegistrationsUseCase'; +import { RegisterForRaceUseCase } from '@core/racing/application/use-cases/RegisterForRaceUseCase'; +import { WithdrawFromRaceUseCase } from '@core/racing/application/use-cases/WithdrawFromRaceUseCase'; +import { IsDriverRegisteredForRaceUseCase } from '@core/racing/application/use-cases/IsDriverRegisteredForRaceUseCase'; +import { GetRaceRegistrationsUseCase } from '@core/racing/application/use-cases/GetRaceRegistrationsUseCase'; -import { CreateTeamUseCase } from '@gridpilot/racing/application/use-cases/CreateTeamUseCase'; -import { JoinTeamUseCase } from '@gridpilot/racing/application/use-cases/JoinTeamUseCase'; -import { LeaveTeamUseCase } from '@gridpilot/racing/application/use-cases/LeaveTeamUseCase'; -import { ApproveTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; -import { RejectTeamJoinRequestUseCase } from '@gridpilot/racing/application/use-cases/RejectTeamJoinRequestUseCase'; -import { UpdateTeamUseCase } from '@gridpilot/racing/application/use-cases/UpdateTeamUseCase'; -import { GetAllTeamsUseCase } from '@gridpilot/racing/application/use-cases/GetAllTeamsUseCase'; -import { GetTeamDetailsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamDetailsUseCase'; -import { GetTeamMembersUseCase } from '@gridpilot/racing/application/use-cases/GetTeamMembersUseCase'; -import { GetTeamJoinRequestsUseCase } from '@gridpilot/racing/application/use-cases/GetTeamJoinRequestsUseCase'; -import { GetDriverTeamUseCase } from '@gridpilot/racing/application/use-cases/GetDriverTeamUseCase'; -import type { IDriverRegistrationStatusPresenter } from '@gridpilot/racing/application/presenters/IDriverRegistrationStatusPresenter'; -import type { IRaceRegistrationsPresenter } from '@gridpilot/racing/application/presenters/IRaceRegistrationsPresenter'; +import { CreateTeamUseCase } from '@core/racing/application/use-cases/CreateTeamUseCase'; +import { JoinTeamUseCase } from '@core/racing/application/use-cases/JoinTeamUseCase'; +import { LeaveTeamUseCase } from '@core/racing/application/use-cases/LeaveTeamUseCase'; +import { ApproveTeamJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveTeamJoinRequestUseCase'; +import { RejectTeamJoinRequestUseCase } from '@core/racing/application/use-cases/RejectTeamJoinRequestUseCase'; +import { UpdateTeamUseCase } from '@core/racing/application/use-cases/UpdateTeamUseCase'; +import { GetAllTeamsUseCase } from '@core/racing/application/use-cases/GetAllTeamsUseCase'; +import { GetTeamDetailsUseCase } from '@core/racing/application/use-cases/GetTeamDetailsUseCase'; +import { GetTeamMembersUseCase } from '@core/racing/application/use-cases/GetTeamMembersUseCase'; +import { GetTeamJoinRequestsUseCase } from '@core/racing/application/use-cases/GetTeamJoinRequestsUseCase'; +import { GetDriverTeamUseCase } from '@core/racing/application/use-cases/GetDriverTeamUseCase'; +import type { IDriverRegistrationStatusPresenter } from '@core/racing/application/presenters/IDriverRegistrationStatusPresenter'; +import type { IRaceRegistrationsPresenter } from '@core/racing/application/presenters/IRaceRegistrationsPresenter'; import type { IAllTeamsPresenter, AllTeamsResultDTO, AllTeamsViewModel, -} from '@gridpilot/racing/application/presenters/IAllTeamsPresenter'; -import type { ITeamDetailsPresenter } from '@gridpilot/racing/application/presenters/ITeamDetailsPresenter'; +} from '@core/racing/application/presenters/IAllTeamsPresenter'; +import type { ITeamDetailsPresenter } from '@core/racing/application/presenters/ITeamDetailsPresenter'; import type { ITeamMembersPresenter, TeamMembersResultDTO, TeamMembersViewModel, -} from '@gridpilot/racing/application/presenters/ITeamMembersPresenter'; +} from '@core/racing/application/presenters/ITeamMembersPresenter'; import type { ITeamJoinRequestsPresenter, TeamJoinRequestsResultDTO, TeamJoinRequestsViewModel, -} from '@gridpilot/racing/application/presenters/ITeamJoinRequestsPresenter'; +} from '@core/racing/application/presenters/ITeamJoinRequestsPresenter'; import type { IDriverTeamPresenter, DriverTeamResultDTO, DriverTeamViewModel, -} from '@gridpilot/racing/application/presenters/IDriverTeamPresenter'; -import type { RaceRegistrationsResultDTO } from '@gridpilot/racing/application/presenters/IRaceRegistrationsPresenter'; +} from '@core/racing/application/presenters/IDriverTeamPresenter'; +import type { RaceRegistrationsResultDTO } from '@core/racing/application/presenters/IRaceRegistrationsPresenter'; /** * Simple in-memory fakes mirroring current alpha behavior. diff --git a/tests/racing-application/RejectLeagueJoinRequestUseCase.spec.ts b/tests/racing-application/RejectLeagueJoinRequestUseCase.spec.ts index 1a01d37cb..3c4b3ec80 100644 --- a/tests/racing-application/RejectLeagueJoinRequestUseCase.spec.ts +++ b/tests/racing-application/RejectLeagueJoinRequestUseCase.spec.ts @@ -1,6 +1,6 @@ -import { RejectLeagueJoinRequestUseCase } from '../../core/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; -import { RejectLeagueJoinRequestPresenter } from '../../apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter'; -import { ILeagueMembershipRepository } from '../../core/racing/domain/repositories/ILeagueMembershipRepository'; +import { RejectLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase'; +import { RejectLeagueJoinRequestPresenter } from '@apps/api/src/modules/league/presenters/RejectLeagueJoinRequestPresenter'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; describe('RejectLeagueJoinRequestUseCase', () => { let useCase: RejectLeagueJoinRequestUseCase; diff --git a/tests/racing-application/RemoveLeagueMemberUseCase.spec.ts b/tests/racing-application/RemoveLeagueMemberUseCase.spec.ts index f5a220ba7..8c6571cc5 100644 --- a/tests/racing-application/RemoveLeagueMemberUseCase.spec.ts +++ b/tests/racing-application/RemoveLeagueMemberUseCase.spec.ts @@ -1,6 +1,6 @@ -import { RemoveLeagueMemberUseCase } from '../../core/racing/application/use-cases/RemoveLeagueMemberUseCase'; -import { RemoveLeagueMemberPresenter } from '../../apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter'; -import { ILeagueMembershipRepository } from '../../core/racing/domain/repositories/ILeagueMembershipRepository'; +import { RemoveLeagueMemberUseCase } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase'; +import { RemoveLeagueMemberPresenter } from '@apps/api/src/modules/league/presenters/RemoveLeagueMemberPresenter'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; describe('RemoveLeagueMemberUseCase', () => { let useCase: RemoveLeagueMemberUseCase; diff --git a/tests/racing-application/SeasonUseCases.spec.ts b/tests/racing-application/SeasonUseCases.spec.ts index 599298d59..8e45697b1 100644 --- a/tests/racing-application/SeasonUseCases.spec.ts +++ b/tests/racing-application/SeasonUseCases.spec.ts @@ -2,10 +2,10 @@ import { describe, it, expect } from 'vitest'; import { InMemorySeasonRepository, -} from '@gridpilot/racing/infrastructure/repositories/InMemoryScoringRepositories'; -import { Season } from '@gridpilot/racing/domain/entities/Season'; -import type { ISeasonRepository } from '@gridpilot/racing/domain/repositories/ISeasonRepository'; -import type { ILeagueRepository } from '@gridpilot/racing/domain/repositories/ILeagueRepository'; +} from '@core/racing/infrastructure/repositories/InMemoryScoringRepositories'; +import { Season } from '@core/racing/domain/entities/Season'; +import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository'; +import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository'; import { CreateSeasonForLeagueUseCase, ListSeasonsForLeagueUseCase, @@ -13,8 +13,8 @@ import { ManageSeasonLifecycleUseCase, type CreateSeasonForLeagueCommand, type ManageSeasonLifecycleCommand, -} from '@gridpilot/racing/application/use-cases/SeasonUseCases'; -import type { LeagueConfigFormModel } from '@gridpilot/racing/application/dto/LeagueConfigFormDTO'; +} from '@core/racing/application/use-cases/SeasonUseCases'; +import type { LeagueConfigFormModel } from '@core/racing/application/dto/LeagueConfigFormDTO'; function createFakeLeagueRepository(seed: Array<{ id: string }>): ILeagueRepository { return { diff --git a/tests/racing-application/UpdateLeagueMemberRoleUseCase.spec.ts b/tests/racing-application/UpdateLeagueMemberRoleUseCase.spec.ts index 90b78f374..0c46d698a 100644 --- a/tests/racing-application/UpdateLeagueMemberRoleUseCase.spec.ts +++ b/tests/racing-application/UpdateLeagueMemberRoleUseCase.spec.ts @@ -1,6 +1,6 @@ -import { UpdateLeagueMemberRoleUseCase } from '../../core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; -import { UpdateLeagueMemberRolePresenter } from '../../apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter'; -import { ILeagueMembershipRepository } from '../../core/racing/domain/repositories/ILeagueMembershipRepository'; +import { UpdateLeagueMemberRoleUseCase } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase'; +import { UpdateLeagueMemberRolePresenter } from '@apps/api/src/modules/league/presenters/UpdateLeagueMemberRolePresenter'; +import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository'; describe('UpdateLeagueMemberRoleUseCase', () => { let useCase: UpdateLeagueMemberRoleUseCase; diff --git a/tests/racing/EventScoringService.spec.ts b/tests/racing/EventScoringService.spec.ts index fbd3987a3..199a0df7b 100644 --- a/tests/racing/EventScoringService.spec.ts +++ b/tests/racing/EventScoringService.spec.ts @@ -1,14 +1,14 @@ import { describe, it, expect } from 'vitest'; -import { EventScoringService } from '@gridpilot/racing/domain/services/EventScoringService'; -import type { ParticipantRef } from '@gridpilot/racing/domain/types/ParticipantRef'; -import type { SessionType } from '@gridpilot/racing/domain/types/SessionType'; -import { PointsTable } from '@gridpilot/racing/domain/value-objects/PointsTable'; -import type { BonusRule } from '@gridpilot/racing/domain/types/BonusRule'; -import type { ChampionshipConfig } from '@gridpilot/racing/domain/types/ChampionshipConfig'; -import { Result } from '@gridpilot/racing/domain/entities/Result'; -import type { Penalty } from '@gridpilot/racing/domain/entities/Penalty'; -import type { ChampionshipType } from '@gridpilot/racing/domain/types/ChampionshipType'; +import { EventScoringService } from '@core/racing/domain/services/EventScoringService'; +import type { ParticipantRef } from '@core/racing/domain/types/ParticipantRef'; +import type { SessionType } from '@core/racing/domain/types/SessionType'; +import { PointsTable } from '@core/racing/domain/value-objects/PointsTable'; +import type { BonusRule } from '@core/racing/domain/types/BonusRule'; +import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig'; +import { Result } from '@core/racing/domain/entities/Result'; +import type { Penalty } from '@core/racing/domain/entities/Penalty'; +import type { ChampionshipType } from '@core/racing/domain/types/ChampionshipType'; import { makeDriverRef } from '../../testing/factories/racing/DriverRefFactory'; import { makePointsTable } from '../../testing/factories/racing/PointsTableFactory'; import { makeChampionshipConfig } from '../../testing/factories/racing/ChampionshipConfigFactory'; diff --git a/tests/racing/Season.spec.ts b/tests/racing/Season.spec.ts index 370056c60..f38c5dc61 100644 --- a/tests/racing/Season.spec.ts +++ b/tests/racing/Season.spec.ts @@ -3,17 +3,17 @@ import { describe, it, expect } from 'vitest'; import { RacingDomainInvariantError, RacingDomainValidationError, -} from '@gridpilot/racing/domain/errors/RacingDomainError'; +} from '@core/racing/domain/errors/RacingDomainError'; import { Season, type SeasonStatus, -} from '@gridpilot/racing/domain/entities/Season'; -import { SeasonScoringConfig } from '@gridpilot/racing/domain/value-objects/SeasonScoringConfig'; +} from '@core/racing/domain/entities/Season'; +import { SeasonScoringConfig } from '@core/racing/domain/value-objects/SeasonScoringConfig'; import { SeasonDropPolicy, type SeasonDropStrategy, -} from '@gridpilot/racing/domain/value-objects/SeasonDropPolicy'; -import { SeasonStewardingConfig } from '@gridpilot/racing/domain/value-objects/SeasonStewardingConfig'; +} from '@core/racing/domain/value-objects/SeasonDropPolicy'; +import { SeasonStewardingConfig } from '@core/racing/domain/value-objects/SeasonStewardingConfig'; import { createMinimalSeason, createBaseSeason } from '../../testing/factories/racing/SeasonFactory'; diff --git a/tests/smoke/browser-mode-toggle.smoke.test.ts b/tests/smoke/browser-mode-toggle.smoke.test.ts index f8c06f246..f7a93b5e7 100644 --- a/tests/smoke/browser-mode-toggle.smoke.test.ts +++ b/tests/smoke/browser-mode-toggle.smoke.test.ts @@ -1,5 +1,5 @@ import { test, expect } from 'vitest'; -import { DIContainer } from '../../apps/companion/main/di-container'; +import { DIContainer } from '@apps/companion/main/di-container'; test('renderer -> preload -> main: set/get updates BrowserModeConfigLoader (reproduces headless-toggle bug)', () => { // Ensure environment is development so toggle is available diff --git a/tests/smoke/di-container.test.ts b/tests/smoke/di-container.test.ts index 7f3247153..b956f9952 100644 --- a/tests/smoke/di-container.test.ts +++ b/tests/smoke/di-container.test.ts @@ -1,5 +1,5 @@ import { describe, it, expect } from 'vitest'; -import { DIContainer, resolveTemplatePath, resolveSessionDataPath } from '../../apps/companion/main/di-container'; +import { DIContainer, resolveTemplatePath, resolveSessionDataPath } from '@apps/companion/main/di-container'; describe('DIContainer (smoke) - test-tolerance', () => { it('constructs without electron.app and exposes path resolvers', () => { diff --git a/tests/smoke/electron-init.smoke.test.ts b/tests/smoke/electron-init.smoke.test.ts index 3d5fc2a4f..fbbc5c44a 100644 --- a/tests/smoke/electron-init.smoke.test.ts +++ b/tests/smoke/electron-init.smoke.test.ts @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; -import { DIContainer } from '../../apps/companion/main/di-container'; -import { StartAutomationSessionUseCase } from '../../core/automation/application/use-cases/StartAutomationSessionUseCase'; -import { CheckAuthenticationUseCase } from '../../core/automation/application/use-cases/CheckAuthenticationUseCase'; -import { InitiateLoginUseCase } from '../../core/automation/application/use-cases/InitiateLoginUseCase'; -import { ClearSessionUseCase } from '../../core/automation/application/use-cases/ClearSessionUseCase'; -import { ConfirmCheckoutUseCase } from '../../core/automation/application/use-cases/ConfirmCheckoutUseCase'; +import { DIContainer } from '@apps/companion/main/di-container'; +import { StartAutomationSessionUseCase } from '@core/automation/application/use-cases/StartAutomationSessionUseCase'; +import { CheckAuthenticationUseCase } from '@core/automation/application/use-cases/CheckAuthenticationUseCase'; +import { InitiateLoginUseCase } from '@core/automation/application/use-cases/InitiateLoginUseCase'; +import { ClearSessionUseCase } from '@core/automation/application/use-cases/ClearSessionUseCase'; +import { ConfirmCheckoutUseCase } from '@core/automation/application/use-cases/ConfirmCheckoutUseCase'; import { PlaywrightAutomationAdapter } from 'core/automation/infrastructure//automation'; -import { InMemorySessionRepository } from '../../core/automation/infrastructure/repositories/InMemorySessionRepository'; -import { NoOpLogAdapter } from '../../core/automation/infrastructure//logging/NoOpLogAdapter'; +import { InMemorySessionRepository } from '@core/automation/infrastructure/repositories/InMemorySessionRepository'; +import { NoOpLogAdapter } from '@core/automation/infrastructure//logging/NoOpLogAdapter'; // Mock Electron's app module vi.mock('electron', () => ({ diff --git a/tests/smoke/playwright-init.smoke.test.ts b/tests/smoke/playwright-init.smoke.test.ts index a08417662..1999b5e39 100644 --- a/tests/smoke/playwright-init.smoke.test.ts +++ b/tests/smoke/playwright-init.smoke.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect, afterEach, beforeAll, afterAll } from 'vitest'; import { PlaywrightAutomationAdapter, FixtureServer } from 'core/automation/infrastructure//automation'; -import { NoOpLogAdapter } from '../../core/automation/infrastructure//logging/NoOpLogAdapter'; +import { NoOpLogAdapter } from '@core/automation/infrastructure//logging/NoOpLogAdapter'; describe('Playwright Adapter Smoke Tests', () => { let adapter: PlaywrightAutomationAdapter | undefined; diff --git a/tsconfig.base.json b/tsconfig.base.json index 0aeecac1b..d2bc9de34 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -21,39 +21,14 @@ "baseUrl": ".", "emitDecoratorMetadata": true, "experimentalDecorators": true, + "declaration": true, + "declarationMap": true, + "sourceMap": true, "paths": { - "@/*": ["./*"], - "@/lib/*": ["apps/website/lib/*"], - "@/components/*": ["apps/website/components/*"], - "@/app/*": ["apps/website/app/*"], - "core/*": ["core/*"], - "apps/*": ["apps/*"], - "@gridpilot/shared-result": ["core/shared/result/Result.ts"], - "@gridpilot/shared": ["core/shared/index.ts"], - "@gridpilot/shared/application": ["core/shared/application"], - "@gridpilot/shared/application/*": ["core/shared/application/*"], - "@gridpilot/shared/presentation": ["core/shared/presentation"], - "@gridpilot/shared/presentation/*": ["core/shared/presentation/*"], - "@gridpilot/shared/domain": ["core/shared/domain"], - "@gridpilot/shared/domain/*": ["core/shared/domain/*"], - "@gridpilot/shared/errors": ["core/shared/errors"], - "@gridpilot/shared/errors/*": ["core/shared/errors/*"], - "@gridpilot/automation": ["core/automation/index.ts"], - "@gridpilot/automation/*": ["core/automation/*"], - "@gridpilot/identity": ["core/identity/index.ts"], - "@gridpilot/identity/*": ["core/identity/*"], - "@gridpilot/media": ["core/media/index.ts"], - "@gridpilot/media/*": ["core/media/*"], - "@gridpilot/racing": ["core/racing/index.ts"], - "@gridpilot/racing/*": ["core/racing/*"], - "@gridpilot/social": ["core/social/index.ts"], - "@gridpilot/social/*": ["core/social/*"], - "@gridpilot/testing-support": ["core/testing-support/index.ts"], - "@gridpilot/testing-support/*": ["core/testing-support/*"], - "@gridpilot/analytics": ["core/analytics/index.ts"], - "@gridpilot/analytics/*": ["core/analytics/*"], - "@gridpilot/notifications": ["core/notifications/application/index.ts"], - "@gridpilot/notifications/*": ["core/notifications/*"] + "@core/*": ["./core/*"], + "@adapters/*": ["./adapters/*"], + "@testing/*": ["./testing/*"] } - } + }, + "exclude": ["node_modules", "dist", "**/*.spec.ts", "**/*.test.ts"] } \ No newline at end of file diff --git a/vitest.config.ts b/vitest.config.ts index 377ef48fd..b54ae7d6d 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -9,25 +9,15 @@ export default defineConfig({ setupFiles: ['tests/setup/vitest.setup.ts'], include: ['tests/**/*.{test,spec}.?(c|m)[jt]s?(x)', 'core/**/*.{test,spec}.?(c|m)[jt]s?(x)'], exclude: [ - // Do not run library-internal tests from dependencies 'node_modules/**', - // Playwright-based smoke suite is executed via `npm run smoke:website` - // using Playwright CLI and must not be picked up by Vitest. 'tests/smoke/website-pages.spec.ts', ], }, resolve: { alias: { - '@gridpilot/shared-result': path.resolve(__dirname, 'core/shared/result/Result.ts'), - '@gridpilot/automation': path.resolve(__dirname, 'core/automation'), - '@gridpilot/automation/*': path.resolve(__dirname, 'core/automation/*'), - '@gridpilot/testing-support': path.resolve(__dirname, 'core/testing-support'), - '@gridpilot/media': path.resolve(__dirname, 'core/media'), - '@': path.resolve(__dirname, 'apps/website'), - '@/*': path.resolve(__dirname, 'apps/website/*'), - // Support TS-style "core/*" imports used in tests - packages: path.resolve(__dirname, 'packages'), - 'core/*': path.resolve(__dirname, 'core/*'), + '@core': path.resolve(__dirname, './core'), + '@adapters': path.resolve(__dirname, './adapters'), + '@testing': path.resolve(__dirname, './testing'), }, }, }); \ No newline at end of file