import { DataSource } from 'typeorm'; import { MessageEntity } from '../../../entities'; import { GetMessagesQuery } from '../../types'; import { rowToMessage } from '../../mappers'; export async function handleGetMessages(query: GetMessagesQuery, dataSource: DataSource) { const repo = dataSource.getRepository(MessageEntity); const { roomId, limit = 100, offset = 0 } = query.payload; const rows = await repo.find({ where: { roomId }, order: { timestamp: 'ASC' }, take: limit, skip: offset }); return rows.map(rowToMessage); }