Interlinked/src/Interlinked.Core/Services/UserManager.cs

32 lines
822 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http.Json;
using System.Threading.Tasks;
using Interlinked.Shared.Model;
namespace Interlinked.Core.Services;
public class UserManager
{
public UserManager(IServiceProvider serv)
{
_serv = serv;
}
private readonly IServiceProvider _serv;
public async Task InitAsync()
{
using var scope = _serv.CreateAsyncScope();
var resp = await scope.ServiceProvider.GetRequiredService<HttpClient>().GetAsync("/api/auth/userdata");
if (resp.StatusCode == HttpStatusCode.OK)
{
User = (await resp.Content.ReadFromJsonAsync<UserModel>())!;
}
}
public UserModel User { get; set; } = default!;
public bool IsAuthorized => User != null;
}