Rework products with components
This commit is contained in:
@@ -11,10 +11,11 @@ use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\File;
|
||||
use Illuminate\Support\Str;
|
||||
use Intuit\Exceptions\NotTokenException;
|
||||
use Intuit\Traits\ProviderTokenTrait;
|
||||
use Leenooks\Traits\ScopeActive;
|
||||
|
||||
use App\Casts\CollectionOrNull;
|
||||
use App\Http\Controllers\AccountingController;
|
||||
use App\Interfaces\{IDs,ProductItem};
|
||||
use App\Traits\{ProductDetails,ProviderRef};
|
||||
|
||||
@@ -66,7 +67,7 @@ use App\Traits\{ProductDetails,ProviderRef};
|
||||
*/
|
||||
class Product extends Model implements IDs
|
||||
{
|
||||
use HasFactory,ProductDetails,ScopeActive,ProviderRef;
|
||||
use HasFactory,ProductDetails,ScopeActive,ProviderRef,ProviderTokenTrait;
|
||||
|
||||
protected $casts = [
|
||||
'pricing' => CollectionOrNull::class,
|
||||
@@ -368,7 +369,18 @@ class Product extends Model implements IDs
|
||||
|
||||
public function accounting(string $provider): Collection
|
||||
{
|
||||
return AccountingController::list($provider);
|
||||
$so = ProviderOauth::where('name',self::provider)
|
||||
->sole();
|
||||
|
||||
if (! ($to=$so->token(Auth::user())))
|
||||
throw new NotTokenException(sprintf('Unknown Tokens for [%s]',Auth::user()->email));
|
||||
|
||||
return $to
|
||||
->API()
|
||||
->getItems()
|
||||
->pluck('pid','Id')
|
||||
->transform(fn($item,$value)=>['id'=>$value,'value'=>$item])
|
||||
->values();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user