some progress
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\Api\AuthController;
|
||||
use App\Http\Controllers\Api\LinkController;
|
||||
use App\Http\Controllers\Api\SiteController;
|
||||
use App\Http\Controllers\Api\SslController;
|
||||
use App\Http\Controllers\Api\UptimeController;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| API Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register API routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider and all of them will
|
||||
| be assigned to the "api" middleware group. Make something great!
|
||||
|
|
||||
*/
|
||||
|
||||
Route::get('/test', function (Request $request) {
|
||||
return response()->json(['message' => 'API is working']);
|
||||
});
|
||||
|
||||
Route::middleware('auth:sanctum')->group(function () {
|
||||
// Authentication & Token Management
|
||||
Route::post('/tokens', [AuthController::class, 'createToken']);
|
||||
Route::get('/tokens', [AuthController::class, 'tokens']);
|
||||
Route::delete('/tokens/{tokenId}', [AuthController::class, 'revokeToken']);
|
||||
Route::delete('/tokens', [AuthController::class, 'revokeAllTokens']);
|
||||
|
||||
// Sites
|
||||
Route::get('/sites', [SiteController::class, 'index']);
|
||||
Route::get('/sites/{site}', [SiteController::class, 'show']);
|
||||
|
||||
// Uptime
|
||||
Route::get('/sites/{site}/uptime', [UptimeController::class, 'index']);
|
||||
Route::get('/sites/{site}/uptime/stats', [UptimeController::class, 'stats']);
|
||||
|
||||
// SSL
|
||||
Route::get('/sites/{site}/ssl', [SslController::class, 'show']);
|
||||
Route::get('/sites/{site}/ssl/history', [SslController::class, 'history']);
|
||||
|
||||
// Broken Links
|
||||
Route::get('/sites/{site}/links', [LinkController::class, 'index']);
|
||||
Route::get('/sites/{site}/links/stats', [LinkController::class, 'stats']);
|
||||
});
|
||||
@@ -15,6 +15,13 @@ Schedule::command('monitor:uptime')
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/uptime-monitoring.log'));
|
||||
|
||||
// Schedule ping monitoring to run every 5 minutes
|
||||
Schedule::command('monitor:ping')
|
||||
->everyFiveMinutes()
|
||||
->withoutOverlapping()
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/ping-monitoring.log'));
|
||||
|
||||
// Schedule SSL certificate monitoring to run daily
|
||||
Schedule::command('monitor:ssl')
|
||||
->daily()
|
||||
@@ -28,3 +35,24 @@ Schedule::command('monitor:links')
|
||||
->withoutOverlapping()
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/link-monitoring.log'));
|
||||
|
||||
// Schedule TCP port monitoring to run every 10 minutes
|
||||
Schedule::command('monitor:tcp-ports')
|
||||
->everyTenMinutes()
|
||||
->withoutOverlapping()
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/tcp-port-monitoring.log'));
|
||||
|
||||
// Schedule health endpoint monitoring to run every 5 minutes
|
||||
Schedule::command('monitor:health')
|
||||
->everyFiveMinutes()
|
||||
->withoutOverlapping()
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/health-monitoring.log'));
|
||||
|
||||
// Schedule DNS monitoring to run hourly
|
||||
Schedule::command('monitor:dns')
|
||||
->hourly()
|
||||
->withoutOverlapping()
|
||||
->runInBackground()
|
||||
->appendOutputTo(storage_path('logs/dns-monitoring.log'));
|
||||
|
||||
@@ -22,6 +22,13 @@ Route::middleware('auth')->group(function () {
|
||||
Route::resource('sites', SiteController::class);
|
||||
Route::get('dashboard/{site}', [DashboardController::class, 'show'])->name('dashboard.show');
|
||||
|
||||
// Resources nested under sites
|
||||
Route::prefix('sites/{site}')->group(function () {
|
||||
Route::resource('tcp-ports', \App\Http\Controllers\TcpPortController::class);
|
||||
Route::resource('health-checks', \App\Http\Controllers\HealthCheckController::class);
|
||||
Route::resource('dns-records', \App\Http\Controllers\DnsRecordController::class);
|
||||
});
|
||||
|
||||
// Alerts
|
||||
Route::get('/alerts', [AlertController::class, 'index'])->name('alerts.index');
|
||||
Route::patch('/alerts/{notification}/read', [AlertController::class, 'markAsRead'])->name('alerts.markAsRead');
|
||||
|
||||
Reference in New Issue
Block a user