mirror of
https://github.com/ceratic/MediaCollectorLibary.git
synced 2026-05-13 23:56:46 +02:00
Enhance API functionality and improve JWT authentication
- Added JWT authentication support in AuthService and JwtService. - Implemented token generation and refresh mechanisms. - Updated ApiAuthMiddleware to handle authentication for protected routes. - Created ApiController and BaseApiController for standardized API responses. - Developed MediaController for managing media items with pagination and search capabilities. - Introduced DocsController for serving API documentation via Swagger UI. - Added routes for API documentation and media management. - Improved error handling and response formatting across API endpoints. - Updated composer.json to include necessary JWT and Swagger UI dependencies.
This commit is contained in:
@@ -74,15 +74,15 @@ $app->group('', function (RouteCollectorProxy $group) {
|
||||
$group->get('', AdminController::class . ':movies')->setName('admin.movies.index');
|
||||
$group->map(['GET', 'POST'], '/create', AdminController::class . ':editMovie')->setName('admin.movies.create');
|
||||
$group->map(['GET', 'POST'], '/{id}/edit', AdminController::class . ':editMovie')->setName('admin.movies.edit');
|
||||
$group->delete('/{id}', AdminController::class . ':deleteMovie')->setName('admin.movies.delete');
|
||||
$group->map(['POST', 'DELETE'], '/{id}', AdminController::class . ':deleteMovie')->setName('admin.movies.delete');
|
||||
});
|
||||
|
||||
$adminGroup->group('/games', function (RouteCollectorProxy $group) {
|
||||
$group->get('', AdminController::class . ':games')->setName('admin.games.index');
|
||||
$group->map(['GET', 'POST'], '/create', AdminController::class . ':editGame')->setName('admin.games.create');
|
||||
$group->map(['GET', 'POST'], '/{id}/edit', AdminController::class . ':editGame')->setName('admin.games.edit');
|
||||
$group->delete('/{id}', AdminController::class . ':deleteGame')->setName('admin.games.delete');
|
||||
|
||||
$group->map(['POST', 'DELETE'], '/{id}', AdminController::class . ':deleteGame')->setName('admin.games.delete');
|
||||
|
||||
// SteamGridDB API routes
|
||||
$group->group('/sgdb', function (RouteCollectorProxy $sgdb) {
|
||||
$sgdb->get('/search', 'App\Controllers\GameController:searchSteamGridDb')->setName('admin.games.sgdb.search');
|
||||
@@ -95,7 +95,7 @@ $app->group('', function (RouteCollectorProxy $group) {
|
||||
$group->get('', AdminController::class . ':shows')->setName('admin.shows.index');
|
||||
$group->map(['GET', 'POST'], '/create', AdminController::class . ':editShow')->setName('admin.shows.create');
|
||||
$group->map(['GET', 'POST'], '/{id}/edit', AdminController::class . ':editShow')->setName('admin.shows.edit');
|
||||
$group->delete('/{id}', AdminController::class . ':deleteShow')->setName('admin.shows.delete');
|
||||
$group->map(['POST', 'DELETE'], '/{id}', AdminController::class . ':deleteShow')->setName('admin.shows.delete');
|
||||
});
|
||||
|
||||
$adminGroup->group('/adult', function (RouteCollectorProxy $group) {
|
||||
@@ -128,8 +128,8 @@ $app->group('', function (RouteCollectorProxy $group) {
|
||||
$sourcesGroup->post('', 'App\Controllers\MediaSourceController:store')->setName('admin.sources.store');
|
||||
$sourcesGroup->get('/{id:\d+}/edit', 'App\Controllers\MediaSourceController:edit')->setName('admin.sources.edit');
|
||||
$sourcesGroup->post('/{id:\d+}', 'App\Controllers\MediaSourceController:update')->setName('admin.sources.update');
|
||||
$sourcesGroup->delete('/{id:\d+}', 'App\Controllers\MediaSourceController:destroy')->setName('admin.sources.destroy');
|
||||
|
||||
$sourcesGroup->post('/{id:\d+}/delete', 'App\Controllers\MediaSourceController:destroy')->setName('admin.sources.destroy');
|
||||
|
||||
// Source sync operations
|
||||
$sourcesGroup->post('/{id:\d+}/sync', 'App\Controllers\MediaSourceController:startSync')->setName('admin.sources.sync');
|
||||
$sourcesGroup->get('/sync/status/{log_id}', 'App\Controllers\MediaSourceController:syncStatus')->setName('admin.sources.sync.status');
|
||||
|
||||
Reference in New Issue
Block a user