75 lines
3.0 KiB
PHP
75 lines
3.0 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');
|
|
});
|
|
});
|