using adas_core.Domain.Models.Filter;
using adas_core.Domain.Models.MongoModels;
using adas_core.Domain.Models.Responses;
using MongoDB.Bson;

namespace adas_core.Application.Services.Interfaces;

public interface ICameraService
{
    Task<Camera?> GetById(ObjectId relayId);
    List<Camera> GetCameraInList(List<ObjectId> configurationRelayList);
    Task<PaginationResponse<Camera>> GetPaginatedCameras(PaginationFilter request);
    Task<Camera?> InsertCamera(Camera camera);
    Task<Camera?> UpdateCameraById(ObjectId objectId, Camera camera);
    Task<bool> DeleteCamera(ObjectId objectId);
    Task<List<Camera>> GetSearchByNameCameras(string textToSearch);
}