import { Message } from '../entities/message.entity';

export interface IMessageRepository {
  create(data: Partial<Message>): Promise<Message>;
  findByUserId(userId: string, page: number, limit: number): Promise<[Message[], number]>;
  markAsRead(id: string, userId: string): Promise<void>;
  markAllAsRead(userId: string): Promise<void>;
  countUnread(userId: string): Promise<number>;
}

export const MESSAGE_REPOSITORY = Symbol('IMessageRepository');
