app/Policies/TimeSlotPolicy.php
use App\Enums\Permission;use App\Models\TimeSlot;use App\Models\User; class TimeSlotPolicy{ public function createOrForSelf(User $user): bool { return $user->can(Permission::create, TimeSlot::class) || ($user->school->teachers_can_create && $user->canOwnTimeSlots()); } public function updateOrForSelf(User $user, TimeSlot $timeSlot): bool { return $user->id === $timeSlot->user_id || $user->can(Permission::update, $timeSlot); } public function deleteOrForSelf(User $user, TimeSlot $timeSlot): bool { return $user->id === $timeSlot->user_id || $user->can(Permission::delete, $timeSlot); }}