import { DataSource } from 'typeorm'; import { BanEntity } from '../../../entities'; import { GetBansForRoomQuery } from '../../types'; import { rowToBan } from '../../mappers'; export async function handleGetBansForRoom(query: GetBansForRoomQuery, dataSource: DataSource) { const repo = dataSource.getRepository(BanEntity); const now = Date.now(); const rows = await repo .createQueryBuilder('ban') .where('ban.roomId = :roomId', { roomId: query.payload.roomId }) .andWhere('(ban.expiresAt IS NULL OR ban.expiresAt > :now)', { now }) .getMany(); return rows.map(rowToBan); }