This commit is contained in:
Kerim 2023-03-01 11:05:33 +05:00
commit 01673668f2
3 changed files with 787 additions and 744 deletions

View File

@ -43,6 +43,7 @@ class PostsController extends Controller
'search' => trim(input('search')),
'category' => input('category'),
'date' => input('date'),
'type' => input('type'),
];
if(request()->has('featured')){
@ -92,6 +93,42 @@ class PostsController extends Controller
}
public function popular(Request $request){
$data = $request->all();
$validator = Validator::make($data, [
'locale' => 'required|in:ru,en,tm',
]);
if($validator->fails()) {
return $this->helpers->apiArrayResponseBuilder(400, 'fail', $validator->errors() );
}
$filter = [
'page' => input('page'),
'perPage' => input('count'),
'search' => trim(input('search')),
'category' => input('category'),
'date' => input('date'),
'type' => input('type'),
];
if(request()->has('featured')){
$filter['featured'] = true;
}
//$posts = response()->json(
// PostResource::collection($this->Post::isPublished()->select("id", "excerpt")
// ->leftJoin('vdomah_blogviews_views as pv', 'pv.post_id', '=', 'rainlab_blog_posts.id')->paginate(8)));
$posts = response()->json(
Post::isPublished()->select("id", "title", "slug", "excerpt", "published_at", "type", "views", "video", "powerseo_title", "powerseo_description", "powerseo_keywords")->with("featured_images")
->leftJoin('vdomah_blogviews_views as pv', 'pv.post_id', '=', 'rainlab_blog_posts.id')->listFrontEnd($filter));
return $posts;
}
public static function getAfterFilters() {return [];}
public static function getBeforeFilters() {return [];}
public static function getMiddleware() {return [];}

View File

@ -11,3 +11,4 @@ Route::resource('api/v1/posts', 'AhmadFatoni\ApiGenerator\Controllers\API\PostsC
Route::get('api/v1/posts/{id}/delete', ['as' => 'api/v1/posts.delete', 'uses' => 'AhmadFatoni\ApiGenerator\Controllers\API\PostsController@destroy']);
Route::resource('api/v1/content', 'AhmadFatoni\ApiGenerator\Controllers\API\ContentsController', ['except' => ['destroy', 'create', 'edit']]);
Route::get('api/v1/popular/posts', 'AhmadFatoni\ApiGenerator\Controllers\API\PostsController@popular');

File diff suppressed because it is too large Load Diff