37970-vm/api/v1/index.php
Flatlogic Bot 33ad70235b v5
2026-01-30 15:36:51 +00:00

41 lines
1.2 KiB
PHP

<?php
// Basic autoloader
spl_autoload_register(function ($class) {
$prefix = 'Api\\';
$base_dir = __DIR__ . '/';
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) return;
$relative_class = substr($class, $len);
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file)) require $file;
});
require_once __DIR__ . '/../../db/config.php';
require_once __DIR__ . '/Core/Response.php';
use Api\Core\Router;
use Api\Core\Response;
$router = new Router();
// Define routes
$router->add('GET', '/health', 'HealthController@index');
$router->add('POST', '/auth/login', 'AuthController@login');
$router->add('GET', '/auth/me', 'AuthController@me');
$router->add('GET', '/learners', 'LearnerController@index');
$router->add('GET', '/learners/:id', 'LearnerController@show');
$router->add('GET', '/assessments', 'AssessmentController@index');
$router->add('POST', '/assessments', 'AssessmentController@store');
// Get request method and URI
$method = $_SERVER['REQUEST_METHOD'];
$uri = $_GET['request'] ?? '/';
// Remove trailing slash
$uri = rtrim($uri, '/');
if (empty($uri)) $uri = '/';
$router->handle($method, $uri);