add TasksPolicy and EventsPolicy
This commit is contained in:
@@ -6,6 +6,7 @@ use App\Models\Events;
|
||||
use http\Env\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use PHPUnit\Event\Event;
|
||||
|
||||
@@ -13,7 +14,7 @@ class EventsController extends Controller
|
||||
{
|
||||
public function create(Request $request): JsonResponse
|
||||
{
|
||||
if ($request->user()->role != 1) {
|
||||
if (Gate::denies('create', Events::class)) {
|
||||
return response()->json(['message' => 'Forbidden'], 403);
|
||||
}
|
||||
|
||||
@@ -37,7 +38,7 @@ class EventsController extends Controller
|
||||
|
||||
public function update(Request $request, int $id): JsonResponse {
|
||||
|
||||
if ($request->user()->role != 1) {
|
||||
if (Gate::denies('update', Events::class)) {
|
||||
return response()->json(['message' => 'Forbidden'], 403);
|
||||
}
|
||||
|
||||
@@ -76,7 +77,7 @@ class EventsController extends Controller
|
||||
|
||||
public function delete(Request $request, int $id): JsonResponse {
|
||||
|
||||
if ($request->user()->role != 1) {
|
||||
if (Gate::denies('delete', Events::class)) {
|
||||
return response()->json(['message' => 'Forbidden'], 403);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,20 +7,14 @@ use App\Models\Task;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class TasksController extends Controller
|
||||
{
|
||||
|
||||
public function isAdmin(int $role) {
|
||||
if($role != 1) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public function create(Request $request): JsonResponse {
|
||||
|
||||
if(!$this->isAdmin($request->user()->role)){
|
||||
if(Gate::denies('create', Task::class)) {
|
||||
return response()->json(["message" => "Can't create task"], 403);
|
||||
}
|
||||
|
||||
@@ -67,7 +61,7 @@ class TasksController extends Controller
|
||||
|
||||
public function assignUser(request $request, int $id): JsonResponse {
|
||||
|
||||
if(!$this->isAdmin($request->user()->role)){
|
||||
if(Gate::denies('assignOther', Task::class)) {
|
||||
return response()->json(["message" => "Can't create task"], 403);
|
||||
}
|
||||
|
||||
@@ -108,7 +102,7 @@ class TasksController extends Controller
|
||||
|
||||
public function deleteTask(Request $request, int $id): JsonResponse {
|
||||
|
||||
if(!$this->isAdmin($request->user()->role)){
|
||||
if(Gate::denies('delete', Task::class)) {
|
||||
return response()->json(["message" => "Can't delete task"], 403);
|
||||
}
|
||||
|
||||
@@ -126,7 +120,7 @@ class TasksController extends Controller
|
||||
|
||||
public function update(Request $request, int $id): JsonResponse {
|
||||
|
||||
if(!$this->isAdmin($request->user()->role)){
|
||||
if(Gate::denies('update', Task::class)) {
|
||||
return response()->json(["message" => "Forbidden"], 403);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Policies;
|
||||
|
||||
use App\Models\Events;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Access\Response;
|
||||
|
||||
class EventsPolicy
|
||||
{
|
||||
public function create(User $user, Events $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
|
||||
public function update(User $user, Events $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
|
||||
public function delete(User $user, Events $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
namespace App\Policies;
|
||||
|
||||
use App\Models\Task;
|
||||
use App\Models\User;
|
||||
use Illuminate\Auth\Access\Response;
|
||||
|
||||
class TasksPolicy
|
||||
{
|
||||
public function create(User $user, Task $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
|
||||
public function assignOther(User $user, Task $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
|
||||
public function delete(User $user, Task $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
|
||||
public function update(User $user, Task $model): bool
|
||||
{
|
||||
return $user->role === 1 || $user->role === 2;
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Models\Events;
|
||||
use App\Models\Task;
|
||||
use App\Models\User;
|
||||
use App\Policies\EventsPolicy;
|
||||
use App\Policies\TasksPolicy;
|
||||
use App\Policies\UserPolicy;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
@@ -23,5 +27,7 @@ class GateServiceProvider extends ServiceProvider
|
||||
public function boot(): void
|
||||
{
|
||||
Gate::policy(User::class, UserPolicy::class);
|
||||
Gate::policy(Events::class, EventsPolicy::class);
|
||||
Gate::policy(Task::class, TasksPolicy::class);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user