More intuit optimisations in Console/Commands

This commit is contained in:
Deon George 2024-08-23 15:27:34 +10:00
parent e39dde05d8
commit 89fb347806
3 changed files with 14 additions and 28 deletions

View File

@ -3,13 +3,13 @@
namespace App\Console\Commands\Intuit; namespace App\Console\Commands\Intuit;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Intuit\Traits\ProviderTokenTrait;
use App\Models\{ProviderOauth,User};
use App\Jobs\AccountingInvoiceSync as Job; use App\Jobs\AccountingInvoiceSync as Job;
class InvoiceSync extends Command class InvoiceSync extends Command
{ {
private const provider = 'intuit'; use ProviderTokenTrait;
/** /**
* The name and signature of the console command. * The name and signature of the console command.
@ -30,16 +30,11 @@ class InvoiceSync extends Command
* Execute the console command. * Execute the console command.
* *
* @return int * @return int
* @throws \Intuit\Exceptions\NotTokenException
*/ */
public function handle() public function handle()
{ {
$uo = User::where('email',$this->argument('user') ?: config('osb.admin'))->singleOrFail(); Job::dispatchSync($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));
Job::dispatchSync($to);
return self::SUCCESS; return self::SUCCESS;
} }

View File

@ -3,20 +3,20 @@
namespace App\Console\Commands\Intuit; namespace App\Console\Commands\Intuit;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Intuit\Traits\ProviderTokenTrait;
use App\Models\{ProviderOauth,User};
use App\Jobs\AccountingPaymentSync as Job; use App\Jobs\AccountingPaymentSync as Job;
class PaymentSync extends Command class PaymentSync extends Command
{ {
private const provider = 'intuit'; use ProviderTokenTrait;
/** /**
* The name and signature of the console command. * The name and signature of the console command.
* *
* @var string * @var string
*/ */
protected $signature = 'accounting:payment:sync' protected $signature = 'intuit:payment:sync'
.' {user? : User Email}'; .' {user? : User Email}';
/** /**
@ -30,17 +30,13 @@ class PaymentSync extends Command
* Execute the console command. * Execute the console command.
* *
* @return int * @return int
* @throws \Intuit\Exceptions\NotTokenException
*/ */
public function handle() 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(); foreach ($to->API()->getPayments() as $acc)
if (! ($to=$so->token($uo)))
abort(500,sprintf('Unknown Tokens for [%s]',$uo->email));
$api = $to->API();
foreach ($api->getPayments() as $acc)
Job::dispatchSync($to,$acc); Job::dispatchSync($to,$acc);
return self::SUCCESS; return self::SUCCESS;

View File

@ -3,8 +3,8 @@
namespace App\Console\Commands\Intuit; namespace App\Console\Commands\Intuit;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Intuit\Traits\ProviderTokenTrait;
use App\Models\{ProviderOauth,User};
use App\Jobs\AccountingTaxSync as Job; use App\Jobs\AccountingTaxSync as Job;
/** /**
@ -12,7 +12,7 @@ use App\Jobs\AccountingTaxSync as Job;
*/ */
class TaxSync extends Command class TaxSync extends Command
{ {
private const provider = 'intuit'; use ProviderTokenTrait;
/** /**
* The name and signature of the console command. * The name and signature of the console command.
@ -33,16 +33,11 @@ class TaxSync extends Command
* Execute the console command. * Execute the console command.
* *
* @return int * @return int
* @throws \Intuit\Exceptions\NotTokenException
*/ */
public function handle() public function handle()
{ {
$uo = User::where('email',$this->argument('user') ?: config('osb.admin'))->singleOrFail(); Job::dispatchSync($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));
Job::dispatchSync($to);
return self::SUCCESS; return self::SUCCESS;
} }