using Microsoft.AspNetCore.Mvc.RazorPages;
using Newtonsoft.Json;

namespace WebApp.Pages
{
    public static class PageModelExtension
    {
        public static string? GetUserId(this PageModel pageModel)
        {
            if (pageModel.User.Identity.IsAuthenticated)
            {
                var userIdClaim = pageModel.User.Claims.FirstOrDefault(c => c.Type == "userId");
                return userIdClaim?.Value;
            }
            return null;
        }

        public static void SetJWT(this PageModel pageModel, string jwt)
        {
            string token = (string)JsonConvert.DeserializeObject(jwt);
            // Сохраняем в кукис токен
            pageModel.Response.Cookies.Append("21gunsthebest", token);
        }

        public static void DeleteJWT(this PageModel pageModel)
        {
            pageModel.Response.Cookies.Delete("21gunsthebest");
        }
    }
}