341 lines
41 KiB
PHP
341 lines
41 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Modules\Identity\Http\RequireCompanyContext;
|
|
use App\Modules\Identity\Http\IdentityController;
|
|
use App\Modules\Identity\Http\RequireValidSession;
|
|
|
|
if (app()->environment('browser-testing')) {
|
|
require base_path('scripts/product-demo-entry.php');
|
|
}
|
|
|
|
Route::get('/sgf',[\App\Shared\Installation\PresentationEntry::class,'screen']);
|
|
Route::post('/sgf/entrar',[\App\Shared\Installation\PresentationEntry::class,'enter']);
|
|
Route::get('/', function (\Illuminate\Http\Request $r) {
|
|
if(config('sgf_single_installation.enabled')===true&&!$r->user())return redirect('/sgf');
|
|
return view('app');
|
|
});
|
|
|
|
Route::get('/api/session', [IdentityController::class, 'session']);
|
|
// Read-only diagnostic for the explicitly isolated manual proof; no business data or secrets.
|
|
Route::get('/api/industrial-budget-proof/environment', function () {
|
|
abort_unless(app()->environment('browser-testing'),404);
|
|
\App\Modules\Industry\IndustrialBudgets::guard();
|
|
$db=\Illuminate\Support\Facades\DB::selectOne('SELECT current_database() AS database,current_user AS role,inet_server_port() AS port');
|
|
abort_unless($db->database==='sgf_tempo_test'&&$db->role==='sgf_test_runner'&&(int)$db->port===55432,403);
|
|
return response()->json(['environment'=>app()->environment(),'database'=>$db->database,'role'=>$db->role,'database_port'=>(int)$db->port,'session_driver'=>config('session.driver'),'session_cookie'=>config('session.cookie'),'cache_store'=>config('cache.default'),'synthetic_only'=>true])->header('Cache-Control','no-store, private');
|
|
});
|
|
Route::post('/api/login', [IdentityController::class, 'login']);
|
|
Route::middleware(['auth', RequireValidSession::class])->group(function (): void {
|
|
Route::post('/api/logout', [IdentityController::class, 'logout']);
|
|
Route::post('/api/context', [IdentityController::class, 'select']);
|
|
Route::middleware(RequireCompanyContext::class)->group(function (): void {
|
|
Route::get('/finance/indicators',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'screen']);
|
|
Route::get('/api/financial-indicators',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'index']);
|
|
Route::get('/api/financial-indicators/records/{id}',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'detail'])->whereNumber('id');
|
|
Route::get('/api/financial-indicators/results/{id}/report',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'report'])->whereNumber('id');
|
|
Route::get('/api/financial-indicators/receipts/{key}',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'receipt']);
|
|
Route::post('/api/financial-indicators/preview',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'preview']);
|
|
Route::post('/api/financial-indicators/confirm',[\App\Modules\Finance\Http\FinancialIndicatorsController::class,'confirm']);
|
|
Route::get('/finance/bank',[\App\Modules\Finance\Http\BankReconciliationController::class,'screen']);
|
|
Route::get('/api/bank-reconciliation',[\App\Modules\Finance\Http\BankReconciliationController::class,'index']);
|
|
Route::get('/api/bank-reconciliation/report',[\App\Modules\Finance\Http\BankReconciliationController::class,'report']);
|
|
Route::get('/api/bank-reconciliation/receipts/{key}',[\App\Modules\Finance\Http\BankReconciliationController::class,'receipt']);
|
|
Route::post('/api/bank-reconciliation/preview',[\App\Modules\Finance\Http\BankReconciliationController::class,'preview']);
|
|
Route::post('/api/bank-reconciliation/confirm',[\App\Modules\Finance\Http\BankReconciliationController::class,'confirm']);
|
|
Route::get('/fiscal/rules',[\App\Modules\Services\Http\FiscalRulesController::class,'screen']);
|
|
Route::get('/api/fiscal-rules',[\App\Modules\Services\Http\FiscalRulesController::class,'index']);
|
|
Route::get('/api/fiscal-rules/documents/{id}/report',[\App\Modules\Services\Http\FiscalRulesController::class,'documentReport'])->whereNumber('id');
|
|
Route::get('/api/fiscal-rules/records/{id}',[\App\Modules\Services\Http\FiscalRulesController::class,'detail'])->whereNumber('id');
|
|
Route::get('/api/fiscal-rules/receipts/{key}',[\App\Modules\Services\Http\FiscalRulesController::class,'receipt']);
|
|
Route::post('/api/fiscal-rules/preview',[\App\Modules\Services\Http\FiscalRulesController::class,'preview']);
|
|
Route::post('/api/fiscal-rules/confirm',[\App\Modules\Services\Http\FiscalRulesController::class,'confirm']);
|
|
Route::get('/fiscal/iva',[\App\Modules\Services\Http\FiscalAssessmentController::class,'screen']);
|
|
Route::get('/api/fixed-assets/ledger',[\App\Modules\Accounting\FixedAssetJournalController::class,'index']);
|
|
Route::post('/api/fixed-assets/ledger/preview',[\App\Modules\Accounting\FixedAssetJournalController::class,'preview']);
|
|
Route::post('/api/fixed-assets/ledger/confirm',[\App\Modules\Accounting\FixedAssetJournalController::class,'confirm']);
|
|
Route::get('/api/fixed-assets',[\App\Modules\Accounting\FixedAssetsController::class,'index']);
|
|
Route::post('/api/fixed-assets/preview',[\App\Modules\Accounting\FixedAssetsController::class,'preview']);
|
|
Route::post('/api/fixed-assets/confirm',[\App\Modules\Accounting\FixedAssetsController::class,'confirm']);
|
|
Route::get('/api/fixed-assets/receipts/{key}',[\App\Modules\Accounting\FixedAssetsController::class,'receipt']);
|
|
Route::get('/api/hr-personnel',[\App\Modules\HumanResources\Http\PersonnelController::class,'index']);
|
|
Route::post('/api/hr-personnel/preview',[\App\Modules\HumanResources\Http\PersonnelController::class,'preview']);
|
|
Route::post('/api/hr-personnel/confirm',[\App\Modules\HumanResources\Http\PersonnelController::class,'confirm']);
|
|
Route::get('/api/hr-personnel/receipts/{key}',[\App\Modules\HumanResources\Http\PersonnelController::class,'receipt']);
|
|
Route::get('/api/hr-personnel/readable/{id}',[\App\Modules\HumanResources\Http\PersonnelController::class,'readable'])->whereNumber('id');
|
|
Route::get('/api/hr-personnel/exports/{id}',[\App\Modules\HumanResources\Http\PersonnelController::class,'export'])->whereNumber('id');
|
|
Route::get('/api/remunerations',[\App\Modules\HumanResources\Http\RemunerationsController::class,'index']);
|
|
Route::post('/api/remunerations/preview',[\App\Modules\HumanResources\Http\RemunerationsController::class,'preview']);
|
|
Route::post('/api/remunerations/confirm',[\App\Modules\HumanResources\Http\RemunerationsController::class,'confirm']);
|
|
Route::get('/api/remunerations/receipts/{key}',[\App\Modules\HumanResources\Http\RemunerationsController::class,'receipt']);
|
|
Route::get('/api/remunerations/exports/{id}',[\App\Modules\HumanResources\Http\RemunerationsController::class,'export'])->whereNumber('id');
|
|
Route::get('/api/fiscal-obligations',[\App\Modules\Services\Http\FiscalObligationsController::class,'index']);
|
|
Route::post('/api/fiscal-obligations/preview',[\App\Modules\Services\Http\FiscalObligationsController::class,'preview']);
|
|
Route::post('/api/fiscal-obligations/confirm',[\App\Modules\Services\Http\FiscalObligationsController::class,'confirm']);
|
|
Route::get('/api/fiscal-obligations/receipts/{key}',[\App\Modules\Services\Http\FiscalObligationsController::class,'receipt']);
|
|
Route::get('/api/fiscal-assessments',[\App\Modules\Services\Http\FiscalAssessmentController::class,'index']);
|
|
Route::get('/api/fiscal-assessments/receipts/{key}',[\App\Modules\Services\Http\FiscalAssessmentController::class,'receipt']);
|
|
Route::get('/api/fiscal-assessments/forms/{id}/export',[\App\Modules\Services\Http\FiscalAssessmentController::class,'export'])->whereNumber('id');
|
|
Route::post('/api/fiscal-assessments/preview',[\App\Modules\Services\Http\FiscalAssessmentController::class,'preview']);
|
|
Route::post('/api/fiscal-assessments/confirm',[\App\Modules\Services\Http\FiscalAssessmentController::class,'confirm']);
|
|
Route::get('/finance/cash',[\App\Modules\Finance\Http\CashController::class,'screen']);
|
|
Route::get('/api/cash',[\App\Modules\Finance\Http\CashController::class,'index']);
|
|
Route::get('/api/cash/receipts/{key}',[\App\Modules\Finance\Http\CashController::class,'receipt']);
|
|
Route::post('/api/cash/preview',[\App\Modules\Finance\Http\CashController::class,'preview']);
|
|
Route::post('/api/cash/confirm',[\App\Modules\Finance\Http\CashController::class,'confirm']);
|
|
Route::get('/commercial/documents',[\App\Modules\Services\Http\ServiceDocumentsController::class,'screen']);
|
|
Route::get('/api/service-documents',[\App\Modules\Services\Http\ServiceDocumentsController::class,'index']);
|
|
Route::get('/api/service-documents/register',[\App\Modules\Services\Http\ServiceDocumentsController::class,'register']);
|
|
Route::get('/api/service-documents/options',[\App\Modules\Services\Http\ServiceDocumentsController::class,'options']);
|
|
Route::get('/api/service-documents/{id}/pdf',[\App\Modules\Services\Http\ServiceDocumentsController::class,'pdf'])->whereNumber('id');
|
|
Route::post('/api/service-documents/preview',[\App\Modules\Services\Http\ServiceDocumentsController::class,'preview']);
|
|
Route::post('/api/service-documents/confirm',[\App\Modules\Services\Http\ServiceDocumentsController::class,'confirm']);
|
|
Route::post('/api/general-ledger/stock/{action}',[\App\Modules\Accounting\ComposedLedgerController::class,'stockCommand'])->where('action','rate-prepare|rate-review');
|
|
Route::get('/finance/payables',[\App\Modules\Purchasing\ComposedFinanceController::class,'index']);
|
|
Route::get('/api/finance/payable-positions',[\App\Modules\Purchasing\PayablePositionReadController::class,'index']);
|
|
Route::get('/api/finance/payable-due',[\App\Modules\Purchasing\PayableDueController::class,'index']);
|
|
Route::get('/api/finance/payable-due/receipts/{key}',[\App\Modules\Purchasing\PayableDueController::class,'receipt']);
|
|
Route::post('/api/finance/payable-due/preview',[\App\Modules\Purchasing\PayableDueController::class,'preview']);
|
|
Route::post('/api/finance/payable-due/confirm',[\App\Modules\Purchasing\PayableDueController::class,'confirm']);
|
|
Route::get('/api/finance/payables',[\App\Modules\Purchasing\ComposedFinanceController::class,'index']);
|
|
Route::post('/api/finance/payables/{action}',[\App\Modules\Purchasing\ComposedFinanceController::class,'command'])->where('action','payment-prepare|payment-decide|allocation-prepare|allocation-decide|reversal-prepare|reversal-confirm');
|
|
Route::get('/stock/operations',[\App\Modules\Inventory\StockOperationsController::class,'screen']);
|
|
Route::get('/stock/final',[\App\Modules\Inventory\StockFinalController::class,'screen']);
|
|
Route::get('/stock/completion',[\App\Modules\Inventory\StockCompletionController::class,'screen']);
|
|
Route::get('/api/stock-completion',[\App\Modules\Inventory\StockCompletionController::class,'index']);
|
|
Route::get('/api/stock-completion/receipts/{key}',[\App\Modules\Inventory\StockCompletionController::class,'receipt']);
|
|
Route::post('/api/stock-completion/preview',[\App\Modules\Inventory\StockCompletionController::class,'preview']);
|
|
Route::post('/api/stock-completion/confirm',[\App\Modules\Inventory\StockCompletionController::class,'confirm']);
|
|
Route::get('/api/stock-final',[\App\Modules\Inventory\StockFinalController::class,'index']);
|
|
Route::get('/api/stock-final/history',[\App\Modules\Inventory\StockFinalController::class,'history']);
|
|
Route::get('/api/stock-final/receipts/{key}',[\App\Modules\Inventory\StockFinalController::class,'receipt']);
|
|
Route::post('/api/stock-final/preview',[\App\Modules\Inventory\StockFinalController::class,'preview']);
|
|
Route::post('/api/stock-final/confirm',[\App\Modules\Inventory\StockFinalController::class,'confirm']);
|
|
Route::get('/api/stock-operations',[\App\Modules\Inventory\StockOperationsController::class,'index']);
|
|
Route::get('/api/stock-operations/basis',[\App\Modules\Inventory\StockOperationsController::class,'basis']);
|
|
Route::post('/api/stock-operations/preview',[\App\Modules\Inventory\StockOperationsController::class,'preview']);
|
|
Route::post('/api/stock-operations/confirm',[\App\Modules\Inventory\StockOperationsController::class,'confirm']);
|
|
Route::get('/geography/segments/{kind}',[\App\Shared\Geography\GeographyController::class,'segmentScreen']);
|
|
Route::get('/api/geography/segments/{kind}',[\App\Shared\Geography\GeographyController::class,'segments']);
|
|
Route::get('/geography/{kind}/{id}',[\App\Shared\Geography\GeographyController::class,'screen'])->whereNumber('id');
|
|
Route::get('/api/geography/catalogue',[\App\Shared\Geography\GeographyController::class,'catalogue']);
|
|
Route::get('/api/geography/entities/{kind}/{id}',[\App\Shared\Geography\GeographyController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/geography/entities/{kind}/{id}/history',[\App\Shared\Geography\GeographyController::class,'history'])->whereNumber('id');
|
|
Route::post('/api/geography/entities/{kind}/{id}/preview',[\App\Shared\Geography\GeographyController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/geography/entities/{kind}/{id}/confirm',[\App\Shared\Geography\GeographyController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/purchasing/workspace',[\App\Modules\Purchasing\WorkspaceNavigation::class,'screen']);
|
|
Route::get('/api/purchasing-suppliers/{supplier}/documents',[\App\Modules\Purchasing\SupplierDocumentsController::class,'index'])->whereNumber('supplier');
|
|
Route::post('/api/purchasing-suppliers/{supplier}/documents/preview',[\App\Modules\Purchasing\SupplierDocumentsController::class,'preview'])->whereNumber('supplier');
|
|
Route::post('/api/purchasing-suppliers/{supplier}/documents/confirm',[\App\Modules\Purchasing\SupplierDocumentsController::class,'confirm'])->whereNumber('supplier');
|
|
Route::get('/api/purchasing-suppliers/{supplier}/documents/{document}/download',[\App\Modules\Purchasing\SupplierDocumentsController::class,'download'])->whereNumber('supplier')->whereNumber('document');
|
|
Route::get('/purchasing/dossiers',[\App\Modules\Purchasing\DossierController::class,'screen']);
|
|
Route::get('/api/purchasing-dossiers',[\App\Modules\Purchasing\DossierController::class,'index']);
|
|
Route::get('/api/purchasing-dossiers/{id}',[\App\Modules\Purchasing\DossierController::class,'show'])->whereNumber('id');
|
|
Route::get('/purchasing/obligations',[\App\Modules\Purchasing\ObligationController::class,'screen']);
|
|
Route::get('/api/purchasing-obligations',[\App\Modules\Purchasing\ObligationController::class,'index']);
|
|
Route::get('/api/purchasing-obligations/{id}',[\App\Modules\Purchasing\ObligationController::class,'show'])->whereNumber('id');
|
|
Route::post('/api/purchasing-obligations/{id}/preview',[\App\Modules\Purchasing\ObligationController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-obligations/{id}/confirm',[\App\Modules\Purchasing\ObligationController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/purchasing/invoices',[\App\Modules\Purchasing\InvoiceController::class,'screen'])->name('invoices.index');
|
|
Route::get('/api/purchasing-invoices',[\App\Modules\Purchasing\InvoiceController::class,'index']);
|
|
Route::get('/api/purchasing-invoices/orders/{id}',[\App\Modules\Purchasing\InvoiceController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/purchasing-invoices/orders/{id}/history',[\App\Modules\Purchasing\InvoiceController::class,'history'])->whereNumber('id');
|
|
Route::post('/api/purchasing-invoices/orders/{id}/preview',[\App\Modules\Purchasing\InvoiceController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-invoices/orders/{id}/confirm',[\App\Modules\Purchasing\InvoiceController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/purchasing/receipts',[\App\Modules\Purchasing\ReceiptController::class,'screen']);
|
|
Route::get('/purchasing/orders',[\App\Modules\Purchasing\OrderController::class,'screen']);
|
|
Route::get('/purchasing/requests',[\App\Modules\Purchasing\RequestController::class,'screen']);
|
|
Route::get('/api/purchasing-requests',[\App\Modules\Purchasing\RequestController::class,'index']);
|
|
Route::get('/api/purchasing-requests/{id}/history',[\App\Modules\Purchasing\RequestController::class,'history'])->whereNumber('id');
|
|
Route::get('/api/purchasing-requests/{id}',[\App\Modules\Purchasing\RequestController::class,'show'])->whereNumber('id');
|
|
Route::post('/api/purchasing-requests/{id}/preview',[\App\Modules\Purchasing\RequestController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-requests/{id}/confirm',[\App\Modules\Purchasing\RequestController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/purchasing/suppliers',[\App\Modules\Purchasing\SupplierController::class,'screen']);
|
|
Route::get('/api/purchasing-suppliers',[\App\Modules\Purchasing\SupplierController::class,'index']);
|
|
Route::get('/api/purchasing-suppliers/{supplier}',[\App\Modules\Purchasing\SupplierController::class,'show'])->whereNumber('supplier')->name('suppliers.show');
|
|
Route::get('/api/purchasing-suppliers/{supplier}/history',[\App\Modules\Purchasing\SupplierController::class,'history'])->whereNumber('supplier');
|
|
Route::post('/api/purchasing-suppliers/{supplier}/preview',[\App\Modules\Purchasing\SupplierController::class,'preview'])->whereNumber('supplier');
|
|
Route::post('/api/purchasing-suppliers/{supplier}/confirm',[\App\Modules\Purchasing\SupplierController::class,'confirm'])->whereNumber('supplier');
|
|
Route::get('/purchasing/sourcing',[\App\Modules\Purchasing\SourcingController::class,'screen']);
|
|
Route::get('/api/purchasing-sourcing',[\App\Modules\Purchasing\SourcingController::class,'index']);
|
|
Route::get('/api/purchasing-sourcing/requests/{id}',[\App\Modules\Purchasing\SourcingController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/purchasing-sourcing/requests/{id}/history',[\App\Modules\Purchasing\SourcingController::class,'history'])->whereNumber('id');
|
|
Route::get('/api/purchasing-sourcing/requests/{id}/suppliers',[\App\Modules\Purchasing\SourcingController::class,'suppliers'])->whereNumber('id');
|
|
Route::post('/api/purchasing-sourcing/requests/{id}/preview',[\App\Modules\Purchasing\SourcingController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-sourcing/requests/{id}/confirm',[\App\Modules\Purchasing\SourcingController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/api/purchasing-orders',[\App\Modules\Purchasing\OrderController::class,'index']);
|
|
Route::get('/api/purchasing-orders/awards/{id}',[\App\Modules\Purchasing\OrderController::class,'show'])->whereNumber('id');
|
|
Route::post('/api/purchasing-orders/awards/{id}/preview',[\App\Modules\Purchasing\OrderController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-orders/awards/{id}/issue',[\App\Modules\Purchasing\OrderController::class,'issue'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts',[\App\Modules\Purchasing\ReceiptController::class,'index']);
|
|
Route::get('/api/purchasing-receipts/movements/{id}/origin',[\App\Modules\Purchasing\StockReceiptTraceController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts/orders/{id}',[\App\Modules\Purchasing\ReceiptController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts/orders/{id}/history',[\App\Modules\Purchasing\ReceiptController::class,'history'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts/orders/{id}/lines/{line}/catalogue',[\App\Modules\Purchasing\ReceiptController::class,'catalogue'])->whereNumber('id')->whereNumber('line');
|
|
Route::post('/api/purchasing-receipts/orders/{id}/preview',[\App\Modules\Purchasing\ReceiptController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-receipts/orders/{id}/confirm',[\App\Modules\Purchasing\ReceiptController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts/history/{id}/documents',[\App\Modules\Purchasing\ReceiptDocumentsController::class,'index'])->whereNumber('id');
|
|
Route::post('/api/purchasing-receipts/history/{id}/documents/preview',[\App\Modules\Purchasing\ReceiptDocumentsController::class,'preview'])->whereNumber('id');
|
|
Route::post('/api/purchasing-receipts/history/{id}/documents/confirm',[\App\Modules\Purchasing\ReceiptDocumentsController::class,'confirm'])->whereNumber('id');
|
|
Route::get('/api/purchasing-receipts/history/{id}/documents/{document}/download',[\App\Modules\Purchasing\ReceiptDocumentsController::class,'download'])->whereNumber('id')->whereNumber('document');
|
|
Route::get('/api/purchasing-receipts/history/{id}',[\App\Modules\Purchasing\ReceiptController::class,'receipt'])->whereNumber('id');
|
|
Route::get('/api/stock-valuation-read',[\App\Modules\Accounting\StockValuationRead::class,'index']);
|
|
Route::get('/general-ledger/stock-valuation',[\App\Modules\Accounting\StockValuationRead::class,'index']);
|
|
Route::get('/api/workshop-stock',[\App\Modules\Workshop\Http\WorkshopStockController::class,'index']);
|
|
Route::post('/api/workshop-stock/prepare',[\App\Modules\Workshop\Http\WorkshopStockController::class,'prepare']);
|
|
Route::post('/api/workshop-stock/prepare-delivery',[\App\Modules\Workshop\Http\WorkshopStockController::class,'prepareDelivery']);
|
|
Route::post('/api/workshop-stock/prepare-allocation',[\App\Modules\Workshop\Http\WorkshopStockController::class,'prepareAllocation']);
|
|
Route::post('/api/workshop-stock/prepare-return',[\App\Modules\Workshop\Http\WorkshopStockController::class,'prepareReturn']);
|
|
Route::post('/api/workshop-stock/{id}/confirm',[\App\Modules\Workshop\Http\WorkshopStockController::class,'confirm'])->whereNumber('id');
|
|
Route::post('/api/workshop-stock/{id}/withdraw',[\App\Modules\Workshop\Http\WorkshopStockController::class,'withdraw'])->whereNumber('id');
|
|
Route::post('/api/workshop-stock/{id}/reject',[\App\Modules\Workshop\Http\WorkshopStockController::class,'reject'])->whereNumber('id');
|
|
Route::get('/stock/catalogue',[\App\Modules\Inventory\StockCatalogueController::class,'screen']);
|
|
Route::get('/api/stock-catalogue',[\App\Modules\Inventory\StockCatalogueController::class,'index']);
|
|
Route::get('/api/stock-catalogue/receipts/{key}',[\App\Modules\Inventory\StockCatalogueController::class,'receipt']);
|
|
Route::post('/api/stock-catalogue/preview',[\App\Modules\Inventory\StockCatalogueController::class,'preview']);
|
|
Route::post('/api/stock-catalogue/confirm',[\App\Modules\Inventory\StockCatalogueController::class,'confirm']);
|
|
Route::get('/api/stock-read', [\App\Modules\Inventory\StockReadController::class,'index']);
|
|
Route::get('/api/module-records', [\App\Modules\Identity\Http\ModuleRecordsController::class,'index']);
|
|
Route::post('/api/module-records/preview', [\App\Modules\Identity\Http\ModuleRecordsController::class,'preview']);
|
|
Route::post('/api/module-records', [\App\Modules\Identity\Http\ModuleRecordsController::class,'associate']);
|
|
Route::get('/supplier-payables', [\App\Modules\Purchasing\SupplierPayablesController::class,'page']);
|
|
Route::get('/general-ledger', [\App\Modules\Accounting\GeneralLedgerController::class,'page']);
|
|
Route::get('/general-ledger/industrial', [\App\Modules\Accounting\IndustrialLedgerController::class,'index']);
|
|
Route::get('/api/general-ledger/industrial', [\App\Modules\Accounting\IndustrialLedgerController::class,'index']);
|
|
Route::get('/general-ledger/workspace',[\App\Modules\Accounting\LedgerCompositionController::class,'index']);
|
|
Route::get('/api/general-ledger/workspace',[\App\Modules\Accounting\LedgerCompositionController::class,'index']);
|
|
Route::get('/general-ledger/costs', [\App\Modules\Accounting\CostLedgerController::class,'index']);
|
|
Route::get('/api/general-ledger/costs', [\App\Modules\Accounting\CostLedgerController::class,'index']);
|
|
Route::get('/general-ledger/{kind}', [\App\Modules\Accounting\GeneralLedgerController::class,'report'])->whereIn('kind',['trial-balance','account-ledger']);
|
|
Route::get('/api/general-ledger/statements',[\App\Modules\Accounting\InternalStatementsController::class,'index']);
|
|
Route::post('/api/general-ledger/statements/preview',[\App\Modules\Accounting\InternalStatementsController::class,'preview']);
|
|
Route::post('/api/general-ledger/statements/confirm',[\App\Modules\Accounting\InternalStatementsController::class,'confirm']);
|
|
Route::get('/api/general-ledger/statements/receipts/{key}',[\App\Modules\Accounting\InternalStatementsController::class,'receipt']);
|
|
Route::get('/api/general-ledger/statements/exports/{id}',[\App\Modules\Accounting\InternalStatementsController::class,'export'])->whereNumber('id');
|
|
Route::get('/api/general-ledger/{kind}', [\App\Modules\Accounting\GeneralLedgerController::class,'report'])->whereIn('kind',['trial-balance','account-ledger']);
|
|
Route::get('/general-ledger/flow', [\App\Modules\Accounting\GeneralLedgerController::class,'flow']);
|
|
Route::get('/general-ledger/cycle', [\App\Modules\Accounting\GeneralLedgerController::class,'cycle']);
|
|
Route::get('/general-ledger/sales', [\App\Modules\Accounting\SalesLedgerController::class,'page']);
|
|
Route::get('/api/general-ledger/sales', [\App\Modules\Accounting\SalesLedgerController::class,'index']);
|
|
Route::get('/api/general-ledger/cycle', [\App\Modules\Accounting\GeneralLedgerController::class,'cycleData']);
|
|
Route::get('/api/general-ledger', [\App\Modules\Accounting\GeneralLedgerController::class,'index']);
|
|
Route::get('/api/general-ledger/financial-receipts/{domain}/{key}', [\App\Modules\Accounting\GeneralLedgerController::class,'financialReceipt']);
|
|
Route::get('/api/general-ledger/receipts/{key}', [\App\Modules\Accounting\GeneralLedgerController::class,'receipt']);
|
|
Route::post('/api/general-ledger/{action}', [\App\Modules\Accounting\GeneralLedgerController::class,'command'])->whereIn('action',['prepare','validate','post','effect-prepare','correct-prepare','correct-validate','correct-post','period-prepare','period-validate','period-close']);
|
|
Route::get('/supplier-payables/report', [\App\Modules\Purchasing\SupplierPayableReportController::class,'page']);
|
|
Route::get('/api/supplier-payables/report', [\App\Modules\Purchasing\SupplierPayableReportController::class,'index']);
|
|
Route::get('/supplier-payments', [\App\Modules\Purchasing\SupplierPaymentsController::class,'page']);
|
|
Route::get('/api/supplier-payments', [\App\Modules\Purchasing\SupplierPaymentsController::class,'index']);
|
|
Route::post('/api/supplier-payments/{action}', [\App\Modules\Purchasing\SupplierPaymentsController::class,'command'])->whereIn('action',['payment-prepare','payment-decide','allocation-prepare','allocation-decide','reversal-prepare','reversal-confirm']);
|
|
Route::get('/api/supplier-payables', [\App\Modules\Purchasing\SupplierPayablesController::class,'index']);
|
|
Route::post('/api/supplier-payables/{action}', [\App\Modules\Purchasing\SupplierPayablesController::class,'command'])->whereIn('action',['prepare','validate','prepare_history','validate_history']);
|
|
Route::get('/api/purchasing-budget', [\App\Modules\Purchasing\BudgetController::class, 'index']);
|
|
Route::post('/api/purchasing-budget/{action}', [\App\Modules\Purchasing\BudgetController::class, 'command'])->whereIn('action', ['create', 'approve', 'movement', 'consume', 'reinforcement', 'review']);
|
|
Route::get('/api/workshop-corrections', [\App\Modules\Workshop\Http\WorkshopCorrectionsController::class,'index']);
|
|
Route::post('/api/workshop-corrections/{id}/requests', [\App\Modules\Workshop\Http\WorkshopCorrectionsController::class,'request'])->whereNumber('id');
|
|
Route::post('/api/workshop-corrections/{id}/reviews', [\App\Modules\Workshop\Http\WorkshopCorrectionsController::class,'review'])->whereNumber('id');
|
|
Route::post('/api/workshop-corrections/{id}/applications', [\App\Modules\Workshop\Http\WorkshopCorrectionsController::class,'apply'])->whereNumber('id');
|
|
Route::get('/api/workshop-billing', [\App\Modules\Workshop\Http\WorkshopBillingController::class,'index']);
|
|
Route::post('/api/workshop-billing/orders/{id}/proposals', [\App\Modules\Workshop\Http\WorkshopBillingController::class,'prepare'])->whereNumber('id');
|
|
Route::post('/api/workshop-billing/orders/{id}/reviews', [\App\Modules\Workshop\Http\WorkshopBillingController::class,'review'])->whereNumber('id');
|
|
Route::post('/api/workshop-billing/orders/{id}/generations', [\App\Modules\Workshop\Http\WorkshopBillingController::class,'generate'])->whereNumber('id');
|
|
Route::get('/api/workshop/orders',[\App\Modules\Workshop\Http\WorkshopOrderReadController::class,'index']);
|
|
Route::get('/api/workshop', [\App\Modules\Workshop\Http\WorkshopController::class,'index']);
|
|
Route::get('/api/workshop-schedule',[\App\Modules\Workshop\Http\WorkshopScheduleController::class,'index']);
|
|
Route::get('/api/workshop-equipment',[\App\Modules\Workshop\Http\WorkshopEquipmentController::class,'index']);
|
|
Route::post('/api/workshop-equipment/preview',[\App\Modules\Workshop\Http\WorkshopEquipmentController::class,'preview']);
|
|
Route::post('/api/workshop-equipment/confirm',[\App\Modules\Workshop\Http\WorkshopEquipmentController::class,'confirm']);
|
|
Route::get('/api/workshop-schedule/options',[\App\Modules\Workshop\Http\WorkshopScheduleController::class,'options']);
|
|
Route::get('/api/workshop-schedule/{key}/history',[\App\Modules\Workshop\Http\WorkshopScheduleController::class,'history']);
|
|
Route::post('/api/workshop-schedule/preview',[\App\Modules\Workshop\Http\WorkshopScheduleController::class,'preview']);
|
|
Route::post('/api/workshop-schedule/confirm',[\App\Modules\Workshop\Http\WorkshopScheduleController::class,'confirm']);
|
|
Route::get('/api/direct-costs', [\App\Modules\Workshop\Http\DirectCostsController::class,'index']);
|
|
Route::get('/api/industrial-budgets', [\App\Modules\Industry\Http\IndustrialBudgetsController::class,'index']);
|
|
Route::post('/api/industrial-budgets/lots/{id}/proposals', [\App\Modules\Industry\Http\IndustrialBudgetsController::class,'propose'])->whereNumber('id');
|
|
Route::post('/api/industrial-budgets/lots/{id}/decisions', [\App\Modules\Industry\Http\IndustrialBudgetsController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/industrial-budgets/lots/{id}/comparisons', [\App\Modules\Industry\Http\IndustrialBudgetsController::class,'compare'])->whereNumber('id');
|
|
Route::get('/api/industrial-costs', [\App\Modules\Industry\Http\IndustrialCostsController::class,'index']);
|
|
Route::post('/api/industrial-costs/lots', [\App\Modules\Industry\Http\IndustrialCostsController::class,'open']);
|
|
Route::post('/api/industrial-costs/lots/{id}/inputs', [\App\Modules\Industry\Http\IndustrialCostsController::class,'input'])->whereNumber('id');
|
|
Route::post('/api/industrial-costs/lots/{id}/calculations', [\App\Modules\Industry\Http\IndustrialCostsController::class,'calculate'])->whereNumber('id');
|
|
Route::post('/api/industrial-costs/lots/{id}/decisions', [\App\Modules\Industry\Http\IndustrialCostsController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/direct-costs/orders/{id}/rates', [\App\Modules\Workshop\Http\DirectCostsController::class,'rate'])->whereNumber('id');
|
|
Route::post('/api/direct-costs/orders/{id}/calculations', [\App\Modules\Workshop\Http\DirectCostsController::class,'calculate'])->whereNumber('id');
|
|
Route::post('/api/direct-costs/orders/{id}/decisions', [\App\Modules\Workshop\Http\DirectCostsController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/workshop/orders', [\App\Modules\Workshop\Http\WorkshopController::class,'open']);
|
|
Route::post('/api/workshop/orders/{id}/entries', [\App\Modules\Workshop\Http\WorkshopController::class,'record'])->whereNumber('id');
|
|
Route::post('/api/workshop/entries/{id}/verification', [\App\Modules\Workshop\Http\WorkshopController::class,'verify'])->whereNumber('id');
|
|
Route::get('/api/service-receivables/positions',[\App\Modules\Services\Http\ReceivablePositionReadController::class,'index']);
|
|
Route::get('/api/service-receivables', [\App\Modules\Services\Http\ServiceReceivablesController::class,'index']);
|
|
Route::post('/api/service-receivables/proposals', [\App\Modules\Services\Http\ServiceReceivablesController::class,'propose']);
|
|
Route::post('/api/service-receivables/{id}/decision', [\App\Modules\Services\Http\ServiceReceivablesController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/service-receivables/{id}/allocate', [\App\Modules\Services\Http\ServiceReceivablesController::class,'allocate'])->whereNumber('id');
|
|
Route::get('/api/multiline-invoices/options',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'catalogue']);
|
|
Route::get('/api/multiline-invoices/drafts/{id}',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'editor'])->whereNumber('id');
|
|
Route::post('/api/multiline-invoices/drafts/preview',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'draftPreview']);
|
|
Route::post('/api/multiline-invoices/drafts/confirm',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'draftConfirm']);
|
|
Route::post('/api/multiline-invoices/calculations/preview',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'calculationPreview']);
|
|
Route::post('/api/multiline-invoices/calculations/confirm',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'calculationConfirm']);
|
|
Route::get('/api/multiline-invoices/receipts/{key}',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'receipt']);
|
|
Route::get('/api/multiline-invoices/invoice-receipts/{key}',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'issueReceipt']);
|
|
Route::post('/api/multiline-invoices/temporals',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'temporal']);
|
|
Route::post('/api/multiline-invoices/temporals/{id}/decision',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'temporalReview'])->whereNumber('id');
|
|
Route::post('/api/multiline-invoices/drafts/{id}/readiness',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'readiness'])->whereNumber('id');
|
|
Route::post('/api/multiline-invoices/drafts/{id}/issue',[\App\Modules\Services\Http\MultiLineInvoiceController::class,'issue'])->whereNumber('id');
|
|
Route::get('/api/service-invoices', [\App\Modules\Services\Http\ServiceInvoiceController::class,'index']);
|
|
Route::get('/commercial-quotes/{key}/print',[\App\Modules\Services\Http\CommercialQuotesController::class,'print']);
|
|
Route::get('/api/commercial-quotes',[\App\Modules\Services\Http\CommercialQuotesController::class,'index']);
|
|
Route::get('/api/commercial-quotes/options',[\App\Modules\Services\Http\CommercialQuotesController::class,'options']);
|
|
Route::get('/api/commercial-quotes/{key}/history',[\App\Modules\Services\Http\CommercialQuotesController::class,'history']);
|
|
Route::post('/api/commercial-quotes/preview',[\App\Modules\Services\Http\CommercialQuotesController::class,'preview']);
|
|
Route::post('/api/commercial-quotes/confirm',[\App\Modules\Services\Http\CommercialQuotesController::class,'confirm']);
|
|
Route::post('/api/service-invoices/proposals', [\App\Modules\Services\Http\ServiceInvoiceController::class,'propose']);
|
|
Route::post('/api/service-invoices/proposals/{id}/decision', [\App\Modules\Services\Http\ServiceInvoiceController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/service-invoices/drafts/{id}/review', [\App\Modules\Services\Http\ServiceInvoiceController::class,'review'])->whereNumber('id');
|
|
Route::post('/api/service-invoices/drafts/{id}/issue', [\App\Modules\Services\Http\ServiceInvoiceController::class,'issue'])->whereNumber('id');
|
|
Route::get('/api/service-invoices/{id}', [\App\Modules\Services\Http\ServiceInvoiceController::class,'show'])->whereNumber('id');
|
|
Route::get('/api/service-invoices/{id}/pdf', [\App\Modules\Services\Http\ServiceInvoiceController::class,'pdf'])->whereNumber('id');
|
|
Route::post('/api/service-invoices/{id}/corrections', [\App\Modules\Services\Http\ServiceInvoiceController::class,'correction'])->whereNumber('id');
|
|
Route::get('/api/service-fiscal', [\App\Modules\Services\Http\ServiceFiscalController::class,'index']);
|
|
Route::post('/api/service-fiscal/proposals', [\App\Modules\Services\Http\ServiceFiscalController::class,'propose']);
|
|
Route::post('/api/service-fiscal/proposals/{id}/decision', [\App\Modules\Services\Http\ServiceFiscalController::class,'decide'])->whereNumber('id');
|
|
Route::post('/api/service-fiscal/drafts/{id}/calculate', [\App\Modules\Services\Http\ServiceFiscalController::class,'calculate'])->whereNumber('id');
|
|
Route::get('/api/service-fiscal/drafts/{id}/history', [\App\Modules\Services\Http\ServiceFiscalController::class,'history'])->whereNumber('id');
|
|
Route::get('/api/catalogue-accounting', [\App\Modules\Services\Http\CatalogueAccountingController::class,'index']);
|
|
Route::post('/api/catalogue-accounting/proposals', [\App\Modules\Services\Http\CatalogueAccountingController::class,'propose']);
|
|
Route::post('/api/catalogue-accounting/proposals/{id}/submit', [\App\Modules\Services\Http\CatalogueAccountingController::class,'submit'])->whereNumber('id');
|
|
Route::post('/api/catalogue-accounting/proposals/{id}/decision', [\App\Modules\Services\Http\CatalogueAccountingController::class,'decide'])->whereNumber('id');
|
|
Route::get('/api/catalogue-accounting/services/{service}/resolve', [\App\Modules\Services\Http\CatalogueAccountingController::class,'resolve'])->whereNumber('service');
|
|
Route::post('/api/catalogue-accounting/resolutions', [\App\Modules\Services\Http\CatalogueAccountingController::class,'capture']);
|
|
Route::get('/api/catalogue-accounting/history/{area}/{record}', [\App\Modules\Services\Http\CatalogueAccountingController::class,'history'])->whereNumber('record');
|
|
Route::post('/api/service-calculations/{id}', [\App\Modules\Services\Http\DocumentPreviewController::class, 'calculate'])->whereNumber('id');
|
|
Route::get('/api/document-preview/model', [\App\Modules\Services\Http\DocumentPreviewController::class, 'model']);
|
|
Route::patch('/api/document-preview/model', [\App\Modules\Services\Http\DocumentPreviewController::class, 'configure']);
|
|
Route::get('/api/document-preview/draft/{id}', [\App\Modules\Services\Http\DocumentPreviewController::class, 'draft'])->whereNumber('id');
|
|
Route::get('/api/document-preview/history/{id}', [\App\Modules\Services\Http\DocumentPreviewController::class, 'historical'])->whereNumber('id');
|
|
Route::get('/api/document-preview/{mode}/{id}/revision', [\App\Modules\Services\Http\DocumentPreviewController::class, 'revision'])->whereNumber('id');
|
|
Route::get('/api/document-preparation/{kind}', [\App\Modules\Services\Http\DocumentPreparationController::class, 'index']);
|
|
Route::get('/api/document-preparation/{kind}/{id}', [\App\Modules\Services\Http\DocumentPreparationController::class, 'show'])->whereNumber('id');
|
|
Route::patch('/api/document-preparation/{kind}/{id}', [\App\Modules\Services\Http\DocumentPreparationController::class, 'save'])->whereNumber('id');
|
|
Route::post('/api/b1/billing-drafts/{id}/confirm-internal', [\App\Modules\Services\Http\ServiceController::class, 'confirmInternal'])->whereNumber('id');
|
|
Route::prefix('api/a/{area}')->group(function (): void {
|
|
$controller = \App\Modules\Services\Http\ServiceController::class;
|
|
Route::get('access', [$controller, 'accesses']);
|
|
Route::post('access', [$controller, 'changeAccess']);
|
|
Route::get('', [$controller, 'index']);
|
|
Route::post('', [$controller, 'create']);
|
|
Route::get('{id}', [$controller, 'show'])->whereNumber('id');
|
|
Route::patch('{id}', [$controller, 'update'])->whereNumber('id');
|
|
});
|
|
Route::get('/api/context', fn (\App\Shared\Context\CompanyContext $context) => response()->json($context->identifiers() + ['unit_id' => $context->unitId()]));
|
|
Route::patch('/api/companies/{company}', [IdentityController::class, 'renameCompany']);
|
|
Route::get('/api/companies/{company}', [IdentityController::class, 'company']);
|
|
Route::get('/api/units/{unit}', [IdentityController::class, 'unit']);
|
|
Route::patch('/api/units/{unit}', [IdentityController::class, 'renameUnit']);
|
|
Route::post('/api/units', [IdentityController::class, 'createUnit']);
|
|
Route::get('/api/accesses', [IdentityController::class, 'accesses']);
|
|
Route::post('/api/accesses', [IdentityController::class, 'grant']);
|
|
Route::post('/api/accesses/revoke', [IdentityController::class, 'revoke']);
|
|
});
|
|
});
|