using System.Security.Claims;
using Tiobon.Core.Model;

namespace Tiobon.Core.Common.HttpContextUser;

public interface IUser
{
    string Name { get; }
    long ID { get; }
    long TenantId { get; }
    bool IsAuthenticated();
    IEnumerable<Claim> GetClaimsIdentity();
    List<string> GetClaimValueByType(string ClaimType);

    string GetToken();
    List<string> GetUserInfoFromToken(string ClaimType, string token);

    ServiceResult<string> MessageModel { get; set; }
}