Files
lampac/mods/Music/Controllers/AuthController.cs
T

42 lines
1.2 KiB
C#

using Microsoft.AspNetCore.Mvc;
namespace Music;
public class AuthController : BaseController
{
[HttpGet]
[Route("music/auth/state")]
async public Task<ActionResult> State()
{
string profileId = MusicProfileIdentity.Resolve(requestInfo, Request);
var result = await MusicAuthService.GetStatesAsync(profileId);
return ContentTo(MusicJson.Serialize(result));
}
[HttpPost]
[Route("music/auth/save")]
async public Task<ActionResult> Save(string provider, string payload)
{
string profileId = MusicProfileIdentity.Resolve(requestInfo, Request);
bool result = await MusicAuthService.SaveAsync(provider, payload, profileId);
return ContentTo(MusicJson.Serialize(new
{
provider,
saved = result
}));
}
[HttpPost]
[Route("music/auth/logout")]
async public Task<ActionResult> Logout(string provider)
{
string profileId = MusicProfileIdentity.Resolve(requestInfo, Request);
await MusicAuthService.LogoutAsync(provider, profileId);
return ContentTo(MusicJson.Serialize(new
{
provider,
logged_out = true
}));
}
}