mirror of
https://github.com/ceratic/MediaCollectorLibary.git
synced 2026-05-13 23:56:46 +02:00
Stuff i guess ?
This commit is contained in:
24
routes/api.php
Normal file
24
routes/api.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?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('/media', 'App\Controllers\Api\PlayniteController:insertGames')->setName('api.playnite.games');
|
||||
$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');
|
||||
|
||||
});
|
||||
@@ -68,6 +68,51 @@ $app->group('', function (RouteCollectorProxy $group) {
|
||||
$adminGroup->get('', AdminController::class . ':index')->setName('admin.index');
|
||||
$adminGroup->get('/settings', AdminController::class . ':settings')->setName('admin.settings');
|
||||
|
||||
// Media Management
|
||||
$adminGroup->group('/movies', 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');
|
||||
});
|
||||
|
||||
$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');
|
||||
|
||||
// SteamGridDB API routes
|
||||
$group->group('/sgdb', function (RouteCollectorProxy $sgdb) {
|
||||
$sgdb->get('/search', 'App\Controllers\GameController:searchSteamGridDb')->setName('admin.games.sgdb.search');
|
||||
$sgdb->get('/media/{gameId}/{type}', 'App\Controllers\GameController:getSteamGridDbMedia')->setName('admin.games.sgdb.media');
|
||||
$sgdb->post('/media/set', 'App\Controllers\GameController:setSteamGridDbMedia')->setName('admin.games.sgdb.media.set');
|
||||
});
|
||||
});
|
||||
|
||||
$adminGroup->group('/shows', 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');
|
||||
});
|
||||
|
||||
$adminGroup->group('/adult', function (RouteCollectorProxy $group) {
|
||||
$group->get('', [AdminController::class, 'adultVideos']);
|
||||
$group->get('/create', [AdminController::class, 'createAdultVideo']);
|
||||
$group->post('', [AdminController::class, 'storeAdultVideo']);
|
||||
$group->get('/{id}/edit', [AdminController::class, 'editAdultVideo']);
|
||||
$group->post('/{id}', [AdminController::class, 'updateAdultVideo']);
|
||||
$group->post('/{id}/delete', [AdminController::class, 'deleteAdultVideo']);
|
||||
|
||||
// Actor management routes
|
||||
$group->get('/{id}/actors', [AdminController::class, 'getAdultVideoActors']);
|
||||
$group->post('/{id}/actors', [AdminController::class, 'addActorToAdultVideo']);
|
||||
$group->delete('/{id}/actors/{actorId}', [AdminController::class, 'removeActorFromAdultVideo']);
|
||||
$group->get('/search-actors', [AdminController::class, 'searchActors']);
|
||||
});
|
||||
|
||||
// Media Sources
|
||||
|
||||
// Media Sources
|
||||
$adminGroup->group('/sources', function (RouteCollectorProxy $sourcesGroup) {
|
||||
|
||||
Reference in New Issue
Block a user