fix issues in core

This commit is contained in:
2025-12-23 14:43:49 +01:00
parent 11492d1ff2
commit df5c20c5cc
62 changed files with 480 additions and 334 deletions

View File

@@ -1,10 +1,10 @@
import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository';
import type { IDriverRepository } from '../../domain/repositories/IDriverRepository';
import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository';
import type { Driver } from '../../domain/entities/Driver';
import type { UseCaseOutputPort } from '@core/shared/application';
import { Result } from '@core/shared/application/Result';
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
import type { Driver } from '../../domain/entities/Driver';
import type { IDriverRepository } from '../../domain/repositories/IDriverRepository';
import type { ILeagueMembershipRepository } from '../../domain/repositories/ILeagueMembershipRepository';
import type { ILeagueRepository } from '../../domain/repositories/ILeagueRepository';
export interface GetLeagueJoinRequestsInput {
leagueId: string;
@@ -47,7 +47,7 @@ export class GetLeagueJoinRequestsUseCase {
}
const joinRequests = await this.leagueMembershipRepository.getJoinRequests(input.leagueId);
const driverIds = [...new Set(joinRequests.map(request => request.driverId))];
const driverIds = [...new Set(joinRequests.map(request => request.driverId.toString()))];
const drivers = await Promise.all(driverIds.map(id => this.driverRepository.findById(id)));
const driverMap = new Map(
@@ -55,10 +55,14 @@ export class GetLeagueJoinRequestsUseCase {
);
const enrichedJoinRequests: LeagueJoinRequestWithDriver[] = joinRequests
.filter(request => driverMap.has(request.driverId))
.filter(request => driverMap.has(request.driverId.toString()))
.map(request => ({
...request,
driver: driverMap.get(request.driverId)!,
id: request.id,
leagueId: request.leagueId.toString(),
driverId: request.driverId.toString(),
requestedAt: request.requestedAt.toDate(),
...(request.message !== undefined && { message: request.message }),
driver: driverMap.get(request.driverId.toString())!,
}));
const result: GetLeagueJoinRequestsResult = {
@@ -71,7 +75,7 @@ export class GetLeagueJoinRequestsUseCase {
} catch (error: unknown) {
const message =
error && typeof error === 'object' && 'message' in error && typeof (error as any).message === 'string'
? (error as any).message
? (error as Error).message
: 'Failed to load league join requests';
return Result.err({