Initial commit: Horux Strategy Platform
- Laravel 11 backend with API REST - React 18 + TypeScript + Vite frontend - Multi-parser architecture for accounting systems (CONTPAQi, Aspel, SAP) - 27+ financial metrics calculation - PDF report generation with Browsershot - Complete documentation (10 documents) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
73
backend/routes/api.php
Normal file
73
backend/routes/api.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\AuthController;
|
||||
use App\Http\Controllers\ClienteController;
|
||||
use App\Http\Controllers\BalanzaController;
|
||||
use App\Http\Controllers\CuentaController;
|
||||
use App\Http\Controllers\ReporteController;
|
||||
use App\Http\Controllers\Admin\UsuarioController;
|
||||
use App\Http\Controllers\Admin\UmbralController;
|
||||
use App\Http\Controllers\Admin\ReglaMapeeoController;
|
||||
use App\Http\Controllers\Admin\GiroController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
// Rutas públicas
|
||||
Route::post('/login', [AuthController::class, 'login']);
|
||||
|
||||
// Rutas protegidas
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
|
||||
// Autenticación
|
||||
Route::post('/logout', [AuthController::class, 'logout']);
|
||||
Route::get('/user', [AuthController::class, 'user']);
|
||||
|
||||
// Giros (público para selects)
|
||||
Route::get('/giros', [GiroController::class, 'activos']);
|
||||
|
||||
// Clientes
|
||||
Route::apiResource('clientes', ClienteController::class);
|
||||
|
||||
// Balanzas (anidadas bajo clientes)
|
||||
Route::get('/clientes/{cliente}/balanzas', [BalanzaController::class, 'index']);
|
||||
Route::post('/clientes/{cliente}/balanzas', [BalanzaController::class, 'store']);
|
||||
Route::get('/balanzas/{balanza}', [BalanzaController::class, 'show']);
|
||||
Route::get('/balanzas/{balanza}/cuentas', [BalanzaController::class, 'cuentas']);
|
||||
Route::put('/balanzas/{balanza}/exclusiones', [BalanzaController::class, 'updateExclusiones']);
|
||||
|
||||
// Cuentas
|
||||
Route::put('/cuentas/{cuenta}/clasificacion', [CuentaController::class, 'updateClasificacion']);
|
||||
Route::post('/cuentas/{cuenta}/toggle-exclusion', [CuentaController::class, 'toggleExclusion']);
|
||||
Route::get('/anomalias', [CuentaController::class, 'anomalias']);
|
||||
|
||||
// Reportes
|
||||
Route::get('/clientes/{cliente}/reportes', [ReporteController::class, 'index']);
|
||||
Route::post('/clientes/{cliente}/reportes', [ReporteController::class, 'store']);
|
||||
Route::get('/reportes/{reporte}', [ReporteController::class, 'show']);
|
||||
Route::get('/reportes/{reporte}/pdf', [ReporteController::class, 'pdf']);
|
||||
Route::delete('/reportes/{reporte}', [ReporteController::class, 'destroy']);
|
||||
|
||||
// Rutas de administración (solo admin)
|
||||
Route::middleware('role:admin')->prefix('admin')->group(function () {
|
||||
// Usuarios
|
||||
Route::apiResource('usuarios', UsuarioController::class);
|
||||
|
||||
// Giros (CRUD completo)
|
||||
Route::apiResource('giros', GiroController::class);
|
||||
|
||||
// Umbrales
|
||||
Route::apiResource('umbrales', UmbralController::class);
|
||||
Route::get('/umbrales/metrica/{metrica}/{giro_id?}', [UmbralController::class, 'porMetrica']);
|
||||
|
||||
// Reglas de mapeo
|
||||
Route::apiResource('reglas-mapeo', ReglaMapeeoController::class);
|
||||
|
||||
// Registrar usuarios (solo admin)
|
||||
Route::post('/register', [AuthController::class, 'register']);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user