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 TCompany : class, IAcCompanyBase where TUserToServiceProvider : class, IAcUserToCompanyBase 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(); }