74 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use App\Filtros\FiltroDeProducto;
 | |
| use App\Filtros\FiltroDeSubpedido;
 | |
| use Illuminate\Http\Request;
 | |
| use Illuminate\Support\Facades\Route;
 | |
| use App\GrupoDeCompra;
 | |
| use App\Producto;
 | |
| 
 | |
| /*
 | |
| |--------------------------------------------------------------------------
 | |
| | API Routes
 | |
| |--------------------------------------------------------------------------
 | |
| |
 | |
| | Here is where you can register API routes for your application. These
 | |
| | routes are loaded by the RouteServiceProvider within a group which
 | |
| | is assigned the "api" middleware group. Enjoy building your API!
 | |
| |
 | |
| */
 | |
| 
 | |
| Route::middleware('api')->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');
 | |
| 	});
 | |
| });
 |