Files
MediaCollectorLibary/routes/api.php
Lars Behrends 7a7977d8b0 yay
2025-11-01 22:00:30 +01:00

26 lines
1.3 KiB
PHP

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Routing\RouteCollectorProxy;
// API routes (no authentication required for basic operations)
$app->group('/api', function (RouteCollectorProxy $apiGroup) {
// Playnite API endpoints
$apiGroup->group('/playnite', function (RouteCollectorProxy $playniteGroup) {
// Game management
$playniteGroup->post('/insert', 'App\Controllers\Api\PlayniteController:insertGames')->setName('api.playnite.insert');
$playniteGroup->post('/media', 'App\Controllers\Api\PlayniteController:updateMedia')->setName('api.playnite.media');
$playniteGroup->put('/update/games/', 'App\Controllers\Api\PlayniteController:updateGames')->setName('api.playnite.update');
$playniteGroup->put('/v1/games/delete', 'App\Controllers\Api\PlayniteController:deleteGames')->setName('api.playnite.delete');
// Image upload
$playniteGroup->post('/image/base64', 'App\Controllers\Api\PlayniteController:uploadImages')->setName('api.playnite.images');
});
// User authentication check (requires authentication)
$apiGroup->get('/v1/users/me', 'App\Controllers\Api\AuthController:checkAuth')->setName('api.auth.check')->add('App\Http\Middleware\AuthMiddleware');
});