Files
exchange-2.0/app/Classes/Modules/Bookings/ControllersLogic/ListBookingJobLogic.php
T
2023-08-25 08:36:31 +08:00

57 lines
1.4 KiB
PHP

<?php
namespace App\Classes\Modules\Bookings\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Jobs\ListBookings;
use App\Classes\Modules\Bookings\Standards\Rules\CanListBookings;
use App\Classes\Modules\Generic\DataTransferObjects\ListGenericJobObject;
use ErrorException;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ListBookingJobLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification():array {
return [
'title' => 'List Booking Job',
'message' => 'You have successfully submit a job to list bookings'
];
}
/**
* @param Request $request
* @return JsonResponse
*/
public function logic(Request $request) : JsonResponse
{
$jobId = uniqid();
$user = Auth::user();
$userInfo = (object) [
'email' => $user->email,
'type' => $user->type,
];
$listGenericJobObject = new ListGenericJobObject(
"Proof of Concept",
$request->all(),
$jobId,
$userInfo
);
ListBookings::dispatch($listGenericJobObject);
$result = [];
$result['job_id'] = $jobId;
return $this->response(['data' => $result]);
}
}