HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/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();
    }
}