item($component); } /** * Updates a components ordering. * * @return array */ public function postUpdateComponentOrder() { $componentData = Binput::get('ids'); foreach ($componentData as $order => $componentId) { try { dispatch(new UpdateComponentCommand( Component::find($componentId), null, null, null, null, $order + 1, null, null )); } catch (QueryException $e) { throw new BadRequestHttpException(); } } return $this->collection(Component::query()->orderBy('order')->get()); } /** * Updates the order of component groups. * * @return array */ public function postUpdateComponentGroupOrder() { $groupData = Binput::get('ids'); foreach ($groupData as $order => $groupId) { dispatch(new UpdateComponentGroupCommand( ComponentGroup::find($groupId), null, $order + 1, null )); } return $this->collection(ComponentGroup::query()->orderBy('order')->get()); } /** * Returns a template by slug. * * @throws \Illuminate\Database\Eloquent\ModelNotFoundException * * @return \CachetHQ\Cachet\Models\IncidentTemplate */ public function getIncidentTemplate() { $templateSlug = Binput::get('slug'); if ($template = IncidentTemplate::where('slug', $templateSlug)->first()) { return $template; } throw new ModelNotFoundException("Incident template for $templateSlug could not be found."); } }