feat: Перенесены внешние сервисы в Infrastructure. Удалены лишние проекты.

This commit is contained in:
Mikhail Trubnikov
2026-04-14 16:27:27 +10:00
parent 13dd2815d4
commit 188ebc20a0
159 changed files with 354 additions and 1389 deletions

View File

@@ -0,0 +1,57 @@
using InfluxDB.Client;
using Microsoft.Extensions.Logging;
using PARR.Core.Common.Interfaces;
using PARR.Domain.Settings;
namespace PARR.DAL.InfluxDbServices
{
internal class InfluxDbService : IInfluxDbService
{
private readonly InfluxDbSettings settings;
private readonly ILogger<InfluxDbService> logger;
public InfluxDbService(InfluxDbSettings settings, ILogger<InfluxDbService> logger)
{
this.settings = settings;
this.logger = logger;
}
public bool Write(Action<WriteApi> action, string token)
{
try
{
using var client = new InfluxDBClient(settings.Url, token);
using (var write = client.GetWriteApi())
{
action(write);
}
return true;
}
catch (Exception ex)
{
logger.LogError(ex, "Ошибка при записи в БД, InfluxDb");
return false;
}
}
public async Task<T> QueryAsync<T>(Func<QueryApi, Task<T>> action, string token)
{
try
{
using var client = new InfluxDBClient(settings.Url, token);
var query = client.GetQueryApi();
return await action(query);
}
catch (Exception ex)
{
logger.LogError(ex, "Ошибка при запросе данных из БД, InfuxDb");
// return Task.FromResult();
// return Task.CompletedTask;
//return default(T);
return default(T);
}
}
}
}