Добавить контракт изменений деталей аудита
Детали событий описываются списком изменений «параметр: было → стало» (AuditChangeDto, AuditDetails), а не произвольным JSON. Запись везде идёт через конструктор AuditDetails; разбор старого плоского формата сохранён. Операторские ручки аудита отдают AuditRecordViewDto с changes и именем пользователя (батч-резолв через ITenantRepository.FindNamesByIdsAsync). Детектор подозрительной активности читает логин через новый разбор.
This commit is contained in:
@@ -7,11 +7,13 @@ namespace Deal.Modules.Tenants.Application.Models;
|
||||
/// <param name="Error">Код ошибки при Ok=false (см. константы); null при успехе.</param>
|
||||
/// <param name="Changed">true — статус реально изменён (пишется аудит tenant_status_changed); false — уже был таким.</param>
|
||||
/// <param name="Tenant">Запись тенанта (актуальный статус — в <see cref="TenantRecordDto.Status"/>); null при Ok=false.</param>
|
||||
/// <param name="PreviousStatus">Статус до изменения; null при Ok=false.</param>
|
||||
public sealed record TenantStatusChangeResultDto(
|
||||
bool Ok,
|
||||
string? Error,
|
||||
bool Changed,
|
||||
TenantRecordDto? Tenant)
|
||||
TenantRecordDto? Tenant,
|
||||
string? PreviousStatus = null)
|
||||
{
|
||||
/// <summary>
|
||||
/// Код ошибки: тенант не найден
|
||||
|
||||
Reference in New Issue
Block a user