using OnecMonitor.Server.Models; namespace OnecMonitor.Server { public interface IClickHouseContext { const string RAW_TJEVENTS_TABLENAME = "raw_tjevents"; string DatabaseName { get; } Task InitDatabase(CancellationToken cancellationToken = default); Task AddTjEvent(TjEvent item, CancellationToken cancellationToken = default); Task AddTjEvents(TjEvent[] items, CancellationToken cancellationToken = default); Task GetTjEvent(string filter, CancellationToken cancellationToken = default); Task GetTjEvent(string filter, string[] fields, CancellationToken cancellationToken = default); Task GetTjEventProperties(string filter, string[] fields, T anonTypeObject, CancellationToken cancellationToken = default); Task> GetTjEvents(string filter = "", CancellationToken cancellationToken = default); Task> GetTjEvents(int count, int offset, string filter = "", CancellationToken cancellationToken = default); Task GetTjEventsCount(string filter = "", CancellationToken cancellationToken = default); Task GetLastFilePosition(string agentId, string seanceId, string templateId, string folder, string file, CancellationToken cancellationToken = default); Task DeleteTechLogSeanceData(string seanceId, CancellationToken cancellationToken = default); } }