Files
AnilistSync/Jellyfin.Plugin.AnilistSync/API/Endpoints.cs
T
Alexander Rufenach 895a92290f Adding additional files
2021-06-01 18:24:50 -04:00

38 lines
1.1 KiB
C#

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Jellyfin.Plugin.AnilistSync.API
{
[ApiController]
[Authorize(Policy = "DefaultAuthorization")]
[Route("AnilistSync")]
public class Endpoints : ControllerBase
{
private readonly AnilistApi _anilistApi;
public Endpoints(AnilistApi anilistApi)
{
_anilistApi = anilistApi;
}
[HttpGet("oauth/token/{userCode}")]
public async Task<ActionResult<CodeResponse?>> GetToken([FromRoute] string userCode)
{
return await _anilistApi.GetToken(userCode);
}
[HttpGet("users/settings/{userId}")]
public async Task<ActionResult<RootObject?>> GetUser([FromRoute] Guid userId)
{
var userConfiguration = Plugin.Instance?.Configuration.GetByGuid(userId);
if (userConfiguration == null)
{
return NotFound();
}
return await _anilistApi.GetUser(userConfiguration.UserToken);
}
}
}