using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WorkStation.Share
{
    /// <summary>
    /// 定义API响应的统一结构，包含操作是否成功、消息和数据。
    /// </summary>
    /// <param name="success">指示请求是否成功。</param>
    /// <param name="message">可选参数，提供响应的附加信息（如错误或成功提示）。</param>
    /// <param name="data">可选参数，包含返回的具体数据（根据API而变化）。</param>
    public class ApiResponse(bool success, string? message, object? data)
    {
        /// <summary>
        /// 获取或设置请求的成功状态。
        /// </summary>
        public bool Success { get; set; } = success;

        /// <summary>
        /// 获取或设置响应的消息内容。
        /// </summary>
        public string? Message { get; set; } = message;

        /// <summary>
        /// 获取或设置响应的数据内容。
        /// </summary>
        public object? Data { get; set; } = data;
    }

    /// <summary>
    /// 表示API响应的结果，包含成功状态、消息内容和数据内容。
    /// </summary>
    /// <typeparam name="T">响应数据的类型。</typeparam>
    public class ApiRespon<T>(bool success, string? message, T? data)
    {
        /// <summary>
        /// 获取或设置请求的成功状态。
        /// </summary>
        public bool Success { get; set; } = success;

        /// <summary>
        /// 获取或设置响应的消息内容。
        /// </summary>
        public string? Message { get; set; } = message;

        /// <summary>
        /// 获取或设置响应的数据内容。
        /// </summary>
        public T? Data { get; set; } = data;
    }
}
