From 61e4c341f332590c3aa2dac1785ca1324f2edeae Mon Sep 17 00:00:00 2001 From: ale Date: Sun, 18 May 2025 17:48:38 -0300 Subject: [PATCH] Quitado auth middleware de la ruta, ahora devuelve booleano con dato sobre estado de auth + actualizado para guardar el grupo de compra entero y no solo la id --- app/Http/Controllers/UserController.php | 43 +++++++++++++------------ resources/js/store/modules/session.js | 16 ++++----- routes/web.php | 4 +-- 3 files changed, 31 insertions(+), 32 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 6a5d79a..388ad65 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -8,32 +8,33 @@ use App\Http\Resources\GrupoDeCompraResource; use App\UserRole; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; -use App\User; -use Illuminate\Support\Facades\Log; class UserController extends Controller { public function session(Request $request) { - $user = Auth::user(); - $role = UserRole::find($user->role_id); - $grupo_de_compra = GrupoDeCompra::find($user->grupo_de_compra_id); - $result = [ - 'role_id' => $user->role_id, - 'grupo_de_compra' => null, - ]; - switch ($role->nombre ?? 'error') { - case 'barrio': - $result['grupo_de_compra'] = new GrupoDeCompraReducidoResource($grupo_de_compra); - break; - case 'admin_barrio': - $result['grupo_de_compra'] = new GrupoDeCompraResource($grupo_de_compra); - break; - case 'comision': - break; - default: - abort(400, 'Rol invalido'); + if (Auth::check()) { + $user = Auth::user(); + $grupo_de_compra = GrupoDeCompra::find($user->grupo_de_compra_id); + $result = [ + 'is_authenticated' => true, + 'role_id' => $user->role_id, + 'grupo_de_compra' => null, + ]; + switch (UserRole::find($user->role_id)->nombre ?? 'error') { + case 'barrio': + $result['grupo_de_compra'] = new GrupoDeCompraReducidoResource($grupo_de_compra); + break; + case 'admin_barrio': + $result['grupo_de_compra'] = new GrupoDeCompraResource($grupo_de_compra); + break; + case 'comision': + break; + default: + abort(400, 'Rol invalido'); + } + return $result; } - return $result; + return ['is_authenticated' => false]; } } diff --git a/resources/js/store/modules/session.js b/resources/js/store/modules/session.js index 9dd00d2..dfbe183 100644 --- a/resources/js/store/modules/session.js +++ b/resources/js/store/modules/session.js @@ -1,23 +1,23 @@ const state = { + isAuthenticated: false, role_id: null, - grupo_de_compra_id: null, + grupo_de_compra: null, }; const mutations = { - SET_SESSION(state, { role_id, grupo_de_compra_id }) { + SET_SESSION(state, { role_id, grupo_de_compra, is_authenticated }) { + state.isAuthenticated = is_authenticated; state.role_id = role_id; - state.grupo_de_compra_id = grupo_de_compra_id; + state.grupo_de_compra = grupo_de_compra; + + console.log(state); }, }; const actions = { async fetchSession({ commit }) { const response = await axios.get('/session'); - console.log(response.data); - commit('SET_SESSION', { - role_id: response.data.role_id, - grupo_de_compra_id: response.data.grupo_de_compra_id, - }); + commit('SET_SESSION', response.data); }, }; diff --git a/routes/web.php b/routes/web.php index b21cfbd..de16ed6 100644 --- a/routes/web.php +++ b/routes/web.php @@ -24,9 +24,7 @@ Auth::routes(['register' => false]); Route::get('/', 'RouteController@home')->name('home'); -Route::middleware('auth')->group(function () { - Route::get('/session', 'UserController@session')->name('session'); -}); +Route::get('/session', 'UserController@session')->name('session'); Route::middleware(['auth', 'role:barrio'])->group( function() { Route::get('/productos', 'ProductoController@index')->name('productos.index');