fix issues in core
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user