From 9b19ac14560ed96b7dbf589f9a180a660afc1339 Mon Sep 17 00:00:00 2001 From: jsalisbury Date: Wed, 16 Nov 2016 09:39:55 -0500 Subject: [PATCH 1/3] get category by id --- api/routes/category.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/api/routes/category.php b/api/routes/category.php index 6a344a0..cb5856e 100644 --- a/api/routes/category.php +++ b/api/routes/category.php @@ -20,6 +20,32 @@ "name" => $cat->getName() ]; } + $response = $response->withJSON($response_json); + return $response; +}); + +/** +* GET Category by ID +* @param id int PK of known category +*/ + +$app->get('/category/{id}', function( $request, $response ) { + $q = new CategoryQuery; + $cat = $q->findPK($request->getAttribute('id')); + + $response_json = [ + "status" => [ + "code" => $response->getStatusCode(), + "message" => "OK" + ], + "data" => [] + ]; + + $response_json["data"][] = [ + "id" => $cat->getId(), + "name" => $cat->getName() + ]; + $response = $response->withJSON($response_json); return $response; }); \ No newline at end of file From 71454e6376f3c0c61b910ffb20097097a9df65ac Mon Sep 17 00:00:00 2001 From: jsalisbury Date: Tue, 29 Nov 2016 22:56:14 -0500 Subject: [PATCH 2/3] can view rules by category and add a new rule via post. --- api/config.php | 9 +++++++-- api/index.php | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/api/config.php b/api/config.php index c07ab83..04a42f5 100644 --- a/api/config.php +++ b/api/config.php @@ -1,4 +1,9 @@ [ + 'displayErrorDetails' => true, + 'addContentLengthHeader' => false + ] +]; + diff --git a/api/index.php b/api/index.php index ee8530e..3bae386 100644 --- a/api/index.php +++ b/api/index.php @@ -12,6 +12,7 @@ * Routes */ require './routes/category.php'; +require './routes/rules.php'; // Run App $app->run(); \ No newline at end of file From ba55b1c625a78268a5462d1217fcddb8c7d18d8a Mon Sep 17 00:00:00 2001 From: jsalisbury Date: Tue, 29 Nov 2016 22:58:36 -0500 Subject: [PATCH 3/3] dumb. didnt add new route file --- api/routes/rules.php | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 api/routes/rules.php diff --git a/api/routes/rules.php b/api/routes/rules.php new file mode 100644 index 0000000..5a24562 --- /dev/null +++ b/api/routes/rules.php @@ -0,0 +1,53 @@ +get('/rules/byCategory/{id}', function($request, $response) { + $q = new CategoryRankNutrientQuery; + $requestedCatRules = $q->filterByCategoryId($request->getAttribute('id'))->find(); + + $response_json = [ + "status" => [ + "code" => $response->getStatusCode(), + "message" => "OK" + ], + "data" => [] + ]; + + foreach($requestedCatRules as $rule) { + $response_json["data"][] = [ + "nutrientName" => $rule->getNutrient()->getName(), + "nutrientId" => $rule->getNutrient()->getId(), + "operator" => $rule->getOperator(), + "threshold" => $rule->getThreshold(), + "units" => $rule->getUnits() + ]; + } + + $response = $response->withJSON($response_json); + return $response; +}); + + + +$app->post('/rules/createForCategory/{catId}', function($request, $response) { + + $newRule = new CategoryRankNutrient; + + $cat = $request->getAttribute('catId'); + + + $nutrient = $request->getParam('nutrientId'); + + $rank = $request->getParam('rankId'); + + + $newRule->setThreshold($request->getParam('threshold')); + $newRule->setUnits($request->getParam('units')); + $newRule->setOperator($request->getParam('operator')); + $newRule->setCategoryId($cat); + $newRule->setRankId($rank); + $newRule->setNutrientId($nutrient); + + $newRule->save(); + + +}); \ No newline at end of file