diff --git a/.env b/.env index 155133d7b..9766a23ff 100644 --- a/.env +++ b/.env @@ -15,7 +15,7 @@ DB_PASSWORD=strtmage BROADCAST_DRIVER=log CACHE_DRIVER=file -QUEUE_CONNECTION=sync +QUEUE_CONNECTION=database QUEUE_DRIVER=database SESSION_DRIVER=file SESSION_LIFETIME=120 diff --git a/app/Jobs/ProcessWalletJournal.php b/app/Jobs/ProcessWalletJournal.php new file mode 100644 index 000000000..28d7b710d --- /dev/null +++ b/app/Jobs/ProcessWalletJournal.php @@ -0,0 +1,119 @@ +eveMail = $mail; + } + + /** + * Execute the job. + * Utilized by using SendEveMail::dispatch($mail); + * The model is passed into the dispatch function, then added to the queue + * for processing. + * + * @return void + */ + public function handle() + { + //Retrieve the token for main character to send mails from + $token = EsiToken::where(['character_id'=> 93738489])->get(); + + //Create the ESI authentication container + $config = config('esi'); + $authentication = new EsiAuthentication([ + 'client_id' => $config['client_id'], + 'secret' => $config['secret'], + 'refresh_token' => $token[0]->refresh_token, + ]); + + //Setup the Eseye class + $esi = new Eseye($authentication); + + //Attemp to send the mail + try { + $esi->setBody([ + 'approved_cost' => 0, + 'body' => $this->eveMail->body, + 'recipients' => [[ + 'recipient_id' => (int)$this->eveMail->recipient, + 'recipient_type' => $this->eveMail->recipient_type, + ]], + 'subject' => $this->eveMail->subject, + ])->invoke('post', '/characters/{character_id}/mail/', [ + 'character_id'=> 93738489, + ]); + } catch(RequestFailedException $e) { + return null; + } + + $this->eveMail->delete(); + } + + /** + * The job failed to process. + * + * @param Exception $exception + * @return void + */ + public function failed($exception) + { + // Send user notification of failure, etc... + dd($exception); + } +}