19 lines
591 B
TypeScript
19 lines
591 B
TypeScript
import { DataSource, MoreThan } from 'typeorm';
|
|
import { MessageEntity } from '../../../entities';
|
|
import { GetMessagesSinceQuery } from '../../types';
|
|
import { rowToMessage } from '../../mappers';
|
|
|
|
export async function handleGetMessagesSince(query: GetMessagesSinceQuery, dataSource: DataSource) {
|
|
const repo = dataSource.getRepository(MessageEntity);
|
|
const { roomId, sinceTimestamp } = query.payload;
|
|
const rows = await repo.find({
|
|
where: {
|
|
roomId,
|
|
timestamp: MoreThan(sinceTimestamp)
|
|
},
|
|
order: { timestamp: 'ASC' }
|
|
});
|
|
|
|
return rows.map(rowToMessage);
|
|
}
|