using Models.Endpoint; using Models; namespace ShoopNCook.Controllers { public class ConnectionController : LoginController, RegisterController { private readonly ConnectionObserver observer; private readonly IAccountManager accounts; private readonly UserNotifier notifier; public ConnectionController(ConnectionObserver observer, IAccountManager accounts, UserNotifier notifier) { this.observer = observer; this.accounts = accounts; this.notifier = notifier; } public void Login(string email, string password) { Account? acc = accounts.Login(email, password); if (acc == null) { notifier.Error("Email or password invalid."); return; } observer.OnAccountConnected(acc); } public void Register(string username, string email, string password) { Account? acc = accounts.Register(username, email, password); if (acc == null) { notifier.Error("Invalid credentials."); return; } observer.OnAccountConnected(acc); } } }