File: D:/HostingSpaces/SBogers10/base.komma.pro/vendor/komma/kms/src/Providers/AuthServiceProvider.php
<?php
namespace Komma\KMS\Providers;
use Illuminate\Support\Facades\Gate;
use Komma\KMS\ActionLog\ActionLogPolicy;
use Komma\KMS\ActionLog\Models\ActionLog;
use Komma\KMS\Sites\Models\SiteInterface;
use Komma\KMS\Sites\SitePolicy;
use Komma\KMS\OPcache\OPcachePolicy;
use Komma\KMS\Users\Models\KmsUser;
use Komma\KMS\Users\KmsUserPolicy;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
KmsUser::class => KmsUserPolicy::class,
ActionLog::class => ActionLogPolicy::class,
];
/**
* Register any application authentication / authorization services.
*
* @return void
*/
public function boot()
{
parent::registerPolicies();
$this->registerExtendedModelPolicies();
$this->registerNonModelPolicies();
}
/**
* Can link interface implementations different then the default provided by this package to known policies.
*/
public function registerExtendedModelPolicies()
{
//Get the class names from the bound interfaces.
$siteClass = get_class(app(SiteInterface::class));
//Register the appropriate policies.
Gate::policy($siteClass, SitePolicy::class);
}
/**
* Register policies which do authorization for actions that don't have models.
* These policies are usually classes containing gates.
*/
public function registerNonModelPolicies() {
OPcachePolicy::register();
}
}