38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using AyCode.Core.Consts;
|
|
using AyCode.Interfaces.Addresses;
|
|
using AyCode.Interfaces.Profiles;
|
|
using AyCode.Interfaces.ServiceProviders;
|
|
using AyCode.Interfaces.Users;
|
|
using AyCode.Interfaces.Server.Logins;
|
|
|
|
namespace AyCode.Models.Server.Logins;
|
|
|
|
public class AcLoggedInModelServer<TResultLoggedInModel, TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress> : IAcLoggedInModelBase<TUser, TUserToken, TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
|
|
|
where TUser : class, IAcUser<TProfile, TServiceProvider, TUserToServiceProvider, TProfileAddress>
|
|
where TUserToken : class, IAcUserTokenBase
|
|
where TProfile : class, IAcProfile<TProfileAddress>
|
|
where TServiceProvider : class, IAcServiceProviderBase
|
|
where TUserToServiceProvider : class, IAcUserToServiceProviderBase
|
|
where TProfileAddress : class, IAcAddress
|
|
{
|
|
public bool IsLoggedIn => LoggedInUser != null;
|
|
|
|
public TUser LoggedInUser { get; private set; }
|
|
public string AccessToken { get; private set; }
|
|
public AcErrorCode LoginErrorCode { get; set; }
|
|
|
|
public void AddLoggedInUser(TUser user, string accessToken)
|
|
{
|
|
LoggedInUser = user;
|
|
AccessToken = accessToken;
|
|
}
|
|
|
|
public void Logout()
|
|
{
|
|
AccessToken = string.Empty;
|
|
LoggedInUser = null;
|
|
|
|
LoginErrorCode = AcErrorCode.Unset;
|
|
}
|
|
} |