49 lines
1.8 KiB
PHP
49 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Providers;
|
|
|
|
use App\Models\User;
|
|
use Illuminate\Support\Facades\Gate;
|
|
use Illuminate\Support\ServiceProvider;
|
|
|
|
class AuthServiceProvider extends ServiceProvider
|
|
{
|
|
/**
|
|
* The policy mappings for the application.
|
|
*
|
|
* @var array<class-string, class-string>
|
|
*/
|
|
protected $policies = [
|
|
\App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder::class => \App\Modules\VisaMasterPaymentOrder\Policies\VisaMasterPaymentOrderPolicy::class,
|
|
\App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrderItem::class => \App\Modules\VisaMasterPaymentOrder\Policies\VisaMasterPaymentOrderItemPolicy::class,
|
|
\App\Modules\VisaMasterPaymentOrder\Models\VisaMasterSettings::class => \App\Modules\VisaMasterPaymentOrder\Policies\VisaMasterSettingsPolicy::class,
|
|
\App\Modules\OnlinePayment\Models\OnlinePayment::class => \App\Modules\OnlinePayment\Policies\OnlinePaymentPolicy::class,
|
|
];
|
|
|
|
/**
|
|
* Register services.
|
|
*/
|
|
public function register(): void
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Bootstrap services.
|
|
*/
|
|
public function boot(): void
|
|
{
|
|
// General permissions...
|
|
Gate::define('isMe', fn (User $user) => $user->isMe());
|
|
Gate::define('isSuperAdmin', fn (User $user) => $user->isSuperAdmin());
|
|
Gate::define('isAdmin', fn (User $user) => $user->isAdmin());
|
|
Gate::define('isCurrencyMaintainer', fn (User $user) => $user->isCurrencyMaintainer());
|
|
Gate::define('systemUser', fn (User $user) => $user->isSystemUser());
|
|
Gate::define('notSystemUser', fn (User $user) => ! $user->isSystemUser());
|
|
|
|
// Tooling permissions...
|
|
// Gate::define('viewPulse', fn ($user) => $user->isAdmin());
|
|
// Gate::define('viewApiDocs', fn ($user) => $user->canAccessApiDocs());
|
|
}
|
|
}
|