112 lines
5.0 KiB
PHP
Executable File
112 lines
5.0 KiB
PHP
Executable File
<?php
|
|
|
|
use App\Console\Commands\CtiSyncPostItFromStagingCommand;
|
|
use App\Console\Commands\DedupeRateEmesseCommand;
|
|
use App\Console\Commands\FeCassettoImportLocal;
|
|
use App\Console\Commands\GesconCollegaFornitoreStabili;
|
|
use App\Console\Commands\GesconImportAlignCommand;
|
|
use App\Console\Commands\GesconImportBanche;
|
|
use App\Console\Commands\GesconImportFattureAdeCsv;
|
|
use App\Console\Commands\GesconImportFornitoriLegacyMdb;
|
|
use App\Console\Commands\GesconMaterializePersoneRelazioniCommand;
|
|
use App\Console\Commands\GesconQaContatori;
|
|
use App\Console\Commands\GesconQaEmissione;
|
|
use App\Console\Commands\GesconResyncStabili;
|
|
use App\Console\Commands\GoogleImportKeepNotesCommand;
|
|
use App\Console\Commands\GooglePushRubricaContactsCommand;
|
|
use App\Console\Commands\GoogleSyncFornitoriRubricaCommand;
|
|
use App\Console\Commands\GoogleSyncRubricaContactsCommand;
|
|
use App\Console\Commands\GoogleSyncTicketCalendarCommand;
|
|
use App\Console\Commands\ImportGesconAcquaLegacyCommand;
|
|
use App\Console\Commands\ImportGesconF24LegacyCommand;
|
|
use App\Console\Commands\IstatSetIndiceCommand;
|
|
use App\Console\Commands\IstatSyncIndiciCommand;
|
|
use App\Console\Commands\NetgesconArchiveRegistrySyncCommand;
|
|
use App\Console\Commands\NetgesconDevelopmentSnapshotCommand;
|
|
use App\Console\Commands\NetgesconDistributionPullCommand;
|
|
use App\Console\Commands\NetgesconGitSyncCommand;
|
|
use App\Console\Commands\NetgesconApplyPbxPresetCommand;
|
|
use App\Console\Commands\NetgesconPreupdateBackupCommand;
|
|
use App\Console\Commands\NetgesconQaUnitaNominativiCommand;
|
|
use App\Console\Commands\NetgesconRestoreRecordCommand;
|
|
use App\Console\Commands\PanasonicCstaBridgeCommand;
|
|
use App\Console\Commands\StabiliTransferCommand;
|
|
use App\Console\Commands\SyncSoggettiToPersone;
|
|
use Illuminate\Foundation\Application;
|
|
use Illuminate\Foundation\Configuration\Exceptions;
|
|
use Illuminate\Foundation\Configuration\Middleware;
|
|
|
|
return Application::configure(basePath: dirname(__DIR__))
|
|
->withRouting(
|
|
web: __DIR__ . '/../routes/web.php',
|
|
api: __DIR__ . '/../routes/api.php',
|
|
commands: __DIR__ . '/../routes/console.php',
|
|
health: '/up',
|
|
)
|
|
->withCommands([
|
|
GesconImportBanche::class,
|
|
GesconImportFattureAdeCsv::class,
|
|
GesconImportFornitoriLegacyMdb::class,
|
|
GesconMaterializePersoneRelazioniCommand::class,
|
|
GesconResyncStabili::class,
|
|
GesconCollegaFornitoreStabili::class,
|
|
SyncSoggettiToPersone::class,
|
|
StabiliTransferCommand::class,
|
|
DedupeRateEmesseCommand::class,
|
|
GesconQaContatori::class,
|
|
GesconQaEmissione::class,
|
|
FeCassettoImportLocal::class,
|
|
IstatSyncIndiciCommand::class,
|
|
IstatSetIndiceCommand::class,
|
|
ImportGesconAcquaLegacyCommand::class,
|
|
GesconImportAlignCommand::class,
|
|
ImportGesconF24LegacyCommand::class,
|
|
NetgesconQaUnitaNominativiCommand::class,
|
|
NetgesconArchiveRegistrySyncCommand::class,
|
|
NetgesconApplyPbxPresetCommand::class,
|
|
NetgesconDevelopmentSnapshotCommand::class,
|
|
NetgesconDistributionPullCommand::class,
|
|
NetgesconGitSyncCommand::class,
|
|
NetgesconPreupdateBackupCommand::class,
|
|
NetgesconRestoreRecordCommand::class,
|
|
PanasonicCstaBridgeCommand::class,
|
|
GoogleSyncRubricaContactsCommand::class,
|
|
GooglePushRubricaContactsCommand::class,
|
|
GoogleImportKeepNotesCommand::class,
|
|
GoogleSyncTicketCalendarCommand::class,
|
|
GoogleSyncFornitoriRubricaCommand::class,
|
|
CtiSyncPostItFromStagingCommand::class,
|
|
])
|
|
->withMiddleware(function (Middleware $middleware) {
|
|
$middleware->append(\App\Http\Middleware\ForceFilamentUiMiddleware::class);
|
|
|
|
// Registra gli alias dei middleware di Spatie Permission (NAMESPACE CORRETTO)
|
|
$middleware->alias([
|
|
'role' => \Spatie\Permission\Middleware\RoleMiddleware::class,
|
|
'permission' => \Spatie\Permission\Middleware\PermissionMiddleware::class,
|
|
'role_or_permission' => \Spatie\Permission\Middleware\RoleOrPermissionMiddleware::class,
|
|
'verified' => \App\Http\Middleware\EnsureEmailIsVerifiedForNetgescon::class,
|
|
]);
|
|
})
|
|
->withExceptions(function (Exceptions $exceptions) {
|
|
$exceptions->report(function (\Throwable $e): void {
|
|
if ($e instanceof \Symfony\Component\HttpKernel\Exception\HttpExceptionInterface && $e->getStatusCode() < 500) {
|
|
return;
|
|
}
|
|
|
|
$record = [
|
|
'timestamp' => now()->toIso8601String(),
|
|
'type' => 'runtime',
|
|
'message' => $e->getMessage(),
|
|
'context' => sprintf('%s:%d', $e->getFile(), $e->getLine()),
|
|
];
|
|
|
|
$json = json_encode($record, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
if (! is_string($json) || $json === '') {
|
|
return;
|
|
}
|
|
|
|
@file_put_contents(storage_path('logs/runtime-errors.ndjson'), $json . PHP_EOL, FILE_APPEND);
|
|
});
|
|
})->create();
|