wip
This commit is contained in:
@@ -8,7 +8,7 @@ import CareerHighlights from './CareerHighlights';
|
||||
import DriverRankings from './DriverRankings';
|
||||
import PerformanceMetrics from './PerformanceMetrics';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { getDriverStats, getLeagueRankings, getGetDriverTeamQuery, getAllDriverRankings } from '@/lib/di-container';
|
||||
import { getDriverStats, getLeagueRankings, getGetDriverTeamUseCase, getAllDriverRankings } from '@/lib/di-container';
|
||||
import { getPrimaryLeagueIdForDriver } from '@/lib/leagueMembership';
|
||||
import type { GetDriverTeamQueryResultDTO } from '@gridpilot/racing/application/dto/TeamCommandAndQueryDTO';
|
||||
|
||||
@@ -29,9 +29,10 @@ export default function DriverProfile({ driver, isOwnProfile = false, onEditClic
|
||||
|
||||
useEffect(() => {
|
||||
const load = async () => {
|
||||
const query = getGetDriverTeamQuery();
|
||||
const result = await query.execute({ driverId: driver.id });
|
||||
setTeamData(result);
|
||||
const useCase = getGetDriverTeamUseCase();
|
||||
await useCase.execute({ driverId: driver.id });
|
||||
const viewModel = useCase.presenter.getViewModel();
|
||||
setTeamData(viewModel.result);
|
||||
};
|
||||
void load();
|
||||
}, [driver.id]);
|
||||
|
||||
@@ -6,7 +6,7 @@ import Input from '../ui/Input';
|
||||
import { DollarSign, Star, Award, Plus, X, Bell } from 'lucide-react';
|
||||
import PendingSponsorshipRequests, { type PendingRequestDTO } from '../sponsors/PendingSponsorshipRequests';
|
||||
import {
|
||||
getGetPendingSponsorshipRequestsQuery,
|
||||
getGetPendingSponsorshipRequestsUseCase,
|
||||
getAcceptSponsorshipRequestUseCase,
|
||||
getRejectSponsorshipRequestUseCase,
|
||||
getSeasonRepository,
|
||||
@@ -71,8 +71,8 @@ export function LeagueSponsorshipsSection({
|
||||
|
||||
setRequestsLoading(true);
|
||||
try {
|
||||
const query = getGetPendingSponsorshipRequestsQuery();
|
||||
const result = await query.execute({
|
||||
const useCase = getGetPendingSponsorshipRequestsUseCase();
|
||||
await useCase.execute({
|
||||
entityType: 'season',
|
||||
entityId: seasonId,
|
||||
});
|
||||
|
||||
@@ -5,7 +5,7 @@ import Button from '@/components/ui/Button';
|
||||
import {
|
||||
getJoinTeamUseCase,
|
||||
getLeaveTeamUseCase,
|
||||
getGetDriverTeamQuery,
|
||||
getGetDriverTeamUseCase,
|
||||
getTeamMembershipRepository,
|
||||
} from '@/lib/di-container';
|
||||
import { useEffectiveDriverId } from '@/lib/currentDriver';
|
||||
@@ -34,11 +34,12 @@ export default function JoinTeamButton({
|
||||
const m = await membershipRepo.getMembership(teamId, currentDriverId);
|
||||
setMembership(m);
|
||||
|
||||
const driverTeamQuery = getGetDriverTeamQuery();
|
||||
const driverTeam = await driverTeamQuery.execute({ driverId: currentDriverId });
|
||||
if (driverTeam) {
|
||||
setCurrentTeamId(driverTeam.team.id);
|
||||
setCurrentTeamName(driverTeam.team.name);
|
||||
const driverTeamUseCase = getGetDriverTeamUseCase();
|
||||
await driverTeamUseCase.execute({ driverId: currentDriverId });
|
||||
const viewModel = driverTeamUseCase.presenter.getViewModel();
|
||||
if (viewModel.result) {
|
||||
setCurrentTeamId(viewModel.result.team.id);
|
||||
setCurrentTeamName(viewModel.result.team.name);
|
||||
} else {
|
||||
setCurrentTeamId(null);
|
||||
setCurrentTeamName(null);
|
||||
|
||||
@@ -6,7 +6,7 @@ import Button from '@/components/ui/Button';
|
||||
import Input from '@/components/ui/Input';
|
||||
import {
|
||||
getDriverRepository,
|
||||
getGetTeamJoinRequestsQuery,
|
||||
getGetTeamJoinRequestsUseCase,
|
||||
getApproveTeamJoinRequestUseCase,
|
||||
getRejectTeamJoinRequestUseCase,
|
||||
getUpdateTeamUseCase,
|
||||
@@ -36,15 +36,16 @@ export default function TeamAdmin({ team, onUpdate }: TeamAdminProps) {
|
||||
}, [team.id]);
|
||||
|
||||
const loadJoinRequests = async () => {
|
||||
const query = getGetTeamJoinRequestsQuery();
|
||||
const requests = await query.execute({ teamId: team.id });
|
||||
setJoinRequests(requests);
|
||||
const useCase = getGetTeamJoinRequestsUseCase();
|
||||
await useCase.execute({ teamId: team.id });
|
||||
const viewModel = useCase.presenter.getViewModel();
|
||||
setJoinRequests(viewModel.requests);
|
||||
|
||||
const driverRepo = getDriverRepository();
|
||||
const allDrivers = await driverRepo.findAll();
|
||||
const driverMap: Record<string, DriverDTO> = {};
|
||||
|
||||
for (const request of requests) {
|
||||
for (const request of viewModel.requests) {
|
||||
const driver = allDrivers.find(d => d.id === request.driverId);
|
||||
if (driver) {
|
||||
const dto = EntityMappers.toDriverDTO(driver);
|
||||
|
||||
Reference in New Issue
Block a user