| Current Path : /home/seto/indexator.pm/ |
| Current File : /home/seto/indexator.pm/index.php |
<?php
// Apache front controller (equivalent to router.php for PHP built-in server)
require __DIR__ . '/bootstrap.php';
use App\Core\Request;
use App\Core\Router;
use App\Controllers\AuthController;
use App\Controllers\ProjectController;
use App\Controllers\ExportController;
use App\Controllers\ApiController;
use App\Controllers\SettingsController;
use App\Controllers\BulkImportController;
use App\Controllers\IndexingController;
use App\Controllers\StatsController;
use App\Controllers\ExternalApiController;
$request = new Request();
$router = new Router();
$router->get('/login', [AuthController::class, 'showLogin']);
$router->post('/login', [AuthController::class, 'processLogin']);
$router->get('/logout', [AuthController::class, 'logout']);
$router->get('/', [ProjectController::class, 'index']);
$router->get('/projects', [ProjectController::class, 'index']);
$router->get('/projects/create', [ProjectController::class, 'create']);
$router->post('/projects', [ProjectController::class, 'store']);
$router->get('/projects/{id}', [ProjectController::class, 'show']);
$router->post('/projects/{id}/delete', [ProjectController::class, 'delete']);
$router->post('/projects/{id}/check', [ProjectController::class, 'startCheck']);
$router->post('/projects/{id}/recheck', [ProjectController::class, 'recheck']);
$router->get('/export/all', [ExportController::class, 'exportAll']);
$router->get('/projects/{id}/export', [ExportController::class, 'export']);
$router->post('/api/worker/run', [ApiController::class, 'runWorker']);
$router->post('/api/projects/recheck-all', [ApiController::class, 'recheckAll']);
$router->post('/api/projects/{id}/recheck', [ApiController::class, 'recheck']);
$router->post('/api/projects/stop-all', [ApiController::class, 'stopAll']);
$router->get('/api/projects/{id}/progress', [ApiController::class, 'progress']);
$router->post('/api/projects/{id}/stop', [ApiController::class, 'stop']);
$router->post('/api/projects/{id}/reset-jobs', [ApiController::class, 'resetJobs']);
$router->get('/stats', [StatsController::class, 'index']);
$router->get('/settings', [SettingsController::class, 'show']);
$router->post('/settings', [SettingsController::class, 'update']);
$router->post('/api/bulk-import/start', [BulkImportController::class, 'start']);
$router->get('/api/bulk-import/{jobId}/status', [BulkImportController::class, 'status']);
$router->post('/api/projects/{id}/submit-indexing', [IndexingController::class, 'submit']);
$router->get('/api/projects/{id}/indexing', [IndexingController::class, 'history']);
$router->post('/api/indexing/{submissionId}/refresh', [IndexingController::class, 'refresh']);
$router->get('/api/indexing/balance', [IndexingController::class, 'balance']);
$router->post('/api/external/projects', [ExternalApiController::class, 'createProject']);
$router->post('/api/external/projects/{id}/recheck', [ExternalApiController::class, 'recheck']);
$router->get('/api/external/projects/{id}', [ExternalApiController::class, 'progress']);
$router->get('/api/external/projects/{id}/urls', [ExternalApiController::class, 'urlStatuses']);
$router->post('/api/external/projects/{id}/delete', [ExternalApiController::class, 'deleteProject']);
$router->dispatch($request);