32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using Domain.Entities;
|
|
using MongoDB.Driver;
|
|
using Application.Endpoints.Appointments;
|
|
|
|
namespace Application.Services.Database.MongoDB;
|
|
|
|
public interface IAppointmentsMongoDbService
|
|
{
|
|
IMongoCollection<T> GetCollection<T>();
|
|
Task<List<T>> FindAsync<T>(List<(string FieldName, string Value)> criteria, CancellationToken token);
|
|
|
|
Task AddAsync<T>(T document, CancellationToken token);
|
|
|
|
Task ModifyAsync<T>(string keyField, string keyValue, T document, CancellationToken token);
|
|
|
|
Task DeleteAsync<T>(string keyField, string keyValue, CancellationToken token);
|
|
|
|
Task DeleteByIdAsync<T>(string id, CancellationToken token);
|
|
|
|
Task<bool> IsAppointmentUnique(AppointmentInformation request, CancellationToken token);
|
|
|
|
Task<bool> DoesAppointmentExists(AppointmentInformation request, CancellationToken token);
|
|
|
|
Task<List<Appointment>> FindPastAppointments(DateTime currentDate, CancellationToken token);
|
|
|
|
Task UpdateAppointment(Appointment appointment, CancellationToken token);
|
|
|
|
Task DeleteAppointment(string appointmentId, CancellationToken token);
|
|
|
|
Task<List<Appointment>> GetAllAppointments(CancellationToken token);
|
|
}
|