Files
portal-api/app/Providers/AppServiceProvider.php
T

83 lines
2.6 KiB
PHP

<?php
namespace App\Providers;
use App\Http\Helpers\Helper;
use App\Http\Services\SignRSA;
use App\Models\ModuleVmware;
use App\Models\ModuleIpAddress;
use App\Observers\ModuleVmwareObserver;
use App\Observers\ModuleIpAddressObserver;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\Blade;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\File;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->bind('signrsa', function () {
return new SignRSA();
});
$this->app->bind('helper', function () {
return new Helper();
});
// Register Whois Repository binding
$this->app->bind(
\App\Repositories\Whois\WhoisRepositoryInterface::class,
\App\Repositories\Whois\CachedWhoisRepository::class
);
// Admin API Repositories
$this->app->bind(
\App\Repositories\Admin\Customer\AdminCustomerRepositoryInterface::class,
\App\Repositories\Admin\Customer\AdminCustomerRepository::class
);
$this->app->bind(
\App\Repositories\Admin\Order\AdminOrderRepositoryInterface::class,
\App\Repositories\Admin\Order\AdminOrderRepository::class
);
$this->app->bind(
\App\Repositories\Admin\Invoice\AdminInvoiceRepositoryInterface::class,
\App\Repositories\Admin\Invoice\AdminInvoiceRepository::class
);
$this->app->bind(
\App\Repositories\Admin\Product\AdminProductRepositoryInterface::class,
\App\Repositories\Admin\Product\AdminProductRepository::class
);
if (File::exists(base_path('app/Http/Helpers/function_helper.php'))) {
File::requireOnce(base_path('app/Http/Helpers/function_helper.php'));
}
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Paginator::useBootstrap();
// Register observers
ModuleVmware::observe(ModuleVmwareObserver::class);
ModuleIpAddress::observe(ModuleIpAddressObserver::class);
Blade::directive('time', function ($time) {
return "<?php echo Illuminate\Support\Carbon::parse($time)->format('d-m-Y H:i:s'); ?>";
});
Blade::directive('money', function ($price) {
return "<?php echo number_format($price,0,',','.')?>";
});
}
}