UserPolicy.php 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace App\Policies;
  3. use App\Models\User;
  4. use Illuminate\Auth\Access\HandlesAuthorization;
  5. class UserPolicy
  6. {
  7. use HandlesAuthorization;
  8. /**
  9. * Determine whether the user can view any models.
  10. *
  11. * @param \App\Models\User $user
  12. * @return \Illuminate\Auth\Access\Response|bool
  13. */
  14. public function viewAny(User $user)
  15. {
  16. return $user->role_id === 1;
  17. }
  18. /**
  19. * Determine whether the user can view the model.
  20. *
  21. * @param \App\Models\User $user
  22. * @param \App\Models\User $model
  23. * @return \Illuminate\Auth\Access\Response|bool
  24. */
  25. public function view(User $user, User $model)
  26. {
  27. return $model->role_id === $user->role_id;
  28. }
  29. /**
  30. * Determine whether the user can create models.
  31. *
  32. * @param \App\Models\User $user
  33. * @return \Illuminate\Auth\Access\Response|bool
  34. */
  35. public function create(User $user)
  36. {
  37. return $user->role_id === 1;
  38. }
  39. /**
  40. * Determine whether the user can update the model.
  41. *
  42. * @param \App\Models\User $user
  43. * @param \App\Models\User $model
  44. * @return \Illuminate\Auth\Access\Response|bool
  45. */
  46. public function update(User $user, User $model)
  47. {
  48. if (request()->routeIs('users.edit')) {
  49. return $user->role_id === 1;
  50. } else {
  51. return true;
  52. }
  53. }
  54. /**
  55. * Determine whether the user can delete the model.
  56. *
  57. * @param \App\Models\User $user
  58. * @param \App\Models\User $model
  59. * @return \Illuminate\Auth\Access\Response|bool
  60. */
  61. public function delete(User $user, User $model)
  62. {
  63. return $user->role_id === 1;
  64. }
  65. /**
  66. * Determine whether the user can restore the model.
  67. *
  68. * @param \App\Models\User $user
  69. * @param \App\Models\User $model
  70. * @return \Illuminate\Auth\Access\Response|bool
  71. */
  72. public function restore(User $user, User $model)
  73. {
  74. //
  75. }
  76. /**
  77. * Determine whether the user can permanently delete the model.
  78. *
  79. * @param \App\Models\User $user
  80. * @param \App\Models\User $model
  81. * @return \Illuminate\Auth\Access\Response|bool
  82. */
  83. public function forceDelete(User $user, User $model)
  84. {
  85. //
  86. }
  87. }