/** * Updates a components ordering. * * @return array */ public function postUpdateComponentOrder() { $componentData = Binput::get('ids'); foreach ($componentData as $order => $componentId) { try { $component = Component::find($componentId); dispatch(new UpdateComponentCommand($component, $component->name, $component->description, $component->status, $component->link, $order + 1, $component->group_id, $component->enabled)); } catch (QueryException $e) { throw new BadRequestHttpException(); } } return $this->collection(Component::query()->orderBy('order')->get()); }
/** * Get all components. * * @return \Illuminate\Http\JsonResponse */ public function getComponents() { if (app(Guard::class)->check()) { $components = Component::query(); } else { $components = Component::enabled(); } $components->search(Binput::except(['sort', 'order', 'per_page'])); if ($sortBy = Binput::get('sort')) { $direction = Binput::has('order') && Binput::get('order') == 'desc'; $components->sort($sortBy, $direction); } $components = $components->paginate(Binput::get('per_page', 20)); return $this->paginator($components, Request::instance()); }