withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware): void { $middleware->alias([ 'role' => RoleMiddleware::class, 'permission' => PermissionMiddleware::class, 'role_or_permission' => RoleOrPermissionMiddleware::class, 'no_pending_owner_verification' => EnsureNoPendingOwnerVerification::class, ]); $middleware->web(append: [ HandleAppearance::class, HandleInertiaRequests::class, AddLinkHeadersForPreloadedAssets::class, ]); }) ->withExceptions(function (Exceptions $exceptions): void { $exceptions->shouldRenderJsonWhen( fn (Request $request) => $request->is('api/*') || $request->expectsJson(), ); }) ->withSchedule(function (Schedule $schedule): void { $schedule->command('payroll:open-period') ->monthlyOn(1, '00:05') ->timezone('Asia/Jakarta'); $schedule->command('attendance:apply-penalties') ->dailyAt('23:55') ->timezone('Asia/Jakarta'); })->create();