53 lines
1.6 KiB
PHP
53 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Models\Branch\Branch;
|
|
use App\Models\Order\Loan\LoanOrder;
|
|
use App\Models\Order\Loan\LoanType;
|
|
use App\Models\System\Location\Province;
|
|
use App\Models\System\Roles\Permission;
|
|
use App\Models\System\Roles\Role;
|
|
use App\Policies\Branch\BranchPolicy;
|
|
use App\Policies\Order\Loan\LoanOrderPolicy;
|
|
use App\Policies\Order\Loan\LoanTypePolicy;
|
|
use App\Policies\System\Location\ProvincePolicy;
|
|
use App\Policies\System\Roles\PermissionPolicy;
|
|
use App\Policies\System\Roles\RolePolicy;
|
|
use App\Policies\UserPolicy;
|
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
|
use Illuminate\Support\Facades\Gate;
|
|
|
|
class AuthServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* The model to policy mappings for the application.
|
|
*
|
|
* @var array<class-string, class-string>
|
|
*/
|
|
protected $policies = [
|
|
User::class => UserPolicy::class,
|
|
|
|
Role::class => RolePolicy::class,
|
|
Permission::class => PermissionPolicy::class,
|
|
|
|
Province::class => ProvincePolicy::class,
|
|
Branch::class => BranchPolicy::class,
|
|
|
|
LoanOrder::class => LoanOrderPolicy::class,
|
|
LoanType::class => LoanTypePolicy::class,
|
|
];
|
|
|
|
/**
|
|
* Register any authentication / authorization services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
Gate::define('isMe', fn ($user) => $user->isMe());
|
|
Gate::define('isAdmin', fn ($user) => $user->isAdmin());
|
|
Gate::define('systemUser', fn ($user) => $user->isSystemUser());
|
|
|
|
Gate::define('viewPulse', fn ($user) => $user->isMe());
|
|
}
|
|
}
|