File: //var/www/admin.javaapp.co.uk/app/Http/Controllers/Admin/CafeManagementController.php
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\AddCafeProfileRequest;
use App\Http\Requests\ChangeStatusRequest;
use App\Http\Requests\EditCafeHoursRequest;
use App\Http\Requests\EditCafeRequest;
use App\Models\Cafe;
use App\Models\CafeFilter;
use App\Services\CafeManagementService;
class CafeManagementController extends Controller
{
private $cafeManagementService;
public function __construct()
{
$this->cafeManagementService = new CafeManagementService(Cafe::class);
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$data = [];
$data['url'] = route('admin.cafe-management.create');
$data['dataUrl'] = route('admin.cafe-management.data');
return view('admin.cafe-management.index', $data);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$data = [];
$data['url'] = route('admin.cafe-management.index');
$data['cancelUrl'] = route('admin.cafe-management.index');
$data['urlGoogleAPI'] = config('geocode.API_URI');
$data['CafeFilter'] = CafeFilter::where([['name', '!=', 'All'], ['name', '!=', 'Favorites']])->pluck('name', 'id');
$data['types'] = [];
foreach (__('common.cafe_types') as $value) {
array_push($data['types'], $value);
}
return view('admin.cafe-management.add-cafe', $data);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(AddCafeProfileRequest $request)
{
return $this->cafeManagementService->store($request);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
return $this->cafeManagementService->show($id);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
return $this->cafeManagementService->edit($id);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(EditCafeRequest $request, $id)
{
return $this->cafeManagementService->update($request, $id);
}
public function updateCafeHours(EditCafeHoursRequest $request, $id)
{
return $this->cafeManagementService->updateCafeHours($request, $id);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$modelName = 'Cafe';
return $this->cafeManagementService->destroy($id, $modelName);
}
public function status(ChangeStatusRequest $request, $id)
{
$userType = 'Cafe';
return $this->cafeManagementService->status($request, $id, $userType);
}
public function change_admin_approval($id)
{
$userType = 'Cafe';
return $this->cafeManagementService->change_admin_approval($id, $userType);
}
public function data()
{
return $this->cafeManagementService->data();
}
}