Updated timeline route for both education and work

This commit is contained in:
Rohit Pai 2021-08-27 21:18:19 +01:00
parent 1e742ed654
commit 539e6cc23d
3 changed files with 49 additions and 9 deletions

View File

@ -23,16 +23,36 @@ $app->setBasePath("/api");
$timelineData = new TimelineData();
$app->get("/timelineData", function (Request $request, Response $response)
$app->get("/timelineData/{timeline}", function (Request $request, Response $response, array $args)
{
global $timelineData;
$json = $result = "";
$result = $timelineData->getTimelineData();
//check if route is available if it is get the data
//otherwise return an error
if($args["timeline"] == "edu")
{
$result = $timelineData->getEduData();
}
else if($args["timeline"] == "work")
{
$result = $timelineData->getWorkData();
}
else
{
$result = array("errorMessage" => "Error, timeline data not found");
}
$json = json_encode($result);
$response->getBody()->write($json);
//if it is an error give a 404 code since it can't find the data
if(array_key_exists(“errorMessage”, $result))
{
$response = $response->withStatus(404);
}
//use content type json to indicate json data on frontend.
return $response->withHeader("Content-Type", "application/json");
});

View File

@ -3,10 +3,10 @@ require_once "./config.php";
class TimelineData
{
function getTimelineData()
function getEduData()
{
$conn = dbConn();
$stmt = $conn->prepare("SELECT * FROM timeline;");
$stmt = $conn->prepare("SELECT * FROM edu;");
$stmt->execute();
// set the resulting array to associative
@ -18,8 +18,28 @@ class TimelineData
}
else
{
return array("errorMessage" => "Error timeline data not found");
return array("errorMessage" => "Error, edu data not found");
}
}
function getWorkData()
{
$conn = dbConn();
$stmt = $conn->prepare("SELECT * FROM work;");
$stmt->execute();
// set the resulting array to associative
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($result)
{
return $result;
}
else
{
return array("errorMessage" => "Error, work data not found");
}
}
}

View File

@ -104,11 +104,11 @@ function StartTextAnimation(i)
function getTimelineData()
{
fetch("/api/timelineData").then(res =>
fetch("/api/timelineData/edu").then(res =>
{
res.json().then(json =>
{
console.log(JSON.parse(json));
json
})
});
}