index.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. require __DIR__ . '/../vendor/autoload.php';
  3. $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
  4. $file = __DIR__ . $path;
  5. if (php_sapi_name() === 'cli-server' && is_file($file)) {
  6. return false;
  7. }
  8. if (class_exists(Dotenv\Dotenv::class) && file_exists(__DIR__ . '/../.env')) {
  9. Dotenv\Dotenv::createImmutable(
  10. dirname(__DIR__),
  11. null,
  12. true
  13. )->safeLoad();
  14. }
  15. error_reporting(E_ALL);
  16. ini_set('display_errors', 1); // Para depuração
  17. ini_set('display_startup_errors', 1);
  18. use FrameworkX\App;
  19. use Middlewares\HmacAuthMiddleware;
  20. use Middlewares\JWTAuthMiddleware;
  21. use Middlewares\CorsControl;
  22. use Psr\Http\Message\ServerRequestInterface;
  23. use React\Http\Message\Response;
  24. $app = new App();
  25. // Instancia os middlewares
  26. $authHmac = new HmacAuthMiddleware();
  27. $authJwt = new JWTAuthMiddleware();
  28. $cors = new CorsControl();
  29. // Rotas com CORS aplicado
  30. $app->get('/hmachelloworld', $cors, $authHmac, \Controllers\HelloController::class);
  31. $app->get('/jwthelloworld', $cors, $authJwt, \Controllers\HelloController::class);
  32. //Rotas User
  33. $app->post('/login', $cors, \Controllers\LoginController::class);
  34. $app->post('/register', $cors, $authJwt, \Controllers\RegisterController::class);
  35. //Rotas Category
  36. $app->post('/category/get', $cors, \Controllers\CategoryGetController::class);
  37. $app->post('/category/create', $cors, $authJwt, \Controllers\CategoryCreateController::class);
  38. $app->post('/category/delete', $cors, $authJwt, \Controllers\CategoryDeleteController::class);
  39. $app->post('/category/add-product', $cors, $authJwt, \Controllers\CategoryAddProductController::class);
  40. //Rotas Product
  41. $app->post('/product/get', $cors, $authJwt, \Controllers\ProductGetController::class);
  42. $app->post('/product/create', $cors, $authJwt, \Controllers\ProductCreateController::class);
  43. $app->post('/product/update', $cors, $authJwt, \Controllers\ProductUpdateController::class);
  44. $app->post('/product/delete', $cors, $authJwt, \Controllers\ProductDeleteController::class);
  45. $app->run();