feat: api admin user and game policies

This commit is contained in:
2025-12-29 11:15:50 +00:00
parent f60b25f29b
commit 25c819c6e4
6 changed files with 114 additions and 62 deletions
+15 -6
View File
@@ -3,7 +3,6 @@
namespace App\Policies;
use App\Models\User;
use Illuminate\Auth\Access\Response;
class UserPolicy
{
@@ -12,7 +11,7 @@ class UserPolicy
*/
public function viewAny(User $user): bool
{
return false;
return $user->type === 'A';
}
/**
@@ -20,7 +19,7 @@ class UserPolicy
*/
public function view(User $user, User $model): bool
{
return false;
return $user->id === $model->id || $user->type === 'A';
}
/**
@@ -28,7 +27,7 @@ class UserPolicy
*/
public function create(User $user): bool
{
return false;
return $user->type === 'A';
}
/**
@@ -36,7 +35,7 @@ class UserPolicy
*/
public function update(User $user, User $model): bool
{
return false;
return $user->id === $model->id;
}
/**
@@ -44,7 +43,17 @@ class UserPolicy
*/
public function delete(User $user, User $model): bool
{
return false;
return ($user->type === 'A' && $user->id !== $model->id) || ($user->type === 'P' && $user->id === $model->id);
}
public function block(User $user, User $model): bool
{
return $user->type === 'A' && $user->id !== $model->id && $model->type === 'P';
}
public function unblock(User $user, User $model): bool
{
return $user->type === 'A' && $user->id !== $model->id && $model->type === 'P';
}
/**