group(function () { Route::get('/regiones', function() { return GrupoDeCompra::all()->pluck('region')->unique()->flatten(); }); Route::prefix('grupos-de-compra')->group( function(){ Route::get('/', function() { $atributos_a_ocultar = ['telefono', 'cantidad_de_nucleos', 'correo', 'referente_finanzas', 'created_at', 'updated_at']; return GrupoDeCompra::all()->makeHidden($atributos_a_ocultar)->sortBy('nombre')->groupBy('region'); }); Route::get('/{gdc}/bonos-de-transporte', function($gdc) { $grupo = GrupoDeCompra::where('id',$gdc)->first(); return ['bdt' => $grupo->calcularCantidadBDT()]; }); Route::get('/{gdc}/bonos-barriales', function($gdc) { $grupo = GrupoDeCompra::where('id',$gdc)->first(); return ['bonos_barriales' => $grupo->totalBonosBarriales()]; }); Route::get('/{gdc}/devoluciones', function($gdc) { $habilitadas = GrupoDeCompra::find($gdc)->devoluciones_habilitadas; return ['devoluciones' => $habilitadas]; }); Route::post('/{gdc}/devoluciones', function($gdc) { $habilitadas = GrupoDeCompra::find($gdc)->toggleDevoluciones(); return ['devoluciones' => $habilitadas]; }); }); Route::prefix('subpedidos')->group(function () { Route::get('/','Api\SubpedidoController@index'); Route::get('/resources', 'Api\SubpedidoController@indexResources'); Route::get('{subpedido}','Api\SubpedidoController@show'); Route::post('/','Api\SubpedidoController@store'); Route::post('/{subpedido}/sync', 'Api\SubpedidoController@syncProductos'); Route::post('/{subpedido}/sync_devoluciones', 'Api\SubpedidoController@syncDevoluciones'); }); Route::prefix('admin')->group(function () { Route::prefix('subpedidos')->group(function() { Route::post('/{subpedido}/aprobacion', 'Api\SubpedidoController@toggleAprobacion'); }); }); //@TO DO -> esta ruta debe estar en middleware de auth y/o subpedido Route::get('/categorias', function() { return Producto::all()->pluck('categoria')->unique()->flatten(); }); //@TO DO -> esta ruta debe estar en middleware de auth y/o subpedido Route::prefix('productos')->group(function () { Route::get('/','Api\ProductoController@index'); Route::get('{producto}','Api\ProductoController@show'); }); });