using MongoDB.Driver;

namespace Application.Services.Database.MongoDB;

public interface IChatMongoDbService
{
    IMongoCollection<T> GetCollection<T>();

    Task<List<T>> FindAsync<T>(List<(string FieldName, string Value)> criteria);

    Task AddAsync<T>(T document);

    Task ModifyAsync<T>(string keyField, string keyValue, T document);

    Task DeleteAsync<T>(string keyField, string keyValue);
}