Viewing File: /home/assersoft/public_html/demo/audiogramApi/index.php

<?php

date_default_timezone_set("Asia/Karachi");

require_once __DIR__ . '/vendor/autoload.php';

use Dotenv\Dotenv;

$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

require_once __DIR__ . '/routes/Router.php';
require_once __DIR__ . '/controllers/AuthController.php';
require_once __DIR__ . '/controllers/UserController.php';
require_once __DIR__ . '/controllers/PatientsController.php';
require_once __DIR__ . '/controllers/TestsController.php';
require_once __DIR__ . '/controllers/AudiogramController.php';
require_once __DIR__ . '/controllers/TympanogramController.php';
require_once __DIR__ . '/middlewares/isAdmin.php';
require_once __DIR__ . '/middlewares/isLoggedIn.php';

$router = new Router();

# Auth Routes
$router->add('POST', '/demo/audiogramApi/auth/login', [AuthController::class, 'login']);
$router->add('POST', '/demo/audiogramApi/auth/logout', [AuthController::class, 'logout']);
$router->add('GET', '/demo/audiogramApi/auth/status', [AuthController::class, 'isLoggedIn']);
$router->add('POST', '/demo/audiogramApi/auth/register', [AuthController::class, 'register'], ['isLoggedIn', 'isAdmin']);

# Admin Routes
$router->add('GET', '/demo/audiogramApi/users', [UserController::class, 'getUsers'], ['isLoggedIn', 'isAdmin']);
$router->add('DELETE', '/demo/audiogramApi/users/{id}/delete', [UserController::class, 'deleteUser'], ['isLoggedIn', 'isAdmin']);

# Patient Routes
$router->add('GET', '/demo/audiogramApi/patients', [PatientsController::class, 'getPatients'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/patients/count', [PatientsController::class, 'getPatientsCount'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/patients/recent', [PatientsController::class, 'getRecentPatients'], ['isLoggedIn']);
$router->add('POST', '/demo/audiogramApi/patients/add', [PatientsController::class, 'addPatient'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/patients/{patient}', [PatientsController::class, 'searchPatient'], ['isLoggedIn']);

# Test Routes
$router->add('GET', '/demo/audiogramApi/tests/', [TestsController::class, 'getPatientTests'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/tests/count', [TestsController::class, 'getNumberOfTests'], ['isLoggedIn']);

# Audiogram Routes
$router->add('POST', '/demo/audiogramApi/tests/addAudiogramTest', [AudiogramController::class, 'addAudiogramTest'], ['isLoggedIn']);
$router->add('PUT', '/demo/audiogramApi/tests/updateAudiogramTest', [AudiogramController::class, 'updateAudiogramTest'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/tests/getAudiogramTestById', [AudiogramController::class, 'getAudiogramTestById'], ['isLoggedIn']);

# Tympanogram Routes
$router->add('POST', '/demo/audiogramApi/tests/addTympanogramTest', [TympanogramController::class, 'addTympanogramTest'], ['isLoggedIn']);
$router->add('PUT', '/demo/audiogramApi/tests/updateTympanogramTest', [TympanogramController::class, 'updateTympanogramTest'], ['isLoggedIn']);
$router->add('GET', '/demo/audiogramApi/tests/getTympanogramTestById', [TympanogramController::class, 'getTympanogramTestById'], ['isLoggedIn']);

$router->dispatch($_SERVER['REQUEST_URI'], $_SERVER['REQUEST_METHOD']);
Back to Directory File Manager