65 lines
2.3 KiB
PHP
65 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace Vanguard\Providers;
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
|
use Illuminate\Support\ServiceProvider;
|
|
use Vanguard\Repositories\Country\CountryRepository;
|
|
use Vanguard\Repositories\Country\EloquentCountry;
|
|
use Vanguard\Repositories\Permission\EloquentPermission;
|
|
use Vanguard\Repositories\Permission\PermissionRepository;
|
|
use Vanguard\Repositories\Role\EloquentRole;
|
|
use Vanguard\Repositories\Role\RoleRepository;
|
|
use Vanguard\Repositories\Session\DbSession;
|
|
use Vanguard\Repositories\Session\SessionRepository;
|
|
use Vanguard\Repositories\User\EloquentUser;
|
|
use Vanguard\Repositories\User\UserRepository;
|
|
|
|
class AppServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* Bootstrap any application services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
Carbon::setLocale(config('app.locale'));
|
|
config(['app.name' => setting('app_name')]);
|
|
\Illuminate\Database\Schema\Builder::defaultStringLength(191);
|
|
|
|
Factory::guessFactoryNamesUsing(function (string $modelName) {
|
|
return 'Database\Factories\\' . class_basename($modelName) . 'Factory';
|
|
});
|
|
|
|
\Illuminate\Pagination\Paginator::useBootstrap();
|
|
|
|
// Register Microsoft Socialite driver
|
|
$this->app->make('Laravel\Socialite\Contracts\Factory')->extend('microsoft', function ($app) {
|
|
$config = $app['config']['services.microsoft'];
|
|
return new \SocialiteProviders\Microsoft\Provider(
|
|
$app['request'],
|
|
$config['client_id'],
|
|
$config['client_secret'],
|
|
$config['redirect']
|
|
);
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Register any application services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
$this->app->singleton(UserRepository::class, EloquentUser::class);
|
|
$this->app->singleton(RoleRepository::class, EloquentRole::class);
|
|
$this->app->singleton(PermissionRepository::class, EloquentPermission::class);
|
|
$this->app->singleton(SessionRepository::class, DbSession::class);
|
|
$this->app->singleton(CountryRepository::class, EloquentCountry::class);
|
|
|
|
if ($this->app->environment('local')) {
|
|
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
|
|
$this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);
|
|
}
|
|
}
|
|
}
|