Правки по результатам ревью
This commit is contained in:
parent
f250db8b7f
commit
911508632e
@ -1,6 +1,8 @@
|
||||
using DD.Persistence.Models;
|
||||
using DD.Persistence.Models.Common;
|
||||
using DD.Persistence.Repositories;
|
||||
using DD.Persistence.Services.Interfaces;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Net;
|
||||
|
||||
@ -10,15 +12,16 @@ namespace DD.Persistence.API.Controllers;
|
||||
/// Хранение наборов данных с отметкой времени.
|
||||
/// </summary>
|
||||
[ApiController]
|
||||
//[Authorize]
|
||||
[Authorize]
|
||||
[Route("api/[controller]")]
|
||||
public class TimestampedValuesController : ControllerBase
|
||||
{
|
||||
private readonly ITimestampedValuesService timestampedValuesService;
|
||||
|
||||
public TimestampedValuesController(ITimestampedValuesService repository)
|
||||
private readonly ITimestampedValuesRepository timestampedValuesRepository;
|
||||
public TimestampedValuesController(ITimestampedValuesService repository, ITimestampedValuesRepository timestampedValuesRepository)
|
||||
{
|
||||
this.timestampedValuesService = repository;
|
||||
this.timestampedValuesRepository = timestampedValuesRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -130,7 +133,7 @@ public class TimestampedValuesController : ControllerBase
|
||||
[HttpGet("{discriminatorId}/count")]
|
||||
public async Task<ActionResult<int>> Count([FromRoute] Guid discriminatorId, CancellationToken token)
|
||||
{
|
||||
var result = await timestampedValuesService.Count(discriminatorId, token);
|
||||
var result = await timestampedValuesRepository.Count(discriminatorId, token);
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
@ -143,7 +146,7 @@ public class TimestampedValuesController : ControllerBase
|
||||
[HttpGet("{discriminatorId}/datesRange")]
|
||||
public async Task<ActionResult<DatesRangeDto>> GetDatesRange([FromRoute] Guid discriminatorId, CancellationToken token)
|
||||
{
|
||||
var result = await timestampedValuesService.GetDatesRange(discriminatorId, token);
|
||||
var result = await timestampedValuesRepository.GetDatesRange(discriminatorId, token);
|
||||
|
||||
return Ok(result);
|
||||
}
|
||||
|
@ -18,17 +18,12 @@ public class TimestampedValuesRepository : ITimestampedValuesRepository
|
||||
|
||||
public async virtual Task<int> AddRange(Guid discriminatorId, IEnumerable<TimestampedValuesDto> dtos, CancellationToken token)
|
||||
{
|
||||
var timestampedValuesEntities = new List<TimestampedValues>();
|
||||
foreach (var dto in dtos)
|
||||
var timestampedValuesEntities = dtos.Select(dto => new TimestampedValues()
|
||||
{
|
||||
var timestampedValuesEntity = new TimestampedValues()
|
||||
{
|
||||
DiscriminatorId = discriminatorId,
|
||||
Timestamp = dto.Timestamp.ToUniversalTime(),
|
||||
Values = dto.Values.Values.ToArray()
|
||||
};
|
||||
timestampedValuesEntities.Add(timestampedValuesEntity);
|
||||
}
|
||||
DiscriminatorId = discriminatorId,
|
||||
Timestamp = dto.Timestamp.ToUniversalTime(),
|
||||
Values = dto.Values.Values.ToArray()
|
||||
});
|
||||
|
||||
await db.Set<TimestampedValues>().AddRangeAsync(timestampedValuesEntities, token);
|
||||
|
||||
|
@ -17,14 +17,6 @@ public interface ITimestampedValuesService
|
||||
/// <returns></returns>
|
||||
Task<int> AddRange(Guid discriminatorId, IEnumerable<TimestampedValuesDto> dtos, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Количество записей по указанному набору в БД. Для пагинации
|
||||
/// </summary>
|
||||
/// <param name="discriminatorId">Дискриминатор (идентификатор) набора</param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<int> Count(Guid discriminatorId, CancellationToken token);
|
||||
|
||||
/// <summary>
|
||||
/// Получение данных с фильтрацией для нескольких систем. Значение фильтра null - отключен
|
||||
/// </summary>
|
||||
@ -75,12 +67,4 @@ public interface ITimestampedValuesService
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<TimestampedValuesDto>> GetResampledData(Guid discriminatorId, DateTimeOffset timestampBegin, double intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default);
|
||||
|
||||
/// <summary>
|
||||
/// Получить диапазон дат, для которых есть данные
|
||||
/// </summary>
|
||||
/// <param name="discriminatorId"></param>
|
||||
/// <param name="token"></param>
|
||||
/// <returns></returns>
|
||||
Task<DatesRangeDto?> GetDatesRange(Guid discriminatorId, CancellationToken token);
|
||||
}
|
@ -102,22 +102,6 @@ public class TimestampedValuesService : ITimestampedValuesService
|
||||
return dtos;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public async Task<int> Count(Guid discriminatorId, CancellationToken token)
|
||||
{
|
||||
var result = await timestampedValuesRepository.Count(discriminatorId, token);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public async virtual Task<DatesRangeDto?> GetDatesRange(Guid discriminatorId, CancellationToken token)
|
||||
{
|
||||
var result = await timestampedValuesRepository.GetDatesRange(discriminatorId, token);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Преобразовать результат запроса в набор dto
|
||||
/// </summary>
|
||||
|
Loading…
Reference in New Issue
Block a user