Правки по результатам ревью

This commit is contained in:
Roman Efremov 2024-12-13 17:30:35 +05:00
parent 10aa5dd36f
commit 591ecf5377
15 changed files with 40 additions and 38 deletions

View File

@ -78,7 +78,7 @@ public class TechMessagesController : ControllerBase
/// <param name="token"></param>
/// <returns></returns>
[HttpGet("range")]
public async Task<ActionResult<DatesRangeDto>> GetDatesRangeAsync(CancellationToken token)
public async Task<ActionResult<DatesRangeDto?>> GetDatesRangeAsync(CancellationToken token)
{
var result = await techMessagesRepository.GetDatesRangeAsync(token);

View File

@ -12,11 +12,11 @@ public abstract class BaseClient
this.logger = logger;
}
public async Task<T> ExecuteGetResponse<T>(Func<Task<IApiResponse<T>>> getMethod, CancellationToken token)
public async Task<T?> ExecuteGetResponse<T>(Func<Task<IApiResponse<T>>> getMethod, CancellationToken token)
{
var response = await getMethod.Invoke().WaitAsync(token);
if (response.IsSuccessful)
if (response.IsSuccessStatusCode)
{
return response.Content;
}
@ -32,7 +32,7 @@ public abstract class BaseClient
{
var response = await postMethod.Invoke().WaitAsync(token);
if (response.IsSuccessful)
if (response.IsSuccessStatusCode)
{
return;
}
@ -48,7 +48,7 @@ public abstract class BaseClient
{
var response = await postMethod.Invoke().WaitAsync(token);
if (response.IsSuccessful)
if (response.IsSuccessStatusCode)
{
return response.Content;
}

View File

@ -36,7 +36,7 @@ public class ChangeLogClient : BaseClient, IChangeLogClient
var result = await ExecuteGetResponse(
async () => await refitChangeLogClient.GetChangeLogForInterval(idDiscriminator, dateBegin, dateEnd, token), token);
return result;
return result!;
}
public async Task<int> Add(Guid idDiscriminator, DataWithWellDepthAndSectionDto dto, CancellationToken token)

View File

@ -25,7 +25,7 @@ public class DataSourceSystemClient : BaseClient, IDataSourceSystemClient
var result = await ExecuteGetResponse(
async () => await dataSourceSystemClient.Get(token), token);
return result;
return result!;
}
public void Dispose()

View File

@ -21,7 +21,7 @@ public interface ITechMessagesClient : IDisposable
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
Task<DatesRangeDto?> GetDatesRangeAsync(CancellationToken token);
/// <summary>
/// Получить список технологических сообщений в виде страницы

View File

@ -19,7 +19,7 @@ namespace Persistence.Client.Clients.Interfaces.Refit
Task<IApiResponse<IEnumerable<DataSourceSystemDto>>> GetSystems(CancellationToken token);
[Get($"{BaseRoute}/range")]
Task<IApiResponse<DatesRangeDto>> GetDatesRangeAsync(CancellationToken token);
Task<IApiResponse<DatesRangeDto?>> GetDatesRangeAsync(CancellationToken token);
[Get($"{BaseRoute}/part")]
Task<IApiResponse<IEnumerable<TechMessageDto>>> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token);

View File

@ -20,7 +20,7 @@ public class SetpointClient : BaseClient, ISetpointClient
var result = await ExecuteGetResponse(
async () => await refitSetpointClient.GetCurrent(setpointKeys, token), token);
return result;
return result!;
}
public async Task<IEnumerable<SetpointValueDto>> GetHistory(IEnumerable<Guid> setpointKeys, DateTimeOffset historyMoment, CancellationToken token)
@ -28,7 +28,7 @@ public class SetpointClient : BaseClient, ISetpointClient
var result = await ExecuteGetResponse(
async () => await refitSetpointClient.GetHistory(setpointKeys, historyMoment, token), token);
return result;
return result!;
}
public async Task<Dictionary<Guid, IEnumerable<SetpointLogDto>>> GetLog(IEnumerable<Guid> setpointKeys, CancellationToken token)
@ -36,7 +36,7 @@ public class SetpointClient : BaseClient, ISetpointClient
var result = await ExecuteGetResponse(
async () => await refitSetpointClient.GetLog(setpointKeys, token), token);
return result;
return result!;
}
public async Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token)
@ -44,7 +44,7 @@ public class SetpointClient : BaseClient, ISetpointClient
var result = await ExecuteGetResponse(
async () => await refitSetpointClient.GetDatesRangeAsync(token), token);
return result;
return result!;
}
public async Task<IEnumerable<SetpointLogDto>> GetPart(DateTimeOffset dateBegin, int take, CancellationToken token)
@ -52,7 +52,7 @@ public class SetpointClient : BaseClient, ISetpointClient
var result = await ExecuteGetResponse(
async () => await refitSetpointClient.GetPart(dateBegin, take, token), token);
return result;
return result!;
}
public async Task Add(Guid setpointKey, object newValue, CancellationToken token)

View File

@ -21,7 +21,7 @@ public class TechMessagesClient : BaseClient, ITechMessagesClient
var result = await ExecuteGetResponse(
async () => await refitTechMessagesClient.GetPage(request, token), token);
return result;
return result!;
}
public async Task<int> AddRange(Guid systemId, IEnumerable<TechMessageDto> dtos, CancellationToken token)
@ -37,10 +37,10 @@ public class TechMessagesClient : BaseClient, ITechMessagesClient
var result = await ExecuteGetResponse(
async () => await refitTechMessagesClient.GetSystems(token), token);
return result;
return result!;
}
public async Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token)
public async Task<DatesRangeDto?> GetDatesRangeAsync(CancellationToken token)
{
var result = await ExecuteGetResponse(
async () => await refitTechMessagesClient.GetDatesRangeAsync(token), token);
@ -53,7 +53,7 @@ public class TechMessagesClient : BaseClient, ITechMessagesClient
var result = await ExecuteGetResponse(
async () => await refitTechMessagesClient.GetPart(dateBegin, take, token), token);
return result;
return result!;
}
public async Task<IEnumerable<MessagesStatisticDto>> GetStatistics(IEnumerable<Guid> systemIds, IEnumerable<int> categoryIds, CancellationToken token)
@ -61,7 +61,7 @@ public class TechMessagesClient : BaseClient, ITechMessagesClient
var result = await ExecuteGetResponse(
async () => await refitTechMessagesClient.GetStatistics(systemIds, categoryIds, token), token);
return result;
return result!;
}
public void Dispose()

View File

@ -27,7 +27,7 @@ public class TimeSeriesClient<TDto> : BaseClient, ITimeSeriesClient<TDto> where
var result = await ExecuteGetResponse(
async () => await timeSeriesClient.Get(dateBegin, dateEnd, token), token);
return result;
return result!;
}
public async Task<IEnumerable<TDto>> GetResampledData(DateTimeOffset dateBegin, double intervalSec = 600d, int approxPointsCount = 1024, CancellationToken token = default)
@ -35,7 +35,7 @@ public class TimeSeriesClient<TDto> : BaseClient, ITimeSeriesClient<TDto> where
var result = await ExecuteGetResponse(
async () => await timeSeriesClient.GetResampledData(dateBegin, intervalSec, approxPointsCount, token), token);
return result;
return result!;
}
public async Task<DatesRangeDto?> GetDatesRange(CancellationToken token)

View File

@ -27,7 +27,7 @@ public class TimestampedSetClient : BaseClient, ITimestampedSetClient
var result = await ExecuteGetResponse(
async () => await refitTimestampedSetClient.Get(idDiscriminator, geTimestamp, columnNames, skip, take, token), token);
return result;
return result!;
}
public async Task<IEnumerable<TimestampedSetDto>> GetLast(Guid idDiscriminator, IEnumerable<string>? columnNames, int take, CancellationToken token)
@ -35,7 +35,7 @@ public class TimestampedSetClient : BaseClient, ITimestampedSetClient
var result = await ExecuteGetResponse(
async () => await refitTimestampedSetClient.GetLast(idDiscriminator, columnNames, take, token), token);
return result;
return result!;
}
public async Task<int> Count(Guid idDiscriminator, CancellationToken token)

View File

@ -27,7 +27,7 @@ public class WitsDataClient : BaseClient, IWitsDataClient
var result = await ExecuteGetResponse(
async () => await refitWitsDataClient.GetDatesRangeAsync(discriminatorId, token), token);
return result;
return result!;
}
public async Task<IEnumerable<WitsDataDto>> GetPart(Guid discriminatorId, DateTimeOffset dateBegin, int take = 86400, CancellationToken token = default)
@ -35,7 +35,7 @@ public class WitsDataClient : BaseClient, IWitsDataClient
var result = await ExecuteGetResponse(
async () => await refitWitsDataClient.GetPart(discriminatorId, dateBegin, take, token), token);
return result;
return result!;
}
public async Task<IEnumerable<WitsDataDto>> GetValuesForGraph(Guid discriminatorId, DateTimeOffset dateFrom, DateTimeOffset dateTo, int approxPointsCount, CancellationToken token)
@ -43,7 +43,7 @@ public class WitsDataClient : BaseClient, IWitsDataClient
var result = await ExecuteGetResponse(
async () => await refitWitsDataClient.GetValuesForGraph(discriminatorId, dateFrom, dateTo, approxPointsCount, token), token);
return result;
return result!;
}
public void Dispose()

View File

@ -180,20 +180,18 @@ namespace Persistence.IntegrationTests.Controllers
}
[Fact]
public async Task GetDatesRange_returns_success()
public async Task GetDatesRange_returns_NoContent()
{
//arrange
memoryCache.Remove(SystemCacheKey);
dbContext.CleanupDbSet<TechMessage>();
dbContext.CleanupDbSet<DataSourceSystem>();
//act
var response = await techMessagesClient.GetDatesRangeAsync(CancellationToken.None);
//assert
Assert.NotNull(response);
Assert.Equal(DateTimeOffset.MinValue, response?.From);
Assert.Equal(DateTimeOffset.MaxValue, response?.To);
//act
var response = await techMessagesClient.GetDatesRangeAsync(CancellationToken.None);
//assert
Assert.Null(response);
}
[Fact]

View File

@ -31,6 +31,6 @@ public class DataSourceSystemCachedRepository : DataSourceSystemRepository
return dtos;
});
return systems ?? [];
return systems!;
}
}

View File

@ -58,7 +58,7 @@ namespace Persistence.Repository.Repositories
{
System = group.FirstOrDefault()!.System.Name,
Categories = group
.Where(g => categoryIds.Count() == 0 || categoryIds.Contains(g.CategoryId))
.Where(g => !categoryIds.Any() || categoryIds.Contains(g.CategoryId))
})
.ToArrayAsync(token);
@ -121,7 +121,7 @@ namespace Persistence.Repository.Repositories
return systems!;
}
public async Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token)
public async Task<DatesRangeDto?> GetDatesRangeAsync(CancellationToken token)
{
var query = GetQueryReadOnly()
.GroupBy(e => 1)
@ -130,7 +130,11 @@ namespace Persistence.Repository.Repositories
Min = group.Min(e => e.Timestamp),
Max = group.Max(e => e.Timestamp),
});
var values = await query.FirstOrDefaultAsync(token);
if (values == null)
return null;
var result = new DatesRangeDto()
{
From = values?.Min ?? DateTimeOffset.MinValue,

View File

@ -54,6 +54,6 @@ namespace Persistence.Repositories
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
Task<DatesRangeDto?> GetDatesRangeAsync(CancellationToken token);
}
}