From 89fb347806182ecbac076f4265eaaf170582e3b2 Mon Sep 17 00:00:00 2001 From: Deon George Date: Fri, 23 Aug 2024 15:27:34 +1000 Subject: [PATCH] More intuit optimisations in Console/Commands --- app/Console/Commands/Intuit/InvoiceSync.php | 13 ++++--------- app/Console/Commands/Intuit/PaymentSync.php | 16 ++++++---------- app/Console/Commands/Intuit/TaxSync.php | 13 ++++--------- 3 files changed, 14 insertions(+), 28 deletions(-) diff --git a/app/Console/Commands/Intuit/InvoiceSync.php b/app/Console/Commands/Intuit/InvoiceSync.php index 15262bb..69bcbc4 100644 --- a/app/Console/Commands/Intuit/InvoiceSync.php +++ b/app/Console/Commands/Intuit/InvoiceSync.php @@ -3,13 +3,13 @@ namespace App\Console\Commands\Intuit; use Illuminate\Console\Command; +use Intuit\Traits\ProviderTokenTrait; -use App\Models\{ProviderOauth,User}; use App\Jobs\AccountingInvoiceSync as Job; class InvoiceSync extends Command { - private const provider = 'intuit'; + use ProviderTokenTrait; /** * The name and signature of the console command. @@ -30,16 +30,11 @@ class InvoiceSync extends Command * Execute the console command. * * @return int + * @throws \Intuit\Exceptions\NotTokenException */ public function handle() { - $uo = User::where('email',$this->argument('user') ?: config('osb.admin'))->singleOrFail(); - - $so = ProviderOauth::where('name',self::provider)->singleOrFail(); - if (! ($to=$so->token($uo))) - abort(500,sprintf('Unknown Tokens for [%s]',$uo->email)); - - Job::dispatchSync($to); + Job::dispatchSync($this->providerToken($this->argument('user'))); return self::SUCCESS; } diff --git a/app/Console/Commands/Intuit/PaymentSync.php b/app/Console/Commands/Intuit/PaymentSync.php index 7e9b724..c346197 100644 --- a/app/Console/Commands/Intuit/PaymentSync.php +++ b/app/Console/Commands/Intuit/PaymentSync.php @@ -3,20 +3,20 @@ namespace App\Console\Commands\Intuit; use Illuminate\Console\Command; +use Intuit\Traits\ProviderTokenTrait; -use App\Models\{ProviderOauth,User}; use App\Jobs\AccountingPaymentSync as Job; class PaymentSync extends Command { - private const provider = 'intuit'; + use ProviderTokenTrait; /** * The name and signature of the console command. * * @var string */ - protected $signature = 'accounting:payment:sync' + protected $signature = 'intuit:payment:sync' .' {user? : User Email}'; /** @@ -30,17 +30,13 @@ class PaymentSync extends Command * Execute the console command. * * @return int + * @throws \Intuit\Exceptions\NotTokenException */ public function handle() { - $uo = User::where('email',$this->argument('user') ?: config('osb.admin'))->singleOrFail(); + $to = $this->providerToken($this->argument('user')); - $so = ProviderOauth::where('name',self::provider)->singleOrFail(); - if (! ($to=$so->token($uo))) - abort(500,sprintf('Unknown Tokens for [%s]',$uo->email)); - - $api = $to->API(); - foreach ($api->getPayments() as $acc) + foreach ($to->API()->getPayments() as $acc) Job::dispatchSync($to,$acc); return self::SUCCESS; diff --git a/app/Console/Commands/Intuit/TaxSync.php b/app/Console/Commands/Intuit/TaxSync.php index 2ae3f01..7462591 100644 --- a/app/Console/Commands/Intuit/TaxSync.php +++ b/app/Console/Commands/Intuit/TaxSync.php @@ -3,8 +3,8 @@ namespace App\Console\Commands\Intuit; use Illuminate\Console\Command; +use Intuit\Traits\ProviderTokenTrait; -use App\Models\{ProviderOauth,User}; use App\Jobs\AccountingTaxSync as Job; /** @@ -12,7 +12,7 @@ use App\Jobs\AccountingTaxSync as Job; */ class TaxSync extends Command { - private const provider = 'intuit'; + use ProviderTokenTrait; /** * The name and signature of the console command. @@ -33,16 +33,11 @@ class TaxSync extends Command * Execute the console command. * * @return int + * @throws \Intuit\Exceptions\NotTokenException */ public function handle() { - $uo = User::where('email',$this->argument('user') ?: config('osb.admin'))->singleOrFail(); - - $so = ProviderOauth::where('name',self::provider)->singleOrFail(); - if (! ($to=$so->token($uo))) - abort(500,sprintf('Unknown Tokens for [%s]',$uo->email)); - - Job::dispatchSync($to); + Job::dispatchSync($this->providerToken($this->argument('user'))); return self::SUCCESS; }