1
0
mirror of https://github.com/akpaevj/onecmonitor.git synced 2024-12-14 10:12:52 +02:00
onecmonitor/onecmonitor-server/IClickHouseContext.cs
2023-01-27 20:58:44 +03:00

23 lines
1.4 KiB
C#

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<TjEvent?> GetTjEvent(string filter, CancellationToken cancellationToken = default);
Task<TjEvent?> GetTjEvent(string filter, string[] fields, CancellationToken cancellationToken = default);
Task<T?> GetTjEventProperties<T>(string filter, string[] fields, T anonTypeObject, CancellationToken cancellationToken = default);
Task<List<TjEvent>> GetTjEvents(string filter = "", CancellationToken cancellationToken = default);
Task<List<TjEvent>> GetTjEvents(int count, int offset, string filter = "", CancellationToken cancellationToken = default);
Task<int> GetTjEventsCount(string filter = "", CancellationToken cancellationToken = default);
Task<long> GetLastFilePosition(string agentId, string seanceId, string templateId, string folder, string file, CancellationToken cancellationToken = default);
Task DeleteTechLogSeanceData(string seanceId, CancellationToken cancellationToken = default);
}
}