![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Amazon/ |
<?php namespace Corals\Modules\Amazon; use Corals\Modules\Amazon\Console\Commands\RunImports; use Corals\Modules\Amazon\Facades\Amazon; use Corals\Modules\Amazon\Models\Import as Import; use Corals\Modules\Amazon\Providers\AmazonAuthServiceProvider; use Corals\Modules\Amazon\Providers\AmazonObserverServiceProvider; use Corals\Modules\Amazon\Providers\AmazonRouteServiceProvider; use Corals\Settings\Facades\Settings; use Illuminate\Foundation\AliasLoader; use Illuminate\Support\ServiceProvider; use Amazon\ProductAdvertisingAPI\v1\com\amazon\paapi5\v1\api\DefaultApi; use Amazon\ProductAdvertisingAPI\v1\Configuration; use GuzzleHttp\Client; class AmazonServiceProvider extends ServiceProvider { protected $defer = true; /** * Bootstrap the application events. * * @return void */ public function boot() { // Load view $this->loadViewsFrom(__DIR__ . '/resources/views', 'Amazon'); // Load translation $this->loadTranslationsFrom(__DIR__ . '/resources/lang', 'Amazon'); // Load migrations // $this->loadMigrationsFrom(__DIR__ . '/database/migrations'); $this->registerCustomFieldsModels(); $this->registerCommand(); \AmazonProduct::macro('reconfig', function (array $config) { $client = new Client(); $conf = (new Configuration) ->setAccessKey($config['api_key']) ->setSecretKey($config['api_secret_key']) ->setRegion($config['region']) ->setHost($config['host']); $api = new DefaultApi($client, $conf); $this->config($api); return $this; }); } /** * Register the service provider. * * @return void */ public function register() { $this->mergeConfigFrom(__DIR__ . '/config/amazon.php', 'amazon'); $this->app->register(AmazonRouteServiceProvider::class); $this->app->register(AmazonAuthServiceProvider::class); $this->app->register(AmazonObserverServiceProvider::class); $this->app->booted(function () { $loader = AliasLoader::getInstance(); $loader->alias('Amazon', Amazon::class); if (\Modules::isModuleActive('corals-marketplace')) { $namespace = "Marketplace"; } else { $namespace = "Ecommerce"; } $loader->alias('ImportBrand', 'Corals\\Modules\\' . $namespace . '\\Models\\Brand'); $loader->alias('ImportCategory', 'Corals\\Modules\\' . $namespace . '\\Models\\Category'); $loader->alias('ImportProduct', 'Corals\\Modules\\' . $namespace . '\\Models\\Product'); $loader->alias('ImportSKU', 'Corals\\Modules\\' . $namespace . '\\Models\\SKU'); $loader->alias('ImportTag', 'Corals\\Modules\\' . $namespace . '\\Models\\Tag'); }); } protected function registerCustomFieldsModels() { Settings::addCustomFieldModel(Import::class); } protected function registerCommand() { $this->commands(RunImports::class); } }