/** * Created by PhpStorm. * User: shannon * Date: 12/14/15 * Time: 6:15 PM */ use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ResponseInterface as Response; use Syndicate\Entities\Session; use Syndicate\Repositories\SessionRepository; use Syndicate\Utils\RequestParser; $create_session = function (Request $request, Response $response) { $session = Session::getAuthenicatedSession(); $user = $session->getUser(); SessionRepository::saveSession($session); $session_data = array("session_key" => $session->getKey()); $user_data = array("id" => $user->getId(), "username" => $user->username, "first_name" => $user->first_name, "last_name" => $user->last_name); $response_data = array("session" => $session_data, "user" => $user_data, "privileges" => $user->getPrivileges()); $response->getBody()->write(json_encode($response_data)); return $response; }; $app->post("/session/create", $create_session); $close_session = function (Request $request, Response $response) { $parser = new RequestParser($request); $data = $parser->getData(); if (empty($data['session_key'])) { $new_response = $response->withStatus(400); $new_response->getBody()->write("Must supply session_key"); return $new_response; }