Files
gridpilot.gg/apps/api/src/domain/league/presenters/GetLeagueAdminPermissionsPresenter.ts

23 lines
781 B
TypeScript

import type { UseCaseOutputPort } from '@core/shared/application';
import type { GetLeagueAdminPermissionsResult } from '@core/racing/application/use-cases/GetLeagueAdminPermissionsUseCase';
import { LeagueAdminPermissionsDTO } from '../dtos/LeagueAdminPermissionsDTO';
export class GetLeagueAdminPermissionsPresenter implements UseCaseOutputPort<GetLeagueAdminPermissionsResult> {
private result: LeagueAdminPermissionsDTO | null = null;
reset(): void {
this.result = null;
}
present(port: GetLeagueAdminPermissionsResult): void {
this.result = {
canRemoveMember: port.permissions.canManageMembers,
canUpdateRoles: port.permissions.canManageMembers,
};
}
getResponseModel(): LeagueAdminPermissionsDTO | null {
return this.result;
}
}