using HoneyBox.Admin.Business.Models.Dashboard;

namespace HoneyBox.Admin.Business.Services.Interfaces;

/// <summary>
/// 仪表盘服务接口
/// </summary>
public interface IDashboardService
{
    /// <summary>
    /// 获取仪表盘概览数据
    /// </summary>
    /// <returns>仪表盘概览</returns>
    Task<DashboardOverviewResponse> GetOverviewAsync();

    /// <summary>
    /// 获取广告账户列表
    /// </summary>
    /// <returns>广告账户列表</returns>
    Task<List<AdAccountDto>> GetAdAccountsAsync();

    /// <summary>
    /// 创建广告账户
    /// </summary>
    /// <param name="request">创建请求</param>
    /// <returns>新广告账户ID</returns>
    Task<int> CreateAdAccountAsync(AdAccountCreateRequest request);

    /// <summary>
    /// 删除广告账户
    /// </summary>
    /// <param name="id">广告账户ID</param>
    /// <returns>是否成功</returns>
    Task<bool> DeleteAdAccountAsync(int id);
}
