
import { ApproveLeagueJoinRequestResult } from '@core/racing/application/use-cases/ApproveLeagueJoinRequestUseCase';
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
import type { ApproveLeagueJoinRequestDTO } from '../dtos/ApproveLeagueJoinRequestDTO';

export class ApproveLeagueJoinRequestPresenter implements UseCaseOutputPort<ApproveLeagueJoinRequestResult> {
  private result: ApproveLeagueJoinRequestDTO | null = null;

  reset() {
    this.result = null;
  }

  present(output: ApproveLeagueJoinRequestResult) {
    this.result = output;
  }

  getViewModel(): ApproveLeagueJoinRequestDTO | null {
    return this.result;
  }
}