23 lines
781 B
TypeScript
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;
|
|
}
|
|
}
|