invoiceninja/app/Jobs/Credit/StoreCredit.php
Benjamin Beganović 0f661495db
Create 'Credits' module (#3263)
* Create 'Credits' module

* Various fixes on Credit module

* Fix MarkCreditPaid factory
2020-01-30 12:27:22 +11:00

58 lines
1.2 KiB
PHP

<?php
namespace App\Jobs\Credit;
use App\Jobs\Payment\PaymentNotification;
use App\Libraries\MultiDB;
use App\Models\Company;
use App\Models\Credit;
use App\Repositories\CreditRepository;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class StoreCredit implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public $credit;
protected $data;
private $company;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Credit $credit, array $data, Company $company)
{
$this->credit = $credit;
$this->data = $data;
$this->company = $company;
}
/**
* Execute the job.
*
* @return void
*/
public function handle(CreditRepository $credit_repository): ?Credit
{
MultiDB::setDB($this->company->db);
$payment = false;
if ($payment) {
PaymentNotification::dispatch($payment, $payment->company);
}
return $this->credit;
}
}