using MTWorkHR.Core.Entities;
using MTWorkHR.Core.IRepositories.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Core.IRepositories
{
    public interface IChatMessageRepository : IRepository<ChatMessage>
    {
        Task<ChatMessage> GetByIdWithAllChildren(long id);
        Task<Tuple<IQueryable<ChatMessage>, int>> GetAllWithChildrenAsync(string userId, string contactId);
        Task<Tuple<IQueryable<ChatMessage>, int>> GetAllUserMessagesAsync(string userId);
    }
}
