website refactor
This commit is contained in:
@@ -7,7 +7,7 @@ import { AuthModule } from '../auth/AuthModule';
|
||||
import { ListUsersUseCase } from '@core/admin/application/use-cases/ListUsersUseCase';
|
||||
import { GetDashboardStatsUseCase } from './use-cases/GetDashboardStatsUseCase';
|
||||
import { InitializationLogger } from '../../shared/logging/InitializationLogger';
|
||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/IAdminUserRepository';
|
||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
||||
|
||||
export const ADMIN_USER_REPOSITORY_TOKEN = 'IAdminUserRepository';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { AdminService } from './AdminService';
|
||||
import { AdminUser } from '@core/admin/domain/entities/AdminUser';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { vi, describe, it, expect, beforeEach } from 'vitest';
|
||||
|
||||
// Mock use cases
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/IAdminUserRepository';
|
||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
||||
import { AuthorizationService } from '@core/admin/domain/services/AuthorizationService';
|
||||
import { UserId } from '@core/admin/domain/value-objects/UserId';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/IEngagementRepository';
|
||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/IPageViewRepository';
|
||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { Provider } from '@nestjs/common';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { AnalyticsService } from './AnalyticsService';
|
||||
import { RecordPageViewPresenter } from './presenters/RecordPageViewPresenter';
|
||||
import { RecordEngagementPresenter } from './presenters/RecordEngagementPresenter';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { requestContextMiddleware } from '@adapters/http/RequestContext';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { getActorFromRequestContext } from './getActorFromRequestContext';
|
||||
import { requireLeagueAdminOrOwner } from '../league/LeagueAuthorization';
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@ import { SignupSponsorUseCase } from '@core/identity/application/use-cases/Signu
|
||||
import { ForgotPasswordUseCase } from '@core/identity/application/use-cases/ForgotPasswordUseCase';
|
||||
import { ResetPasswordUseCase } from '@core/identity/application/use-cases/ResetPasswordUseCase';
|
||||
import type { IdentitySessionPort } from '@core/identity/application/ports/IdentitySessionPort';
|
||||
import type { IAuthRepository } from '@core/identity/domain/repositories/IAuthRepository';
|
||||
import type { ICompanyRepository } from '@core/identity/domain/repositories/ICompanyRepository';
|
||||
import type { IMagicLinkRepository } from '@core/identity/domain/repositories/IMagicLinkRepository';
|
||||
import type { IAuthRepository } from '@core/identity/domain/repositories/AuthRepository';
|
||||
import type { ICompanyRepository } from '@core/identity/domain/repositories/CompanyRepository';
|
||||
import type { IMagicLinkRepository } from '@core/identity/domain/repositories/MagicLinkRepository';
|
||||
import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
||||
import type { IMagicLinkNotificationPort } from '@core/identity/domain/ports/IMagicLinkNotificationPort';
|
||||
import type { IMagicLinkNotificationPort } from '@core/identity/domain/ports/MagicLinkNotificationPort';
|
||||
|
||||
import {
|
||||
AUTH_REPOSITORY_TOKEN,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { AuthService } from './AuthService';
|
||||
|
||||
class FakeAuthSessionPresenter {
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
CreateAchievementUseCase,
|
||||
type IAchievementRepository,
|
||||
} from '@core/identity/application/use-cases/achievement/CreateAchievementUseCase';
|
||||
import type { IUserRepository } from '@core/identity/domain/repositories/IUserRepository';
|
||||
import type { IUserRepository } from '@core/identity/domain/repositories/UserRepository';
|
||||
import type { IdentitySessionPort } from '@core/identity/application/ports/IdentitySessionPort';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { CookieIdentitySessionAdapter } from '../../../../../adapters/identity/session/CookieIdentitySessionAdapter';
|
||||
|
||||
@@ -2,15 +2,15 @@ import { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository';
|
||||
import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import { IResultRepository } from '@core/racing/domain/repositories/IResultRepository';
|
||||
import { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository';
|
||||
import { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository';
|
||||
import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository';
|
||||
import { IFeedRepository } from '@core/social/domain/repositories/IFeedRepository';
|
||||
import { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository';
|
||||
import { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||
import { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
||||
import { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||
|
||||
import { SOCIAL_FEED_REPOSITORY_TOKEN, SOCIAL_GRAPH_REPOSITORY_TOKEN } from '../../persistence/social/SocialPersistenceTokens';
|
||||
import { ImageServicePort } from '@core/media/application/ports/ImageServicePort';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { DashboardService } from './DashboardService';
|
||||
|
||||
describe('DashboardService', () => {
|
||||
|
||||
@@ -2,15 +2,15 @@ import { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
import { DriverExtendedProfileProvider } from '@core/racing/application/ports/DriverExtendedProfileProvider';
|
||||
import { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository';
|
||||
import { ILiveryRepository } from '@core/racing/domain/repositories/ILiveryRepository';
|
||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository';
|
||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository';
|
||||
import type { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository';
|
||||
import { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import { ILiveryRepository } from '@core/racing/domain/repositories/LiveryRepository';
|
||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||
|
||||
// Import use cases
|
||||
@@ -39,10 +39,10 @@ import { InMemoryMediaRepository } from '@adapters/racing/persistence/media/InMe
|
||||
// Import MediaResolverAdapter
|
||||
import { MediaResolverAdapter } from '@adapters/media/MediaResolverAdapter';
|
||||
// Import repository tokens
|
||||
import { IDriverStatsRepository } from '@core/racing/domain/repositories/IDriverStatsRepository';
|
||||
import { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||
// Import use case interfaces
|
||||
import type { IRankingUseCase } from '@core/racing/application/use-cases/IRankingUseCase';
|
||||
import type { IDriverStatsUseCase } from '@core/racing/application/use-cases/IDriverStatsUseCase';
|
||||
import type { IRankingUseCase } from '@core/racing/application/use-cases/RankingUseCase';
|
||||
import type { IDriverStatsUseCase } from '@core/racing/application/use-cases/DriverStatsUseCase';
|
||||
|
||||
// Import presenters
|
||||
import { CompleteOnboardingPresenter } from './presenters/CompleteOnboardingPresenter';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import { describe, expect, it, vi, beforeEach } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { DriverService } from './DriverService';
|
||||
|
||||
describe('DriverService', () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { CompleteOnboardingInputDTO } from './dtos/CompleteOnboardingInputDTO';
|
||||
import { CompleteOnboardingOutputDTO } from './dtos/CompleteOnboardingOutputDTO';
|
||||
import { DriverRegistrationStatusDTO } from './dtos/DriverRegistrationStatusDTO';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { Driver } from '@core/racing/domain/entities/Driver';
|
||||
import type { GetDriverOutputDTO } from '../dtos/GetDriverOutputDTO';
|
||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/IDriverStatsRepository';
|
||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||
import { MediaReference } from '@core/domain/media/MediaReference';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, it, expect, beforeEach } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { GetDriverLiveriesPresenter } from './GetDriverLiveriesPresenter';
|
||||
import { DriverLivery } from '@core/racing/domain/entities/DriverLivery';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { DriverLivery } from '@core/racing/domain/entities/DriverLivery';
|
||||
import type { GetDriverLiveriesOutputDTO } from '../dtos/GetDriverLiveriesOutputDTO';
|
||||
|
||||
|
||||
@@ -4,20 +4,20 @@ import { LeagueService } from './LeagueService';
|
||||
import * as LeagueTokens from './LeagueTokens';
|
||||
|
||||
// Import core interfaces
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/IProtestRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository';
|
||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/ISeasonSponsorshipRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository';
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||
|
||||
// Import concrete in-memory implementations
|
||||
import type { ILeagueWalletRepository } from "@core/racing/domain/repositories/ILeagueWalletRepository";
|
||||
import type { ITransactionRepository } from "@core/racing/domain/repositories/ITransactionRepository";
|
||||
import type { ILeagueWalletRepository } from "@core/racing/domain/repositories/LeagueWalletRepository";
|
||||
import type { ITransactionRepository } from "@core/racing/domain/repositories/TransactionRepository";
|
||||
import { getLeagueScoringPresetById, listLeagueScoringPresets } from '@adapters/bootstrap/LeagueScoringPresets';
|
||||
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||
import { InMemoryLeagueStandingsRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository';
|
||||
@@ -215,8 +215,8 @@ export const LeagueProviders: Provider[] = [
|
||||
leagueRepo: ILeagueRepository,
|
||||
membershipRepo: ILeagueMembershipRepository,
|
||||
seasonRepo: ISeasonRepository,
|
||||
scoringRepo: import('@core/racing/domain/repositories/ILeagueScoringConfigRepository').ILeagueScoringConfigRepository,
|
||||
gameRepo: import('@core/racing/domain/repositories/IGameRepository').IGameRepository,
|
||||
scoringRepo: import('@core/racing/domain/repositories/LeagueScoringConfigRepository').ILeagueScoringConfigRepository,
|
||||
gameRepo: import('@core/racing/domain/repositories/GameRepository').IGameRepository,
|
||||
) =>
|
||||
new GetAllLeaguesWithCapacityAndScoringUseCase(
|
||||
leagueRepo,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { requestContextMiddleware } from '@adapters/http/RequestContext';
|
||||
import { LeagueService } from './LeagueService';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
import { IAvatarGenerationRepository } from '@core/media/domain/repositories/IAvatarGenerationRepository';
|
||||
import { IMediaRepository } from '@core/media/domain/repositories/IMediaRepository';
|
||||
import { IAvatarRepository } from '@core/media/domain/repositories/IAvatarRepository';
|
||||
import { IAvatarGenerationRepository } from '@core/media/domain/repositories/AvatarGenerationRepository';
|
||||
import { IMediaRepository } from '@core/media/domain/repositories/MediaRepository';
|
||||
import { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
||||
import { FaceValidationPort } from '@core/media/application/ports/FaceValidationPort';
|
||||
import { AvatarGenerationPort } from '@core/media/application/ports/AvatarGenerationPort';
|
||||
import { MediaStoragePort } from '@core/media/application/ports/MediaStoragePort';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { MediaService } from './MediaService';
|
||||
|
||||
describe('MediaService', () => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { Logger } from '@core/shared/application/Logger';
|
||||
import { GetUnreadNotificationsUseCase } from '@core/notifications/application/use-cases/GetUnreadNotificationsUseCase';
|
||||
import { GetAllNotificationsUseCase } from '@core/notifications/application/use-cases/GetAllNotificationsUseCase';
|
||||
import { MarkNotificationReadUseCase } from '@core/notifications/application/use-cases/MarkNotificationReadUseCase';
|
||||
import { INotificationRepository } from '@core/notifications/domain/repositories/INotificationRepository';
|
||||
import { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
||||
import { NOTIFICATION_REPOSITORY_TOKEN } from '../../persistence/notifications/NotificationsPersistenceTokens';
|
||||
import {
|
||||
GET_UNREAD_NOTIFICATIONS_USE_CASE_TOKEN,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
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 { IPaymentRepository } from '@core/payments/domain/repositories/PaymentRepository';
|
||||
import type { IMembershipFeeRepository, IMemberPaymentRepository } from '@core/payments/domain/repositories/MembershipFeeRepository';
|
||||
import type { IPrizeRepository } from '@core/payments/domain/repositories/PrizeRepository';
|
||||
import type { IWalletRepository, ITransactionRepository } from '@core/payments/domain/repositories/WalletRepository';
|
||||
|
||||
// Import use cases
|
||||
import { GetPaymentsUseCase } from '@core/payments/application/use-cases/GetPaymentsUseCase';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, expect, it, vi } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { PaymentsService } from './PaymentsService';
|
||||
|
||||
describe('PaymentsService', () => {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/IProtestRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
// Import concrete in-memory implementations
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, it, expect, beforeEach, vi, type MockedFunction } from 'vitest';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import type {
|
||||
ReviewProtestUseCase,
|
||||
|
||||
@@ -2,15 +2,15 @@ import type { Provider } from '@nestjs/common';
|
||||
|
||||
// Import core interfaces
|
||||
import type { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider';
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository';
|
||||
import type { IPenaltyRepository } from '@core/racing/domain/repositories/IPenaltyRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/IProtestRepository';
|
||||
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository';
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import type { IPenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
// Import concrete in-memory implementations
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { describe, expect, it, vi, type Mock } from 'vitest';
|
||||
import { RaceService } from './RaceService';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
|
||||
describe('RaceService', () => {
|
||||
it('invokes each use case and returns the corresponding presenter', async () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import type { GetRaceDetailResult } from '@core/racing/application/use-cases/GetRaceDetailUseCase';
|
||||
import type { DriverRatingProvider } from '@core/racing/application/ports/DriverRatingProvider';
|
||||
import type { IImageServicePort } from '@core/racing/application/ports/IImageServicePort';
|
||||
import type { IImageServicePort } from '@core/racing/application/ports/ImageServicePort';
|
||||
import type { GetRaceDetailParamsDTO } from '../dtos/GetRaceDetailParamsDTO';
|
||||
import type { RaceDetailDTO } from '../dtos/RaceDetailDTO';
|
||||
import type { RaceDetailRaceDTO } from '../dtos/RaceDetailRaceDTO';
|
||||
|
||||
@@ -3,7 +3,7 @@ import type {
|
||||
GetRaceResultsDetailResult,
|
||||
GetRaceResultsDetailErrorCode,
|
||||
} from '@core/racing/application/use-cases/GetRaceResultsDetailUseCase';
|
||||
import type { IImageServicePort } from '@core/racing/application/ports/IImageServicePort';
|
||||
import type { IImageServicePort } from '@core/racing/application/ports/ImageServicePort';
|
||||
import type { RaceResultsDetailDTO } from '../dtos/RaceResultsDetailDTO';
|
||||
import type { RaceResultDTO } from '../dtos/RaceResultDTO';
|
||||
|
||||
|
||||
@@ -3,17 +3,17 @@ import { SponsorService } from './SponsorService';
|
||||
|
||||
// Import core interfaces
|
||||
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/IPaymentRepository';
|
||||
import type { IWalletRepository } from '@core/payments/domain/repositories/IWalletRepository';
|
||||
import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository';
|
||||
import { ILeagueWalletRepository } from '@core/racing/domain/repositories/ILeagueWalletRepository';
|
||||
import { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository';
|
||||
import { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/ISeasonSponsorshipRepository';
|
||||
import { ISponsorRepository } from '@core/racing/domain/repositories/ISponsorRepository';
|
||||
import { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/ISponsorshipPricingRepository';
|
||||
import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/ISponsorshipRequestRepository';
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/PaymentRepository';
|
||||
import type { IWalletRepository } from '@core/payments/domain/repositories/WalletRepository';
|
||||
import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import { ILeagueWalletRepository } from '@core/racing/domain/repositories/LeagueWalletRepository';
|
||||
import { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import { ISeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
||||
import { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
||||
import { ISponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
||||
import { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
||||
import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
|
||||
import { GetSponsorBillingUseCase } from '@core/payments/application/use-cases/GetSponsorBillingUseCase';
|
||||
|
||||
@@ -9,7 +9,7 @@ import type { GetSponsorsUseCase } from '@core/racing/application/use-cases/GetS
|
||||
import type { GetSponsorUseCase } from '@core/racing/application/use-cases/GetSponsorUseCase';
|
||||
import type { RejectSponsorshipRequestUseCase } from '@core/racing/application/use-cases/RejectSponsorshipRequestUseCase';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
|
||||
import type { CreateSponsorInputDTO } from './dtos/CreateSponsorInputDTO';
|
||||
import { Sponsor } from '@core/racing/domain/entities/sponsor/Sponsor';
|
||||
|
||||
@@ -33,10 +33,10 @@ export {
|
||||
// Import core interfaces
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||
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 { ITeamStatsRepository } from '@core/racing/domain/repositories/ITeamStatsRepository';
|
||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
||||
|
||||
// Import concrete implementations
|
||||
import { InMemoryImageServiceAdapter } from '@adapters/media/ports/InMemoryImageServiceAdapter';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import { Result } from '@core/shared/domain/Result';
|
||||
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';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { describe, expect, it, beforeEach } from 'vitest';
|
||||
import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { ACHIEVEMENT_REPOSITORY_TOKEN } from './AchievementPersistenceTokens';
|
||||
import type { IAchievementRepository } from '@core/identity/domain/repositories/IAchievementRepository';
|
||||
import type { IAchievementRepository } from '@core/identity/domain/repositories/AchievementRepository';
|
||||
|
||||
describe('AchievementPersistenceModule', () => {
|
||||
const originalEnv = { ...process.env };
|
||||
|
||||
@@ -4,9 +4,9 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/IEngagementRepository';
|
||||
import type { IAnalyticsSnapshotRepository } from '@core/analytics/domain/repositories/IAnalyticsSnapshotRepository';
|
||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/IPageViewRepository';
|
||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
||||
import type { IAnalyticsSnapshotRepository } from '@core/analytics/domain/repositories/AnalyticsSnapshotRepository';
|
||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
||||
|
||||
import { InMemoryAnalyticsSnapshotRepository } from '@adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository';
|
||||
import { InMemoryEngagementRepository } from '@adapters/analytics/persistence/inmemory/InMemoryEngagementRepository';
|
||||
|
||||
@@ -4,7 +4,7 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
||||
import type { StoredUser } from '@core/identity/domain/repositories/IUserRepository';
|
||||
import type { StoredUser } from '@core/identity/domain/repositories/UserRepository';
|
||||
|
||||
import { InMemoryAuthRepository } from '@adapters/identity/persistence/inmemory/InMemoryAuthRepository';
|
||||
import { InMemoryUserRepository } from '@adapters/identity/persistence/inmemory/InMemoryUserRepository';
|
||||
|
||||
@@ -4,9 +4,9 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { IAvatarGenerationRepository } from '@core/media/domain/repositories/IAvatarGenerationRepository';
|
||||
import type { IMediaRepository } from '@core/media/domain/repositories/IMediaRepository';
|
||||
import type { IAvatarRepository } from '@core/media/domain/repositories/IAvatarRepository';
|
||||
import type { IAvatarGenerationRepository } from '@core/media/domain/repositories/AvatarGenerationRepository';
|
||||
import type { IMediaRepository } from '@core/media/domain/repositories/MediaRepository';
|
||||
import type { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
||||
|
||||
import { InMemoryAvatarGenerationRepository } from '@adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository';
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { INotificationRepository } from '@core/notifications/domain/repositories/INotificationRepository';
|
||||
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/INotificationPreferenceRepository';
|
||||
import type { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
||||
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/NotificationPreferenceRepository';
|
||||
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
||||
import type { NotificationGatewayRegistry } from '@core/notifications/application/ports/NotificationGateway';
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/IPaymentRepository';
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/PaymentRepository';
|
||||
import type {
|
||||
IMemberPaymentRepository,
|
||||
IMembershipFeeRepository,
|
||||
} from '@core/payments/domain/repositories/IMembershipFeeRepository';
|
||||
import type { IPrizeRepository } from '@core/payments/domain/repositories/IPrizeRepository';
|
||||
import type { ITransactionRepository, IWalletRepository } from '@core/payments/domain/repositories/IWalletRepository';
|
||||
} from '@core/payments/domain/repositories/MembershipFeeRepository';
|
||||
import type { IPrizeRepository } from '@core/payments/domain/repositories/PrizeRepository';
|
||||
import type { ITransactionRepository, IWalletRepository } from '@core/payments/domain/repositories/WalletRepository';
|
||||
|
||||
import { InMemoryMembershipFeeRepository, InMemoryMemberPaymentRepository } from '@adapters/payments/persistence/inmemory/InMemoryMembershipFeeRepository';
|
||||
import { InMemoryPaymentRepository } from '@adapters/payments/persistence/inmemory/InMemoryPaymentRepository';
|
||||
|
||||
@@ -4,29 +4,29 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/IDriverRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/ILeagueRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/IRaceRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/IResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/IStandingRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/ILeagueMembershipRepository';
|
||||
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/IRaceRegistrationRepository';
|
||||
import type { IPenaltyRepository } from '@core/racing/domain/repositories/IPenaltyRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/IProtestRepository';
|
||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/ISeasonRepository';
|
||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/ISeasonSponsorshipRepository';
|
||||
import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/ILeagueScoringConfigRepository';
|
||||
import type { IGameRepository } from '@core/racing/domain/repositories/IGameRepository';
|
||||
import type { ILeagueWalletRepository } from '@core/racing/domain/repositories/ILeagueWalletRepository';
|
||||
import type { ITransactionRepository } from '@core/racing/domain/repositories/ITransactionRepository';
|
||||
import type { ISponsorRepository } from '@core/racing/domain/repositories/ISponsorRepository';
|
||||
import type { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/ISponsorshipPricingRepository';
|
||||
import type { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/ISponsorshipRequestRepository';
|
||||
import type { ITeamRepository } from '@core/racing/domain/repositories/ITeamRepository';
|
||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/ITeamMembershipRepository';
|
||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/IDriverStatsRepository';
|
||||
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/ITeamStatsRepository';
|
||||
import type { IMediaRepository } from '@core/racing/domain/repositories/IMediaRepository';
|
||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||
import type { IPenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
||||
import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/LeagueScoringConfigRepository';
|
||||
import type { IGameRepository } from '@core/racing/domain/repositories/GameRepository';
|
||||
import type { ILeagueWalletRepository } from '@core/racing/domain/repositories/LeagueWalletRepository';
|
||||
import type { ITransactionRepository } from '@core/racing/domain/repositories/TransactionRepository';
|
||||
import type { ISponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
||||
import type { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
||||
import type { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
||||
import type { IMediaRepository } from '@core/racing/domain/repositories/MediaRepository';
|
||||
|
||||
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
|
||||
import type { IFeedRepository } from '@core/social/domain/repositories/IFeedRepository';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository';
|
||||
import type { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||
|
||||
import {
|
||||
InMemoryFeedRepository,
|
||||
|
||||
@@ -5,8 +5,8 @@ import type { DataSource } from 'typeorm';
|
||||
import type { Logger } from '@core/shared/application/Logger';
|
||||
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
||||
import type { NotificationGatewayRegistry } from '@core/notifications/application/ports/NotificationGateway';
|
||||
import type { INotificationRepository } from '@core/notifications/domain/repositories/INotificationRepository';
|
||||
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/INotificationPreferenceRepository';
|
||||
import type { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
||||
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/NotificationPreferenceRepository';
|
||||
|
||||
import { NotificationOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationOrmEntity';
|
||||
import { NotificationPreferenceOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationPreferenceOrmEntity';
|
||||
|
||||
@@ -4,10 +4,10 @@ import type { DataSource } from 'typeorm';
|
||||
|
||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/IPaymentRepository';
|
||||
import type { IMemberPaymentRepository, IMembershipFeeRepository } from '@core/payments/domain/repositories/IMembershipFeeRepository';
|
||||
import type { IPrizeRepository } from '@core/payments/domain/repositories/IPrizeRepository';
|
||||
import type { ITransactionRepository, IWalletRepository } from '@core/payments/domain/repositories/IWalletRepository';
|
||||
import type { IPaymentRepository } from '@core/payments/domain/repositories/PaymentRepository';
|
||||
import type { IMemberPaymentRepository, IMembershipFeeRepository } from '@core/payments/domain/repositories/MembershipFeeRepository';
|
||||
import type { IPrizeRepository } from '@core/payments/domain/repositories/PrizeRepository';
|
||||
import type { ITransactionRepository, IWalletRepository } from '@core/payments/domain/repositories/WalletRepository';
|
||||
|
||||
import { PaymentsMemberPaymentOrmEntity } from '@adapters/payments/persistence/typeorm/entities/PaymentsMemberPaymentOrmEntity';
|
||||
import { PaymentsMembershipFeeOrmEntity } from '@adapters/payments/persistence/typeorm/entities/PaymentsMembershipFeeOrmEntity';
|
||||
|
||||
@@ -10,8 +10,8 @@ import { DatabaseModule } from '../../domain/database/DatabaseModule';
|
||||
import { PostgresSocialPersistenceModule } from '../postgres/PostgresSocialPersistenceModule';
|
||||
import { SOCIAL_FEED_REPOSITORY_TOKEN, SOCIAL_GRAPH_REPOSITORY_TOKEN } from './SocialPersistenceTokens';
|
||||
|
||||
import type { IFeedRepository } from '@core/social/domain/repositories/IFeedRepository';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/ISocialGraphRepository';
|
||||
import type { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||
|
||||
import { FeedItemOrmEntity } from '@adapters/social/persistence/typeorm/entities/FeedItemOrmEntity';
|
||||
import { FriendshipOrmEntity } from '@adapters/social/persistence/typeorm/entities/FriendshipOrmEntity';
|
||||
|
||||
Reference in New Issue
Block a user