website refactor
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { ListUsersUseCase } from '@core/admin/application/use-cases/ListUsersUseCase';
|
import { ListUsersUseCase } from '@core/admin/application/use-cases/ListUsersUseCase';
|
||||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
import type { AdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
||||||
import type { Provider } from '@nestjs/common';
|
import type { Provider } from '@nestjs/common';
|
||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { InMemoryAdminPersistenceModule } from '../../persistence/inmemory/InMemoryAdminPersistenceModule';
|
import { InMemoryAdminPersistenceModule } from '../../persistence/inmemory/InMemoryAdminPersistenceModule';
|
||||||
@@ -18,14 +18,14 @@ const adminProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: ListUsersUseCase,
|
provide: ListUsersUseCase,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
repository: IAdminUserRepository,
|
repository: AdminUserRepository,
|
||||||
) => new ListUsersUseCase(repository),
|
) => new ListUsersUseCase(repository),
|
||||||
inject: [ADMIN_USER_REPOSITORY_TOKEN],
|
inject: [ADMIN_USER_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GetDashboardStatsUseCase,
|
provide: GetDashboardStatsUseCase,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
repository: IAdminUserRepository,
|
repository: AdminUserRepository,
|
||||||
) => new GetDashboardStatsUseCase(repository),
|
) => new GetDashboardStatsUseCase(repository),
|
||||||
inject: [ADMIN_USER_REPOSITORY_TOKEN],
|
inject: [ADMIN_USER_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { DashboardStatsResult } from '../use-cases/GetDashboardStatsUseCase';
|
import type { DashboardStatsResult } from '../use-cases/GetDashboardStatsUseCase';
|
||||||
|
|
||||||
export interface DashboardStatsResponse {
|
export interface DashboardStatsResponse {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { ListUsersResult } from '@core/admin/application/use-cases/ListUsersUseCase';
|
import { ListUsersResult } from '@core/admin/application/use-cases/ListUsersUseCase';
|
||||||
import type { AdminUser } from '@core/admin/domain/entities/AdminUser';
|
import type { AdminUser } from '@core/admin/domain/entities/AdminUser';
|
||||||
import { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { UserListResponseDto, UserResponseDto } from '../dtos/UserResponseDto';
|
import { UserListResponseDto, UserResponseDto } from '../dtos/UserResponseDto';
|
||||||
|
|
||||||
export type ListUsersViewModel = UserListResponseDto;
|
export type ListUsersViewModel = UserListResponseDto;
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
import type { AdminUserRepository } from '@core/admin/domain/repositories/AdminUserRepository';
|
||||||
import { AuthorizationService } from '@core/admin/domain/services/AuthorizationService';
|
import { AuthorizationService } from '@core/admin/domain/services/AuthorizationService';
|
||||||
import { UserId } from '@core/admin/domain/value-objects/UserId';
|
import { UserId } from '@core/admin/domain/value-objects/UserId';
|
||||||
import { Result } from '@core/shared/domain/Result';
|
import { Result } from '@core/shared/domain/Result';
|
||||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||||
|
import type { AdminUser } from '@core/admin/domain/entities/AdminUser';
|
||||||
|
import type { UserRole } from '@core/admin/domain/value-objects/UserRole';
|
||||||
|
|
||||||
export interface DashboardStatsResult {
|
export interface DashboardStatsResult {
|
||||||
totalUsers: number;
|
totalUsers: number;
|
||||||
@@ -44,7 +46,7 @@ export type GetDashboardStatsApplicationError = ApplicationErrorCode<GetDashboar
|
|||||||
|
|
||||||
export class GetDashboardStatsUseCase {
|
export class GetDashboardStatsUseCase {
|
||||||
constructor(
|
constructor(
|
||||||
private readonly adminUserRepo: IAdminUserRepository,
|
private readonly adminUserRepo: AdminUserRepository,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
async execute(input: GetDashboardStatsInput): Promise<Result<DashboardStatsResult, GetDashboardStatsApplicationError>> {
|
async execute(input: GetDashboardStatsInput): Promise<Result<DashboardStatsResult, GetDashboardStatsApplicationError>> {
|
||||||
@@ -73,25 +75,25 @@ export class GetDashboardStatsUseCase {
|
|||||||
|
|
||||||
// Calculate basic stats
|
// Calculate basic stats
|
||||||
const totalUsers = allUsers.length;
|
const totalUsers = allUsers.length;
|
||||||
const activeUsers = allUsers.filter(u => u.status.value === 'active').length;
|
const activeUsers = allUsers.filter((u: AdminUser) => u.status.value === 'active').length;
|
||||||
const suspendedUsers = allUsers.filter(u => u.status.value === 'suspended').length;
|
const suspendedUsers = allUsers.filter((u: AdminUser) => u.status.value === 'suspended').length;
|
||||||
const deletedUsers = allUsers.filter(u => u.status.value === 'deleted').length;
|
const deletedUsers = allUsers.filter((u: AdminUser) => u.status.value === 'deleted').length;
|
||||||
const systemAdmins = allUsers.filter(u => u.isSystemAdmin()).length;
|
const systemAdmins = allUsers.filter((u: AdminUser) => u.isSystemAdmin()).length;
|
||||||
|
|
||||||
// Recent logins (last 24 hours)
|
// Recent logins (last 24 hours)
|
||||||
const oneDayAgo = new Date();
|
const oneDayAgo = new Date();
|
||||||
oneDayAgo.setDate(oneDayAgo.getDate() - 1);
|
oneDayAgo.setDate(oneDayAgo.getDate() - 1);
|
||||||
const recentLogins = allUsers.filter(u => u.lastLoginAt && u.lastLoginAt > oneDayAgo).length;
|
const recentLogins = allUsers.filter((u: AdminUser) => u.lastLoginAt && u.lastLoginAt > oneDayAgo).length;
|
||||||
|
|
||||||
// New users today
|
// New users today
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
today.setHours(0, 0, 0, 0);
|
today.setHours(0, 0, 0, 0);
|
||||||
const newUsersToday = allUsers.filter(u => u.createdAt > today).length;
|
const newUsersToday = allUsers.filter((u: AdminUser) => u.createdAt > today).length;
|
||||||
|
|
||||||
// Role distribution
|
// Role distribution
|
||||||
const roleCounts: Record<string, number> = {};
|
const roleCounts: Record<string, number> = {};
|
||||||
allUsers.forEach(user => {
|
allUsers.forEach((user: AdminUser) => {
|
||||||
user.roles.forEach(role => {
|
user.roles.forEach((role: UserRole) => {
|
||||||
const roleValue = role.value;
|
const roleValue = role.value;
|
||||||
roleCounts[roleValue] = (roleCounts[roleValue] || 0) + 1;
|
roleCounts[roleValue] = (roleCounts[roleValue] || 0) + 1;
|
||||||
});
|
});
|
||||||
@@ -110,7 +112,7 @@ export class GetDashboardStatsUseCase {
|
|||||||
date.setDate(date.getDate() - i);
|
date.setDate(date.getDate() - i);
|
||||||
const dateStr = date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
|
const dateStr = date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
|
||||||
|
|
||||||
const count = allUsers.filter(u => {
|
const count = allUsers.filter((u: AdminUser) => {
|
||||||
const userDate = new Date(u.createdAt);
|
const userDate = new Date(u.createdAt);
|
||||||
return userDate.toDateString() === date.toDateString();
|
return userDate.toDateString() === date.toDateString();
|
||||||
}).length;
|
}).length;
|
||||||
@@ -129,12 +131,12 @@ export class GetDashboardStatsUseCase {
|
|||||||
date.setDate(date.getDate() - i);
|
date.setDate(date.getDate() - i);
|
||||||
const dateStr = date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
|
const dateStr = date.toLocaleDateString('en-US', { month: 'short', day: 'numeric' });
|
||||||
|
|
||||||
const newUsers = allUsers.filter(u => {
|
const newUsers = allUsers.filter((u: AdminUser) => {
|
||||||
const userDate = new Date(u.createdAt);
|
const userDate = new Date(u.createdAt);
|
||||||
return userDate.toDateString() === date.toDateString();
|
return userDate.toDateString() === date.toDateString();
|
||||||
}).length;
|
}).length;
|
||||||
|
|
||||||
const logins = allUsers.filter(u => {
|
const logins = allUsers.filter((u: AdminUser) => {
|
||||||
const loginDate = u.lastLoginAt;
|
const loginDate = u.lastLoginAt;
|
||||||
return loginDate && loginDate.toDateString() === date.toDateString();
|
return loginDate && loginDate.toDateString() === date.toDateString();
|
||||||
}).length;
|
}).length;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
import type { PageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
||||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
import type { EngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Provider } from '@nestjs/common';
|
import { Provider } from '@nestjs/common';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -28,13 +28,13 @@ export const AnalyticsProviders: Provider[] = [
|
|||||||
GetAnalyticsMetricsPresenter,
|
GetAnalyticsMetricsPresenter,
|
||||||
{
|
{
|
||||||
provide: RecordPageViewUseCase,
|
provide: RecordPageViewUseCase,
|
||||||
useFactory: (repo: IPageViewRepository, logger: Logger) =>
|
useFactory: (repo: PageViewRepository, logger: Logger) =>
|
||||||
new RecordPageViewUseCase(repo, logger),
|
new RecordPageViewUseCase(repo, logger),
|
||||||
inject: [ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: RecordEngagementUseCase,
|
provide: RecordEngagementUseCase,
|
||||||
useFactory: (repo: IEngagementRepository, logger: Logger) =>
|
useFactory: (repo: EngagementRepository, logger: Logger) =>
|
||||||
new RecordEngagementUseCase(repo, logger),
|
new RecordEngagementUseCase(repo, logger),
|
||||||
inject: [ANALYTICS_ENGAGEMENT_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [ANALYTICS_ENGAGEMENT_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
@@ -46,7 +46,7 @@ export const AnalyticsProviders: Provider[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GetAnalyticsMetricsUseCase,
|
provide: GetAnalyticsMetricsUseCase,
|
||||||
useFactory: (logger: Logger, repo: IPageViewRepository) =>
|
useFactory: (logger: Logger, repo: PageViewRepository) =>
|
||||||
new GetAnalyticsMetricsUseCase(logger, repo),
|
new GetAnalyticsMetricsUseCase(logger, repo),
|
||||||
inject: [LOGGER_TOKEN, ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN],
|
inject: [LOGGER_TOKEN, ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ import { LogoutUseCase } from '@core/identity/application/use-cases/LogoutUseCas
|
|||||||
import { ResetPasswordUseCase } from '@core/identity/application/use-cases/ResetPasswordUseCase';
|
import { ResetPasswordUseCase } from '@core/identity/application/use-cases/ResetPasswordUseCase';
|
||||||
import { SignupSponsorUseCase } from '@core/identity/application/use-cases/SignupSponsorUseCase';
|
import { SignupSponsorUseCase } from '@core/identity/application/use-cases/SignupSponsorUseCase';
|
||||||
import { SignupUseCase } from '@core/identity/application/use-cases/SignupUseCase';
|
import { SignupUseCase } from '@core/identity/application/use-cases/SignupUseCase';
|
||||||
import type { IMagicLinkNotificationPort } from '@core/identity/domain/ports/MagicLinkNotificationPort';
|
import type { MagicLinkNotificationPort } from '@core/identity/domain/ports/MagicLinkNotificationPort';
|
||||||
import type { IAuthRepository } from '@core/identity/domain/repositories/AuthRepository';
|
import type { AuthRepository } from '@core/identity/domain/repositories/AuthRepository';
|
||||||
import type { ICompanyRepository } from '@core/identity/domain/repositories/CompanyRepository';
|
import type { CompanyRepository } from '@core/identity/domain/repositories/CompanyRepository';
|
||||||
import type { IMagicLinkRepository } from '@core/identity/domain/repositories/MagicLinkRepository';
|
import type { MagicLinkRepository } from '@core/identity/domain/repositories/MagicLinkRepository';
|
||||||
import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
import type { PasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
AUTH_REPOSITORY_TOKEN,
|
AUTH_REPOSITORY_TOKEN,
|
||||||
@@ -66,8 +66,8 @@ export const AuthProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LOGIN_USE_CASE_TOKEN,
|
provide: LOGIN_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
authRepo: IAuthRepository,
|
authRepo: AuthRepository,
|
||||||
passwordHashing: IPasswordHashingService,
|
passwordHashing: PasswordHashingService,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new LoginUseCase(authRepo, passwordHashing, logger),
|
) => new LoginUseCase(authRepo, passwordHashing, logger),
|
||||||
inject: [AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
inject: [AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -75,8 +75,8 @@ export const AuthProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: SIGNUP_USE_CASE_TOKEN,
|
provide: SIGNUP_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
authRepo: IAuthRepository,
|
authRepo: AuthRepository,
|
||||||
passwordHashing: IPasswordHashingService,
|
passwordHashing: PasswordHashingService,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new SignupUseCase(authRepo, passwordHashing, logger),
|
) => new SignupUseCase(authRepo, passwordHashing, logger),
|
||||||
inject: [AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
inject: [AUTH_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -84,9 +84,9 @@ export const AuthProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: SIGNUP_SPONSOR_USE_CASE_TOKEN,
|
provide: SIGNUP_SPONSOR_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
authRepo: IAuthRepository,
|
authRepo: AuthRepository,
|
||||||
companyRepo: ICompanyRepository,
|
companyRepo: CompanyRepository,
|
||||||
passwordHashing: IPasswordHashingService,
|
passwordHashing: PasswordHashingService,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new SignupSponsorUseCase(authRepo, companyRepo, passwordHashing, logger),
|
) => new SignupSponsorUseCase(authRepo, companyRepo, passwordHashing, logger),
|
||||||
inject: [AUTH_REPOSITORY_TOKEN, COMPANY_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
inject: [AUTH_REPOSITORY_TOKEN, COMPANY_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -119,9 +119,9 @@ export const AuthProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: FORGOT_PASSWORD_USE_CASE_TOKEN,
|
provide: FORGOT_PASSWORD_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
authRepo: IAuthRepository,
|
authRepo: AuthRepository,
|
||||||
magicLinkRepo: IMagicLinkRepository,
|
magicLinkRepo: MagicLinkRepository,
|
||||||
notificationPort: IMagicLinkNotificationPort,
|
notificationPort: MagicLinkNotificationPort,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new ForgotPasswordUseCase(authRepo, magicLinkRepo, notificationPort, logger),
|
) => new ForgotPasswordUseCase(authRepo, magicLinkRepo, notificationPort, logger),
|
||||||
inject: [AUTH_REPOSITORY_TOKEN, MAGIC_LINK_REPOSITORY_TOKEN, MAGIC_LINK_NOTIFICATION_PORT_TOKEN, LOGGER_TOKEN],
|
inject: [AUTH_REPOSITORY_TOKEN, MAGIC_LINK_REPOSITORY_TOKEN, MAGIC_LINK_NOTIFICATION_PORT_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -129,9 +129,9 @@ export const AuthProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: RESET_PASSWORD_USE_CASE_TOKEN,
|
provide: RESET_PASSWORD_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
authRepo: IAuthRepository,
|
authRepo: AuthRepository,
|
||||||
magicLinkRepo: IMagicLinkRepository,
|
magicLinkRepo: MagicLinkRepository,
|
||||||
passwordHashing: IPasswordHashingService,
|
passwordHashing: PasswordHashingService,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new ResetPasswordUseCase(authRepo, magicLinkRepo, passwordHashing, logger),
|
) => new ResetPasswordUseCase(authRepo, magicLinkRepo, passwordHashing, logger),
|
||||||
inject: [AUTH_REPOSITORY_TOKEN, MAGIC_LINK_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
inject: [AUTH_REPOSITORY_TOKEN, MAGIC_LINK_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, LOGGER_TOKEN],
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Inject } from '@nestjs/common';
|
import { Inject } from '@nestjs/common';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ForgotPasswordUseCase,
|
ForgotPasswordUseCase,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import type { LoginResult } from '@core/identity/application/use-cases/LoginUseCase';
|
import type { LoginResult } from '@core/identity/application/use-cases/LoginUseCase';
|
||||||
import type { SignupSponsorResult } from '@core/identity/application/use-cases/SignupSponsorUseCase';
|
import type { SignupSponsorResult } from '@core/identity/application/use-cases/SignupSponsorUseCase';
|
||||||
import type { SignupResult } from '@core/identity/application/use-cases/SignupUseCase';
|
import type { SignupResult } from '@core/identity/application/use-cases/SignupUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { AuthenticatedUserDTO } from '../dtos/AuthDto';
|
import { AuthenticatedUserDTO } from '../dtos/AuthDto';
|
||||||
|
|
||||||
type AuthSessionResult = LoginResult | SignupResult | SignupSponsorResult;
|
type AuthSessionResult = LoginResult | SignupResult | SignupSponsorResult;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { LogoutResult } from '@core/identity/application/use-cases/LogoutUseCase';
|
import type { LogoutResult } from '@core/identity/application/use-cases/LogoutUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
export interface CommandResultDTO {
|
export interface CommandResultDTO {
|
||||||
success: boolean;
|
success: boolean;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ForgotPasswordResult } from '@core/identity/application/use-cases/ForgotPasswordUseCase';
|
import { ForgotPasswordResult } from '@core/identity/application/use-cases/ForgotPasswordUseCase';
|
||||||
import { UseCaseOutputPort } from '@core/shared/application';
|
import { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { ResetPasswordResult } from '@core/identity/application/use-cases/ResetPasswordUseCase';
|
import { ResetPasswordResult } from '@core/identity/application/use-cases/ResetPasswordUseCase';
|
||||||
import { UseCaseOutputPort } from '@core/shared/application';
|
import { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Inject, Module, OnModuleInit } from '@nestjs/common';
|
import { Inject, Module, OnModuleInit } from '@nestjs/common';
|
||||||
import type { EnsureInitialData } from '../../../../../adapters/bootstrap/EnsureInitialData';
|
import type { EnsureInitialData } from '../../../../../adapters/bootstrap/EnsureInitialData';
|
||||||
import { SeedDemoUsers } from '../../../../../adapters/bootstrap/SeedDemoUsers';
|
import { SeedDemoUsers } from '../../../../../adapters/bootstrap/SeedDemoUsers';
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import type { IdentitySessionPort } from '@core/identity/application/ports/Ident
|
|||||||
import { SignupWithEmailUseCase } from '@core/identity/application/use-cases/SignupWithEmailUseCase';
|
import { SignupWithEmailUseCase } from '@core/identity/application/use-cases/SignupWithEmailUseCase';
|
||||||
import {
|
import {
|
||||||
CreateAchievementUseCase,
|
CreateAchievementUseCase,
|
||||||
type IAchievementRepository,
|
type AchievementRepository,
|
||||||
} from '@core/identity/application/use-cases/achievement/CreateAchievementUseCase';
|
} from '@core/identity/application/use-cases/achievement/CreateAchievementUseCase';
|
||||||
import type { IUserRepository } from '@core/identity/domain/repositories/UserRepository';
|
import type { UserRepository } from '@core/identity/domain/repositories/UserRepository';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Provider } from '@nestjs/common';
|
import { Provider } from '@nestjs/common';
|
||||||
import { EnsureInitialData } from '../../../../../adapters/bootstrap/EnsureInitialData';
|
import { EnsureInitialData } from '../../../../../adapters/bootstrap/EnsureInitialData';
|
||||||
import { SeedDemoUsers } from '../../../../../adapters/bootstrap/SeedDemoUsers';
|
import { SeedDemoUsers } from '../../../../../adapters/bootstrap/SeedDemoUsers';
|
||||||
@@ -116,7 +116,7 @@ export const BootstrapProviders: Provider[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: USER_REPOSITORY_TOKEN,
|
provide: USER_REPOSITORY_TOKEN,
|
||||||
useFactory: (userRepository: IUserRepository) => userRepository,
|
useFactory: (userRepository: UserRepository) => userRepository,
|
||||||
inject: [IDENTITY_USER_REPOSITORY_TOKEN],
|
inject: [IDENTITY_USER_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
// Achievement repository is now provided by AchievementPersistenceModule
|
// Achievement repository is now provided by AchievementPersistenceModule
|
||||||
@@ -128,7 +128,7 @@ export const BootstrapProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: SIGNUP_USE_CASE_TOKEN,
|
provide: SIGNUP_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
userRepository: IUserRepository,
|
userRepository: UserRepository,
|
||||||
sessionPort: IdentitySessionPort,
|
sessionPort: IdentitySessionPort,
|
||||||
logger: Logger
|
logger: Logger
|
||||||
) => {
|
) => {
|
||||||
@@ -143,7 +143,7 @@ export const BootstrapProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: CREATE_ACHIEVEMENT_USE_CASE_TOKEN,
|
provide: CREATE_ACHIEVEMENT_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
achievementRepository: IAchievementRepository,
|
achievementRepository: AchievementRepository,
|
||||||
logger: Logger
|
logger: Logger
|
||||||
) => {
|
) => {
|
||||||
return new CreateAchievementUseCase(
|
return new CreateAchievementUseCase(
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ describe('Racing seed (bootstrap)', () => {
|
|||||||
assertNoDuplicateIds(seed.seasonSponsorships.map((s) => s.id));
|
assertNoDuplicateIds(seed.seasonSponsorships.map((s) => s.id));
|
||||||
assertNoDuplicateIds(seed.sponsorshipRequests.map((r) => r.id));
|
assertNoDuplicateIds(seed.sponsorshipRequests.map((r) => r.id));
|
||||||
assertNoDuplicateIds(seed.protests.map((p) => p.id));
|
assertNoDuplicateIds(seed.protests.map((p) => p.id));
|
||||||
assertNoDuplicateIds(seed.penalties.map((p) => p.id));
|
assertNoDuplicateIds(seed.penalties.map((p) => p.id.toString()));
|
||||||
assertNoDuplicateIds(seed.leagueWallets.map((w) => w.id.toString()));
|
assertNoDuplicateIds(seed.leagueWallets.map((w) => w.id.toString()));
|
||||||
assertNoDuplicateIds(seed.leagueWalletTransactions.map((t) => t.id.toString()));
|
assertNoDuplicateIds(seed.leagueWalletTransactions.map((t) => t.id.toString()));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import { Provider } from '@nestjs/common';
|
import { Provider } from '@nestjs/common';
|
||||||
|
|
||||||
// Import core interfaces
|
// Import core interfaces
|
||||||
import { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
import { DriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||||
import { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
import { LeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||||
import { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
import { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
import { RaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||||
import { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
import { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||||
import { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
import { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||||
import { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
import { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
import { FeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
||||||
import { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
import { SocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||||
|
|
||||||
import { ImageServicePort } from '@core/media/application/ports/ImageServicePort';
|
import { ImageServicePort } from '@core/media/application/ports/ImageServicePort';
|
||||||
import { DashboardOverviewUseCase } from '@core/racing/application/use-cases/DashboardOverviewUseCase';
|
import { DashboardOverviewUseCase } from '@core/racing/application/use-cases/DashboardOverviewUseCase';
|
||||||
@@ -61,15 +61,15 @@ export const DashboardProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: DASHBOARD_OVERVIEW_USE_CASE_TOKEN,
|
provide: DASHBOARD_OVERVIEW_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
resultRepo: IResultRepository,
|
resultRepo: ResultRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
standingRepo: IStandingRepository,
|
standingRepo: StandingRepository,
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
registrationRepo: IRaceRegistrationRepository,
|
registrationRepo: RaceRegistrationRepository,
|
||||||
feedRepo: IFeedRepository,
|
feedRepo: FeedRepository,
|
||||||
socialRepo: ISocialGraphRepository,
|
socialRepo: SocialGraphRepository,
|
||||||
imageService: ImageServicePort,
|
imageService: ImageServicePort,
|
||||||
) =>
|
) =>
|
||||||
new DashboardOverviewUseCase(
|
new DashboardOverviewUseCase(
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { DashboardOverviewDTO } from './dtos/DashboardOverviewDTO';
|
|||||||
import { DashboardOverviewPresenter } from './presenters/DashboardOverviewPresenter';
|
import { DashboardOverviewPresenter } from './presenters/DashboardOverviewPresenter';
|
||||||
|
|
||||||
// Core imports
|
// Core imports
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
// Tokens (standalone to avoid circular imports)
|
// Tokens (standalone to avoid circular imports)
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ import { Provider } from '@nestjs/common';
|
|||||||
// Import core interfaces
|
// Import core interfaces
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import { DriverExtendedProfileProvider } from '@core/racing/application/ports/DriverExtendedProfileProvider';
|
import { DriverExtendedProfileProvider } from '@core/racing/application/ports/DriverExtendedProfileProvider';
|
||||||
import { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
import { DriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||||
import { ILiveryRepository } from '@core/racing/domain/repositories/LiveryRepository';
|
import { LiveryRepository } from '@core/racing/domain/repositories/LiveryRepository';
|
||||||
import { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
import { RaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
import type { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
import type { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
import type { TeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
import type { TeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/domain/Logger';
|
||||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
import type { SocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||||
|
|
||||||
// Import use cases
|
// Import use cases
|
||||||
import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase';
|
import { CompleteDriverOnboardingUseCase } from '@core/racing/application/use-cases/CompleteDriverOnboardingUseCase';
|
||||||
@@ -37,10 +37,10 @@ import { InMemoryMediaRepository } from '@adapters/racing/persistence/media/InMe
|
|||||||
// Import MediaResolverAdapter
|
// Import MediaResolverAdapter
|
||||||
import { MediaResolverAdapter } from '@adapters/media/MediaResolverAdapter';
|
import { MediaResolverAdapter } from '@adapters/media/MediaResolverAdapter';
|
||||||
// Import repository tokens
|
// Import repository tokens
|
||||||
import { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
import { DriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||||
// Import use case interfaces
|
// Import use case interfaces
|
||||||
import type { IDriverStatsUseCase } from '@core/racing/application/use-cases/DriverStatsUseCase';
|
import { DriverStatsUseCase } from '@core/racing/application/use-cases/DriverStatsUseCase';
|
||||||
import type { IRankingUseCase } from '@core/racing/application/use-cases/RankingUseCase';
|
import { RankingUseCase } from '@core/racing/application/use-cases/RankingUseCase';
|
||||||
|
|
||||||
// Import presenters
|
// Import presenters
|
||||||
import { CompleteOnboardingPresenter } from './presenters/CompleteOnboardingPresenter';
|
import { CompleteOnboardingPresenter } from './presenters/CompleteOnboardingPresenter';
|
||||||
@@ -104,7 +104,7 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
DriverRegistrationStatusPresenter,
|
DriverRegistrationStatusPresenter,
|
||||||
{
|
{
|
||||||
provide: DriverPresenter,
|
provide: DriverPresenter,
|
||||||
useFactory: (driverStatsRepository: IDriverStatsRepository, mediaResolver: MediaResolverPort) => {
|
useFactory: (driverStatsRepository: DriverStatsRepository, mediaResolver: MediaResolverPort) => {
|
||||||
const presenter = new DriverPresenter(driverStatsRepository, mediaResolver);
|
const presenter = new DriverPresenter(driverStatsRepository, mediaResolver);
|
||||||
return presenter;
|
return presenter;
|
||||||
},
|
},
|
||||||
@@ -161,8 +161,8 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
{
|
{
|
||||||
provide: RANKING_SERVICE_TOKEN,
|
provide: RANKING_SERVICE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
standingRepo: IStandingRepository,
|
standingRepo: StandingRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
logger: Logger
|
logger: Logger
|
||||||
) => new RankingUseCase(standingRepo, driverRepo, logger),
|
) => new RankingUseCase(standingRepo, driverRepo, logger),
|
||||||
inject: ['IStandingRepository', DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: ['IStandingRepository', DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -170,8 +170,8 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
{
|
{
|
||||||
provide: DRIVER_STATS_SERVICE_TOKEN,
|
provide: DRIVER_STATS_SERVICE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
resultRepo: IResultRepository,
|
resultRepo: ResultRepository,
|
||||||
standingRepo: IStandingRepository,
|
standingRepo: StandingRepository,
|
||||||
logger: Logger
|
logger: Logger
|
||||||
) => new DriverStatsUseCase(resultRepo, standingRepo, logger),
|
) => new DriverStatsUseCase(resultRepo, standingRepo, logger),
|
||||||
inject: ['IResultRepository', 'IStandingRepository', LOGGER_TOKEN],
|
inject: ['IResultRepository', 'IStandingRepository', LOGGER_TOKEN],
|
||||||
@@ -206,9 +206,9 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
{
|
{
|
||||||
provide: GET_DRIVERS_LEADERBOARD_USE_CASE_TOKEN,
|
provide: GET_DRIVERS_LEADERBOARD_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
rankingUseCase: IRankingUseCase,
|
rankingUseCase: RankingUseCase,
|
||||||
driverStatsUseCase: IDriverStatsUseCase,
|
driverStatsUseCase: DriverStatsUseCase,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new GetDriversLeaderboardUseCase(
|
) => new GetDriversLeaderboardUseCase(
|
||||||
driverRepo,
|
driverRepo,
|
||||||
@@ -220,36 +220,36 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_TOTAL_DRIVERS_USE_CASE_TOKEN,
|
provide: GET_TOTAL_DRIVERS_USE_CASE_TOKEN,
|
||||||
useFactory: (driverRepo: IDriverRepository) => new GetTotalDriversUseCase(driverRepo),
|
useFactory: (driverRepo: DriverRepository) => new GetTotalDriversUseCase(driverRepo),
|
||||||
inject: [DRIVER_REPOSITORY_TOKEN],
|
inject: [DRIVER_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: COMPLETE_DRIVER_ONBOARDING_USE_CASE_TOKEN,
|
provide: COMPLETE_DRIVER_ONBOARDING_USE_CASE_TOKEN,
|
||||||
useFactory: (driverRepo: IDriverRepository, logger: Logger) => new CompleteDriverOnboardingUseCase(driverRepo, logger),
|
useFactory: (driverRepo: DriverRepository, logger: Logger) => new CompleteDriverOnboardingUseCase(driverRepo, logger),
|
||||||
inject: [DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: IS_DRIVER_REGISTERED_FOR_RACE_USE_CASE_TOKEN,
|
provide: IS_DRIVER_REGISTERED_FOR_RACE_USE_CASE_TOKEN,
|
||||||
useFactory: (registrationRepo: IRaceRegistrationRepository, logger: Logger) =>
|
useFactory: (registrationRepo: RaceRegistrationRepository, logger: Logger) =>
|
||||||
new IsDriverRegisteredForRaceUseCase(registrationRepo, logger),
|
new IsDriverRegisteredForRaceUseCase(registrationRepo, logger),
|
||||||
inject: [RACE_REGISTRATION_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [RACE_REGISTRATION_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: UPDATE_DRIVER_PROFILE_USE_CASE_TOKEN,
|
provide: UPDATE_DRIVER_PROFILE_USE_CASE_TOKEN,
|
||||||
useFactory: (driverRepo: IDriverRepository, logger: Logger) =>
|
useFactory: (driverRepo: DriverRepository, logger: Logger) =>
|
||||||
new UpdateDriverProfileUseCase(driverRepo, logger),
|
new UpdateDriverProfileUseCase(driverRepo, logger),
|
||||||
inject: [DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [DRIVER_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_PROFILE_OVERVIEW_USE_CASE_TOKEN,
|
provide: GET_PROFILE_OVERVIEW_USE_CASE_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
teamRepository: ITeamRepository,
|
teamRepository: TeamRepository,
|
||||||
teamMembershipRepository: ITeamMembershipRepository,
|
teamMembershipRepository: TeamMembershipRepository,
|
||||||
socialRepository: ISocialGraphRepository,
|
socialRepository: SocialGraphRepository,
|
||||||
driverExtendedProfileProvider: DriverExtendedProfileProvider,
|
driverExtendedProfileProvider: DriverExtendedProfileProvider,
|
||||||
driverStatsUseCase: IDriverStatsUseCase,
|
driverStatsUseCase: DriverStatsUseCase,
|
||||||
rankingUseCase: IRankingUseCase,
|
rankingUseCase: RankingUseCase,
|
||||||
) =>
|
) =>
|
||||||
new GetProfileOverviewUseCase(
|
new GetProfileOverviewUseCase(
|
||||||
driverRepo,
|
driverRepo,
|
||||||
@@ -272,13 +272,13 @@ export const DriverProviders: Provider[] = createLoggedProviders([
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_DRIVER_LIVERIES_USE_CASE_TOKEN,
|
provide: GET_DRIVER_LIVERIES_USE_CASE_TOKEN,
|
||||||
useFactory: (liveryRepository: ILiveryRepository, logger: Logger) =>
|
useFactory: (liveryRepository: LiveryRepository, logger: Logger) =>
|
||||||
new GetDriverLiveriesUseCase(liveryRepository, logger),
|
new GetDriverLiveriesUseCase(liveryRepository, logger),
|
||||||
inject: [LIVERY_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [LIVERY_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_DRIVER_USE_CASE_TOKEN,
|
provide: GET_DRIVER_USE_CASE_TOKEN,
|
||||||
useFactory: (driverRepo: IDriverRepository) => new GetDriverUseCase(driverRepo),
|
useFactory: (driverRepo: DriverRepository) => new GetDriverUseCase(driverRepo),
|
||||||
inject: [DRIVER_REPOSITORY_TOKEN],
|
inject: [DRIVER_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
], initLogger);
|
], initLogger);
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { DriverStatsPresenter } from './presenters/DriverStatsPresenter';
|
|||||||
import { GetDriverLiveriesPresenter } from './presenters/GetDriverLiveriesPresenter';
|
import { GetDriverLiveriesPresenter } from './presenters/GetDriverLiveriesPresenter';
|
||||||
|
|
||||||
// Tokens
|
// Tokens
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import {
|
import {
|
||||||
COMPLETE_DRIVER_ONBOARDING_USE_CASE_TOKEN,
|
COMPLETE_DRIVER_ONBOARDING_USE_CASE_TOKEN,
|
||||||
GET_DRIVER_LIVERIES_USE_CASE_TOKEN,
|
GET_DRIVER_LIVERIES_USE_CASE_TOKEN,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { MediaReference } from '@core/domain/media/MediaReference';
|
import { MediaReference } from '@core/domain/media/MediaReference';
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import type { Driver } from '@core/racing/domain/entities/Driver';
|
import type { Driver } from '@core/racing/domain/entities/Driver';
|
||||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
import type { DriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||||
import { Result } from '@core/shared/domain/Result';
|
import { Result } from '@core/shared/domain/Result';
|
||||||
import type { GetDriverOutputDTO } from '../dtos/GetDriverOutputDTO';
|
import type { GetDriverOutputDTO } from '../dtos/GetDriverOutputDTO';
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ export class DriverPresenter {
|
|||||||
private mediaResolver: MediaResolverPort | undefined;
|
private mediaResolver: MediaResolverPort | undefined;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly driverStatsRepository: IDriverStatsRepository,
|
private readonly driverStatsRepository: DriverStatsRepository,
|
||||||
mediaResolver?: MediaResolverPort
|
mediaResolver?: MediaResolverPort
|
||||||
) {
|
) {
|
||||||
this.mediaResolver = mediaResolver;
|
this.mediaResolver = mediaResolver;
|
||||||
|
|||||||
@@ -5,23 +5,23 @@ import * as LeagueTokens from './LeagueTokens';
|
|||||||
|
|
||||||
// Import core interfaces
|
// Import core interfaces
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
import type { DriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
import type { LeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
import type { ProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
import type { SeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
||||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
import type { SeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
||||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
import type { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
// Import concrete in-memory implementations
|
// Import concrete in-memory implementations
|
||||||
import { getLeagueScoringPresetById, listLeagueScoringPresets } from '@adapters/bootstrap/LeagueScoringPresets';
|
import { getLeagueScoringPresetById, listLeagueScoringPresets } from '@adapters/bootstrap/LeagueScoringPresets';
|
||||||
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||||
import { MediaResolverAdapter } from '@adapters/media/MediaResolverAdapter';
|
import { MediaResolverAdapter } from '@adapters/media/MediaResolverAdapter';
|
||||||
import { InMemoryLeagueStandingsRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository';
|
import { InMemoryLeagueStandingsRepository } from '@adapters/racing/persistence/inmemory/InMemoryLeagueStandingsRepository';
|
||||||
import type { ILeagueWalletRepository } from "@core/racing/domain/repositories/LeagueWalletRepository";
|
import type { LeagueWalletRepository } from "@core/racing/domain/repositories/LeagueWalletRepository";
|
||||||
import type { ITransactionRepository } from "@core/racing/domain/repositories/TransactionRepository";
|
import type { TransactionRepository } from "@core/racing/domain/repositories/TransactionRepository";
|
||||||
|
|
||||||
// Import use cases
|
// Import use cases
|
||||||
import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
||||||
@@ -205,18 +205,18 @@ export const LeagueProviders: Provider[] = [
|
|||||||
// Use cases
|
// Use cases
|
||||||
{
|
{
|
||||||
provide: GET_ALL_LEAGUES_WITH_CAPACITY_USE_CASE,
|
provide: GET_ALL_LEAGUES_WITH_CAPACITY_USE_CASE,
|
||||||
useFactory: (leagueRepo: ILeagueRepository, membershipRepo: ILeagueMembershipRepository) =>
|
useFactory: (leagueRepo: LeagueRepository, membershipRepo: LeagueMembershipRepository) =>
|
||||||
new GetAllLeaguesWithCapacityUseCase(leagueRepo, membershipRepo),
|
new GetAllLeaguesWithCapacityUseCase(leagueRepo, membershipRepo),
|
||||||
inject: [LEAGUE_REPOSITORY_TOKEN, LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
inject: [LEAGUE_REPOSITORY_TOKEN, LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_ALL_LEAGUES_WITH_CAPACITY_AND_SCORING_USE_CASE,
|
provide: GET_ALL_LEAGUES_WITH_CAPACITY_AND_SCORING_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
scoringRepo: import('@core/racing/domain/repositories/LeagueScoringConfigRepository').ILeagueScoringConfigRepository,
|
scoringRepo: import('@core/racing/domain/repositories/LeagueScoringConfigRepository').LeagueScoringConfigRepository,
|
||||||
gameRepo: import('@core/racing/domain/repositories/GameRepository').IGameRepository,
|
gameRepo: import('@core/racing/domain/repositories/GameRepository').GameRepository,
|
||||||
) =>
|
) =>
|
||||||
new GetAllLeaguesWithCapacityAndScoringUseCase(
|
new GetAllLeaguesWithCapacityAndScoringUseCase(
|
||||||
leagueRepo,
|
leagueRepo,
|
||||||
@@ -237,8 +237,8 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_STANDINGS_USE_CASE,
|
provide: GET_LEAGUE_STANDINGS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
standingRepo: IStandingRepository,
|
standingRepo: StandingRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
) => new GetLeagueStandingsUseCase(standingRepo, driverRepo),
|
) => new GetLeagueStandingsUseCase(standingRepo, driverRepo),
|
||||||
inject: [
|
inject: [
|
||||||
STANDING_REPOSITORY_TOKEN,
|
STANDING_REPOSITORY_TOKEN,
|
||||||
@@ -263,54 +263,54 @@ export const LeagueProviders: Provider[] = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_TOTAL_LEAGUES_USE_CASE,
|
provide: GET_TOTAL_LEAGUES_USE_CASE,
|
||||||
useFactory: (leagueRepo: ILeagueRepository) =>
|
useFactory: (leagueRepo: LeagueRepository) =>
|
||||||
new GetTotalLeaguesUseCase(leagueRepo),
|
new GetTotalLeaguesUseCase(leagueRepo),
|
||||||
inject: [LEAGUE_REPOSITORY_TOKEN],
|
inject: [LEAGUE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_LEAGUE_JOIN_REQUESTS_USE_CASE,
|
provide: GET_LEAGUE_JOIN_REQUESTS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new GetLeagueJoinRequestsUseCase(membershipRepo, driverRepo, leagueRepo),
|
) => new GetLeagueJoinRequestsUseCase(membershipRepo, driverRepo, leagueRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, DRIVER_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, DRIVER_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: APPROVE_LEAGUE_JOIN_REQUEST_USE_CASE,
|
provide: APPROVE_LEAGUE_JOIN_REQUEST_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new ApproveLeagueJoinRequestUseCase(membershipRepo, leagueRepo),
|
) => new ApproveLeagueJoinRequestUseCase(membershipRepo, leagueRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: REJECT_LEAGUE_JOIN_REQUEST_USE_CASE,
|
provide: REJECT_LEAGUE_JOIN_REQUEST_USE_CASE,
|
||||||
useFactory: (membershipRepo: ILeagueMembershipRepository) =>
|
useFactory: (membershipRepo: LeagueMembershipRepository) =>
|
||||||
new RejectLeagueJoinRequestUseCase(membershipRepo),
|
new RejectLeagueJoinRequestUseCase(membershipRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: REMOVE_LEAGUE_MEMBER_USE_CASE,
|
provide: REMOVE_LEAGUE_MEMBER_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
) => new RemoveLeagueMemberUseCase(membershipRepo),
|
) => new RemoveLeagueMemberUseCase(membershipRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: UPDATE_LEAGUE_MEMBER_ROLE_USE_CASE,
|
provide: UPDATE_LEAGUE_MEMBER_ROLE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
) => new UpdateLeagueMemberRoleUseCase(membershipRepo),
|
) => new UpdateLeagueMemberRoleUseCase(membershipRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_LEAGUE_OWNER_SUMMARY_USE_CASE,
|
provide: GET_LEAGUE_OWNER_SUMMARY_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueMembershipRepo: ILeagueMembershipRepository,
|
leagueMembershipRepo: LeagueMembershipRepository,
|
||||||
standingRepo: IStandingRepository,
|
standingRepo: StandingRepository,
|
||||||
) => new GetLeagueOwnerSummaryUseCase(leagueRepo, driverRepo, leagueMembershipRepo, standingRepo),
|
) => new GetLeagueOwnerSummaryUseCase(leagueRepo, driverRepo, leagueMembershipRepo, standingRepo),
|
||||||
inject: [
|
inject: [
|
||||||
LEAGUE_REPOSITORY_TOKEN,
|
LEAGUE_REPOSITORY_TOKEN,
|
||||||
@@ -322,10 +322,10 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_PROTESTS_USE_CASE,
|
provide: GET_LEAGUE_PROTESTS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
protestRepo: IProtestRepository,
|
protestRepo: ProtestRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new GetLeagueProtestsUseCase(raceRepo, protestRepo, driverRepo, leagueRepo),
|
) => new GetLeagueProtestsUseCase(raceRepo, protestRepo, driverRepo, leagueRepo),
|
||||||
inject: [
|
inject: [
|
||||||
RACE_REPOSITORY_TOKEN,
|
RACE_REPOSITORY_TOKEN,
|
||||||
@@ -341,18 +341,18 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_MEMBERSHIPS_USE_CASE,
|
provide: GET_LEAGUE_MEMBERSHIPS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new GetLeagueMembershipsUseCase(membershipRepo, driverRepo, leagueRepo),
|
) => new GetLeagueMembershipsUseCase(membershipRepo, driverRepo, leagueRepo),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, DRIVER_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, DRIVER_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GET_LEAGUE_ROSTER_MEMBERS_USE_CASE,
|
provide: GET_LEAGUE_ROSTER_MEMBERS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new GetLeagueRosterMembersUseCase(membershipRepo, driverRepo, leagueRepo),
|
) => new GetLeagueRosterMembersUseCase(membershipRepo, driverRepo, leagueRepo),
|
||||||
inject: [
|
inject: [
|
||||||
LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
||||||
@@ -363,9 +363,9 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_ROSTER_JOIN_REQUESTS_USE_CASE,
|
provide: GET_LEAGUE_ROSTER_JOIN_REQUESTS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
driverRepo: IDriverRepository,
|
driverRepo: DriverRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
) => new GetLeagueRosterJoinRequestsUseCase(membershipRepo, driverRepo, leagueRepo),
|
) => new GetLeagueRosterJoinRequestsUseCase(membershipRepo, driverRepo, leagueRepo),
|
||||||
inject: [
|
inject: [
|
||||||
LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
||||||
@@ -376,9 +376,9 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_SCHEDULE_USE_CASE,
|
provide: GET_LEAGUE_SCHEDULE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new GetLeagueScheduleUseCase(leagueRepo, seasonRepo, raceRepo, logger),
|
) => new GetLeagueScheduleUseCase(leagueRepo, seasonRepo, raceRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -391,8 +391,8 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_ADMIN_PERMISSIONS_USE_CASE,
|
provide: GET_LEAGUE_ADMIN_PERMISSIONS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
leagueMembershipRepo: ILeagueMembershipRepository,
|
leagueMembershipRepo: LeagueMembershipRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new GetLeagueAdminPermissionsUseCase(leagueRepo, leagueMembershipRepo, logger),
|
) => new GetLeagueAdminPermissionsUseCase(leagueRepo, leagueMembershipRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -404,9 +404,9 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_LEAGUE_WALLET_USE_CASE,
|
provide: GET_LEAGUE_WALLET_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
walletRepo: ILeagueWalletRepository,
|
walletRepo: LeagueWalletRepository,
|
||||||
transactionRepo: ITransactionRepository,
|
transactionRepo: TransactionRepository,
|
||||||
) => new GetLeagueWalletUseCase(leagueRepo, walletRepo, transactionRepo),
|
) => new GetLeagueWalletUseCase(leagueRepo, walletRepo, transactionRepo),
|
||||||
inject: [
|
inject: [
|
||||||
LEAGUE_REPOSITORY_TOKEN,
|
LEAGUE_REPOSITORY_TOKEN,
|
||||||
@@ -417,9 +417,9 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: WITHDRAW_FROM_LEAGUE_WALLET_USE_CASE,
|
provide: WITHDRAW_FROM_LEAGUE_WALLET_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
walletRepo: ILeagueWalletRepository,
|
walletRepo: LeagueWalletRepository,
|
||||||
transactionRepo: ITransactionRepository,
|
transactionRepo: TransactionRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new WithdrawFromLeagueWalletUseCase(leagueRepo, walletRepo, transactionRepo, logger),
|
) => new WithdrawFromLeagueWalletUseCase(leagueRepo, walletRepo, transactionRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -432,11 +432,11 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: GET_SEASON_SPONSORSHIPS_USE_CASE,
|
provide: GET_SEASON_SPONSORSHIPS_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonSponsorshipRepo: ISeasonSponsorshipRepository,
|
seasonSponsorshipRepo: SeasonSponsorshipRepository,
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
leagueMembershipRepo: ILeagueMembershipRepository,
|
leagueMembershipRepo: LeagueMembershipRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
) =>
|
) =>
|
||||||
new GetSeasonSponsorshipsUseCase(
|
new GetSeasonSponsorshipsUseCase(
|
||||||
seasonSponsorshipRepo,
|
seasonSponsorshipRepo,
|
||||||
@@ -462,7 +462,7 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: JOIN_LEAGUE_USE_CASE,
|
provide: JOIN_LEAGUE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
membershipRepo: ILeagueMembershipRepository,
|
membershipRepo: LeagueMembershipRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new JoinLeagueUseCase(membershipRepo, logger),
|
) => new JoinLeagueUseCase(membershipRepo, logger),
|
||||||
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
inject: [LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN, LOGGER_TOKEN],
|
||||||
@@ -480,8 +480,8 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LeagueTokens.CREATE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
provide: LeagueTokens.CREATE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) =>
|
) =>
|
||||||
new CreateLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger, {
|
new CreateLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger, {
|
||||||
@@ -496,8 +496,8 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LeagueTokens.UPDATE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
provide: LeagueTokens.UPDATE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new UpdateLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger),
|
) => new UpdateLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -509,8 +509,8 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LeagueTokens.DELETE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
provide: LeagueTokens.DELETE_LEAGUE_SEASON_SCHEDULE_RACE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new DeleteLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger),
|
) => new DeleteLeagueSeasonScheduleRaceUseCase(seasonRepo, raceRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -522,7 +522,7 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LeagueTokens.PUBLISH_LEAGUE_SEASON_SCHEDULE_USE_CASE,
|
provide: LeagueTokens.PUBLISH_LEAGUE_SEASON_SCHEDULE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new PublishLeagueSeasonScheduleUseCase(seasonRepo, logger),
|
) => new PublishLeagueSeasonScheduleUseCase(seasonRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
@@ -533,7 +533,7 @@ export const LeagueProviders: Provider[] = [
|
|||||||
{
|
{
|
||||||
provide: LeagueTokens.UNPUBLISH_LEAGUE_SEASON_SCHEDULE_USE_CASE,
|
provide: LeagueTokens.UNPUBLISH_LEAGUE_SEASON_SCHEDULE_USE_CASE,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
seasonRepo: ISeasonRepository,
|
seasonRepo: SeasonRepository,
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
) => new UnpublishLeagueSeasonScheduleUseCase(seasonRepo, logger),
|
) => new UnpublishLeagueSeasonScheduleUseCase(seasonRepo, logger),
|
||||||
inject: [
|
inject: [
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ import type { LeagueScoringConfigViewModel } from './presenters/LeagueScoringCon
|
|||||||
import type { LeagueScoringPresetsViewModel } from './presenters/LeagueScoringPresetsPresenter';
|
import type { LeagueScoringPresetsViewModel } from './presenters/LeagueScoringPresetsPresenter';
|
||||||
|
|
||||||
// Core imports
|
// Core imports
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
// Use cases
|
// Use cases
|
||||||
import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
import { ApproveLeagueJoinRequestUseCase } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { MediaReference } from '@core/domain/media/MediaReference';
|
import { MediaReference } from '@core/domain/media/MediaReference';
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import type { GetAllLeaguesWithCapacityAndScoringResult } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase';
|
import type { GetAllLeaguesWithCapacityAndScoringResult } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityAndScoringUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type {
|
import type {
|
||||||
AllLeaguesWithCapacityAndScoringDTO,
|
AllLeaguesWithCapacityAndScoringDTO,
|
||||||
LeagueWithCapacityAndScoringDTO,
|
LeagueWithCapacityAndScoringDTO,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetAllLeaguesWithCapacityResult } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase';
|
import type { GetAllLeaguesWithCapacityResult } from '@core/racing/application/use-cases/GetAllLeaguesWithCapacityUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { AllLeaguesWithCapacityDTO, LeagueWithCapacityDTO } from '../dtos/AllLeaguesWithCapacityDTO';
|
import { AllLeaguesWithCapacityDTO, LeagueWithCapacityDTO } from '../dtos/AllLeaguesWithCapacityDTO';
|
||||||
|
|
||||||
export class AllLeaguesWithCapacityPresenter implements UseCaseOutputPort<GetAllLeaguesWithCapacityResult> {
|
export class AllLeaguesWithCapacityPresenter implements UseCaseOutputPort<GetAllLeaguesWithCapacityResult> {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
import { ApproveLeagueJoinRequestResult } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
import { ApproveLeagueJoinRequestResult } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { ApproveLeagueJoinRequestDTO } from '../dtos/ApproveLeagueJoinRequestDTO';
|
import type { ApproveLeagueJoinRequestDTO } from '../dtos/ApproveLeagueJoinRequestDTO';
|
||||||
|
|
||||||
export class ApproveLeagueJoinRequestPresenter implements UseCaseOutputPort<ApproveLeagueJoinRequestResult> {
|
export class ApproveLeagueJoinRequestPresenter implements UseCaseOutputPort<ApproveLeagueJoinRequestResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetLeagueAdminPermissionsResult } from '@core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase';
|
import type { GetLeagueAdminPermissionsResult } from '@core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { LeagueAdminPermissionsDTO } from '../dtos/LeagueAdminPermissionsDTO';
|
import { LeagueAdminPermissionsDTO } from '../dtos/LeagueAdminPermissionsDTO';
|
||||||
|
|
||||||
export class GetLeagueAdminPermissionsPresenter implements UseCaseOutputPort<GetLeagueAdminPermissionsResult> {
|
export class GetLeagueAdminPermissionsPresenter implements UseCaseOutputPort<GetLeagueAdminPermissionsResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { GetLeagueMembershipsResult } from '@core/racing/application/use-cases/GetLeagueMembershipsUseCase';
|
import { GetLeagueMembershipsResult } from '@core/racing/application/use-cases/GetLeagueMembershipsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { LeagueMemberDTO } from '../dtos/LeagueMemberDTO';
|
import type { LeagueMemberDTO } from '../dtos/LeagueMemberDTO';
|
||||||
import { LeagueMembershipsDTO } from '../dtos/LeagueMembershipsDTO';
|
import { LeagueMembershipsDTO } from '../dtos/LeagueMembershipsDTO';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetLeagueOwnerSummaryResult } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase';
|
import type { GetLeagueOwnerSummaryResult } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { LeagueOwnerSummaryDTO } from '../dtos/LeagueOwnerSummaryDTO';
|
import { LeagueOwnerSummaryDTO } from '../dtos/LeagueOwnerSummaryDTO';
|
||||||
|
|
||||||
export class GetLeagueOwnerSummaryPresenter implements UseCaseOutputPort<GetLeagueOwnerSummaryResult> {
|
export class GetLeagueOwnerSummaryPresenter implements UseCaseOutputPort<GetLeagueOwnerSummaryResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetLeagueWalletResult } from '@core/racing/application/use-cases/GetLeagueWalletUseCase';
|
import type { GetLeagueWalletResult } from '@core/racing/application/use-cases/GetLeagueWalletUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { GetLeagueWalletOutputDTO, WalletTransactionDTO } from '../dtos/GetLeagueWalletOutputDTO';
|
import { GetLeagueWalletOutputDTO, WalletTransactionDTO } from '../dtos/GetLeagueWalletOutputDTO';
|
||||||
|
|
||||||
export class GetLeagueWalletPresenter implements UseCaseOutputPort<GetLeagueWalletResult> {
|
export class GetLeagueWalletPresenter implements UseCaseOutputPort<GetLeagueWalletResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetSeasonSponsorshipsResult } from '@core/racing/application/use-cases/GetSeasonSponsorshipsUseCase';
|
import type { GetSeasonSponsorshipsResult } from '@core/racing/application/use-cases/GetSeasonSponsorshipsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { SponsorshipDetailDTO } from '../../sponsor/dtos/SponsorshipDetailDTO';
|
import { SponsorshipDetailDTO } from '../../sponsor/dtos/SponsorshipDetailDTO';
|
||||||
import { GetSeasonSponsorshipsOutputDTO } from '../dtos/GetSeasonSponsorshipsOutputDTO';
|
import { GetSeasonSponsorshipsOutputDTO } from '../dtos/GetSeasonSponsorshipsOutputDTO';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { JoinLeagueResult } from '@core/racing/application/use-cases/JoinLeagueUseCase';
|
import type { JoinLeagueResult } from '@core/racing/application/use-cases/JoinLeagueUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { JoinLeagueOutputDTO } from '../dtos/JoinLeagueOutputDTO';
|
import type { JoinLeagueOutputDTO } from '../dtos/JoinLeagueOutputDTO';
|
||||||
|
|
||||||
export class JoinLeaguePresenter implements UseCaseOutputPort<JoinLeagueResult> {
|
export class JoinLeaguePresenter implements UseCaseOutputPort<JoinLeagueResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetLeagueFullConfigResult } from '@core/racing/application/use-cases/GetLeagueFullConfigUseCase';
|
import type { GetLeagueFullConfigResult } from '@core/racing/application/use-cases/GetLeagueFullConfigUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { LeagueConfigFormModelDTO } from '../dtos/LeagueConfigFormModelDTO';
|
import { LeagueConfigFormModelDTO } from '../dtos/LeagueConfigFormModelDTO';
|
||||||
|
|
||||||
export class LeagueConfigPresenter implements UseCaseOutputPort<GetLeagueFullConfigResult> {
|
export class LeagueConfigPresenter implements UseCaseOutputPort<GetLeagueFullConfigResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { GetLeagueJoinRequestsResult } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase';
|
import { GetLeagueJoinRequestsResult } from '@core/racing/application/use-cases/GetLeagueJoinRequestsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { LeagueJoinRequestWithDriverDTO } from '../dtos/LeagueJoinRequestWithDriverDTO';
|
import { LeagueJoinRequestWithDriverDTO } from '../dtos/LeagueJoinRequestWithDriverDTO';
|
||||||
|
|
||||||
export interface LeagueJoinRequestsViewModel {
|
export interface LeagueJoinRequestsViewModel {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { GetLeagueOwnerSummaryResult } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase';
|
import { GetLeagueOwnerSummaryResult } from '@core/racing/application/use-cases/GetLeagueOwnerSummaryUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { LeagueOwnerSummaryDTO } from '../dtos/LeagueOwnerSummaryDTO';
|
import { LeagueOwnerSummaryDTO } from '../dtos/LeagueOwnerSummaryDTO';
|
||||||
|
|
||||||
export class LeagueOwnerSummaryPresenter implements UseCaseOutputPort<GetLeagueOwnerSummaryResult> {
|
export class LeagueOwnerSummaryPresenter implements UseCaseOutputPort<GetLeagueOwnerSummaryResult> {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import type { GetLeagueRosterJoinRequestsResult } from '@core/racing/application/use-cases/GetLeagueRosterJoinRequestsUseCase';
|
import type { GetLeagueRosterJoinRequestsResult } from '@core/racing/application/use-cases/GetLeagueRosterJoinRequestsUseCase';
|
||||||
import type { GetLeagueRosterMembersResult } from '@core/racing/application/use-cases/GetLeagueRosterMembersUseCase';
|
import type { GetLeagueRosterMembersResult } from '@core/racing/application/use-cases/GetLeagueRosterMembersUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import type { DriverDTO } from '../../driver/dtos/DriverDTO';
|
import type { DriverDTO } from '../../driver/dtos/DriverDTO';
|
||||||
import type { LeagueRosterJoinRequestDTO } from '../dtos/LeagueRosterJoinRequestDTO';
|
import type { LeagueRosterJoinRequestDTO } from '../dtos/LeagueRosterJoinRequestDTO';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { GetLeagueScheduleResult } from '@core/racing/application/use-cases/GetLeagueScheduleUseCase';
|
import { GetLeagueScheduleResult } from '@core/racing/application/use-cases/GetLeagueScheduleUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { RaceDTO } from '../../race/dtos/RaceDTO';
|
import { RaceDTO } from '../../race/dtos/RaceDTO';
|
||||||
import { LeagueScheduleDTO } from '../dtos/LeagueScheduleDTO';
|
import { LeagueScheduleDTO } from '../dtos/LeagueScheduleDTO';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import type { GetLeagueScoringConfigResult } from '@core/racing/application/use-cases/GetLeagueScoringConfigUseCase';
|
import type { GetLeagueScoringConfigResult } from '@core/racing/application/use-cases/GetLeagueScoringConfigUseCase';
|
||||||
import type { BonusRule } from '@core/racing/domain/types/BonusRule';
|
import type { BonusRule } from '@core/racing/domain/types/BonusRule';
|
||||||
import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig';
|
import type { ChampionshipConfig } from '@core/racing/domain/types/ChampionshipConfig';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
export interface LeagueScoringChampionshipViewModel {
|
export interface LeagueScoringChampionshipViewModel {
|
||||||
id: string;
|
id: string;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { ListLeagueScoringPresetsResult } from '@core/racing/application/use-cases/ListLeagueScoringPresetsUseCase';
|
import type { ListLeagueScoringPresetsResult } from '@core/racing/application/use-cases/ListLeagueScoringPresetsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { LeagueScoringPresetsDTO } from '../dtos/LeagueScoringPresetsDTO';
|
import type { LeagueScoringPresetsDTO } from '../dtos/LeagueScoringPresetsDTO';
|
||||||
|
|
||||||
export type LeagueScoringPresetsViewModel = LeagueScoringPresetsDTO;
|
export type LeagueScoringPresetsViewModel = LeagueScoringPresetsDTO;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
CreateLeagueScheduleRaceOutputDTO,
|
CreateLeagueScheduleRaceOutputDTO,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { RejectLeagueJoinRequestResult } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase';
|
import type { RejectLeagueJoinRequestResult } from '@core/racing/application/use-cases/RejectLeagueJoinRequestUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { RejectJoinRequestOutputDTO } from '../dtos/RejectJoinRequestOutputDTO';
|
import type { RejectJoinRequestOutputDTO } from '../dtos/RejectJoinRequestOutputDTO';
|
||||||
|
|
||||||
export class RejectLeagueJoinRequestPresenter implements UseCaseOutputPort<RejectLeagueJoinRequestResult> {
|
export class RejectLeagueJoinRequestPresenter implements UseCaseOutputPort<RejectLeagueJoinRequestResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { RemoveLeagueMemberResult } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase';
|
import type { RemoveLeagueMemberResult } from '@core/racing/application/use-cases/RemoveLeagueMemberUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { RemoveLeagueMemberOutputDTO } from '../dtos/RemoveLeagueMemberOutputDTO';
|
import type { RemoveLeagueMemberOutputDTO } from '../dtos/RemoveLeagueMemberOutputDTO';
|
||||||
|
|
||||||
export class RemoveLeagueMemberPresenter implements UseCaseOutputPort<RemoveLeagueMemberResult> {
|
export class RemoveLeagueMemberPresenter implements UseCaseOutputPort<RemoveLeagueMemberResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { TransferLeagueOwnershipResult } from '@core/racing/application/use-cases/TransferLeagueOwnershipUseCase';
|
import type { TransferLeagueOwnershipResult } from '@core/racing/application/use-cases/TransferLeagueOwnershipUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { TransferLeagueOwnershipOutputDTO } from '../dtos/TransferLeagueOwnershipOutputDTO';
|
import type { TransferLeagueOwnershipOutputDTO } from '../dtos/TransferLeagueOwnershipOutputDTO';
|
||||||
|
|
||||||
export class TransferLeagueOwnershipPresenter implements UseCaseOutputPort<TransferLeagueOwnershipResult> {
|
export class TransferLeagueOwnershipPresenter implements UseCaseOutputPort<TransferLeagueOwnershipResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { UpdateLeagueMemberRoleResult } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase';
|
import type { UpdateLeagueMemberRoleResult } from '@core/racing/application/use-cases/UpdateLeagueMemberRoleUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { UpdateLeagueMemberRoleOutputDTO } from '../dtos/UpdateLeagueMemberRoleOutputDTO';
|
import type { UpdateLeagueMemberRoleOutputDTO } from '../dtos/UpdateLeagueMemberRoleOutputDTO';
|
||||||
|
|
||||||
export class UpdateLeagueMemberRolePresenter implements UseCaseOutputPort<UpdateLeagueMemberRoleResult> {
|
export class UpdateLeagueMemberRolePresenter implements UseCaseOutputPort<UpdateLeagueMemberRoleResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { WithdrawFromLeagueWalletResult } from '@core/racing/application/use-cases/WithdrawFromLeagueWalletUseCase';
|
import type { WithdrawFromLeagueWalletResult } from '@core/racing/application/use-cases/WithdrawFromLeagueWalletUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { WithdrawFromLeagueWalletOutputDTO } from '../dtos/WithdrawFromLeagueWalletOutputDTO';
|
import { WithdrawFromLeagueWalletOutputDTO } from '../dtos/WithdrawFromLeagueWalletOutputDTO';
|
||||||
|
|
||||||
export class WithdrawFromLeagueWalletPresenter implements UseCaseOutputPort<WithdrawFromLeagueWalletResult> {
|
export class WithdrawFromLeagueWalletPresenter implements UseCaseOutputPort<WithdrawFromLeagueWalletResult> {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { MediaReference } from '@core/domain/media/MediaReference';
|
import { MediaReference } from '@core/domain/media/MediaReference';
|
||||||
import { MediaGenerationService } from '@core/media/domain/services/MediaGenerationService';
|
import { MediaGenerationService } from '@core/media/domain/services/MediaGenerationService';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Body, Controller, Delete, Get, HttpStatus, Inject, Param, Post, Put, Res, UploadedFile, UseInterceptors } from '@nestjs/common';
|
import { Body, Controller, Delete, Get, HttpStatus, Inject, Param, Post, Put, Res, UploadedFile, UseInterceptors } from '@nestjs/common';
|
||||||
import { FileInterceptor } from '@nestjs/platform-express';
|
import { FileInterceptor } from '@nestjs/platform-express';
|
||||||
import { ApiConsumes, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger';
|
import { ApiConsumes, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger';
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { IAvatarGenerationRepository } from '@core/media/domain/repositories/Ava
|
|||||||
import { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
import { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
||||||
import { IMediaRepository } from '@core/media/domain/repositories/MediaRepository';
|
import { IMediaRepository } from '@core/media/domain/repositories/MediaRepository';
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
// Import use cases
|
// Import use cases
|
||||||
import { DeleteMediaUseCase } from '@core/media/application/use-cases/DeleteMediaUseCase';
|
import { DeleteMediaUseCase } from '@core/media/application/use-cases/DeleteMediaUseCase';
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import { RequestAvatarGenerationPresenter } from './presenters/RequestAvatarGene
|
|||||||
import { UpdateAvatarPresenter } from './presenters/UpdateAvatarPresenter';
|
import { UpdateAvatarPresenter } from './presenters/UpdateAvatarPresenter';
|
||||||
import { UploadMediaPresenter } from './presenters/UploadMediaPresenter';
|
import { UploadMediaPresenter } from './presenters/UploadMediaPresenter';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import {
|
import {
|
||||||
DELETE_MEDIA_USE_CASE_TOKEN,
|
DELETE_MEDIA_USE_CASE_TOKEN,
|
||||||
GET_AVATAR_USE_CASE_TOKEN,
|
GET_AVATAR_USE_CASE_TOKEN,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { GetAllNotificationsUseCase } from '@core/notifications/application/use-
|
|||||||
import { GetUnreadNotificationsUseCase } from '@core/notifications/application/use-cases/GetUnreadNotificationsUseCase';
|
import { GetUnreadNotificationsUseCase } from '@core/notifications/application/use-cases/GetUnreadNotificationsUseCase';
|
||||||
import { MarkNotificationReadUseCase } from '@core/notifications/application/use-cases/MarkNotificationReadUseCase';
|
import { MarkNotificationReadUseCase } from '@core/notifications/application/use-cases/MarkNotificationReadUseCase';
|
||||||
import { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
import { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Provider } from '@nestjs/common';
|
import { Provider } from '@nestjs/common';
|
||||||
import { NOTIFICATION_REPOSITORY_TOKEN } from '../../persistence/notifications/NotificationsPersistenceTokens';
|
import { NOTIFICATION_REPOSITORY_TOKEN } from '../../persistence/notifications/NotificationsPersistenceTokens';
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
// Use cases
|
// Use cases
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { CreatePaymentResult } from '@core/payments/application/use-cases/CreatePaymentUseCase';
|
import type { CreatePaymentResult } from '@core/payments/application/use-cases/CreatePaymentUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { CreatePaymentOutput } from '../dtos/PaymentsDto';
|
import type { CreatePaymentOutput } from '../dtos/PaymentsDto';
|
||||||
|
|
||||||
export class CreatePaymentPresenter implements UseCaseOutputPort<CreatePaymentResult> {
|
export class CreatePaymentPresenter implements UseCaseOutputPort<CreatePaymentResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetPaymentsResult } from '@core/payments/application/use-cases/GetPaymentsUseCase';
|
import type { GetPaymentsResult } from '@core/payments/application/use-cases/GetPaymentsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetPaymentsOutput } from '../dtos/PaymentsDto';
|
import type { GetPaymentsOutput } from '../dtos/PaymentsDto';
|
||||||
|
|
||||||
export class GetPaymentsPresenter implements UseCaseOutputPort<GetPaymentsResult> {
|
export class GetPaymentsPresenter implements UseCaseOutputPort<GetPaymentsResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { UpdatePaymentStatusResult } from '@core/payments/application/use-cases/UpdatePaymentStatusUseCase';
|
import type { UpdatePaymentStatusResult } from '@core/payments/application/use-cases/UpdatePaymentStatusUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { UpdatePaymentStatusOutput } from '../dtos/PaymentsDto';
|
import type { UpdatePaymentStatusOutput } from '../dtos/PaymentsDto';
|
||||||
|
|
||||||
export class UpdatePaymentStatusPresenter implements UseCaseOutputPort<UpdatePaymentStatusResult> {
|
export class UpdatePaymentStatusPresenter implements UseCaseOutputPort<UpdatePaymentStatusResult> {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import { Provider } from '@nestjs/common';
|
|||||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
// Import concrete in-memory implementations
|
// Import concrete in-memory implementations
|
||||||
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import type {
|
|||||||
ReviewProtestResult,
|
ReviewProtestResult,
|
||||||
ReviewProtestUseCase,
|
ReviewProtestUseCase,
|
||||||
} from '@core/racing/application/use-cases/ReviewProtestUseCase';
|
} from '@core/racing/application/use-cases/ReviewProtestUseCase';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Result } from '@core/shared/domain/Result';
|
import { Result } from '@core/shared/domain/Result';
|
||||||
import { beforeEach, describe, expect, it, vi, type MockedFunction } from 'vitest';
|
import { beforeEach, describe, expect, it, vi, type MockedFunction } from 'vitest';
|
||||||
import { ProtestsService } from './ProtestsService';
|
import { ProtestsService } from './ProtestsService';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Inject, Injectable } from '@nestjs/common';
|
import { Inject, Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
// Use cases
|
// Use cases
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { ReviewProtestApplicationError, ReviewProtestResult } from '@core/racing/application/use-cases/ReviewProtestUseCase';
|
import type { ReviewProtestApplicationError, ReviewProtestResult } from '@core/racing/application/use-cases/ReviewProtestUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
export interface ReviewProtestResponseDTO {
|
export interface ReviewProtestResponseDTO {
|
||||||
success: boolean;
|
success: boolean;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import type { IRaceRegistrationRepository } from '@core/racing/domain/repositori
|
|||||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
// Import concrete in-memory implementations
|
// Import concrete in-memory implementations
|
||||||
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { RegisterForRaceParamsDTO } from './dtos/RegisterForRaceParamsDTO';
|
|||||||
import { WithdrawFromRaceParamsDTO } from './dtos/WithdrawFromRaceParamsDTO';
|
import { WithdrawFromRaceParamsDTO } from './dtos/WithdrawFromRaceParamsDTO';
|
||||||
|
|
||||||
// Core imports
|
// Core imports
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
// Use cases
|
// Use cases
|
||||||
import { CancelRaceUseCase } from '@core/racing/application/use-cases/CancelRaceUseCase';
|
import { CancelRaceUseCase } from '@core/racing/application/use-cases/CancelRaceUseCase';
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/S
|
|||||||
import { ISponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
import { ISponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
||||||
import { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
import { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
||||||
import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
import { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import { GetSponsorBillingUseCase } from '@core/payments/application/use-cases/GetSponsorBillingUseCase';
|
import { GetSponsorBillingUseCase } from '@core/payments/application/use-cases/GetSponsorBillingUseCase';
|
||||||
import { AcceptSponsorshipRequestUseCase } from '@core/racing/application/use-cases/AcceptSponsorshipRequestUseCase';
|
import { AcceptSponsorshipRequestUseCase } from '@core/racing/application/use-cases/AcceptSponsorshipRequestUseCase';
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import type { GetSponsorUseCase } from '@core/racing/application/use-cases/GetSp
|
|||||||
import type { RejectSponsorshipRequestUseCase } from '@core/racing/application/use-cases/RejectSponsorshipRequestUseCase';
|
import type { RejectSponsorshipRequestUseCase } from '@core/racing/application/use-cases/RejectSponsorshipRequestUseCase';
|
||||||
import { Sponsor } from '@core/racing/domain/entities/sponsor/Sponsor';
|
import { Sponsor } from '@core/racing/domain/entities/sponsor/Sponsor';
|
||||||
import { Money } from '@core/racing/domain/value-objects/Money';
|
import { Money } from '@core/racing/domain/value-objects/Money';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Result } from '@core/shared/domain/Result';
|
import { Result } from '@core/shared/domain/Result';
|
||||||
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
|
import { beforeEach, describe, expect, it, Mock, vi } from 'vitest';
|
||||||
import type { CreateSponsorInputDTO } from './dtos/CreateSponsorInputDTO';
|
import type { CreateSponsorInputDTO } from './dtos/CreateSponsorInputDTO';
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import { GetSponsorsUseCase } from '@core/racing/application/use-cases/GetSponso
|
|||||||
import { GetSponsorUseCase } from '@core/racing/application/use-cases/GetSponsorUseCase';
|
import { GetSponsorUseCase } from '@core/racing/application/use-cases/GetSponsorUseCase';
|
||||||
import { RejectSponsorshipRequestUseCase } from '@core/racing/application/use-cases/RejectSponsorshipRequestUseCase';
|
import { RejectSponsorshipRequestUseCase } from '@core/racing/application/use-cases/RejectSponsorshipRequestUseCase';
|
||||||
import type { SponsorableEntityType } from '@core/racing/domain/entities/SponsorshipRequest';
|
import type { SponsorableEntityType } from '@core/racing/domain/entities/SponsorshipRequest';
|
||||||
import type { Logger } from '@core/shared/domain/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
// Tokens
|
// Tokens
|
||||||
import {
|
import {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import type { IDriverRepository } from '@core/racing/domain/repositories/DriverR
|
|||||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||||
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
// Import concrete implementations
|
// Import concrete implementations
|
||||||
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
import { ConsoleLogger } from '@adapters/logging/ConsoleLogger';
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { GetTeamJoinRequestsUseCase } from '@core/racing/application/use-cases/G
|
|||||||
import { GetTeamMembershipUseCase } from '@core/racing/application/use-cases/GetTeamMembershipUseCase';
|
import { GetTeamMembershipUseCase } from '@core/racing/application/use-cases/GetTeamMembershipUseCase';
|
||||||
import { GetTeamMembersUseCase } from '@core/racing/application/use-cases/GetTeamMembersUseCase';
|
import { GetTeamMembersUseCase } from '@core/racing/application/use-cases/GetTeamMembersUseCase';
|
||||||
import { UpdateTeamUseCase } from '@core/racing/application/use-cases/UpdateTeamUseCase';
|
import { UpdateTeamUseCase } from '@core/racing/application/use-cases/UpdateTeamUseCase';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
import { Result } from '@core/shared/domain/Result';
|
import { Result } from '@core/shared/domain/Result';
|
||||||
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
|
import { beforeEach, describe, expect, it, vi, type Mock } from 'vitest';
|
||||||
import type { CreateTeamInputDTO } from './dtos/CreateTeamInputDTO';
|
import type { CreateTeamInputDTO } from './dtos/CreateTeamInputDTO';
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import { UpdateTeamInputDTO } from './dtos/UpdateTeamInputDTO';
|
|||||||
import { UpdateTeamOutputDTO } from './dtos/UpdateTeamOutputDTO';
|
import { UpdateTeamOutputDTO } from './dtos/UpdateTeamOutputDTO';
|
||||||
|
|
||||||
// Core imports
|
// Core imports
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
// Use cases
|
// Use cases
|
||||||
import { CreateTeamInput, CreateTeamUseCase } from '@core/racing/application/use-cases/CreateTeamUseCase';
|
import { CreateTeamInput, CreateTeamUseCase } from '@core/racing/application/use-cases/CreateTeamUseCase';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { MediaReference } from '@core/domain/media/MediaReference';
|
import { MediaReference } from '@core/domain/media/MediaReference';
|
||||||
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
import type { MediaResolverPort } from '@core/ports/media/MediaResolverPort';
|
||||||
import type { GetAllTeamsResult } from '@core/racing/application/use-cases/GetAllTeamsUseCase';
|
import type { GetAllTeamsResult } from '@core/racing/application/use-cases/GetAllTeamsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { GetAllTeamsOutputDTO } from '../dtos/GetAllTeamsOutputDTO';
|
import { GetAllTeamsOutputDTO } from '../dtos/GetAllTeamsOutputDTO';
|
||||||
import { TeamListItemDTO } from '../dtos/TeamListItemDTO';
|
import { TeamListItemDTO } from '../dtos/TeamListItemDTO';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { CreateTeamResult } from '@core/racing/application/use-cases/CreateTeamUseCase';
|
import type { CreateTeamResult } from '@core/racing/application/use-cases/CreateTeamUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { CreateTeamOutputDTO } from '../dtos/CreateTeamOutputDTO';
|
import type { CreateTeamOutputDTO } from '../dtos/CreateTeamOutputDTO';
|
||||||
|
|
||||||
export class CreateTeamPresenter implements UseCaseOutputPort<CreateTeamResult> {
|
export class CreateTeamPresenter implements UseCaseOutputPort<CreateTeamResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetDriverTeamResult } from '@core/racing/application/use-cases/GetDriverTeamUseCase';
|
import type { GetDriverTeamResult } from '@core/racing/application/use-cases/GetDriverTeamUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { GetDriverTeamOutputDTO } from '../dtos/GetDriverTeamOutputDTO';
|
import { GetDriverTeamOutputDTO } from '../dtos/GetDriverTeamOutputDTO';
|
||||||
|
|
||||||
export class DriverTeamPresenter implements UseCaseOutputPort<GetDriverTeamResult> {
|
export class DriverTeamPresenter implements UseCaseOutputPort<GetDriverTeamResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetTeamDetailsResult } from '@core/racing/application/use-cases/GetTeamDetailsUseCase';
|
import type { GetTeamDetailsResult } from '@core/racing/application/use-cases/GetTeamDetailsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetTeamDetailsOutputDTO } from '../dtos/GetTeamDetailsOutputDTO';
|
import type { GetTeamDetailsOutputDTO } from '../dtos/GetTeamDetailsOutputDTO';
|
||||||
|
|
||||||
export class TeamDetailsPresenter implements UseCaseOutputPort<GetTeamDetailsResult> {
|
export class TeamDetailsPresenter implements UseCaseOutputPort<GetTeamDetailsResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetTeamJoinRequestsResult } from '@core/racing/application/use-cases/GetTeamJoinRequestsUseCase';
|
import type { GetTeamJoinRequestsResult } from '@core/racing/application/use-cases/GetTeamJoinRequestsUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetTeamJoinRequestsOutputDTO } from '../dtos/GetTeamJoinRequestsOutputDTO';
|
import type { GetTeamJoinRequestsOutputDTO } from '../dtos/GetTeamJoinRequestsOutputDTO';
|
||||||
|
|
||||||
export class TeamJoinRequestsPresenter implements UseCaseOutputPort<GetTeamJoinRequestsResult> {
|
export class TeamJoinRequestsPresenter implements UseCaseOutputPort<GetTeamJoinRequestsResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetTeamMembersResult } from '@core/racing/application/use-cases/GetTeamMembersUseCase';
|
import type { GetTeamMembersResult } from '@core/racing/application/use-cases/GetTeamMembersUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetTeamMembersOutputDTO } from '../dtos/GetTeamMembersOutputDTO';
|
import type { GetTeamMembersOutputDTO } from '../dtos/GetTeamMembersOutputDTO';
|
||||||
|
|
||||||
export class TeamMembersPresenter implements UseCaseOutputPort<GetTeamMembersResult> {
|
export class TeamMembersPresenter implements UseCaseOutputPort<GetTeamMembersResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetTeamMembershipResult } from '@core/racing/application/use-cases/GetTeamMembershipUseCase';
|
import type { GetTeamMembershipResult } from '@core/racing/application/use-cases/GetTeamMembershipUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetTeamMembershipOutputDTO } from '../dtos/GetTeamMembershipOutputDTO';
|
import type { GetTeamMembershipOutputDTO } from '../dtos/GetTeamMembershipOutputDTO';
|
||||||
|
|
||||||
export class TeamMembershipPresenter implements UseCaseOutputPort<GetTeamMembershipResult> {
|
export class TeamMembershipPresenter implements UseCaseOutputPort<GetTeamMembershipResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { GetTeamsLeaderboardResult } from '@core/racing/application/use-cases/GetTeamsLeaderboardUseCase';
|
import type { GetTeamsLeaderboardResult } from '@core/racing/application/use-cases/GetTeamsLeaderboardUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { GetTeamsLeaderboardOutputDTO } from '../dtos/GetTeamsLeaderboardOutputDTO';
|
import type { GetTeamsLeaderboardOutputDTO } from '../dtos/GetTeamsLeaderboardOutputDTO';
|
||||||
|
|
||||||
export class TeamsLeaderboardPresenter implements UseCaseOutputPort<GetTeamsLeaderboardResult> {
|
export class TeamsLeaderboardPresenter implements UseCaseOutputPort<GetTeamsLeaderboardResult> {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import type { UpdateTeamResult } from '@core/racing/application/use-cases/UpdateTeamUseCase';
|
import type { UpdateTeamResult } from '@core/racing/application/use-cases/UpdateTeamUseCase';
|
||||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import type { UpdateTeamOutputDTO } from '../dtos/UpdateTeamOutputDTO';
|
import type { UpdateTeamOutputDTO } from '../dtos/UpdateTeamOutputDTO';
|
||||||
|
|
||||||
export class UpdateTeamPresenter implements UseCaseOutputPort<UpdateTeamResult> {
|
export class UpdateTeamPresenter implements UseCaseOutputPort<UpdateTeamResult> {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import { InMemoryAchievementRepository } from '@adapters/identity/persistence/inmemory/InMemoryAchievementRepository';
|
import { InMemoryAchievementRepository } from '@adapters/identity/persistence/inmemory/InMemoryAchievementRepository';
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import type { IPageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
import type { PageViewRepository } from '@core/analytics/application/repositories/PageViewRepository';
|
||||||
import type { IAnalyticsSnapshotRepository } from '@core/analytics/domain/repositories/AnalyticsSnapshotRepository';
|
import type { AnalyticsSnapshotRepository } from '@core/analytics/domain/repositories/AnalyticsSnapshotRepository';
|
||||||
import type { IEngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
import type { EngagementRepository } from '@core/analytics/domain/repositories/EngagementRepository';
|
||||||
|
|
||||||
import { InMemoryAnalyticsSnapshotRepository } from '@adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository';
|
import { InMemoryAnalyticsSnapshotRepository } from '@adapters/analytics/persistence/inmemory/InMemoryAnalyticsSnapshotRepository';
|
||||||
import { InMemoryEngagementRepository } from '@adapters/analytics/persistence/inmemory/InMemoryEngagementRepository';
|
import { InMemoryEngagementRepository } from '@adapters/analytics/persistence/inmemory/InMemoryEngagementRepository';
|
||||||
@@ -23,17 +23,17 @@ import {
|
|||||||
providers: [
|
providers: [
|
||||||
{
|
{
|
||||||
provide: ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN,
|
provide: ANALYTICS_PAGE_VIEW_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IPageViewRepository => new InMemoryPageViewRepository(logger),
|
useFactory: (logger: Logger): PageViewRepository => new InMemoryPageViewRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: ANALYTICS_ENGAGEMENT_REPOSITORY_TOKEN,
|
provide: ANALYTICS_ENGAGEMENT_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IEngagementRepository => new InMemoryEngagementRepository(logger),
|
useFactory: (logger: Logger): EngagementRepository => new InMemoryEngagementRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: ANALYTICS_SNAPSHOT_REPOSITORY_TOKEN,
|
provide: ANALYTICS_SNAPSHOT_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IAnalyticsSnapshotRepository => new InMemoryAnalyticsSnapshotRepository(logger),
|
useFactory: (logger: Logger): AnalyticsSnapshotRepository => new InMemoryAnalyticsSnapshotRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { Module } from '@nestjs/common';
|
|||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { StoredUser } from '@core/identity/domain/repositories/UserRepository';
|
import type { StoredUser } from '@core/identity/domain/repositories/UserRepository';
|
||||||
import type { IPasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
import type { PasswordHashingService } from '@core/identity/domain/services/PasswordHashingService';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import { InMemoryAuthRepository } from '@adapters/identity/persistence/inmemory/InMemoryAuthRepository';
|
import { InMemoryAuthRepository } from '@adapters/identity/persistence/inmemory/InMemoryAuthRepository';
|
||||||
import { InMemoryCompanyRepository } from '@adapters/identity/persistence/inmemory/InMemoryCompanyRepository';
|
import { InMemoryCompanyRepository } from '@adapters/identity/persistence/inmemory/InMemoryCompanyRepository';
|
||||||
@@ -36,7 +36,7 @@ import { AUTH_REPOSITORY_TOKEN, COMPANY_REPOSITORY_TOKEN, MAGIC_LINK_REPOSITORY_
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: AUTH_REPOSITORY_TOKEN,
|
provide: AUTH_REPOSITORY_TOKEN,
|
||||||
useFactory: (userRepository: InMemoryUserRepository, passwordHashingService: IPasswordHashingService, logger: Logger) =>
|
useFactory: (userRepository: InMemoryUserRepository, passwordHashingService: PasswordHashingService, logger: Logger) =>
|
||||||
new InMemoryAuthRepository(userRepository, passwordHashingService, logger),
|
new InMemoryAuthRepository(userRepository, passwordHashingService, logger),
|
||||||
inject: [USER_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, 'Logger'],
|
inject: [USER_REPOSITORY_TOKEN, PASSWORD_HASHING_SERVICE_TOKEN, 'Logger'],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
import type { IAvatarGenerationRepository } from '@core/media/domain/repositories/AvatarGenerationRepository';
|
import type { IAvatarGenerationRepository } from '@core/media/domain/repositories/AvatarGenerationRepository';
|
||||||
import type { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
import type { IAvatarRepository } from '@core/media/domain/repositories/AvatarRepository';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
import type { NotificationGatewayRegistry } from '@core/notifications/application/ports/NotificationGateway';
|
import type { NotificationGatewayRegistry } from '@core/notifications/application/ports/NotificationGateway';
|
||||||
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
IMemberPaymentRepository,
|
IMemberPaymentRepository,
|
||||||
|
|||||||
@@ -2,31 +2,31 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
|
|
||||||
import type { IDriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
import type { DriverRepository } from '@core/racing/domain/repositories/DriverRepository';
|
||||||
import type { IDriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
import type { DriverStatsRepository } from '@core/racing/domain/repositories/DriverStatsRepository';
|
||||||
import type { IGameRepository } from '@core/racing/domain/repositories/GameRepository';
|
import type { GameRepository } from '@core/racing/domain/repositories/GameRepository';
|
||||||
import type { ILeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
import type { LeagueMembershipRepository } from '@core/racing/domain/repositories/LeagueMembershipRepository';
|
||||||
import type { ILeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
import type { LeagueRepository } from '@core/racing/domain/repositories/LeagueRepository';
|
||||||
import type { ILeagueScoringConfigRepository } from '@core/racing/domain/repositories/LeagueScoringConfigRepository';
|
import type { LeagueScoringConfigRepository } from '@core/racing/domain/repositories/LeagueScoringConfigRepository';
|
||||||
import type { ILeagueWalletRepository } from '@core/racing/domain/repositories/LeagueWalletRepository';
|
import type { LeagueWalletRepository } from '@core/racing/domain/repositories/LeagueWalletRepository';
|
||||||
import type { IMediaRepository } from '@core/racing/domain/repositories/MediaRepository';
|
import type { MediaRepository } from '@core/racing/domain/repositories/MediaRepository';
|
||||||
import type { IPenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
import type { PenaltyRepository } from '@core/racing/domain/repositories/PenaltyRepository';
|
||||||
import type { IProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
import type { ProtestRepository } from '@core/racing/domain/repositories/ProtestRepository';
|
||||||
import type { IRaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
import type { RaceRegistrationRepository } from '@core/racing/domain/repositories/RaceRegistrationRepository';
|
||||||
import type { IRaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
import type { RaceRepository } from '@core/racing/domain/repositories/RaceRepository';
|
||||||
import type { IResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
import type { ResultRepository } from '@core/racing/domain/repositories/ResultRepository';
|
||||||
import type { ISeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
import type { SeasonRepository } from '@core/racing/domain/repositories/SeasonRepository';
|
||||||
import type { ISeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
import type { SeasonSponsorshipRepository } from '@core/racing/domain/repositories/SeasonSponsorshipRepository';
|
||||||
import type { ISponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
import type { SponsorRepository } from '@core/racing/domain/repositories/SponsorRepository';
|
||||||
import type { ISponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
import type { SponsorshipPricingRepository } from '@core/racing/domain/repositories/SponsorshipPricingRepository';
|
||||||
import type { ISponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
import type { SponsorshipRequestRepository } from '@core/racing/domain/repositories/SponsorshipRequestRepository';
|
||||||
import type { IStandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
import type { StandingRepository } from '@core/racing/domain/repositories/StandingRepository';
|
||||||
import type { ITeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
import type { TeamMembershipRepository } from '@core/racing/domain/repositories/TeamMembershipRepository';
|
||||||
import type { ITeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
import type { TeamRepository } from '@core/racing/domain/repositories/TeamRepository';
|
||||||
import type { ITeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
import type { TeamStatsRepository } from '@core/racing/domain/repositories/TeamStatsRepository';
|
||||||
import type { ITransactionRepository } from '@core/racing/domain/repositories/TransactionRepository';
|
import type { TransactionRepository } from '@core/racing/domain/repositories/TransactionRepository';
|
||||||
|
|
||||||
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
|
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
|
||||||
|
|
||||||
@@ -83,22 +83,22 @@ export const MEDIA_REPOSITORY_TOKEN = 'IMediaRepository';
|
|||||||
providers: [
|
providers: [
|
||||||
{
|
{
|
||||||
provide: DRIVER_REPOSITORY_TOKEN,
|
provide: DRIVER_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IDriverRepository => new InMemoryDriverRepository(logger),
|
useFactory: (logger: Logger): DriverRepository => new InMemoryDriverRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: LEAGUE_REPOSITORY_TOKEN,
|
provide: LEAGUE_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ILeagueRepository => new InMemoryLeagueRepository(logger),
|
useFactory: (logger: Logger): LeagueRepository => new InMemoryLeagueRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: RACE_REPOSITORY_TOKEN,
|
provide: RACE_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IRaceRepository => new InMemoryRaceRepository(logger),
|
useFactory: (logger: Logger): RaceRepository => new InMemoryRaceRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: RESULT_REPOSITORY_TOKEN,
|
provide: RESULT_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger, raceRepo: IRaceRepository): IResultRepository =>
|
useFactory: (logger: Logger, raceRepo: RaceRepository): ResultRepository =>
|
||||||
new InMemoryResultRepository(logger, raceRepo),
|
new InMemoryResultRepository(logger, raceRepo),
|
||||||
inject: ['Logger', RACE_REPOSITORY_TOKEN],
|
inject: ['Logger', RACE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
@@ -106,100 +106,100 @@ export const MEDIA_REPOSITORY_TOKEN = 'IMediaRepository';
|
|||||||
provide: STANDING_REPOSITORY_TOKEN,
|
provide: STANDING_REPOSITORY_TOKEN,
|
||||||
useFactory: (
|
useFactory: (
|
||||||
logger: Logger,
|
logger: Logger,
|
||||||
resultRepo: IResultRepository,
|
resultRepo: ResultRepository,
|
||||||
raceRepo: IRaceRepository,
|
raceRepo: RaceRepository,
|
||||||
leagueRepo: ILeagueRepository,
|
leagueRepo: LeagueRepository,
|
||||||
): IStandingRepository => new InMemoryStandingRepository(logger, getPointsSystems(), resultRepo, raceRepo, leagueRepo),
|
): StandingRepository => new InMemoryStandingRepository(logger, getPointsSystems(), resultRepo, raceRepo, leagueRepo),
|
||||||
inject: ['Logger', RESULT_REPOSITORY_TOKEN, RACE_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
inject: ['Logger', RESULT_REPOSITORY_TOKEN, RACE_REPOSITORY_TOKEN, LEAGUE_REPOSITORY_TOKEN],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
provide: LEAGUE_MEMBERSHIP_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ILeagueMembershipRepository => new InMemoryLeagueMembershipRepository(logger),
|
useFactory: (logger: Logger): LeagueMembershipRepository => new InMemoryLeagueMembershipRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: RACE_REGISTRATION_REPOSITORY_TOKEN,
|
provide: RACE_REGISTRATION_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IRaceRegistrationRepository => new InMemoryRaceRegistrationRepository(logger),
|
useFactory: (logger: Logger): RaceRegistrationRepository => new InMemoryRaceRegistrationRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: TEAM_REPOSITORY_TOKEN,
|
provide: TEAM_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ITeamRepository => new InMemoryTeamRepository(logger),
|
useFactory: (logger: Logger): TeamRepository => new InMemoryTeamRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: TEAM_MEMBERSHIP_REPOSITORY_TOKEN,
|
provide: TEAM_MEMBERSHIP_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ITeamMembershipRepository => new InMemoryTeamMembershipRepository(logger),
|
useFactory: (logger: Logger): TeamMembershipRepository => new InMemoryTeamMembershipRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: PENALTY_REPOSITORY_TOKEN,
|
provide: PENALTY_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IPenaltyRepository => new InMemoryPenaltyRepository(logger),
|
useFactory: (logger: Logger): PenaltyRepository => new InMemoryPenaltyRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: PROTEST_REPOSITORY_TOKEN,
|
provide: PROTEST_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IProtestRepository => new InMemoryProtestRepository(logger),
|
useFactory: (logger: Logger): ProtestRepository => new InMemoryProtestRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: SEASON_REPOSITORY_TOKEN,
|
provide: SEASON_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ISeasonRepository => new InMemorySeasonRepository(logger),
|
useFactory: (logger: Logger): SeasonRepository => new InMemorySeasonRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: SEASON_SPONSORSHIP_REPOSITORY_TOKEN,
|
provide: SEASON_SPONSORSHIP_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ISeasonSponsorshipRepository => new InMemorySeasonSponsorshipRepository(logger),
|
useFactory: (logger: Logger): SeasonSponsorshipRepository => new InMemorySeasonSponsorshipRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: LEAGUE_SCORING_CONFIG_REPOSITORY_TOKEN,
|
provide: LEAGUE_SCORING_CONFIG_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ILeagueScoringConfigRepository => new InMemoryLeagueScoringConfigRepository(logger),
|
useFactory: (logger: Logger): LeagueScoringConfigRepository => new InMemoryLeagueScoringConfigRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: GAME_REPOSITORY_TOKEN,
|
provide: GAME_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IGameRepository => new InMemoryGameRepository(logger),
|
useFactory: (logger: Logger): GameRepository => new InMemoryGameRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: LEAGUE_WALLET_REPOSITORY_TOKEN,
|
provide: LEAGUE_WALLET_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ILeagueWalletRepository => new InMemoryLeagueWalletRepository(logger),
|
useFactory: (logger: Logger): LeagueWalletRepository => new InMemoryLeagueWalletRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: TRANSACTION_REPOSITORY_TOKEN,
|
provide: TRANSACTION_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ITransactionRepository => new InMemoryTransactionRepository(logger),
|
useFactory: (logger: Logger): TransactionRepository => new InMemoryTransactionRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: SPONSOR_REPOSITORY_TOKEN,
|
provide: SPONSOR_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ISponsorRepository => new InMemorySponsorRepository(logger),
|
useFactory: (logger: Logger): SponsorRepository => new InMemorySponsorRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: SPONSORSHIP_PRICING_REPOSITORY_TOKEN,
|
provide: SPONSORSHIP_PRICING_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ISponsorshipPricingRepository => new InMemorySponsorshipPricingRepository(logger),
|
useFactory: (logger: Logger): SponsorshipPricingRepository => new InMemorySponsorshipPricingRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: SPONSORSHIP_REQUEST_REPOSITORY_TOKEN,
|
provide: SPONSORSHIP_REQUEST_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ISponsorshipRequestRepository => new InMemorySponsorshipRequestRepository(logger),
|
useFactory: (logger: Logger): SponsorshipRequestRepository => new InMemorySponsorshipRequestRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: DRIVER_STATS_REPOSITORY_TOKEN,
|
provide: DRIVER_STATS_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IDriverStatsRepository => new InMemoryDriverStatsRepository(logger),
|
useFactory: (logger: Logger): DriverStatsRepository => new InMemoryDriverStatsRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: TEAM_STATS_REPOSITORY_TOKEN,
|
provide: TEAM_STATS_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): ITeamStatsRepository => new InMemoryTeamStatsRepository(logger),
|
useFactory: (logger: Logger): TeamStatsRepository => new InMemoryTeamStatsRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: MEDIA_REPOSITORY_TOKEN,
|
provide: MEDIA_REPOSITORY_TOKEN,
|
||||||
useFactory: (logger: Logger): IMediaRepository => new InMemoryMediaRepository(logger),
|
useFactory: (logger: Logger): MediaRepository => new InMemoryMediaRepository(logger),
|
||||||
inject: ['Logger'],
|
inject: ['Logger'],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common';
|
|||||||
|
|
||||||
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
import { LoggingModule } from '../../domain/logging/LoggingModule';
|
||||||
|
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
import type { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
import type { IFeedRepository } from '@core/social/domain/repositories/FeedRepository';
|
||||||
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
import type { ISocialGraphRepository } from '@core/social/domain/repositories/SocialGraphRepository';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP';
|
||||||
import { Module } from '@nestjs/common';
|
import { Module } from '@nestjs/common';
|
||||||
import { TypeOrmModule, getDataSourceToken } from '@nestjs/typeorm';
|
import { TypeOrmModule, getDataSourceToken } from '@nestjs/typeorm';
|
||||||
import type { DataSource } from 'typeorm';
|
import type { DataSource } from 'typeorm';
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import type { NotificationGatewayRegistry } from '@core/notifications/applicatio
|
|||||||
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
import type { NotificationService } from '@core/notifications/application/ports/NotificationService';
|
||||||
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/NotificationPreferenceRepository';
|
import type { INotificationPreferenceRepository } from '@core/notifications/domain/repositories/NotificationPreferenceRepository';
|
||||||
import type { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
import type { INotificationRepository } from '@core/notifications/domain/repositories/NotificationRepository';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
import { NotificationOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationOrmEntity';
|
import { NotificationOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationOrmEntity';
|
||||||
import { NotificationPreferenceOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationPreferenceOrmEntity';
|
import { NotificationPreferenceOrmEntity } from '@adapters/notifications/persistence/typeorm/entities/NotificationPreferenceOrmEntity';
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ import { TeamMembershipOrmMapper, TeamOrmMapper } from '@adapters/racing/persist
|
|||||||
import { TeamStatsOrmMapper } from '@adapters/racing/persistence/typeorm/mappers/TeamStatsOrmMapper';
|
import { TeamStatsOrmMapper } from '@adapters/racing/persistence/typeorm/mappers/TeamStatsOrmMapper';
|
||||||
|
|
||||||
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
|
import { getPointsSystems } from '@adapters/bootstrap/PointsSystems';
|
||||||
import type { Logger } from '@core/shared/application/Logger';
|
import type { Logger } from '@core/shared/application/UseCaseOutputPort/UseCaseOutputPort/UseCaseOutputPort_TEMP_TEMP/Logger';
|
||||||
|
|
||||||
const RACING_POINTS_SYSTEMS_TOKEN = 'RACING_POINTS_SYSTEMS_TOKEN';
|
const RACING_POINTS_SYSTEMS_TOKEN = 'RACING_POINTS_SYSTEMS_TOKEN';
|
||||||
|
|
||||||
|
|||||||
195
tsc_output.txt
Normal file
195
tsc_output.txt
Normal file
@@ -0,0 +1,195 @@
|
|||||||
|
adapters/bootstrap/SeedDemoUsers.ts(6,1): error TS6133: 'UserRepository' is declared but its value is never read.
|
||||||
|
apps/api/src/domain/admin/AdminModule.ts(2,15): error TS2724: '"@core/admin/domain/repositories/AdminUserRepository"' has no exported member named 'IAdminUserRepository'. Did you mean 'AdminUserRepository'?
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(1,15): error TS2724: '"@core/admin/domain/repositories/AdminUserRepository"' has no exported member named 'IAdminUserRepository'. Did you mean 'AdminUserRepository'?
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(76,43): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(77,46): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(78,44): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(79,44): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(84,44): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(89,45): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(93,24): error TS7006: Parameter 'user' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(94,28): error TS7006: Parameter 'role' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(113,39): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(132,42): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/admin/use-cases/GetDashboardStatsUseCase.ts(137,40): error TS7006: Parameter 'u' implicitly has an 'any' type.
|
||||||
|
apps/api/src/domain/analytics/AnalyticsProviders.ts(1,15): error TS2724: '"@core/analytics/application/repositories/PageViewRepository"' has no exported member named 'IPageViewRepository'. Did you mean 'PageViewRepository'?
|
||||||
|
apps/api/src/domain/analytics/AnalyticsProviders.ts(2,15): error TS2724: '"@core/analytics/domain/repositories/EngagementRepository"' has no exported member named 'IEngagementRepository'. Did you mean 'EngagementRepository'?
|
||||||
|
apps/api/src/domain/auth/AuthProviders.ts(11,15): error TS2724: '"@core/identity/domain/ports/MagicLinkNotificationPort"' has no exported member named 'IMagicLinkNotificationPort'. Did you mean 'MagicLinkNotificationPort'?
|
||||||
|
apps/api/src/domain/auth/AuthProviders.ts(12,15): error TS2724: '"@core/identity/domain/repositories/AuthRepository"' has no exported member named 'IAuthRepository'. Did you mean 'AuthRepository'?
|
||||||
|
apps/api/src/domain/auth/AuthProviders.ts(13,15): error TS2724: '"@core/identity/domain/repositories/CompanyRepository"' has no exported member named 'ICompanyRepository'. Did you mean 'CompanyRepository'?
|
||||||
|
apps/api/src/domain/auth/AuthProviders.ts(14,15): error TS2724: '"@core/identity/domain/repositories/MagicLinkRepository"' has no exported member named 'IMagicLinkRepository'. Did you mean 'MagicLinkRepository'?
|
||||||
|
apps/api/src/domain/auth/AuthProviders.ts(15,15): error TS2724: '"@core/identity/domain/services/PasswordHashingService"' has no exported member named 'IPasswordHashingService'. Did you mean 'PasswordHashingService'?
|
||||||
|
apps/api/src/domain/auth/presenters/ForgotPasswordPresenter.ts(2,35): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/auth/presenters/ResetPasswordPresenter.ts(2,35): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/bootstrap/BootstrapProviders.ts(5,10): error TS2724: '"@core/identity/application/use-cases/achievement/CreateAchievementUseCase"' has no exported member named 'IAchievementRepository'. Did you mean 'AchievementRepository'?
|
||||||
|
apps/api/src/domain/bootstrap/BootstrapProviders.ts(7,15): error TS2724: '"@core/identity/domain/repositories/UserRepository"' has no exported member named 'IUserRepository'. Did you mean 'UserRepository'?
|
||||||
|
apps/api/src/domain/bootstrap/RacingSeed.test.ts(227,26): error TS2345: Argument of type 'PenaltyId[]' is not assignable to parameter of type 'string[]'.
|
||||||
|
Type 'PenaltyId' is not assignable to type 'string'.
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(4,10): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(5,10): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(6,10): error TS2724: '"@core/racing/domain/repositories/LeagueRepository"' has no exported member named 'ILeagueRepository'. Did you mean 'LeagueRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(7,10): error TS2724: '"@core/racing/domain/repositories/RaceRegistrationRepository"' has no exported member named 'IRaceRegistrationRepository'. Did you mean 'RaceRegistrationRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(8,10): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(9,10): error TS2724: '"@core/racing/domain/repositories/ResultRepository"' has no exported member named 'IResultRepository'. Did you mean 'ResultRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(10,10): error TS2724: '"@core/racing/domain/repositories/StandingRepository"' has no exported member named 'IStandingRepository'. Did you mean 'StandingRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(11,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(12,10): error TS2724: '"@core/social/domain/repositories/FeedRepository"' has no exported member named 'IFeedRepository'. Did you mean 'FeedRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardProviders.ts(13,10): error TS2724: '"@core/social/domain/repositories/SocialGraphRepository"' has no exported member named 'ISocialGraphRepository'. Did you mean 'SocialGraphRepository'?
|
||||||
|
apps/api/src/domain/dashboard/DashboardService.ts(7,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(6,10): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(7,10): error TS2724: '"@core/racing/domain/repositories/LiveryRepository"' has no exported member named 'ILiveryRepository'. Did you mean 'LiveryRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(8,10): error TS2724: '"@core/racing/domain/repositories/RaceRegistrationRepository"' has no exported member named 'IRaceRegistrationRepository'. Did you mean 'RaceRegistrationRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(9,15): error TS2724: '"@core/racing/domain/repositories/ResultRepository"' has no exported member named 'IResultRepository'. Did you mean 'ResultRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(10,15): error TS2724: '"@core/racing/domain/repositories/StandingRepository"' has no exported member named 'IStandingRepository'. Did you mean 'StandingRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(11,15): error TS2724: '"@core/racing/domain/repositories/TeamMembershipRepository"' has no exported member named 'ITeamMembershipRepository'. Did you mean 'TeamMembershipRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(12,15): error TS2724: '"@core/racing/domain/repositories/TeamRepository"' has no exported member named 'ITeamRepository'. Did you mean 'TeamRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(14,15): error TS2724: '"@core/social/domain/repositories/SocialGraphRepository"' has no exported member named 'ISocialGraphRepository'. Did you mean 'SocialGraphRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(40,10): error TS2724: '"@core/racing/domain/repositories/DriverStatsRepository"' has no exported member named 'IDriverStatsRepository'. Did you mean 'DriverStatsRepository'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(42,15): error TS2724: '"@core/racing/application/use-cases/DriverStatsUseCase"' has no exported member named 'IDriverStatsUseCase'. Did you mean 'DriverStatsUseCase'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(43,15): error TS2724: '"@core/racing/application/use-cases/RankingUseCase"' has no exported member named 'IRankingUseCase'. Did you mean 'RankingUseCase'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(167,14): error TS2552: Cannot find name 'RankingUseCase'. Did you mean 'IRankingUseCase'?
|
||||||
|
apps/api/src/domain/driver/DriverProviders.ts(176,14): error TS2552: Cannot find name 'DriverStatsUseCase'. Did you mean 'IDriverStatsUseCase'?
|
||||||
|
apps/api/src/domain/driver/presenters/DriverPresenter.ts(4,15): error TS2724: '"@core/racing/domain/repositories/DriverStatsRepository"' has no exported member named 'IDriverStatsRepository'. Did you mean 'DriverStatsRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(8,15): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(9,15): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(10,15): error TS2724: '"@core/racing/domain/repositories/LeagueRepository"' has no exported member named 'ILeagueRepository'. Did you mean 'LeagueRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(11,15): error TS2724: '"@core/racing/domain/repositories/ProtestRepository"' has no exported member named 'IProtestRepository'. Did you mean 'ProtestRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(12,15): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(13,15): error TS2724: '"@core/racing/domain/repositories/SeasonRepository"' has no exported member named 'ISeasonRepository'. Did you mean 'SeasonRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(14,15): error TS2724: '"@core/racing/domain/repositories/SeasonSponsorshipRepository"' has no exported member named 'ISeasonSponsorshipRepository'. Did you mean 'SeasonSponsorshipRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(15,15): error TS2724: '"@core/racing/domain/repositories/StandingRepository"' has no exported member named 'IStandingRepository'. Did you mean 'StandingRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(16,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(23,15): error TS2724: '"@core/racing/domain/repositories/LeagueWalletRepository"' has no exported member named 'ILeagueWalletRepository'. Did you mean 'LeagueWalletRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(24,15): error TS2724: '"@core/racing/domain/repositories/TransactionRepository"' has no exported member named 'ITransactionRepository'. Did you mean 'TransactionRepository'?
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(218,93): error TS2694: Namespace '"/Users/marcmintel/Projects/gridpilot/core/racing/domain/repositories/LeagueScoringConfigRepository"' has no exported member 'ILeagueScoringConfigRepository'.
|
||||||
|
apps/api/src/domain/league/LeagueProviders.ts(219,75): error TS2694: Namespace '"/Users/marcmintel/Projects/gridpilot/core/racing/domain/repositories/GameRepository"' has no exported member 'IGameRepository'.
|
||||||
|
apps/api/src/domain/league/presenters/ApproveLeagueJoinRequestPresenter.ts(3,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/GetLeagueAdminPermissionsPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/GetLeagueMembershipsPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/GetLeagueOwnerSummaryPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/GetLeagueWalletPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/LeagueJoinRequestsPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/LeagueOwnerSummaryPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/LeagueRosterAdminReadPresenters.ts(3,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/LeagueSchedulePresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/LeagueSeasonScheduleMutationPresenters.ts(1,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/league/presenters/WithdrawFromLeagueWalletPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/media/MediaController.ts(3,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/media/MediaProviders.ts(7,10): error TS2724: '"@core/media/domain/repositories/AvatarGenerationRepository"' has no exported member named 'IAvatarGenerationRepository'. Did you mean 'AvatarGenerationRepository'?
|
||||||
|
apps/api/src/domain/media/MediaProviders.ts(8,10): error TS2724: '"@core/media/domain/repositories/AvatarRepository"' has no exported member named 'IAvatarRepository'. Did you mean 'AvatarRepository'?
|
||||||
|
apps/api/src/domain/media/MediaProviders.ts(9,10): error TS2724: '"@core/media/domain/repositories/MediaRepository"' has no exported member named 'IMediaRepository'. Did you mean 'MediaRepository'?
|
||||||
|
apps/api/src/domain/notifications/NotificationsProviders.ts(5,10): error TS2724: '"@core/notifications/domain/repositories/NotificationRepository"' has no exported member named 'INotificationRepository'. Did you mean 'NotificationRepository'?
|
||||||
|
apps/api/src/domain/notifications/NotificationsProviders.ts(6,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(4,15): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMemberPaymentRepository'. Did you mean 'MemberPaymentRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(4,41): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMembershipFeeRepository'. Did you mean 'MembershipFeeRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(5,15): error TS2724: '"@core/payments/domain/repositories/PaymentRepository"' has no exported member named 'IPaymentRepository'. Did you mean 'PaymentRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(6,15): error TS2724: '"@core/payments/domain/repositories/PrizeRepository"' has no exported member named 'IPrizeRepository'. Did you mean 'PrizeRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(7,15): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'ITransactionRepository'. Did you mean 'TransactionRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsProviders.ts(7,39): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'IWalletRepository'. Did you mean 'WalletRepository'?
|
||||||
|
apps/api/src/domain/payments/PaymentsService.ts(1,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/payments/presenters/CreatePaymentPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/payments/presenters/GetPaymentsPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/payments/presenters/UpdatePaymentStatusPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/protests/presenters/ReviewProtestPresenter.ts(2,40): error TS2307: Cannot find module '@core/shared/application' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/protests/ProtestsProviders.ts(4,15): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/domain/protests/ProtestsProviders.ts(5,15): error TS2724: '"@core/racing/domain/repositories/ProtestRepository"' has no exported member named 'IProtestRepository'. Did you mean 'ProtestRepository'?
|
||||||
|
apps/api/src/domain/protests/ProtestsProviders.ts(6,15): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/domain/protests/ProtestsProviders.ts(7,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/protests/ProtestsService.test.ts(6,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/protests/ProtestsService.ts(1,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/race/presenters/RaceDetailPresenter.ts(2,15): error TS2724: '"@core/racing/application/ports/ImageServicePort"' has no exported member named 'IImageServicePort'. Did you mean 'ImageServicePort'?
|
||||||
|
apps/api/src/domain/race/presenters/RacePenaltiesPresenter.ts(15,74): error TS2352: Conversion of type '{ id: PenaltyId; driverId: string; type: string; value: number; reason: string; issuedBy: string; issuedAt: string; notes: string | undefined; }' to type 'RacePenaltyDTO' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
|
||||||
|
Types of property 'id' are incompatible.
|
||||||
|
Type 'PenaltyId' is not comparable to type 'string'.
|
||||||
|
apps/api/src/domain/race/presenters/RaceResultsDetailPresenter.ts(1,15): error TS2724: '"@core/racing/application/ports/ImageServicePort"' has no exported member named 'IImageServicePort'. Did you mean 'ImageServicePort'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(5,15): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(6,15): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(7,15): error TS2724: '"@core/racing/domain/repositories/LeagueRepository"' has no exported member named 'ILeagueRepository'. Did you mean 'LeagueRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(8,15): error TS2724: '"@core/racing/domain/repositories/PenaltyRepository"' has no exported member named 'IPenaltyRepository'. Did you mean 'PenaltyRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(9,15): error TS2724: '"@core/racing/domain/repositories/ProtestRepository"' has no exported member named 'IProtestRepository'. Did you mean 'ProtestRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(10,15): error TS2724: '"@core/racing/domain/repositories/RaceRegistrationRepository"' has no exported member named 'IRaceRegistrationRepository'. Did you mean 'RaceRegistrationRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(11,15): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(12,15): error TS2724: '"@core/racing/domain/repositories/ResultRepository"' has no exported member named 'IResultRepository'. Did you mean 'ResultRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(13,15): error TS2724: '"@core/racing/domain/repositories/StandingRepository"' has no exported member named 'IStandingRepository'. Did you mean 'StandingRepository'?
|
||||||
|
apps/api/src/domain/race/RaceProviders.ts(14,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/race/RaceService.ts(11,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(6,15): error TS2724: '"@core/payments/domain/repositories/PaymentRepository"' has no exported member named 'IPaymentRepository'. Did you mean 'PaymentRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(7,15): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'IWalletRepository'. Did you mean 'WalletRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(8,10): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(9,10): error TS2724: '"@core/racing/domain/repositories/LeagueRepository"' has no exported member named 'ILeagueRepository'. Did you mean 'LeagueRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(10,10): error TS2724: '"@core/racing/domain/repositories/LeagueWalletRepository"' has no exported member named 'ILeagueWalletRepository'. Did you mean 'LeagueWalletRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(11,10): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(12,10): error TS2724: '"@core/racing/domain/repositories/SeasonRepository"' has no exported member named 'ISeasonRepository'. Did you mean 'SeasonRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(13,10): error TS2724: '"@core/racing/domain/repositories/SeasonSponsorshipRepository"' has no exported member named 'ISeasonSponsorshipRepository'. Did you mean 'SeasonSponsorshipRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(14,10): error TS2724: '"@core/racing/domain/repositories/SponsorRepository"' has no exported member named 'ISponsorRepository'. Did you mean 'SponsorRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(15,10): error TS2724: '"@core/racing/domain/repositories/SponsorshipPricingRepository"' has no exported member named 'ISponsorshipPricingRepository'. Did you mean 'SponsorshipPricingRepository'?
|
||||||
|
apps/api/src/domain/sponsor/SponsorProviders.ts(16,10): error TS2724: '"@core/racing/domain/repositories/SponsorshipRequestRepository"' has no exported member named 'ISponsorshipRequestRepository'. Did you mean 'SponsorshipRequestRepository'?
|
||||||
|
apps/api/src/domain/team/TeamProviders.ts(33,15): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/domain/team/TeamProviders.ts(34,15): error TS2724: '"@core/racing/domain/repositories/TeamMembershipRepository"' has no exported member named 'ITeamMembershipRepository'. Did you mean 'TeamMembershipRepository'?
|
||||||
|
apps/api/src/domain/team/TeamProviders.ts(35,15): error TS2724: '"@core/racing/domain/repositories/TeamRepository"' has no exported member named 'ITeamRepository'. Did you mean 'TeamRepository'?
|
||||||
|
apps/api/src/domain/team/TeamProviders.ts(36,15): error TS2724: '"@core/racing/domain/repositories/TeamStatsRepository"' has no exported member named 'ITeamStatsRepository'. Did you mean 'TeamStatsRepository'?
|
||||||
|
apps/api/src/domain/team/TeamProviders.ts(37,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/team/TeamService.test.ts(9,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/domain/team/TeamService.ts(14,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/achievement/AchievementPersistenceModule.test.ts(1,15): error TS2724: '"@core/identity/domain/repositories/AchievementRepository"' has no exported member named 'IAchievementRepository'. Did you mean 'AchievementRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryAchievementPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryAnalyticsPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryAnalyticsPersistenceModule.ts(7,15): error TS2724: '"@core/analytics/application/repositories/PageViewRepository"' has no exported member named 'IPageViewRepository'. Did you mean 'PageViewRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryAnalyticsPersistenceModule.ts(8,15): error TS2724: '"@core/analytics/domain/repositories/AnalyticsSnapshotRepository"' has no exported member named 'IAnalyticsSnapshotRepository'. Did you mean 'AnalyticsSnapshotRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryAnalyticsPersistenceModule.ts(9,15): error TS2724: '"@core/analytics/domain/repositories/EngagementRepository"' has no exported member named 'IEngagementRepository'. Did you mean 'EngagementRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryIdentityPersistenceModule.ts(6,15): error TS2724: '"@core/identity/domain/services/PasswordHashingService"' has no exported member named 'IPasswordHashingService'. Did you mean 'PasswordHashingService'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryIdentityPersistenceModule.ts(7,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryMediaPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryMediaPersistenceModule.ts(7,15): error TS2724: '"@core/media/domain/repositories/AvatarGenerationRepository"' has no exported member named 'IAvatarGenerationRepository'. Did you mean 'AvatarGenerationRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryMediaPersistenceModule.ts(8,15): error TS2724: '"@core/media/domain/repositories/AvatarRepository"' has no exported member named 'IAvatarRepository'. Did you mean 'AvatarRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryMediaPersistenceModule.ts(9,15): error TS2724: '"@core/media/domain/repositories/MediaRepository"' has no exported member named 'IMediaRepository'. Did you mean 'MediaRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryNotificationsPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryNotificationsPersistenceModule.ts(9,15): error TS2724: '"@core/notifications/domain/repositories/NotificationPreferenceRepository"' has no exported member named 'INotificationPreferenceRepository'. Did you mean 'NotificationPreferenceRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryNotificationsPersistenceModule.ts(10,15): error TS2724: '"@core/notifications/domain/repositories/NotificationRepository"' has no exported member named 'INotificationRepository'. Did you mean 'NotificationRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(8,5): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMemberPaymentRepository'. Did you mean 'MemberPaymentRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(9,5): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMembershipFeeRepository'. Did you mean 'MembershipFeeRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(11,15): error TS2724: '"@core/payments/domain/repositories/PaymentRepository"' has no exported member named 'IPaymentRepository'. Did you mean 'PaymentRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(12,15): error TS2724: '"@core/payments/domain/repositories/PrizeRepository"' has no exported member named 'IPrizeRepository'. Did you mean 'PrizeRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(13,15): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'ITransactionRepository'. Did you mean 'TransactionRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryPaymentsPersistenceModule.ts(13,39): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'IWalletRepository'. Did you mean 'WalletRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(7,15): error TS2724: '"@core/racing/domain/repositories/DriverRepository"' has no exported member named 'IDriverRepository'. Did you mean 'DriverRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(8,15): error TS2724: '"@core/racing/domain/repositories/DriverStatsRepository"' has no exported member named 'IDriverStatsRepository'. Did you mean 'DriverStatsRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(9,15): error TS2724: '"@core/racing/domain/repositories/GameRepository"' has no exported member named 'IGameRepository'. Did you mean 'GameRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(10,15): error TS2724: '"@core/racing/domain/repositories/LeagueMembershipRepository"' has no exported member named 'ILeagueMembershipRepository'. Did you mean 'LeagueMembershipRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(11,15): error TS2724: '"@core/racing/domain/repositories/LeagueRepository"' has no exported member named 'ILeagueRepository'. Did you mean 'LeagueRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(12,15): error TS2724: '"@core/racing/domain/repositories/LeagueScoringConfigRepository"' has no exported member named 'ILeagueScoringConfigRepository'. Did you mean 'LeagueScoringConfigRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(13,15): error TS2724: '"@core/racing/domain/repositories/LeagueWalletRepository"' has no exported member named 'ILeagueWalletRepository'. Did you mean 'LeagueWalletRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(14,15): error TS2724: '"@core/racing/domain/repositories/MediaRepository"' has no exported member named 'IMediaRepository'. Did you mean 'MediaRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(15,15): error TS2724: '"@core/racing/domain/repositories/PenaltyRepository"' has no exported member named 'IPenaltyRepository'. Did you mean 'PenaltyRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(16,15): error TS2724: '"@core/racing/domain/repositories/ProtestRepository"' has no exported member named 'IProtestRepository'. Did you mean 'ProtestRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(17,15): error TS2724: '"@core/racing/domain/repositories/RaceRegistrationRepository"' has no exported member named 'IRaceRegistrationRepository'. Did you mean 'RaceRegistrationRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(18,15): error TS2724: '"@core/racing/domain/repositories/RaceRepository"' has no exported member named 'IRaceRepository'. Did you mean 'RaceRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(19,15): error TS2724: '"@core/racing/domain/repositories/ResultRepository"' has no exported member named 'IResultRepository'. Did you mean 'ResultRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(20,15): error TS2724: '"@core/racing/domain/repositories/SeasonRepository"' has no exported member named 'ISeasonRepository'. Did you mean 'SeasonRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(21,15): error TS2724: '"@core/racing/domain/repositories/SeasonSponsorshipRepository"' has no exported member named 'ISeasonSponsorshipRepository'. Did you mean 'SeasonSponsorshipRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(22,15): error TS2724: '"@core/racing/domain/repositories/SponsorRepository"' has no exported member named 'ISponsorRepository'. Did you mean 'SponsorRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(23,15): error TS2724: '"@core/racing/domain/repositories/SponsorshipPricingRepository"' has no exported member named 'ISponsorshipPricingRepository'. Did you mean 'SponsorshipPricingRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(24,15): error TS2724: '"@core/racing/domain/repositories/SponsorshipRequestRepository"' has no exported member named 'ISponsorshipRequestRepository'. Did you mean 'SponsorshipRequestRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(25,15): error TS2724: '"@core/racing/domain/repositories/StandingRepository"' has no exported member named 'IStandingRepository'. Did you mean 'StandingRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(26,15): error TS2724: '"@core/racing/domain/repositories/TeamMembershipRepository"' has no exported member named 'ITeamMembershipRepository'. Did you mean 'TeamMembershipRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(27,15): error TS2724: '"@core/racing/domain/repositories/TeamRepository"' has no exported member named 'ITeamRepository'. Did you mean 'TeamRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(28,15): error TS2724: '"@core/racing/domain/repositories/TeamStatsRepository"' has no exported member named 'ITeamStatsRepository'. Did you mean 'TeamStatsRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemoryRacingPersistenceModule.ts(29,15): error TS2724: '"@core/racing/domain/repositories/TransactionRepository"' has no exported member named 'ITransactionRepository'. Did you mean 'TransactionRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemorySocialPersistenceModule.ts(5,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/inmemory/InMemorySocialPersistenceModule.ts(7,15): error TS2724: '"@core/social/domain/repositories/FeedRepository"' has no exported member named 'IFeedRepository'. Did you mean 'FeedRepository'?
|
||||||
|
apps/api/src/persistence/inmemory/InMemorySocialPersistenceModule.ts(8,15): error TS2724: '"@core/social/domain/repositories/SocialGraphRepository"' has no exported member named 'ISocialGraphRepository'. Did you mean 'SocialGraphRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresIdentityPersistenceModule.ts(1,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/postgres/PostgresNotificationsPersistenceModule.ts(7,15): error TS2724: '"@core/notifications/domain/repositories/NotificationPreferenceRepository"' has no exported member named 'INotificationPreferenceRepository'. Did you mean 'NotificationPreferenceRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresNotificationsPersistenceModule.ts(8,15): error TS2724: '"@core/notifications/domain/repositories/NotificationRepository"' has no exported member named 'INotificationRepository'. Did you mean 'NotificationRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresNotificationsPersistenceModule.ts(9,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(7,15): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMemberPaymentRepository'. Did you mean 'MemberPaymentRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(7,41): error TS2724: '"@core/payments/domain/repositories/MembershipFeeRepository"' has no exported member named 'IMembershipFeeRepository'. Did you mean 'MembershipFeeRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(8,15): error TS2724: '"@core/payments/domain/repositories/PaymentRepository"' has no exported member named 'IPaymentRepository'. Did you mean 'PaymentRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(9,15): error TS2724: '"@core/payments/domain/repositories/PrizeRepository"' has no exported member named 'IPrizeRepository'. Did you mean 'PrizeRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(10,15): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'ITransactionRepository'. Did you mean 'TransactionRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresPaymentsPersistenceModule.ts(10,39): error TS2724: '"@core/payments/domain/repositories/WalletRepository"' has no exported member named 'IWalletRepository'. Did you mean 'WalletRepository'?
|
||||||
|
apps/api/src/persistence/postgres/PostgresRacingPersistenceModule.ts(116,29): error TS2307: Cannot find module '@core/shared/application/Logger' or its corresponding type declarations.
|
||||||
|
apps/api/src/persistence/social/PostgresSocialPersistence.integration.test.ts(13,15): error TS2724: '"@core/social/domain/repositories/FeedRepository"' has no exported member named 'IFeedRepository'. Did you mean 'FeedRepository'?
|
||||||
|
apps/api/src/persistence/social/PostgresSocialPersistence.integration.test.ts(14,15): error TS2724: '"@core/social/domain/repositories/SocialGraphRepository"' has no exported member named 'ISocialGraphRepository'. Did you mean 'SocialGraphRepository'?
|
||||||
Reference in New Issue
Block a user