namespace TakeoutSaaS.Application.App.Personal.Dto;

/// <summary>
/// 个人中心子模块执行状态 DTO。
/// </summary>
public sealed class PersonalModuleStatusDto
{
    /// <summary>
    /// 模块名称。
    /// </summary>
    public string Module { get; init; } = string.Empty;

    /// <summary>
    /// 模块状态：ok / degraded / failed / timeout / skipped。
    /// </summary>
    public string Status { get; init; } = "ok";

    /// <summary>
    /// 业务错误码。
    /// </summary>
    public string? ErrorCode { get; init; }

    /// <summary>
    /// 错误说明。
    /// </summary>
    public string? ErrorMessage { get; init; }

    /// <summary>
    /// 追踪标识。
    /// </summary>
    public string? TraceId { get; init; }
}
