Implement Enterprise Logic (Redis, Phone Auth, Full Schema)

This commit is contained in:
Hamza-Ayed
2026-08-26 17:34:51 +03:00
parent df5d8dfc60
commit e944d92aac
10 changed files with 707 additions and 86 deletions
+8 -3
View File
@@ -32,9 +32,14 @@ $router->get('/api/health', function ($request, $response) {
});
// Authentication Routes (Rate-limited: 5 attempts per 60 seconds per IP)
// $router->post('/api/auth/register', [\App\Controllers\AuthController::class, 'register'], [\App\Middlewares\RateLimitMiddleware::class]);
// $router->post('/api/auth/login', [\App\Controllers\AuthController::class, 'login'], [\App\Middlewares\RateLimitMiddleware::class]);
// $router->get('/api/auth/me', [\App\Controllers\AuthController::class, 'me'], [\App\Middlewares\AuthMiddleware::class]);
$router->post('/api/auth/register', [\App\Controllers\AuthController::class, 'register'], [\App\Middlewares\RateLimitMiddleware::class]);
$router->post('/api/auth/login', [\App\Controllers\AuthController::class, 'login'], [\App\Middlewares\RateLimitMiddleware::class]);
$router->get('/api/auth/me', [\App\Controllers\AuthController::class, 'me'], [\App\Middlewares\AuthMiddleware::class]);
// Teacher Routes
$router->post('/api/teacher/courses', [\App\Controllers\TeacherController::class, 'addCourse'], [\App\Middlewares\AuthMiddleware::class]);
$router->post('/api/teacher/lessons', [\App\Controllers\TeacherController::class, 'addLesson'], [\App\Middlewares\AuthMiddleware::class]);
// 5. Dispatch the request
$router->dispatch($request, $response);
+17
View File
@@ -0,0 +1,17 @@
<?php
// Script to run database migrations
require_once dirname(__DIR__) . '/app/bootstrap.php';
use App\Core\Database;
try {
$db = Database::getInstance()->getConnection();
$sql = file_get_contents(dirname(__DIR__) . '/database_schema.sql');
$db->exec($sql);
echo "Database migrations executed successfully!\n";
} catch (\Exception $e) {
echo "Error executing migrations: " . $e->getMessage() . "\n";
}