#feature: add project&cronjob management

This commit is contained in:
2026-01-16 12:14:43 +08:00
parent bbe68839e3
commit 381d5e6e49
19 changed files with 2157 additions and 84 deletions

View File

@@ -11,6 +11,8 @@ use App\Http\Controllers\Admin\AdminMetaController;
use App\Http\Controllers\Admin\ConfigController;
use App\Http\Controllers\Admin\IpUserMappingController;
use App\Http\Controllers\Admin\OperationLogController;
use App\Http\Controllers\Admin\ProjectController;
use App\Http\Controllers\Admin\ScheduledTaskController;
// 环境管理API路由
Route::prefix('env')->group(function () {
@@ -76,6 +78,22 @@ Route::prefix('admin')->middleware('admin.ip')->group(function () {
Route::post('/ip-user-mappings', [IpUserMappingController::class, 'store']);
Route::put('/ip-user-mappings/{mapping}', [IpUserMappingController::class, 'update']);
Route::delete('/ip-user-mappings/{mapping}', [IpUserMappingController::class, 'destroy']);
// 项目管理
Route::get('/projects', [ProjectController::class, 'index']);
Route::get('/projects/discover', [ProjectController::class, 'discover']);
Route::post('/projects/add-discovered', [ProjectController::class, 'addDiscovered']);
Route::get('/projects/{slug}', [ProjectController::class, 'show']);
Route::post('/projects', [ProjectController::class, 'store']);
Route::put('/projects/{slug}', [ProjectController::class, 'update']);
Route::delete('/projects/{slug}', [ProjectController::class, 'destroy']);
Route::post('/projects/{slug}/sync', [ProjectController::class, 'sync']);
Route::post('/projects/sync-all', [ProjectController::class, 'syncAll']);
Route::get('/projects/{slug}/status', [ProjectController::class, 'status']);
// 定时任务管理
Route::get('/scheduled-tasks', [ScheduledTaskController::class, 'index']);
Route::post('/scheduled-tasks/{name}/toggle', [ScheduledTaskController::class, 'toggle']);
});
// 日志分析 API 路由