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;
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;
}

View File

@ -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;

View File

@ -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;
}