using adas_core.Domain.Enums; using adas_core.Domain.Models.DTO; using adas_core.Domain.Models.DTO.Display; using adas_core.Domain.Models.Filter; using adas_core.Domain.Models.Masters; using adas_core.Domain.Models.MongoModels; using adas_core.Domain.Models.Responses; using MongoDB.Bson; namespace adas_core.Application.Services.Interfaces; public interface IDisplayService { //Task> GetAll(string? userName, List displayIdByAuthorities); Task> GetAllCompact(); Task> GetAllByUser(string? userName); Task> GetByType(DisplayConfigEnums.DisplayType type); Task> GetByPointOfCare(PointOfCare pointOfCare); Task> GetByConfigId(ObjectId configId); Task> GetByCardConfigId(ObjectId configId); // Task> GetByUser(); Task GetByName(string name); Task GetById(ObjectId id); Task GetByIdWithPermissions(ObjectId id, LocaleEnum localeEnum); Task CountDisplaysByUnitId(ObjectId unitId); Task GetInfo( ObjectId id, string? userName, List? authorizations, LocaleEnum? locale, bool fillPointOfCare = true, bool fillPatientData = false, bool fillDisplayList = true, bool fillDisplayConfig = true, CancellationToken ct = default ); Task> GetDisplaySectionByUser( DisplayConfigEnums.DisplayType type, ObjectId? currentDisplay, string? userName, List? authorizations); Task GetAllDisplaySection(); Task> GetByUnitId(ObjectId id); Task GetAllAvailablePoc(List displayIds, bool excludeVirtual = false); Task> GetAllPocsByDisplayId(ObjectId id); Task InsertOne(Display display); Task InsertOneTest(); Task UpdateConfig(Display oldDisplay, DisplayConfig? newDisplayConfig); Task UpdateConfigId(Display oldDisplay, ObjectId configId); Task UpdatePointOfCareList(ObjectId objectId, List listPocObId); Task UpdateConfigPreset(ObjectId objectIdDisplay, ObjectId objectIdConfigDisplay); Task UpdateName(ObjectId id, string name); Task> GetPaginatedDisplays(PaginationFilter filter); Task DeleteDisplay(ObjectId id); Task> GetDisplayConfigLocations(ObjectId displayConfigId); Task IsDisplayConfigInUse(ObjectId displayConfigId); Task DeleteDisplaysByUnitId(ObjectId unitId); }