view models

This commit is contained in:
2025-12-18 01:20:23 +01:00
parent 7c449af311
commit cc2553876a
216 changed files with 485 additions and 10179 deletions

View File

@@ -1,17 +1,15 @@
import type { DriversApiClient } from '../../api/drivers/DriversApiClient';
import type { DriverRegistrationStatusPresenter } from '../../presenters/DriverRegistrationStatusPresenter';
import type { DriverRegistrationStatusViewModel } from '../../view-models';
import { DriverRegistrationStatusViewModel } from '../../view-models';
/**
* Driver Registration Service
*
* Orchestrates driver registration status operations by coordinating API calls and presentation logic.
* Orchestrates driver registration status operations by coordinating API calls and view model creation.
* All dependencies are injected via constructor.
*/
export class DriverRegistrationService {
constructor(
private readonly apiClient: DriversApiClient,
private readonly statusPresenter: DriverRegistrationStatusPresenter
private readonly apiClient: DriversApiClient
) {}
/**
@@ -22,6 +20,6 @@ export class DriverRegistrationService {
raceId: string
): Promise<DriverRegistrationStatusViewModel> {
const dto = await this.apiClient.getRegistrationStatus(driverId, raceId);
return this.statusPresenter.present(dto);
return new DriverRegistrationStatusViewModel(dto);
}
}