Ченджлог (наработки)
This commit is contained in:
parent
d7b5b7e3ab
commit
24046d8505
@ -9,52 +9,63 @@ namespace Persistence.API.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
public class ChangeLogRotorController : ControllerBase, IChangeLogApi<ProcessMapRotorDto, ChangeLogDto<ProcessMapRotorDto>>
|
public class ChangeLogController<TDto> : ControllerBase, IChangeLogApi<TDto, ChangeLogDto<TDto>>
|
||||||
|
where TDto : class, IChangeLogDto, new()
|
||||||
{
|
{
|
||||||
private IChangeLogRepository<ProcessMapRotorDto, ChangeLogDto<ProcessMapRotorDto>> repository;
|
private IChangeLogRepository<TDto, ChangeLogDto<TDto>> repository;
|
||||||
|
|
||||||
public ChangeLogRotorController(IChangeLogRepository<ProcessMapRotorDto, ChangeLogDto<ProcessMapRotorDto>> repository)
|
public ChangeLogController(IChangeLogRepository<TDto, ChangeLogDto<TDto>> repository)
|
||||||
{
|
{
|
||||||
this.repository = repository;
|
this.repository = repository;
|
||||||
}
|
}
|
||||||
public async Task<ActionResult<int>> Add(ProcessMapRotorDto dto, CancellationToken token)
|
|
||||||
{
|
|
||||||
await repository.InsertRange(0, [dto], token);
|
|
||||||
|
|
||||||
return null;
|
[HttpPost]
|
||||||
|
public async Task<ActionResult<int>> Add(TDto dto, CancellationToken token)
|
||||||
|
{
|
||||||
|
var userId = User.GetUserId<Guid>();
|
||||||
|
var result = await repository.InsertRange(userId, [dto], token);
|
||||||
|
|
||||||
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<ActionResult<int>> AddRange(IEnumerable<ProcessMapRotorDto> dtos, CancellationToken token)
|
[HttpPost("range")]
|
||||||
|
public Task<ActionResult<int>> AddRange(IEnumerable<TDto> dtos, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpDelete]
|
||||||
public Task<ActionResult<int>> Delete(int id, CancellationToken token)
|
public Task<ActionResult<int>> Delete(int id, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpDelete("range")]
|
||||||
public Task<ActionResult<int>> DeleteRange(IEnumerable<int> ids, CancellationToken token)
|
public Task<ActionResult<int>> DeleteRange(IEnumerable<int> ids, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<ActionResult<IEnumerable<ProcessMapRotorDto>>> GetChangeLogCurrent(CancellationToken token)
|
[HttpGet]
|
||||||
|
public Task<ActionResult<IEnumerable<TDto>>> GetChangeLogCurrent(CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<ActionResult<IEnumerable<ChangeLogDto<ProcessMapRotorDto>>>> GetChangeLogForDate(DateTimeOffset historyMoment, CancellationToken token)
|
[HttpGet("history")]
|
||||||
|
public Task<ActionResult<IEnumerable<ChangeLogDto<TDto>>>> GetChangeLogForDate(DateTimeOffset historyMoment, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<ActionResult<int>> Update(ProcessMapRotorDto dto, CancellationToken token)
|
[HttpPut]
|
||||||
|
public Task<ActionResult<int>> Update(TDto dto, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<ActionResult<int>> UpdateRange(IEnumerable<ProcessMapRotorDto> dtos, CancellationToken token)
|
[HttpPut("range")]
|
||||||
|
public Task<ActionResult<int>> UpdateRange(IEnumerable<TDto> dtos, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Persistence.Database.Model;
|
using Persistence.Database.Model;
|
||||||
|
using Persistence.Models;
|
||||||
using Persistence.Repositories;
|
using Persistence.Repositories;
|
||||||
using Persistence.Repository.Data;
|
using Persistence.Repository.Data;
|
||||||
using Persistence.Repository.Repositories;
|
using Persistence.Repository.Repositories;
|
||||||
@ -16,6 +17,7 @@ public static class DependencyInjection
|
|||||||
MapsterSetup();
|
MapsterSetup();
|
||||||
|
|
||||||
services.AddTransient<ITimeSeriesDataRepository<DataSaubDto>, TimeSeriesDataCachedRepository<DataSaub, DataSaubDto>>();
|
services.AddTransient<ITimeSeriesDataRepository<DataSaubDto>, TimeSeriesDataCachedRepository<DataSaub, DataSaubDto>>();
|
||||||
|
services.AddTransient(typeof(IChangeLogRepository<,>), typeof(ChangeLogRepository<,>));
|
||||||
|
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
|
@ -46,9 +46,21 @@ public class ChangeLogRepository<TDto, TChangeLogDto> : IChangeLogRepository<TDt
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<int> InsertRange(int idUser, IEnumerable<TDto> dtos, CancellationToken token)
|
public Task<int> InsertRange(Guid idUser, IEnumerable<TDto> dtos, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
var entity = new ChangeLog() {
|
||||||
|
Value = dtos,
|
||||||
|
Creation = DateTimeOffset.UtcNow,
|
||||||
|
Id = idUser,
|
||||||
|
IdAuthor = idUser,
|
||||||
|
IdDiscriminator = new Guid(),
|
||||||
|
IdEditor = idUser
|
||||||
|
};
|
||||||
|
entity.Id = idUser;
|
||||||
|
|
||||||
|
db.Set<ChangeLog>().Add(entity);
|
||||||
|
var result = db.SaveChangesAsync(token);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<int> MarkAsDeleted(int idUser, IEnumerable<int> ids, CancellationToken token)
|
public Task<int> MarkAsDeleted(int idUser, IEnumerable<int> ids, CancellationToken token)
|
||||||
|
@ -7,7 +7,7 @@ namespace Persistence.API;
|
|||||||
/// Интерфейс для работы с API журнала изменений
|
/// Интерфейс для работы с API журнала изменений
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IChangeLogApi<TDto, TChangeLogDto>
|
public interface IChangeLogApi<TDto, TChangeLogDto>
|
||||||
where TDto : class, new()
|
where TDto : class, IChangeLogDto, new()
|
||||||
where TChangeLogDto : ChangeLogDto<TDto>
|
where TChangeLogDto : ChangeLogDto<TDto>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -5,7 +5,7 @@ namespace Persistence.Models;
|
|||||||
/// Часть записи описывающая изменение
|
/// Часть записи описывающая изменение
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ChangeLogDto<T> : IChangeLogDto
|
public class ChangeLogDto<T> : IChangeLogDto
|
||||||
where T: class
|
where T: class, IChangeLogDto, new()
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Запись
|
/// Запись
|
||||||
|
@ -17,7 +17,7 @@ public interface IChangeLogRepository<TDto, TChangeLogDto> : ISyncRepository<TDt
|
|||||||
/// <param name="dtos"></param>
|
/// <param name="dtos"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> InsertRange(int idUser, IEnumerable<TDto> dtos, CancellationToken token);
|
Task<int> InsertRange(Guid idUser, IEnumerable<TDto> dtos, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Редактирование записей
|
/// Редактирование записей
|
||||||
|
Loading…
Reference in New Issue
Block a user