using adas_core.Domain.Enums; using adas_core.Domain.Models; 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 ILightBeaconService { Task SendColor(ObjectId pocId, LightBeaconColor color); Task SendColor(PointOfCare pocId, LightBeaconColor color); Task SendBeaconBroadcast(PointOfCare poc, LightBeaconColor color); Task SendBeaconBroadcast(ObjectId poc, LightBeaconColor color); Task PowerOffLed(ObjectId pocId); Task PowerOffLed(PointOfCare poc); void GenerateColorAlert(PatientObservation obs); //TODO refactor, one patient can have multiple beacons public Task GetColor(ObjectId pocId); public Task GetColor(PointOfCare poc); Task UpdateOne(LightBeacon beacon); Task InsertOne(LightBeacon beacon); Task> GetPaginatedBeacons(PaginationFilter request); Task> GetSearchByName(string textToSearch); }