diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index 8677cd5..e7f7c94 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -2,7 +2,9 @@ namespace App\Http\Controllers; +use Illuminate\Foundation\Auth\Access\AuthorizesRequests; + abstract class Controller { - // + use AuthorizesRequests; } diff --git a/app/Http/Controllers/SearchController.php b/app/Http/Controllers/SearchController.php index 085379f..4dd1878 100644 --- a/app/Http/Controllers/SearchController.php +++ b/app/Http/Controllers/SearchController.php @@ -68,6 +68,12 @@ class SearchController extends Controller public function searchEvents(Request $request) { try { + try { + $this->client->collections['events']->delete(); + } catch (\Exception $e) { + // ignore si la collection n'existe pas + } + $this->createEventsCollection(); $this->indexEvents(); $query = $request->input('query', ''); @@ -141,13 +147,13 @@ class SearchController extends Controller public function searchUsers(Request $request) { try { + $this->authorize('searchUsers'); try { $this->client->collections['users']->delete(); } catch (\Exception $e) { // ignore si la collection n'existe pas } - $this->createUsersCollection(); $this->indexUsers(); $query = $request->input('query', ''); diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index ce2830f..623fcb6 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -14,13 +14,9 @@ use Propaganistas\LaravelPhone\PhoneNumber; class UserController extends Controller { - public function isAdmin(int $role) { - if($role != 1 && $role != 2) return false; - return true; - } - public function me(Request $request): JsonResponse { try { + $this->authorize('me'); return response()->json(UserService::getData($request->user()->id)); } catch(\Exception $e) { Log::info($e->getMessage()); @@ -191,6 +187,7 @@ class UserController extends Controller public function getUserTasks(Request $request): JsonResponse { try { + $this->authorize('getUserTasks'); return response()->json(['data' => $request->user()->tasks]); } catch (\Exception $e) { Log::info($e->getMessage()); diff --git a/app/Providers/GateServiceProvider.php b/app/Providers/GateServiceProvider.php new file mode 100644 index 0000000..ff38a90 --- /dev/null +++ b/app/Providers/GateServiceProvider.php @@ -0,0 +1,36 @@ +