Files
gridpilot.gg/apps/api/src/modules/league/presenters/LeagueAdminPresenter.ts
2025-12-16 00:57:31 +01:00

30 lines
662 B
TypeScript

import { LeagueAdminViewModel } from '../dto/LeagueDto';
export class LeagueAdminPresenter {
private result: LeagueAdminViewModel | null = null;
reset() {
this.result = null;
}
present(data: {
joinRequests: any[];
ownerSummary: any;
config: any;
protests: any;
seasons: any[];
}) {
this.result = {
joinRequests: data.joinRequests,
ownerSummary: data.ownerSummary,
config: { form: data.config },
protests: data.protests,
seasons: data.seasons,
};
}
getViewModel(): LeagueAdminViewModel {
if (!this.result) throw new Error('Presenter not presented');
return this.result;
}
}