add gates for users routes
This commit is contained in:
1 parent
ae81344fe2
commit
4c3647fe30
5 files changed
+49
-7
No files matched your search
@@ -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;
|
||||||
}
|
}
|
||||||
@@ -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', '');
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,4 +2,5 @@
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
App\Providers\AppServiceProvider::class,
|
App\Providers\AppServiceProvider::class,
|
||||||
|
App\Providers\GateServiceProvider::class,
|
||||||
];
|
];
|
||||||
Reference in new issue
Block a user