48 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Http\Controllers\Api;
 | 
						|
 | 
						|
use App\GrupoDeCompra;
 | 
						|
use App\Http\Controllers\Controller;
 | 
						|
use App\Http\Resources\GrupoDeCompraComisionesResource;
 | 
						|
use App\Http\Resources\GrupoDeCompraResource;
 | 
						|
 | 
						|
class GrupoDeCompraController extends Controller
 | 
						|
{
 | 
						|
    public function index()
 | 
						|
    {
 | 
						|
        return GrupoDeCompraResource::collection(GrupoDeCompra::all());
 | 
						|
    }
 | 
						|
    public function show(GrupoDeCompra $grupoDeCompra)
 | 
						|
    {
 | 
						|
        return new GrupoDeCompraResource($grupoDeCompra);
 | 
						|
    }
 | 
						|
    public function regiones()
 | 
						|
    {
 | 
						|
        return GrupoDeCompra::all()->pluck('region')->unique()->flatten();
 | 
						|
    }
 | 
						|
 | 
						|
    public function region(string $region)
 | 
						|
    {
 | 
						|
        return GrupoDeCompra::where('region', $region)->get();
 | 
						|
    }
 | 
						|
 | 
						|
    public function toggleDevoluciones(int $gdc) {
 | 
						|
        GrupoDeCompra::find($gdc)->toggleDevoluciones();
 | 
						|
        return response()->noContent();
 | 
						|
    }
 | 
						|
 | 
						|
    public function setSaldo(int $gdc) {
 | 
						|
        $valid = request()->validate([
 | 
						|
            'saldo' => ['required', 'min:0'],
 | 
						|
        ]);
 | 
						|
        $grupoDeCompra = GrupoDeCompra::find($gdc);
 | 
						|
        $grupoDeCompra->setSaldo($valid['saldo']);
 | 
						|
        return response()->noContent();
 | 
						|
    }
 | 
						|
 | 
						|
    public function saldos()
 | 
						|
    {
 | 
						|
        return GrupoDeCompraComisionesResource::collection(GrupoDeCompra::all());
 | 
						|
    }
 | 
						|
}
 |