public function getDeletedDocs() { $admin_flag = Input::get('admin'); $query = Doc::onlyTrashed()->with('sponsor')->where('is_template', '!=', '1'); $publish_states = [Doc::PUBLISH_STATE_DELETED_USER]; // If admin flag is passed, check auth and then add if ($admin_flag) { if (!Auth::user()->hasRole('admin')) { return Response('Unauthorized.', 403); } $publish_states[] = Doc::PUBLISH_STATE_DELETED_ADMIN; } else { $query->belongsToUser(Auth::user()->id); } $query->whereIn('publish_state', $publish_states); $docs = $query->get(); return Response::json(Doc::prepareCountsAndDates($docs)); }