using Dpz.Core.Public.ViewModel.Steam;

namespace Dpz.Core.WebApi.Controllers;

/// <summary>
/// Steam
/// </summary>
[ApiController, Route("api/[controller]")]
public class SteamController(ISteamGameService steamGameService) : ControllerBase
{
    /// <summary>
    /// 获取游戏列表
    /// </summary>
    /// <returns></returns>
    [HttpGet]
    public async Task<ActionResult<List<VmSteamGame>>> GetGames(CancellationToken cancellationToken)
    {
        var data = await steamGameService.GetGamesAsync(cancellationToken);
        return Ok(data);
    }

    /// <summary>
    /// 获取游戏详情
    /// </summary>
    /// <param name="id"></param>
    /// <param name="cancellationToken">取消令牌</param>
    /// <returns></returns>
    [HttpGet("{id:int}")]
    public async Task<ActionResult<VmSteamGame?>> GetGame(
        int id,
        CancellationToken cancellationToken
    )
    {
        var data = await steamGameService.GetGameAsync(id, cancellationToken);
        return Ok(data);
    }
}
评论加载中...