diff --git a/DD.Persistence.API/Controllers/ChangeLogController.cs b/DD.Persistence.API/Controllers/ChangeLogController.cs
index ef5b268..107ff53 100644
--- a/DD.Persistence.API/Controllers/ChangeLogController.cs
+++ b/DD.Persistence.API/Controllers/ChangeLogController.cs
@@ -181,8 +181,8 @@ public class ChangeLogController : ControllerBase, IChangeLogApi
///
///
///
- [HttpGet("statistics/changes-count")]
- public async Task>> GetStatisticsCountAsync([FromQuery] StatisticsChangeLogRequest request, CancellationToken token)
+ [HttpGet("statistics")]
+ public async Task>> GetStatisticsCountAsync([FromQuery] ChangeLogRequest request, CancellationToken token)
{
var result = new List() {
new() { DateTime = DateTimeOffset.UtcNow.AddDays(-60), ChangesCount = 10},
@@ -202,14 +202,56 @@ public class ChangeLogController : ControllerBase, IChangeLogApi
///
///
[HttpGet("history")]
- public async Task> GetHistoryAsync([FromQuery] StatisticsChangeLogRequest request, CancellationToken token)
+ public async Task> HistoryChangeLogDto([FromQuery] ChangeLogRequest request, CancellationToken token)
{
- var result = new List() {
- new() { DateTime = DateTimeOffset.UtcNow.AddDays(-60), ChangesCount = 10},
- new() { DateTime = DateTimeOffset.UtcNow.AddDays(-50), ChangesCount = 2},
- new() { DateTime = DateTimeOffset.UtcNow.AddDays(-25), ChangesCount = 560},
- new() { DateTime = DateTimeOffset.UtcNow.AddDays(-2), ChangesCount = 78},
- new() { DateTime = DateTimeOffset.UtcNow.AddDays(-1), ChangesCount = 39},
+ var userId = Guid.CreateVersion7();
+ var changeLogItemCurrentId = Guid.CreateVersion7();
+ var changeLogItems = new List()
+ {
+ new ChangeLogDto()
+ {
+ Id = changeLogItemCurrentId,
+ Creation = DateTimeOffset.UtcNow,
+ IdAuthor = userId,
+ IdEditor = userId,
+ Obsolete = null,
+ Value = new ChangeLogValuesDto(){
+ Id = Guid.CreateVersion7(),
+ Value = new Dictionary() {
+ ["1"] = new { id = 1, caption = "Изменение 1 (c правкой)" },
+ ["2"] = new { id = 2, caption = "Изменение 2 (с правкой)" },
+ }
+ }
+ },
+ new ChangeLogDto()
+ {
+ Id = Guid.CreateVersion7(),
+ Creation = DateTimeOffset.UtcNow.AddDays(-10),
+ IdAuthor = userId,
+ IdEditor = userId,
+ IdNext = changeLogItemCurrentId,
+ Obsolete = DateTimeOffset.UtcNow.AddDays(-5),
+ Value = new ChangeLogValuesDto(){
+ Id = Guid.CreateVersion7(),
+ Value = new Dictionary() {
+ ["1"] = new { id = 1, caption = "Изменение 1" },
+ ["2"] = new { id = 2, caption = "Изменение 2" },
+ }
+ }
+ }
+ };
+ var result = new List() {
+ new() {
+ Comment = "Петров И. Ю. попросил внести изменения",
+ DateTime = DateTimeOffset.UtcNow,
+ DiscriminatorId = Guid.CreateVersion7(),
+ User = new UserDto()
+ {
+ Id = userId,
+ DisplayName = "Иванов И. И"
+ },
+ ChangeLogItems = changeLogItems
+ },
};
return Ok(result);
diff --git a/DD.Persistence.Models/HistoryChangeLogDto.cs b/DD.Persistence.Models/HistoryChangeLogDto.cs
index 92d3baa..748310e 100644
--- a/DD.Persistence.Models/HistoryChangeLogDto.cs
+++ b/DD.Persistence.Models/HistoryChangeLogDto.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DD.Persistence.Models;
+namespace DD.Persistence.Models;
///
/// Модель, необходимая для отображения истории по журналу изменений
@@ -19,7 +13,7 @@ public class HistoryChangeLogDto
///
/// Пользователь, совершивший изменение данных
///
- public Guid UserId { get; set; }
+ public required UserDto User { get; set; }
///
/// Проект, с которым связаны изменения
@@ -27,22 +21,12 @@ public class HistoryChangeLogDto
public Guid DiscriminatorId { get; set; }
///
- /// Количество измененных строк
+ /// Список изменений
///
- public int RowsChangesCount { get; set; }
-
- ///
- /// Изменения на предшествующую дату
- ///
- public required IEnumerable ChangeLogItemsByPreviousDate { get; set; }
-
- ///
- /// Изменения на текущую дату
- ///
- public required IEnumerable ChangeLogItemsByCurrentDate { get; set; }
+ public required IEnumerable ChangeLogItems { get; set; }
///
/// Комментарий к изменению
///
- public string? Comment { get; set; }
+ public required string Comment { get; set; }
}
diff --git a/DD.Persistence.Models/Requests/StatisticsChangeLogRequest.cs b/DD.Persistence.Models/Requests/ChangeLogRequest.cs
similarity index 51%
rename from DD.Persistence.Models/Requests/StatisticsChangeLogRequest.cs
rename to DD.Persistence.Models/Requests/ChangeLogRequest.cs
index 7d632be..59396ff 100644
--- a/DD.Persistence.Models/Requests/StatisticsChangeLogRequest.cs
+++ b/DD.Persistence.Models/Requests/ChangeLogRequest.cs
@@ -1,18 +1,12 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DD.Persistence.Models.Requests;
+namespace DD.Persistence.Models.Requests;
///
-/// Запрос, используемый для получения статистики по журналу операций
+/// Запрос, используемый для получения данных по журналу операций
///
-public class StatisticsChangeLogRequest
+public class ChangeLogRequest
{
///
- ///
+ /// Дискриминатор задачи
///
public Guid DiscriminatorId { get; set; }
diff --git a/DD.Persistence.Models/UserDto.cs b/DD.Persistence.Models/UserDto.cs
new file mode 100644
index 0000000..682ccf8
--- /dev/null
+++ b/DD.Persistence.Models/UserDto.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DD.Persistence.Models;
+
+///
+/// Класс, описывающий пользователя
+///
+public class UserDto
+{
+ ///
+ /// Идентификатор пользователя
+ ///
+ public Guid Id { get; set; }
+
+ ///
+ /// Имя пользователя для отображения
+ ///
+ public required string DisplayName { get; set; }
+}