diff --git a/DD.Persistence.API/Controllers/ChangeLogController.cs b/DD.Persistence.API/Controllers/ChangeLogController.cs
index e4d1c09..ef5b268 100644
--- a/DD.Persistence.API/Controllers/ChangeLogController.cs
+++ b/DD.Persistence.API/Controllers/ChangeLogController.cs
@@ -1,4 +1,4 @@
-using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using DD.Persistence.Models;
using DD.Persistence.Models.Requests;
@@ -174,4 +174,44 @@ public class ChangeLogController : ControllerBase, IChangeLogApi
return Ok(result);
}
+
+ ///
+ /// Метод, который возвращает статистику по количеству изменений в разрезе дней
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("statistics/changes-count")]
+ public async Task>> GetStatisticsCountAsync([FromQuery] StatisticsChangeLogRequest 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},
+ };
+
+ return Ok(result);
+ }
+
+ ///
+ /// Метод, который возвращает историю изменений в разрезе дней
+ ///
+ ///
+ ///
+ ///
+ [HttpGet("history")]
+ public async Task> GetHistoryAsync([FromQuery] StatisticsChangeLogRequest 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},
+ };
+
+ return Ok(result);
+ }
}
diff --git a/DD.Persistence.Models/Requests/StatisticsChangeLogRequest.cs b/DD.Persistence.Models/Requests/StatisticsChangeLogRequest.cs
new file mode 100644
index 0000000..7d632be
--- /dev/null
+++ b/DD.Persistence.Models/Requests/StatisticsChangeLogRequest.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.Requests;
+
+///
+/// Запрос, используемый для получения статистики по журналу операций
+///
+public class StatisticsChangeLogRequest
+{
+ ///
+ ///
+ ///
+ public Guid DiscriminatorId { get; set; }
+
+ ///
+ /// Пользователь
+ ///
+ public Guid UserId { get; set; }
+}
diff --git a/DD.Persistence.Models/StatisticsChangeLogDto.cs b/DD.Persistence.Models/StatisticsChangeLogDto.cs
new file mode 100644
index 0000000..f8ab537
--- /dev/null
+++ b/DD.Persistence.Models/StatisticsChangeLogDto.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 StatisticsChangeLogDto
+{
+ ///
+ /// Дата и время изменений
+ ///
+ public DateTimeOffset DateTime { get; set; }
+
+ ///
+ /// Количество изменений
+ ///
+ public int ChangesCount { get; set; }
+}