2026-01-14 21:46:04 +02:00
|
|
|
<?php
|
|
|
|
|
|
2026-01-17 13:46:20 +02:00
|
|
|
use App\Http\Controllers\AlertController;
|
2026-01-24 12:16:10 +02:00
|
|
|
use App\Http\Controllers\BrokenLinkController;
|
2026-01-17 13:46:20 +02:00
|
|
|
use App\Http\Controllers\DashboardController;
|
2026-01-24 12:16:10 +02:00
|
|
|
use App\Http\Controllers\DnsRecordController;
|
|
|
|
|
use App\Http\Controllers\DomainController;
|
|
|
|
|
use App\Http\Controllers\HealthCheckController;
|
2026-01-17 13:46:20 +02:00
|
|
|
use App\Http\Controllers\SettingsController;
|
2026-01-24 12:16:10 +02:00
|
|
|
use App\Http\Controllers\SitemapController;
|
2026-01-17 13:46:20 +02:00
|
|
|
use App\Http\Controllers\SiteController;
|
2026-01-24 12:16:10 +02:00
|
|
|
use App\Http\Controllers\SslCertificateController;
|
|
|
|
|
use App\Http\Controllers\TcpPortController;
|
|
|
|
|
use App\Http\Controllers\UptimeController;
|
2026-01-14 21:46:04 +02:00
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
|
|
|
|
Route::get('/', function () {
|
2026-01-17 13:46:20 +02:00
|
|
|
return view('welcome-landing');
|
|
|
|
|
})->name('home');
|
|
|
|
|
|
|
|
|
|
Auth::routes();
|
|
|
|
|
|
|
|
|
|
// Override the default /home route from Auth scaffolding
|
|
|
|
|
Route::get('/home', function () {
|
|
|
|
|
return redirect()->route('dashboard');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Route::middleware('auth')->group(function () {
|
|
|
|
|
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
|
|
|
|
|
Route::resource('sites', SiteController::class);
|
|
|
|
|
Route::get('dashboard/{site}', [DashboardController::class, 'show'])->name('dashboard.show');
|
|
|
|
|
|
2026-01-24 12:16:10 +02:00
|
|
|
// Monitoring Features - Overview Pages
|
|
|
|
|
Route::get('/uptime', [UptimeController::class, 'index'])->name('uptime.index');
|
|
|
|
|
Route::get('/uptime/{site}', [UptimeController::class, 'show'])->name('uptime.show');
|
|
|
|
|
|
|
|
|
|
Route::get('/ssl-certificates', [SslCertificateController::class, 'index'])->name('ssl.index');
|
|
|
|
|
Route::get('/ssl-certificates/{site}', [SslCertificateController::class, 'show'])->name('ssl.show');
|
|
|
|
|
|
|
|
|
|
Route::get('/broken-links', [BrokenLinkController::class, 'index'])->name('broken-links.index');
|
|
|
|
|
Route::get('/broken-links/{site}', [BrokenLinkController::class, 'show'])->name('broken-links.show');
|
|
|
|
|
|
|
|
|
|
Route::get('/dns-records-overview', [DnsRecordController::class, 'overview'])->name('dns-records.overview');
|
|
|
|
|
Route::get('/health-checks-overview', [HealthCheckController::class, 'overview'])->name('health-checks.overview');
|
|
|
|
|
Route::get('/tcp-ports-overview', [TcpPortController::class, 'overview'])->name('tcp-ports.overview');
|
|
|
|
|
|
|
|
|
|
// Domain monitoring
|
|
|
|
|
Route::resource('domains', DomainController::class);
|
|
|
|
|
Route::post('domains/{domain}/check', [DomainController::class, 'check'])->name('domains.check');
|
|
|
|
|
|
|
|
|
|
// Sitemap monitoring
|
|
|
|
|
Route::resource('sitemaps', SitemapController::class);
|
|
|
|
|
Route::post('sitemaps/{sitemap}/check', [SitemapController::class, 'check'])->name('sitemaps.check');
|
|
|
|
|
|
2026-01-17 16:42:43 +02:00
|
|
|
// Resources nested under sites
|
|
|
|
|
Route::prefix('sites/{site}')->group(function () {
|
2026-01-24 12:16:10 +02:00
|
|
|
Route::resource('tcp-ports', TcpPortController::class);
|
|
|
|
|
Route::resource('health-checks', HealthCheckController::class);
|
|
|
|
|
Route::resource('dns-records', DnsRecordController::class);
|
2026-01-17 16:42:43 +02:00
|
|
|
});
|
|
|
|
|
|
2026-01-17 13:46:20 +02:00
|
|
|
// Alerts
|
|
|
|
|
Route::get('/alerts', [AlertController::class, 'index'])->name('alerts.index');
|
|
|
|
|
Route::patch('/alerts/{notification}/read', [AlertController::class, 'markAsRead'])->name('alerts.markAsRead');
|
|
|
|
|
Route::patch('/alerts/read-all', [AlertController::class, 'markAllAsRead'])->name('alerts.markAllAsRead');
|
|
|
|
|
Route::delete('/alerts/{notification}', [AlertController::class, 'destroy'])->name('alerts.destroy');
|
|
|
|
|
Route::delete('/alerts/delete-read', [AlertController::class, 'deleteRead'])->name('alerts.deleteRead');
|
|
|
|
|
|
|
|
|
|
// Settings
|
|
|
|
|
Route::get('/settings', [SettingsController::class, 'index'])->name('settings');
|
|
|
|
|
Route::patch('/settings/notifications', [SettingsController::class, 'updateNotifications'])->name('settings.notifications');
|
|
|
|
|
Route::patch('/settings/slack', [SettingsController::class, 'updateSlack'])->name('settings.slack');
|
2026-01-14 21:46:04 +02:00
|
|
|
});
|