- 添加会话归档接口及相关服务逻辑,并确保幂等性 - 实现单条消息获取接口,校验消息所属会话 - 增加 SSE 增量推送与实时消息订阅功能 - 提供相关的测试用例覆盖新功能 - 更新接口文档,完善 OpenAPI 规范,新增多项示例
34 lines
1.6 KiB
PHP
34 lines
1.6 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\AuthController;
|
|
use App\Http\Controllers\ChatSessionController;
|
|
use App\Http\Controllers\UserController;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/health', fn () => ['status' => 'ok']);
|
|
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
|
|
Route::middleware('auth.jwt')->group(function () {
|
|
Route::get('/me', function (Request $request) {
|
|
return $request->user();
|
|
});
|
|
|
|
Route::get('/users', [UserController::class, 'index']);
|
|
Route::post('/users', [UserController::class, 'store']);
|
|
Route::put('/users/{user}', [UserController::class, 'update']);
|
|
Route::post('/users/{user}/deactivate', [UserController::class, 'deactivate']);
|
|
Route::post('/users/{user}/activate', [UserController::class, 'activate']);
|
|
|
|
Route::get('/sessions', [ChatSessionController::class, 'index']);
|
|
Route::post('/sessions', [ChatSessionController::class, 'store']);
|
|
Route::get('/sessions/{session_id}', [ChatSessionController::class, 'show']);
|
|
Route::post('/sessions/{session_id}/messages', [ChatSessionController::class, 'append']);
|
|
Route::get('/sessions/{session_id}/messages', [ChatSessionController::class, 'listMessages']);
|
|
Route::get('/sessions/{session_id}/messages/{message_id}', [ChatSessionController::class, 'showMessage']);
|
|
Route::patch('/sessions/{session_id}', [ChatSessionController::class, 'update']);
|
|
Route::post('/sessions/{session_id}/archive', [ChatSessionController::class, 'archive']);
|
|
Route::get('/sessions/{session_id}/sse', [\App\Http\Controllers\ChatSessionSseController::class, 'stream']);
|
|
});
|