This repository has been archived on 2021-08-17. You can view files and clone it, but cannot push or open issues or pull requests.
TaskBoard/api/api.php
2014-10-20 17:39:41 -04:00

54 lines
1.4 KiB
PHP

<?php
require_once('lib/Slim/Slim.php');
require_once('lib/rb.php');
require_once('lib/password.php');
require_once('lib/JWT.php');
require_once('jsonResponse.php');
use Slim\Slim;
Slim::registerAutoloader();
$app = new Slim();
$app->response->headers->set('Content-Type', 'application/json');
$jsonResponse = new JsonResponse();
require_once('helpers.php'); // Must come after $jsonResponse exists.
// Catch Exception if connection to DB failed
function exceptionHandler($exception) {
header('Content-Type: application/json');
http_response_code(503);
echo '{"message": "API Error."}';
};
set_exception_handler('exceptionHandler');
R::setup('sqlite:taskboard.db');
createInitialUser();
$app->notFound(function() use ($app, $jsonResponse) {
$app->response->setStatus(404);
$jsonResponse->message = 'Matching API call Not found.';
$app->response->setBody($jsonResponse->asJson());
});
// TODO: Figure out updating token on activity.
$app->get('/authenticate', function() use($app, $jsonResponse) {
if (validateToken()) {
$jsonResponse->message = 'Token is authenticated.';
// $user = getUser();
// setUserToken($user, (0.5 * 60 * 60) /* Half an hour */);
// R::store($user);
// $jsonResponse->data = $user->token;
}
$app->response->setBody($jsonResponse->asJson());
});
require_once('userRoutes.php');
require_once('boardRoutes.php');
require_once('itemRoutes.php');
$app->run();
R::close();