#feature: add ip operation log & sql generator

This commit is contained in:
2025-12-25 14:25:57 +08:00
parent 79889e1040
commit 3bcbd0661f
21 changed files with 1751 additions and 21 deletions

View File

@@ -5,6 +5,10 @@ use App\Http\Controllers\EnvController;
use App\Http\Controllers\JiraController;
use App\Http\Controllers\MessageSyncController;
use App\Http\Controllers\MessageDispatchController;
use App\Http\Controllers\SqlGeneratorController;
use App\Http\Controllers\Admin\AdminMetaController;
use App\Http\Controllers\Admin\IpUserMappingController;
use App\Http\Controllers\Admin\OperationLogController;
// 环境管理API路由
Route::prefix('env')->group(function () {
@@ -21,6 +25,11 @@ Route::prefix('env')->group(function () {
Route::delete('/projects/{project}/envs/{env}', [EnvController::class, 'deleteEnv']);
});
// SQL 生成器 API 路由
Route::prefix('sql-generator')->group(function () {
Route::post('/ob-external-id/check', [SqlGeneratorController::class, 'checkObExternalId']);
});
// JIRA API路由
Route::prefix('jira')->group(function () {
Route::get('/config', [JiraController::class, 'getConfig']);
@@ -48,3 +57,17 @@ Route::prefix('message-dispatch')->group(function () {
Route::get('/abnormal', [MessageDispatchController::class, 'getAbnormalDispatches']);
Route::post('/batch-update', [MessageDispatchController::class, 'batchUpdateDispatch']);
});
// 操作日志(所有人可查看,用户名字段对非管理员隐藏)
Route::get('/operation-logs', [OperationLogController::class, 'index']);
// 管理员信息(不受白名单限制)
Route::get('/admin/meta', [AdminMetaController::class, 'show']);
// 管理员IP白名单限定的后台接口
Route::prefix('admin')->middleware('admin.ip')->group(function () {
Route::get('/ip-user-mappings', [IpUserMappingController::class, 'index']);
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']);
});

View File

@@ -8,6 +8,7 @@ Route::get('/', [AdminController::class, 'index'])->name('home');
// 前端路由 - 所有页面都通过admin框架显示
Route::get('/env', [AdminController::class, 'index'])->name('admin.env');
Route::get('/sql-generator', [AdminController::class, 'index'])->name('admin.sql-generator');
Route::get('/weekly-report', [AdminController::class, 'index'])->name('admin.weekly-report');
Route::get('/worklog', [AdminController::class, 'index'])->name('admin.worklog');
Route::get('/message-sync', [AdminController::class, 'index'])->name('admin.message-sync');
@@ -15,3 +16,4 @@ Route::get('/event-consumer-sync', [AdminController::class, 'index'])->name('adm
Route::get('/message-dispatch', [AdminController::class, 'index'])->name('admin.message-dispatch');
Route::get('/settings', [AdminController::class, 'index'])->name('admin.settings');
Route::get('/logs', [AdminController::class, 'index'])->name('admin.logs');
Route::get('/ip-mappings', [AdminController::class, 'index'])->name('admin.ip-mappings')->middleware('admin.ip');