/** * Class UserRoute * * @package ApostaAiApi\Routes */ $this->group("/user", function () { $this->post("/register", function ($req, $res) { $postData = $req->getParsedBody(); $user = new User(); $user->setEmail($postData['email']); if ($user->emailExists()) { return $res->withJson(["Message" => "Email already exists"], 409); } $user->setBCryptPassword($postData['password']); $user->setName($postData['name']); $user->setScore(50); if ($user->save()) { return $res->withJson(["Message" => "Registered"], 200); } else { return $res->withJson(["Message" => "Error while registering"], 403); } })->add(new NotLoggedInMiddleware()); $this->post("/login", function ($req, $res) { $postData = $req->getParsedBody(); $user = UserQuery::create()->findOneByEmail($postData['email']); if (!$user) { return $res->withJson(["Message" => 'Email ' . $postData['email'] . ' not found'], 404); } $password = $postData['password']; if ($user->authenticate($password)) { $_SESSION['id'] = $user->getId();