/**
  * @param LoginBindingModel $model
  * @return mixed
  * @throws \Exception
  */
 public function login(LoginBindingModel $model) : string
 {
     $db = Database::getInstance('app');
     $result = $db->prepare("SELECT id, username, password FROM users WHERE username = ?");
     $result->execute([$model->getUsername()]);
     if ($result->rowCount() > 0) {
         $userRow = $result->fetch();
         if (password_verify($model->getPassword(), $userRow['password'])) {
             return $userRow['id'];
         }
     }
     $_SESSION["binding-errors"] = ["Wrong username or password!"];
     throw new ApplicationException("");
 }