using AyCode.Core.Consts; using AyCode.Interfaces.Addresses; using AyCode.Interfaces.Profiles; using AyCode.Interfaces.ServiceProviders; using AyCode.Interfaces.Users; namespace AyCode.Interfaces.Server.Logins; public interface IAcLoggedInModelBase : IAcLoginDtoBase where TUser : class, IAcUser where TUserToken : class, IAcUserTokenBase where TProfile : class, IAcProfile where TServiceProvider : class, IAcServiceProviderBase where TUserToServiceProvider : class, IAcUserToServiceProviderBase where TProfileAddress : class, IAcAddress { bool IsLoggedIn { get; } TUser LoggedInUser { get; } string AccessToken { get; } AcErrorCode LoginErrorCode { get; set; } void AddLoggedInUser(TUser user, string accessToken); void Logout(); }