using adas_core.Application.Repositories.Interfaces;
using adas_core.Application.Services.Interfaces;
using adas_core.Domain.Models;
using MongoDB.Bson;

namespace adas_core.Application.Services;

public class ArchivedPatientTreatmentService(ITreatmentArchiveRepository archivedPatientTreatmentService)
    : IArchivedPatientTreatmentService
{
    /// <summary>
    /// Retrieves all archived patient treatments associated with the specified patient by delegating to the archived patient treatment service.
    /// </summary>
    /// <param name="patientId">The unique identifier of the patient whose archived treatments are being retrieved.</param>
    /// <returns>A task that represents the asynchronous operation, containing a list of <see cref="PatientTreatment"/> records for the specified patient.</returns>
    public async Task<List<PatientTreatment>> FindAllPatientTreatmentsByPatient(ObjectId patientId)
    {
        return await archivedPatientTreatmentService.FindAllFromPatient(patientId);
    }
}