From f5ee1efec0bfdba04792cf1c1de84029bf67561f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Tue, 5 Sep 2023 09:09:04 +1000 Subject: [PATCH] Update transactions after a bank rule has been added or updated --- .../Controllers/BankTransactionRuleController.php | 12 ++++++++++-- .../BulkBankTransactionRuleRequest.php | 5 ++++- app/Services/Bank/BankMatchingService.php | 1 + 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/BankTransactionRuleController.php b/app/Http/Controllers/BankTransactionRuleController.php index 0d7431b76722..a17cf4cfe76c 100644 --- a/app/Http/Controllers/BankTransactionRuleController.php +++ b/app/Http/Controllers/BankTransactionRuleController.php @@ -24,6 +24,7 @@ use App\Http\Requests\BankTransactionRule\StoreBankTransactionRuleRequest; use App\Http\Requests\BankTransactionRule\CreateBankTransactionRuleRequest; use App\Http\Requests\BankTransactionRule\UpdateBankTransactionRuleRequest; use App\Http\Requests\BankTransactionRule\DestroyBankTransactionRuleRequest; +use App\Services\Bank\BankMatchingService; class BankTransactionRuleController extends BaseController { @@ -254,8 +255,12 @@ class BankTransactionRuleController extends BaseController */ public function update(UpdateBankTransactionRuleRequest $request, BankTransactionRule $bank_transaction_rule) { - //stubs for updating the model - $bank_transaction = $this->bank_transaction_repo->save($request->all(), $bank_transaction_rule); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + $bank_transaction_rule = $this->bank_transaction_repo->save($request->all(), $bank_transaction_rule); + + BankMatchingService::dispatch($user->company()->id, $user->company()->db); return $this->itemResponse($bank_transaction_rule->fresh()); } @@ -302,6 +307,7 @@ class BankTransactionRuleController extends BaseController { /** @var \App\Models\User $user **/ $user = auth()->user(); + $bank_transaction_rule = BankTransactionRuleFactory::create($user->company()->id, $user->id); return $this->itemResponse($bank_transaction_rule); @@ -353,6 +359,8 @@ class BankTransactionRuleController extends BaseController $bank_transaction_rule = $this->bank_transaction_repo->save($request->all(), BankTransactionRuleFactory::create($user->company()->id, $user->id)); + BankMatchingService::dispatch($user->company()->id, $user->company()->db); + return $this->itemResponse($bank_transaction_rule); } diff --git a/app/Http/Requests/BankTransactionRule/BulkBankTransactionRuleRequest.php b/app/Http/Requests/BankTransactionRule/BulkBankTransactionRuleRequest.php index 1d5ae4b5b6f4..de6c3044bf52 100644 --- a/app/Http/Requests/BankTransactionRule/BulkBankTransactionRuleRequest.php +++ b/app/Http/Requests/BankTransactionRule/BulkBankTransactionRuleRequest.php @@ -22,7 +22,10 @@ class BulkBankTransactionRuleRequest extends Request */ public function authorize() : bool { - return auth()->user()->isAdmin(); + /** @var \App\Models\User $user */ + $user = auth()->user(); + + return $user->isAdmin(); } public function rules() diff --git a/app/Services/Bank/BankMatchingService.php b/app/Services/Bank/BankMatchingService.php index 30eb58943e1a..4f88fdc31972 100644 --- a/app/Services/Bank/BankMatchingService.php +++ b/app/Services/Bank/BankMatchingService.php @@ -23,6 +23,7 @@ use Illuminate\Queue\SerializesModels; class BankMatchingService implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; + public function __construct(public $company_id, public $db) { }