49 lines
2.1 KiB
PHP
49 lines
2.1 KiB
PHP
<?php
|
|
|
|
use app\middleware\Cors;
|
|
use think\facade\Route;
|
|
|
|
Route::options('api/:path', function () {
|
|
return response('', 204);
|
|
})->pattern(['path' => '.*']);
|
|
|
|
Route::group('api', function () {
|
|
Route::post('auth/register', 'api.Auth/register');
|
|
Route::post('auth/login', 'api.Auth/login');
|
|
Route::get('settings/features', 'api.Settings/features');
|
|
Route::get('settings/public', 'api.Settings/publicSettings');
|
|
Route::get('uploads/:filename', 'api.Upload/serve');
|
|
|
|
Route::group(function () {
|
|
Route::get('auth/me', 'api.Auth/me');
|
|
Route::put('auth/profile', 'api.Auth/updateProfile');
|
|
Route::post('auth/logout', 'api.Auth/logout');
|
|
|
|
Route::get('conversations', 'api.Conversation/index');
|
|
Route::post('conversations', 'api.Conversation/create');
|
|
Route::get('conversations/:id', 'api.Conversation/show');
|
|
Route::put('conversations/:id', 'api.Conversation/update');
|
|
Route::delete('conversations/:id', 'api.Conversation/delete');
|
|
Route::get('conversations/:id/messages', 'api.Conversation/messages');
|
|
|
|
Route::post('chat/completions', 'api.Chat/completions');
|
|
Route::post('upload', 'api.Upload/upload');
|
|
Route::get('models', 'api.Settings/models');
|
|
})->middleware(\app\middleware\JwtAuth::class);
|
|
|
|
Route::group('admin', function () {
|
|
Route::get('users', 'api.Admin/users');
|
|
Route::put('users/:id', 'api.Admin/updateUser');
|
|
Route::get('conversations', 'api.Admin/conversations');
|
|
Route::get('stats', 'api.Admin/stats');
|
|
Route::get('settings', 'api.Admin/settings');
|
|
Route::put('settings', 'api.Admin/updateSettings');
|
|
Route::get('models', 'api.Admin/models');
|
|
Route::post('models', 'api.Admin/createModel');
|
|
Route::put('models/:id', 'api.Admin/updateModel');
|
|
Route::delete('models/:id', 'api.Admin/deleteModel');
|
|
Route::get('memberships', 'api.Admin/memberships');
|
|
Route::put('memberships/:id', 'api.Admin/updateMembership');
|
|
})->middleware([\app\middleware\JwtAuth::class, \app\middleware\AdminAuth::class]);
|
|
})->middleware(Cors::class);
|