RocketChat/Rocket.Chat

View on GitHub
packages/model-typings/src/models/IMessageReadsModel.ts

Summary

Maintainability
A
0 mins
Test Coverage
import type { MessageReads, IUser, IMessage } from '@rocket.chat/core-typings';
import type { UpdateResult } from 'mongodb';

import type { IBaseModel } from './IBaseModel';

export interface IMessageReadsModel extends IBaseModel<MessageReads> {
    findOneByUserIdAndThreadId(userId: IUser['_id'], tmid: IMessage['_id']): Promise<MessageReads | null>;
    getMinimumLastSeenByThreadId(tmid: string): Promise<MessageReads | null>;
    updateReadTimestampByUserIdAndThreadId(userId: IUser['_id'], tmid: IMessage['_id']): Promise<UpdateResult>;
    countByThreadAndUserIds(tmid: IMessage['_id'], userIds: IUser['_id'][]): Promise<number>;
    countByThreadId(tmid: IMessage['_id']): Promise<number>;
}