'List Document Job', 'message' => 'You have successfully submit a job to list documents' ]; } /** @var CreatesJobResult */ private $createsJobResult; /** * ListDocumentJobLogic constructor. * @param CreatesJobResult $createsJobResult */ public function __construct(CreatesJobResult $createsJobResult) { $this->createsJobResult = $createsJobResult; } /** * @param Request $request * @return JsonResponse */ public function logic(Request $request) : JsonResponse { $jobId = uniqid(); $user = Auth::user(); $userInfo = (object) [ 'email' => $user->email, 'type' => $user->type, ]; $userInfoJson = json_encode($userInfo); $requestSignature = md5($userInfoJson . $request->fullUrl()); $jobSubmissionObject = new JobSubmissionObject( $request->fullUrl(), $request->all(), $requestSignature, null, $jobId, $userInfo ); ListDocumentsJob::dispatch($jobSubmissionObject)->onQueue(env('SQS_QUEUENAME_PREFIX', '').'high_priority'); $result = []; $result['job_id'] = $jobId; $this->createsJobResult->execute($jobSubmissionObject); return $this->response(['data' => $result]); } }