fix routes. use factory

This commit is contained in:
karneaud 2024-08-02 21:47:12 -04:00
parent eaa12e8b31
commit bacd5a0f0d

View File

@ -3,13 +3,10 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
use App\Factory\QuickbooksSDKFactory;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
use QuickBooksOnline\API\DataService\DataService;
use App\Http\Controllers\ImportQuickbooksController;
use App\Services\Import\Quickbooks\Service as QuickbooksService; use App\Services\Import\Quickbooks\Service as QuickbooksService;
use App\Services\Import\Quickbooks\Auth as QuickbooksAuthService;
use App\Repositories\Import\Quickcbooks\Contracts\RepositoryInterface; use App\Repositories\Import\Quickcbooks\Contracts\RepositoryInterface;
use App\Services\Import\Quickbooks\SdkWrapper as QuickbooksSDKWrapper; use App\Services\Import\Quickbooks\SdkWrapper as QuickbooksSDKWrapper;
use App\Services\Import\Quickbooks\Contracts\SdkInterface as QuickbooksInterface; use App\Services\Import\Quickbooks\Contracts\SdkInterface as QuickbooksInterface;
@ -26,26 +23,12 @@ class QuickbooksServiceProvider extends ServiceProvider
{ {
$this->app->bind(QuickbooksInterface::class, function ($app) { $this->app->bind(QuickbooksInterface::class, function ($app) {
// TODO: Load tokens from Cache and DB? return new QuickbooksSDKWrapper(QuickbooksSDKFactory::create());
$sdk = DataService::Configure(config('services.quickbooks.settings') + ['state' => Str::random(12)]);
if(env('APP_DEBUG')) {
$sdk->setLogLocation(storage_path("logs/quickbooks.log"));
$sdk->enableLog();
}
$sdk->setMinorVersion("73");
$sdk->throwExceptionOnError(true);
return new QuickbooksSDKWrapper($sdk);
}); });
// Register SDKWrapper with DataService dependency // Register SDKWrapper with DataService dependency
$this->app->singleton(QuickbooksService::class, function ($app) { $this->app->singleton(QuickbooksService::class, function ($app) {
return new QuickbooksService($app->make(QuickbooksInterface::class)); return new QuickbooksService($app->make(QuickbooksInterface::class));
});
$this->app->singleton(QuickbooksAuthService::class, function ($app) {
return new QuickbooksAuthService($app->make(QuickbooksInterface::class));
}); });
$this->app->singleton(QuickbooksTransformer::class,QuickbooksTransformer::class); $this->app->singleton(QuickbooksTransformer::class,QuickbooksTransformer::class);
@ -87,16 +70,14 @@ class QuickbooksServiceProvider extends ServiceProvider
Route::middleware('web') Route::middleware('web')
->namespace($this->app->getNamespace() . 'Http\Controllers') ->namespace($this->app->getNamespace() . 'Http\Controllers')
->group(function () { ->group(function () {
Route::get('quickbooks/authorize/{token}', [ImportQuickbooksController::class, 'authorizeQuickbooks'])->name('authorize.quickbooks'); Route::get('quickbooks/authorize/{token}', [ImportQuickbooksController::class, 'authorizeQuickbooks'])->name('authorize.quickbooks');
Route::get('quickbooks/authorized', [ImportQuickbooksController::class, 'onAuthorized'])->name('authorized.quickbooks'); Route::get('quickbooks/authorized', [ImportQuickbooksController::class, 'onAuthorized'])->name('authorized.quickbooks');
}); });
Route::prefix('api/v1')
Route::middleware('api') ->middleware('api')
->namespace($this->app->getNamespace() . 'Http\Controllers') ->namespace($this->app->getNamespace() . 'Http\Controllers')
->group(function () { ->group(function () {
Route::post('import/quickbooks', [ImportQuickbooksController::class, 'import'])->name('import.quickbooks'); Route::post('import/quickbooks', [ImportQuickbooksController::class, 'import'])->name('import.quickbooks');
//Route::post('import/quickbooks/preimport', [ImportQuickbooksController::class, 'preimport'])->name('import.quickbooks.preimport');
}); });
} }
} }