namespace ApostaAiApi\Routes; use ApostaAiApi\Middleware\NotLoggedInMiddleware; use ApostaAiApi\Middleware\LoggedInMiddleware; use ApostaAiApi\Models\User; use ApostaAiApi\Models\UserQuery; /** * 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']);