Files
Deal/src/core/Deal.Modules.Tenants/Application/Models/TenantStatusChangeResultDto.cs
T
stepan 02a4f9c749 Добавить контракт изменений деталей аудита
Детали событий описываются списком изменений «параметр: было → стало» (AuditChangeDto, AuditDetails), а не произвольным JSON. Запись везде идёт через конструктор AuditDetails; разбор старого плоского формата сохранён. Операторские ручки аудита отдают AuditRecordViewDto с changes и именем пользователя (батч-резолв через ITenantRepository.FindNamesByIdsAsync). Детектор подозрительной активности читает логин через новый разбор.
2026-09-13 19:17:57 +03:00

23 lines
1.2 KiB
C#

namespace Deal.Modules.Tenants.Application.Models;
/// <summary>
/// Результат смены статуса тенанта оператором.
/// </summary>
/// <param name="Ok">true — тенант найден и действие применимо (возможно, без изменения — см. <see cref="Changed"/>).</param>
/// <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,
string? PreviousStatus = null)
{
/// <summary>
/// Код ошибки: тенант не найден
/// </summary>
public const string ErrorNotFound = "tenant_not_found";
}