88 lines
2.4 KiB
PHP
88 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Traits\HttpResponse;
|
|
use App\Services\Admin\BlogService;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\StoreBlogRequest;
|
|
use App\Http\Requests\UpdateBlogRequest;
|
|
|
|
class ManageBlogsController extends Controller
|
|
{
|
|
use HttpResponse;
|
|
|
|
protected $blog;
|
|
|
|
public function __construct(BlogService $blog)
|
|
{
|
|
$this->blog = $blog;
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
return view('Admin.Pages.manage_cms.manage_blog.manage_blog', [
|
|
'blogs' => $this->blog->getAllBlogs()
|
|
]);
|
|
}
|
|
|
|
public function add_new_blog()
|
|
{
|
|
return view('Admin.Pages.manage_cms.manage_blog.add_new_blog', [
|
|
'tags' => $this->blog->getAllTags()
|
|
]);
|
|
}
|
|
|
|
public function store_blog(StoreBlogRequest $request)
|
|
{
|
|
$blogAdded = $this->blog->store($request);
|
|
return $blogAdded ?
|
|
$this->response('Blog Added Successfully!', 200) :
|
|
$this->response('Blog Could Not Be Added Successfully!', 400);
|
|
}
|
|
public function show_blog($id)
|
|
{
|
|
return view('Admin.Pages.manage_cms.manage_blog.show_blog', [
|
|
'blog' => $this->blog->show($id)
|
|
]);
|
|
}
|
|
|
|
public function edit_blog($id)
|
|
{
|
|
return view('Admin.Pages.manage_cms.manage_blog.edit_blog', [
|
|
'blog' => $this->blog->getBlog($id),
|
|
'tags' => $this->blog->getAllTags()
|
|
]);
|
|
}
|
|
|
|
public function update_blog(UpdateBlogRequest $request)
|
|
{
|
|
$blogUpdated = $this->blog->update($request);
|
|
return $blogUpdated ?
|
|
$this->response('Blog Updated Successfully!', 200) :
|
|
$this->response('Blog Updation Error!', 400);
|
|
}
|
|
|
|
public function delete_blog($id)
|
|
{
|
|
$checkBlogExists = $this->blog->getBlog($id);
|
|
if ($checkBlogExists) {
|
|
$this->blog->delete($id);
|
|
$this->blog->deleteFile($checkBlogExists);
|
|
return response(['status' => 200]);
|
|
} else {
|
|
return response(['status' => 204]);
|
|
}
|
|
}
|
|
|
|
public function update_status(Request $request)
|
|
{
|
|
$statusUpdated = $this->blog->updateStatus($request);
|
|
if (!$statusUpdated) {
|
|
return response()->json(['status' => 400, 'message' => 'Error Changing Category Status!']);
|
|
}
|
|
return response()->json(['status' => 200, 'message' => 'Status Changed!']);
|
|
}
|
|
}
|