using adas_core.Domain.Models;
using MongoDB.Bson;

namespace adas_core.Application.Repositories.Interfaces;

public interface IObservationArchiveRepository : IMongoRepository<PatientObservation>
{
    new Task InsertOneAsync(PatientObservation patientObservation);
    Task DeleteBeforeDate(DateTime date);
    Task<long> InsertBatch(IEnumerable<PatientObservation> observations);

    Task<List<PatientObservation>> AggregatedPatientLastObservations(ObjectId patientId, int num, DateTime lastDate,
        List<string> filterObservations);

    Task<List<PatientObservation>> FindAllFromPatient(ObjectId patientId);
}