Files
shipping-portal/app/Classes/Modules/PackingLists/ControllersLogic/ListPackingListsJobLogic.php
T

55 lines
1.3 KiB
PHP

<?php
namespace App\Classes\Modules\PackingLists\ControllersLogic;
use App\Classes\General\Abstracts\AbstractControllerLogic;
use App\Classes\Jobs\ListPackingListsJob;
use App\Classes\Modules\Jobs\DataTransferObjects\ListGenericJobObject;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ListPackingListsJobLogic extends AbstractControllerLogic
{
/**
* @return array
*/
protected function notification():array {
return [
'title' => 'List Transaction Job',
'message' => 'You have successfully submit a job to list transactions'
];
}
/**
* @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(
$request->fullUrl(),
$request->all(),
$jobId,
$userInfo
);
ListPackingListsJob::dispatch($listGenericJobObject);
$result = [];
$result['job_id'] = $jobId;
return $this->response(['data' => $result]);
}
}