AuthServiceProvider.php 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Providers;
  3. use App\Models\Discount;
  4. use App\Models\Outlet;
  5. use App\Models\Transaction;
  6. use App\Models\User;
  7. use App\Policies\DiscountPolicy;
  8. use App\Policies\OutletPolicy;
  9. use App\Policies\TransactionPolicy;
  10. use App\Policies\UserPolicy;
  11. use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
  12. use Illuminate\Support\Facades\Gate;
  13. class AuthServiceProvider extends ServiceProvider
  14. {
  15. /**
  16. * The policy mappings for the application.
  17. *
  18. * @var array<class-string, class-string>
  19. */
  20. protected $policies = [
  21. Transaction::class => TransactionPolicy::class,
  22. User::class => UserPolicy::class,
  23. Outlet::class => OutletPolicy::class,
  24. Discount::class => DiscountPolicy::class,
  25. ];
  26. /**
  27. * Register any authentication / authorization services.
  28. *
  29. * @return void
  30. */
  31. public function boot()
  32. {
  33. $this->registerPolicies();
  34. Gate::define('isOutletHead', fn(User $user) => $user->role_id === 2);
  35. Gate::define('isEmployee', fn(User $user) => $user->role_id === 3);
  36. }
  37. }