index.php 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. //Definindo o fuso horário para o Brasil
  19. date_default_timezone_set('America/Sao_Paulo');
  20. use FrameworkX\App;
  21. use Middlewares\HmacAuthMiddleware;
  22. use Middlewares\JWTAuthMiddleware;
  23. use Middlewares\CorsControl;
  24. use Psr\Http\Message\ServerRequestInterface;
  25. use React\Http\Message\Response;
  26. $app = new App();
  27. // Instancia os middlewares
  28. $authHmac = new HmacAuthMiddleware();
  29. $authJwt = new JWTAuthMiddleware();
  30. $cors = new CorsControl();
  31. // Rotas com CORS aplicado
  32. $app->get('/hmachelloworld', $cors, $authHmac, \Controllers\HelloController::class);
  33. $app->get('/jwthelloworld', $cors, $authJwt, \Controllers\HelloController::class);
  34. // User Routes
  35. $app->post('/login', $cors, \Controllers\LoginController::class);
  36. $app->post('/register', $cors, \Controllers\RegisterController::class);
  37. $app->post('/user/get', $cors, $authJwt, \Controllers\UserGetController::class);
  38. $app->post('/user/delete', $cors, $authJwt, \Controllers\UserDeleteController::class);
  39. // Category Routes
  40. $app->post('/category/get', $cors, \Controllers\CategoryGetController::class);
  41. $app->post('/category/create', $cors, $authJwt, \Controllers\CategoryCreateController::class);
  42. $app->post('/category/delete', $cors, $authJwt, \Controllers\CategoryDeleteController::class);
  43. $app->post('/category/updatef', $cors, $authJwt, \Controllers\CategoryUpdateFlagController::class);
  44. // Product Routes
  45. $app->post('/product/get', $cors, \Controllers\ProductGetController::class);
  46. $app->post('/product/create', $cors, $authJwt, \Controllers\ProductCreateController::class);
  47. $app->post('/product/update', $cors, $authJwt, \Controllers\ProductUpdateController::class);
  48. $app->post('/product/delete', $cors, $authJwt, \Controllers\ProductDeleteController::class);
  49. // Table Routes
  50. $app->post('/table/get', $cors, $authJwt, \Controllers\TableGetController::class);
  51. $app->post('/table/create', $cors, $authJwt, \Controllers\TableCreateController::class);
  52. $app->post('/table/delete', $cors, $authJwt, \Controllers\TableDeleteController::class);
  53. $app->post('/table/update', $cors, $authJwt, \Controllers\TableUpdateController::class);
  54. // Order Routes
  55. $app->post('/order/create', $cors, $authJwt, \Controllers\OrderCreateController::class);
  56. $app->post('/order/delete', $cors, $authJwt, \Controllers\OrderDeleteController::class);
  57. $app->post('/order/get', $cors, $authJwt, \Controllers\OrderGetController::class);
  58. $app->post('/order/update', $cors, $authJwt, \Controllers\OrderUpdateController::class);
  59. // Order Item Routes
  60. $app->post('/order_item/create', $cors, $authJwt, \Controllers\OrderItemCreateController::class);
  61. $app->post('/order_item/delete', $cors, $authJwt, \Controllers\OrderItemDeleteController::class);
  62. $app->post('/order_item/get', $cors, $authJwt, \Controllers\OrderItemGetController::class);
  63. // Description Routes
  64. $app->post('/description/create', $cors, $authJwt, \Controllers\DescriptionCreateController::class);
  65. $app->post('/description/update', $cors, $authJwt, \Controllers\DescriptionUpdateController::class);
  66. $app->run();