using HoneyBox.Model.Models.Invitation;

namespace HoneyBox.Core.Interfaces;

/// <summary>
/// 推荐服务接口
/// </summary>
public interface IInvitationService
{
    /// <summary>
    /// 获取推荐信息
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="page">页码</param>
    /// <param name="platform">平台类型</param>
    /// <returns>推荐信息响应</returns>
    Task<InvitationInfoResponse> GetInvitationInfoAsync(int userId, int page, string? platform = null);

    /// <summary>
    /// 绑定邀请码
    /// </summary>
    /// <param name="userId">用户ID</param>
    /// <param name="inviteCode">邀请码</param>
    /// <returns>绑定结果</returns>
    Task<BindInviteCodeResponse> BindInviteCodeAsync(int userId, string inviteCode);
}
