diff --git a/app/controllers/api/ComponentController.php b/app/controllers/api/ComponentController.php new file mode 100644 index 00000000..5a1ad843 --- /dev/null +++ b/app/controllers/api/ComponentController.php @@ -0,0 +1,61 @@ +auth = $auth; + $this->component = $component; + } + + /** + * Get all components + * + * @return \Illuminate\Database\Eloquent\Collection + */ + public function getComponents() { + return $this->component->all(); + } + + /** + * Get a single component + * + * @param int $id + * + * @return Component + */ + public function getComponent($id) { + return $this->component->findOrFail($id); + } + + public function getComponentIncidents($id) { + return $this->component->incidents($id); + } + + /** + * Create a new component + * + * @return Component + */ + public function postComponents() { + $component = new Component(Input::all()); + $component->user_id = $this->auth->user()->id; + if ($component->isValid()) { + try { + $component->saveOrFail(); + return $component; + } catch (Exception $e) { + App::abort(500, $e->getMessage()); + } + } else { + App::abort(404, $component->getErrors()->first()); + } + } +} diff --git a/app/controllers/api/IncidentController.php b/app/controllers/api/IncidentController.php new file mode 100644 index 00000000..e69de29b