refactor(api): move auth middleware to project root

This commit is contained in:
spiral 2022-06-11 00:45:28 -04:00
parent 1c9a68cb53
commit ebcd623bd5
No known key found for this signature in database
GPG key ID: 244A11E4B0BCF40E

View file

@ -1,32 +0,0 @@
using Dapper;
using PluralKit.Core;
namespace PluralKit.API;
public class AuthorizationTokenHandlerMiddleware
{
private readonly RequestDelegate _next;
public AuthorizationTokenHandlerMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext ctx, IDatabase db)
{
ctx.Request.Headers.TryGetValue("authorization", out var authHeaders);
if (authHeaders.Count > 0)
{
var systemId = await db.Execute(conn => conn.QuerySingleOrDefaultAsync<SystemId?>(
"select id from systems where token = @token",
new { token = authHeaders[0] }
));
if (systemId != null)
ctx.Items.Add("SystemId", systemId);
}
await _next.Invoke(ctx);
}
}