import type { TransferLeagueOwnershipResult } from '@core/racing/application/use-cases/TransferLeagueOwnershipUseCase';
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
import type { TransferLeagueOwnershipOutputDTO } from '../dtos/TransferLeagueOwnershipOutputDTO';

export class TransferLeagueOwnershipPresenter implements UseCaseOutputPort<TransferLeagueOwnershipResult> {
  private result: TransferLeagueOwnershipOutputDTO | null = null;

  reset() {
    this.result = null;
  }

  present(result: TransferLeagueOwnershipResult): void {
    void result;

    this.result = {
      success: true,
    };
  }

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