middleware('api'); $this->repository = $incidentreport; parent::__construct(); } /** * Show incidentreport's list. * * @param string $slug * * @return response */ protected function index() { $incidentreports = $this->repository ->pushCriteria(new \Assetdocs\Incidentreport\Repositories\Criteria\IncidentreportPublicCriteria()) ->setPresenter('\\Assetdocs\\Incidentreport\\Repositories\\Presenter\\IncidentreportListPresenter') ->scopeQuery(function($query){ return $query->orderBy('id','DESC'); })->paginate(); $incidentreports['code'] = 2000; return response()->json($incidentreports) ->setStatusCode(200, 'INDEX_SUCCESS'); } /** * Show incidentreport. * * @param string $slug * * @return response */ protected function show($slug) { $incidentreport = $this->repository ->scopeQuery(function($query) use ($slug) { return $query->orderBy('id','DESC') ->where('slug', $slug); })->first(['*']); if (!is_null($incidentreport)) { $incidentreport = $this->itemPresenter($module, new IncidentreportItemTransformer); $incidentreport['code'] = 2001; return response()->json($incidentreport) ->setStatusCode(200, 'SHOW_SUCCESS'); } else { return response()->json([]) ->setStatusCode(400, 'SHOW_ERROR'); } } }