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

This commit is contained in:
Alejandro Tasistro 2025-05-18 17:48:38 -03:00
parent a485994a72
commit 61e4c341f3
3 changed files with 31 additions and 32 deletions

View file

@ -8,32 +8,33 @@ use App\Http\Resources\GrupoDeCompraResource;
use App\UserRole; use App\UserRole;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use App\User;
use Illuminate\Support\Facades\Log;
class UserController extends Controller class UserController extends Controller
{ {
public function session(Request $request) public function session(Request $request)
{ {
$user = Auth::user(); if (Auth::check()) {
$role = UserRole::find($user->role_id); $user = Auth::user();
$grupo_de_compra = GrupoDeCompra::find($user->grupo_de_compra_id); $grupo_de_compra = GrupoDeCompra::find($user->grupo_de_compra_id);
$result = [ $result = [
'role_id' => $user->role_id, 'is_authenticated' => true,
'grupo_de_compra' => null, 'role_id' => $user->role_id,
]; 'grupo_de_compra' => null,
switch ($role->nombre ?? 'error') { ];
case 'barrio': switch (UserRole::find($user->role_id)->nombre ?? 'error') {
$result['grupo_de_compra'] = new GrupoDeCompraReducidoResource($grupo_de_compra); case 'barrio':
break; $result['grupo_de_compra'] = new GrupoDeCompraReducidoResource($grupo_de_compra);
case 'admin_barrio': break;
$result['grupo_de_compra'] = new GrupoDeCompraResource($grupo_de_compra); case 'admin_barrio':
break; $result['grupo_de_compra'] = new GrupoDeCompraResource($grupo_de_compra);
case 'comision': break;
break; case 'comision':
default: break;
abort(400, 'Rol invalido'); default:
abort(400, 'Rol invalido');
}
return $result;
} }
return $result; return ['is_authenticated' => false];
} }
} }

View file

@ -1,23 +1,23 @@
const state = { const state = {
isAuthenticated: false,
role_id: null, role_id: null,
grupo_de_compra_id: null, grupo_de_compra: null,
}; };
const mutations = { 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.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 = { const actions = {
async fetchSession({ commit }) { async fetchSession({ commit }) {
const response = await axios.get('/session'); const response = await axios.get('/session');
console.log(response.data); commit('SET_SESSION', response.data);
commit('SET_SESSION', {
role_id: response.data.role_id,
grupo_de_compra_id: response.data.grupo_de_compra_id,
});
}, },
}; };

View file

@ -24,9 +24,7 @@ Auth::routes(['register' => false]);
Route::get('/', 'RouteController@home')->name('home'); 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::middleware(['auth', 'role:barrio'])->group( function() {
Route::get('/productos', 'ProductoController@index')->name('productos.index'); Route::get('/productos', 'ProductoController@index')->name('productos.index');