add gates for users routes

This commit is contained in:
Giovanni committed 2025-12-17 16:14:19 +01:00
1 parent ae81344fe2
commit 4c3647fe30
5 files changed
+49 -7

No files matched your search

+3 -1
View File
@@ -2,7 +2,9 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
abstract class Controller abstract class Controller
{ {
// use AuthorizesRequests;
} }
+7 -1
View File
@@ -68,6 +68,12 @@ class SearchController extends Controller
public function searchEvents(Request $request) public function searchEvents(Request $request)
{ {
try { try {
try {
$this->client->collections['events']->delete();
} catch (\Exception $e) {
// ignore si la collection n'existe pas
}
$this->createEventsCollection(); $this->createEventsCollection();
$this->indexEvents(); $this->indexEvents();
$query = $request->input('query', ''); $query = $request->input('query', '');
@@ -141,13 +147,13 @@ class SearchController extends Controller
public function searchUsers(Request $request) public function searchUsers(Request $request)
{ {
try { try {
$this->authorize('searchUsers');
try { try {
$this->client->collections['users']->delete(); $this->client->collections['users']->delete();
} catch (\Exception $e) { } catch (\Exception $e) {
// ignore si la collection n'existe pas // ignore si la collection n'existe pas
} }
$this->createUsersCollection();
$this->indexUsers(); $this->indexUsers();
$query = $request->input('query', ''); $query = $request->input('query', '');
+2 -5
View File
@@ -14,13 +14,9 @@ use Propaganistas\LaravelPhone\PhoneNumber;
class UserController extends Controller class UserController extends Controller
{ {
public function isAdmin(int $role) {
if($role != 1 && $role != 2) return false;
return true;
}
public function me(Request $request): JsonResponse { public function me(Request $request): JsonResponse {
try { try {
$this->authorize('me');
return response()->json(UserService::getData($request->user()->id)); return response()->json(UserService::getData($request->user()->id));
} catch(\Exception $e) { } catch(\Exception $e) {
Log::info($e->getMessage()); Log::info($e->getMessage());
@@ -191,6 +187,7 @@ class UserController extends Controller
public function getUserTasks(Request $request): JsonResponse { public function getUserTasks(Request $request): JsonResponse {
try { try {
$this->authorize('getUserTasks');
return response()->json(['data' => $request->user()->tasks]); return response()->json(['data' => $request->user()->tasks]);
} catch (\Exception $e) { } catch (\Exception $e) {
Log::info($e->getMessage()); Log::info($e->getMessage());
+36
View File
@@ -0,0 +1,36 @@
<?php
namespace App\Providers;
use App\Models\User;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider;
class GateServiceProvider extends ServiceProvider
{
/**
* Register services.
*/
public function register(): void
{
//
}
/**
* Bootstrap services.
*/
public function boot(): void
{
Gate::define('me', function (User $user) {
return true;
});
Gate::define('getUserTasks', function (User $user) {
return true;
});
Gate::define('searchUsers', function (User $user) {
return true;
});
}
}
+1
View File
@@ -2,4 +2,5 @@
return [ return [
App\Providers\AppServiceProvider::class, App\Providers\AppServiceProvider::class,
App\Providers\GateServiceProvider::class,
]; ];