This commit is contained in:
Lizandro Guarnizo
2026-01-06 15:35:59 -05:00
commit a768146f65
602 changed files with 42505 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\CajaStoreRequest;
use App\Http\Requests\CajaUpdateRequest;
use App\Http\Resources\CajaCollection;
use App\Http\Resources\CajaResource;
use App\Models\Caja;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CajaController extends Controller
{
public function index(Request $request): CajaCollection
{
$cajas = Caja::all();
return new CajaCollection($cajas);
}
public function store(CajaStoreRequest $request): CajaResource
{
$caja = Caja::create($request->validated());
return new CajaResource($caja);
}
public function show(Request $request, Caja $caja): CajaResource
{
return new CajaResource($caja);
}
public function update(CajaUpdateRequest $request, Caja $caja): CajaResource
{
$caja->update($request->validated());
return new CajaResource($caja);
}
public function destroy(Request $request, Caja $caja): Response
{
$caja->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\CategoriumStoreRequest;
use App\Http\Requests\CategoriumUpdateRequest;
use App\Http\Resources\CategoriumCollection;
use App\Http\Resources\CategoriumResource;
use App\Models\Categoria;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CategoriaController extends Controller
{
public function index(Request $request): CategoriumCollection
{
$categoria = Categorium::all();
return new CategoriumCollection($categoria);
}
public function store(CategoriumStoreRequest $request): CategoriumResource
{
$categorium = Categorium::create($request->validated());
return new CategoriumResource($categorium);
}
public function show(Request $request, Categorium $categorium): CategoriumResource
{
return new CategoriumResource($categorium);
}
public function update(CategoriumUpdateRequest $request, Categorium $categorium): CategoriumResource
{
$categorium->update($request->validated());
return new CategoriumResource($categorium);
}
public function destroy(Request $request, Categorium $categorium): Response
{
$categorium->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ClienteStoreRequest;
use App\Http\Requests\ClienteUpdateRequest;
use App\Http\Resources\ClienteCollection;
use App\Http\Resources\ClienteResource;
use App\Models\Cliente;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ClienteController extends Controller
{
public function index(Request $request): ClienteCollection
{
$clientes = Cliente::all();
return new ClienteCollection($clientes);
}
public function store(ClienteStoreRequest $request): ClienteResource
{
$cliente = Cliente::create($request->validated());
return new ClienteResource($cliente);
}
public function show(Request $request, Cliente $cliente): ClienteResource
{
return new ClienteResource($cliente);
}
public function update(ClienteUpdateRequest $request, Cliente $cliente): ClienteResource
{
$cliente->update($request->validated());
return new ClienteResource($cliente);
}
public function destroy(Request $request, Cliente $cliente): Response
{
$cliente->delete();
return response()->noContent();
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\CompraStoreRequest;
use App\Http\Requests\CompraUpdateRequest;
use App\Http\Resources\CompraCollection;
use App\Http\Resources\CompraResource;
use App\Models\Compra;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class CompraController extends Controller
{
public function index(Request $request): CompraCollection
{
$compras = Compra::all();
return new CompraCollection($compras);
}
public function store(CompraStoreRequest $request): CompraResource
{
$compra = Compra::create($request->validated());
return new CompraResource($compra);
}
public function show(Request $request, Compra $compra): CompraResource
{
return new CompraResource($compra);
}
public function update(CompraUpdateRequest $request, Compra $compra): CompraResource
{
$compra->update($request->validated());
return new CompraResource($compra);
}
public function destroy(Request $request, Compra $compra): Response
{
$compra->delete();
return response()->noContent();
}
}
+8
View File
@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\DetalleCompraStoreRequest;
use App\Http\Requests\DetalleCompraUpdateRequest;
use App\Http\Resources\DetalleCompraCollection;
use App\Http\Resources\DetalleCompraResource;
use App\Models\DetalleCompra;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class DetalleCompraController extends Controller
{
public function index(Request $request): DetalleCompraCollection
{
$detalleCompras = DetalleCompra::all();
return new DetalleCompraCollection($detalleCompras);
}
public function store(DetalleCompraStoreRequest $request): DetalleCompraResource
{
$detalleCompra = DetalleCompra::create($request->validated());
return new DetalleCompraResource($detalleCompra);
}
public function show(Request $request, DetalleCompra $detalleCompra): DetalleCompraResource
{
return new DetalleCompraResource($detalleCompra);
}
public function update(DetalleCompraUpdateRequest $request, DetalleCompra $detalleCompra): DetalleCompraResource
{
$detalleCompra->update($request->validated());
return new DetalleCompraResource($detalleCompra);
}
public function destroy(Request $request, DetalleCompra $detalleCompra): Response
{
$detalleCompra->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\DetalleVentumStoreRequest;
use App\Http\Requests\DetalleVentumUpdateRequest;
use App\Http\Resources\DetalleVentumCollection;
use App\Http\Resources\DetalleVentumResource;
use App\Models\DetalleVenta;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class DetalleVentaController extends Controller
{
public function index(Request $request): DetalleVentumCollection
{
$detalleVenta = DetalleVentum::all();
return new DetalleVentumCollection($detalleVenta);
}
public function store(DetalleVentumStoreRequest $request): DetalleVentumResource
{
$detalleVentum = DetalleVentum::create($request->validated());
return new DetalleVentumResource($detalleVentum);
}
public function show(Request $request, DetalleVentum $detalleVentum): DetalleVentumResource
{
return new DetalleVentumResource($detalleVentum);
}
public function update(DetalleVentumUpdateRequest $request, DetalleVentum $detalleVentum): DetalleVentumResource
{
$detalleVentum->update($request->validated());
return new DetalleVentumResource($detalleVentum);
}
public function destroy(Request $request, DetalleVentum $detalleVentum): Response
{
$detalleVentum->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\InventarioStoreRequest;
use App\Http\Requests\InventarioUpdateRequest;
use App\Http\Resources\InventarioCollection;
use App\Http\Resources\InventarioResource;
use App\Models\Inventario;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class InventarioController extends Controller
{
public function index(Request $request): InventarioCollection
{
$inventarios = Inventario::all();
return new InventarioCollection($inventarios);
}
public function store(InventarioStoreRequest $request): InventarioResource
{
$inventario = Inventario::create($request->validated());
return new InventarioResource($inventario);
}
public function show(Request $request, Inventario $inventario): InventarioResource
{
return new InventarioResource($inventario);
}
public function update(InventarioUpdateRequest $request, Inventario $inventario): InventarioResource
{
$inventario->update($request->validated());
return new InventarioResource($inventario);
}
public function destroy(Request $request, Inventario $inventario): Response
{
$inventario->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\MovimientoCajaStoreRequest;
use App\Http\Requests\MovimientoCajaUpdateRequest;
use App\Http\Resources\MovimientoCajaCollection;
use App\Http\Resources\MovimientoCajaResource;
use App\Models\MovimientoCaja;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class MovimientoCajaController extends Controller
{
public function index(Request $request): MovimientoCajaCollection
{
$movimientoCajas = MovimientoCaja::all();
return new MovimientoCajaCollection($movimientoCajas);
}
public function store(MovimientoCajaStoreRequest $request): MovimientoCajaResource
{
$movimientoCaja = MovimientoCaja::create($request->validated());
return new MovimientoCajaResource($movimientoCaja);
}
public function show(Request $request, MovimientoCaja $movimientoCaja): MovimientoCajaResource
{
return new MovimientoCajaResource($movimientoCaja);
}
public function update(MovimientoCajaUpdateRequest $request, MovimientoCaja $movimientoCaja): MovimientoCajaResource
{
$movimientoCaja->update($request->validated());
return new MovimientoCajaResource($movimientoCaja);
}
public function destroy(Request $request, MovimientoCaja $movimientoCaja): Response
{
$movimientoCaja->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ProductoStoreRequest;
use App\Http\Requests\ProductoUpdateRequest;
use App\Http\Resources\ProductoCollection;
use App\Http\Resources\ProductoResource;
use App\Models\Producto;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ProductoController extends Controller
{
public function index(Request $request): ProductoCollection
{
$productos = Producto::all();
return new ProductoCollection($productos);
}
public function store(ProductoStoreRequest $request): ProductoResource
{
$producto = Producto::create($request->validated());
return new ProductoResource($producto);
}
public function show(Request $request, Producto $producto): ProductoResource
{
return new ProductoResource($producto);
}
public function update(ProductoUpdateRequest $request, Producto $producto): ProductoResource
{
$producto->update($request->validated());
return new ProductoResource($producto);
}
public function destroy(Request $request, Producto $producto): Response
{
$producto->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ProveedorStoreRequest;
use App\Http\Requests\ProveedorUpdateRequest;
use App\Http\Resources\ProveedorCollection;
use App\Http\Resources\ProveedorResource;
use App\Models\Proveedor;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class ProveedorController extends Controller
{
public function index(Request $request): ProveedorCollection
{
$proveedors = Proveedor::all();
return new ProveedorCollection($proveedors);
}
public function store(ProveedorStoreRequest $request): ProveedorResource
{
$proveedor = Proveedor::create($request->validated());
return new ProveedorResource($proveedor);
}
public function show(Request $request, Proveedor $proveedor): ProveedorResource
{
return new ProveedorResource($proveedor);
}
public function update(ProveedorUpdateRequest $request, Proveedor $proveedor): ProveedorResource
{
$proveedor->update($request->validated());
return new ProveedorResource($proveedor);
}
public function destroy(Request $request, Proveedor $proveedor): Response
{
$proveedor->delete();
return response()->noContent();
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\SettingStoreRequest;
use App\Http\Requests\SettingUpdateRequest;
use App\Http\Resources\SettingCollection;
use App\Http\Resources\SettingResource;
use App\Models\Setting;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class SettingController extends Controller
{
public function index(Request $request): SettingCollection
{
$settings = Setting::all();
return new SettingCollection($settings);
}
public function store(SettingStoreRequest $request): SettingResource
{
$setting = Setting::create($request->validated());
return new SettingResource($setting);
}
public function show(Request $request, Setting $setting): SettingResource
{
return new SettingResource($setting);
}
public function update(SettingUpdateRequest $request, Setting $setting): SettingResource
{
$setting->update($request->validated());
return new SettingResource($setting);
}
public function destroy(Request $request, Setting $setting): Response
{
$setting->delete();
return response()->noContent();
}
}
+52
View File
@@ -0,0 +1,52 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests\VentumStoreRequest;
use App\Http\Requests\VentumUpdateRequest;
use App\Http\Resources\VentumCollection;
use App\Http\Resources\VentumResource;
use App\Models\Venta;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class VentaController extends Controller
{
public function index(Request $request): VentumCollection
{
$venta = Ventum::all();
return new VentumCollection($venta);
}
public function store(VentumStoreRequest $request): VentumResource
{
$ventum = Ventum::create($request->validated());
return new VentumResource($ventum);
}
public function show(Request $request, Ventum $ventum): VentumResource
{
return new VentumResource($ventum);
}
public function update(VentumUpdateRequest $request, Ventum $ventum): VentumResource
{
$ventum->update($request->validated());
return new VentumResource($ventum);
}
public function destroy(Request $request, Ventum $ventum): Response
{
$ventum->delete();
return response()->noContent();
}
public function imprimirRecibo(Venta $venta)
{
return view('recibos.ticket', compact('venta'));
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CajaStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'monto_inicial' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'monto_final' => ['nullable', 'numeric', 'between:-99999999.99,99999999.99'],
'fecha_apertura' => ['required'],
'fecha_cierre' => ['nullable'],
'estado' => ['required', 'in:Abierta,Cerrada'],
];
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CajaUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'monto_inicial' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'monto_final' => ['nullable', 'numeric', 'between:-99999999.99,99999999.99'],
'fecha_apertura' => ['required'],
'fecha_cierre' => ['nullable'],
'estado' => ['required', 'in:Abierta,Cerrada'],
];
}
}
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CategoriumStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'descripcion' => ['nullable', 'string'],
];
}
}
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CategoriumUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'descripcion' => ['nullable', 'string'],
];
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ClienteStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'correo' => ['nullable', 'string', 'max:255', 'unique:clientes,correo'],
'telefono' => ['nullable', 'string', 'max:20'],
'direccion' => ['nullable', 'string'],
'tipo_documento' => ['required', 'in:DNI,RUC,PASAPORTE'],
'numero_documento' => ['required', 'string', 'max:20', 'unique:clientes,numero_documento'],
];
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ClienteUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'correo' => ['nullable', 'string', 'max:255', 'unique:clientes,correo'],
'telefono' => ['nullable', 'string', 'max:20'],
'direccion' => ['nullable', 'string'],
'tipo_documento' => ['required', 'in:DNI,RUC,PASAPORTE'],
'numero_documento' => ['required', 'string', 'max:20', 'unique:clientes,numero_documento'],
];
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CompraStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'fecha' => ['required'],
'proveedor_id' => ['nullable', 'integer', 'exists:proveedores,id'],
'total' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'estado' => ['required', 'in:Recibida,Pendiente,Anulada'],
];
}
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CompraUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'fecha' => ['required'],
'proveedor_id' => ['nullable', 'integer', 'exists:proveedores,id'],
'total' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'estado' => ['required', 'in:Recibida,Pendiente,Anulada'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class DetalleCompraStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'compra_id' => ['required', 'integer', 'exists:compras,id'],
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'cantidad' => ['required', 'integer'],
'precio_unitario' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'subtotal' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class DetalleCompraUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'compra_id' => ['required', 'integer', 'exists:compras,id'],
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'cantidad' => ['required', 'integer'],
'precio_unitario' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'subtotal' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class DetalleVentumStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'venta_id' => ['required', 'integer', 'exists:ventas,id'],
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'cantidad' => ['required', 'integer'],
'precio_unitario' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'subtotal' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class DetalleVentumUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'venta_id' => ['required', 'integer', 'exists:ventas,id'],
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'cantidad' => ['required', 'integer'],
'precio_unitario' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'subtotal' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class InventarioStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'stock_actual' => ['required', 'integer'],
'stock_minimo' => ['required', 'integer'],
'ubicacion' => ['nullable', 'string', 'max:255'],
];
}
}
@@ -0,0 +1,29 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class InventarioUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'producto_id' => ['required', 'integer', 'exists:productos,id'],
'stock_actual' => ['required', 'integer'],
'stock_minimo' => ['required', 'integer'],
'ubicacion' => ['nullable', 'string', 'max:255'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class MovimientoCajaStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'caja_id' => ['required', 'integer', 'exists:cajas,id'],
'tipo' => ['required', 'in:Ingreso,Egreso'],
'monto' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'descripcion' => ['nullable', 'string'],
'fecha' => ['required'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class MovimientoCajaUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'caja_id' => ['required', 'integer', 'exists:cajas,id'],
'tipo' => ['required', 'in:Ingreso,Egreso'],
'monto' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'descripcion' => ['nullable', 'string'],
'fecha' => ['required'],
];
}
}
@@ -0,0 +1,33 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ProductoStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'descripcion' => ['nullable', 'string'],
'codigo_barras' => ['required', 'string', 'max:50', 'unique:productos,codigo_barras'],
'precio_compra' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'precio_venta' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'stock' => ['required', 'integer'],
'categoria_id' => ['required', 'integer', 'exists:categorias,id'],
'estado' => ['required', 'in:activo,inactivo'],
];
}
}
@@ -0,0 +1,33 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ProductoUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'descripcion' => ['nullable', 'string'],
'codigo_barras' => ['required', 'string', 'max:50', 'unique:productos,codigo_barras'],
'precio_compra' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'precio_venta' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'stock' => ['required', 'integer'],
'categoria_id' => ['required', 'integer', 'exists:categorias,id'],
'estado' => ['required', 'in:activo,inactivo'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ProveedorStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'contacto' => ['nullable', 'string', 'max:255'],
'telefono' => ['nullable', 'string', 'max:20'],
'correo' => ['nullable', 'string', 'max:255', 'unique:proveedors,correo'],
'direccion' => ['nullable', 'string'],
];
}
}
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ProveedorUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'nombre' => ['required', 'string', 'max:255'],
'contacto' => ['nullable', 'string', 'max:255'],
'telefono' => ['nullable', 'string', 'max:20'],
'correo' => ['nullable', 'string', 'max:255', 'unique:proveedors,correo'],
'direccion' => ['nullable', 'string'],
];
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SettingStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'logo' => ['nullable', 'string'],
'description' => ['nullable', 'string'],
'primary_color' => ['nullable', 'string'],
'secondary_color' => ['nullable', 'string'],
'created_at' => ['nullable'],
'updated_at' => ['nullable'],
];
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SettingUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'logo' => ['nullable', 'string'],
'description' => ['nullable', 'string'],
'primary_color' => ['nullable', 'string'],
'secondary_color' => ['nullable', 'string'],
'created_at' => ['nullable'],
'updated_at' => ['nullable'],
];
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class VentumStoreRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'fecha' => ['required'],
'cliente_id' => ['nullable', 'integer', 'exists:clientes,id'],
'total' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'tipo_pago' => ['required', 'in:Efectivo,Tarjeta,Transferencia'],
'estado' => ['required', 'in:Pagado,Pendiente,Anulado'],
];
}
}
+30
View File
@@ -0,0 +1,30 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class VentumUpdateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'fecha' => ['required'],
'cliente_id' => ['nullable', 'integer', 'exists:clientes,id'],
'total' => ['required', 'numeric', 'between:-99999999.99,99999999.99'],
'tipo_pago' => ['required', 'in:Efectivo,Tarjeta,Transferencia'],
'estado' => ['required', 'in:Pagado,Pendiente,Anulado'],
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class CajaCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class CajaResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'monto_inicial' => $this->monto_inicial,
'monto_final' => $this->monto_final,
'fecha_apertura' => $this->fecha_apertura,
'fecha_cierre' => $this->fecha_cierre,
'estado' => $this->estado,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class CategoriumCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+21
View File
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class CategoriumResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'nombre' => $this->nombre,
'descripcion' => $this->descripcion,
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class ClienteCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class ClienteResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'nombre' => $this->nombre,
'correo' => $this->correo,
'telefono' => $this->telefono,
'direccion' => $this->direccion,
'tipo_documento' => $this->tipo_documento,
'numero_documento' => $this->numero_documento,
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class CompraCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class CompraResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'fecha' => $this->fecha,
'proveedor_id' => $this->proveedor_id,
'total' => $this->total,
'estado' => $this->estado,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class DetalleCompraCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class DetalleCompraResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'compra_id' => $this->compra_id,
'producto_id' => $this->producto_id,
'cantidad' => $this->cantidad,
'precio_unitario' => $this->precio_unitario,
'subtotal' => $this->subtotal,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class DetalleVentumCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class DetalleVentumResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'venta_id' => $this->venta_id,
'producto_id' => $this->producto_id,
'cantidad' => $this->cantidad,
'precio_unitario' => $this->precio_unitario,
'subtotal' => $this->subtotal,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class InventarioCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class InventarioResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'producto_id' => $this->producto_id,
'stock_actual' => $this->stock_actual,
'stock_minimo' => $this->stock_minimo,
'ubicacion' => $this->ubicacion,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class MovimientoCajaCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class MovimientoCajaResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'caja_id' => $this->caja_id,
'tipo' => $this->tipo,
'monto' => $this->monto,
'descripcion' => $this->descripcion,
'fecha' => $this->fecha,
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class ProductoCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class ProductoResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'nombre' => $this->nombre,
'descripcion' => $this->descripcion,
'codigo_barras' => $this->codigo_barras,
'precio_compra' => $this->precio_compra,
'precio_venta' => $this->precio_venta,
'stock' => $this->stock,
'categoria_id' => $this->categoria_id,
'estado' => $this->estado,
];
}
}
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class ProveedorCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class ProveedorResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'nombre' => $this->nombre,
'contacto' => $this->contacto,
'telefono' => $this->telefono,
'correo' => $this->correo,
'direccion' => $this->direccion,
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class SettingCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+25
View File
@@ -0,0 +1,25 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class SettingResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'logo' => $this->logo,
'description' => $this->description,
'primary_color' => $this->primary_color,
'secondary_color' => $this->secondary_color,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\ResourceCollection;
class VentumCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*/
public function toArray(Request $request): array
{
return [
'data' => $this->collection,
];
}
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class VentumResource extends JsonResource
{
/**
* Transform the resource into an array.
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'fecha' => $this->fecha,
'cliente_id' => $this->cliente_id,
'total' => $this->total,
'tipo_pago' => $this->tipo_pago,
'estado' => $this->estado,
];
}
}