Hajeebtok.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace app;
  3. use app\Controllers\AccountController;
  4. use app\Types\DatabaseObjects\Message;
  5. use app\Types\DatabaseObjects\Comment;
  6. use Exception;
  7. use Pecee\Http\Request;
  8. use Pecee\SimpleRouter\SimpleRouter;
  9. use Pecee\Http\Middleware\BaseCsrfVerifier;
  10. use app\Controllers\VideoController;
  11. use app\Controllers\HomeController;
  12. use app\Interfaces\IDatabase;
  13. use app\Types\MariaDBDatabase;
  14. use app\Types\DatabaseObjects\Video;
  15. use app\Types\DatabaseObjects\Account;
  16. use app\Controllers\ErrorController;
  17. class Hajeebtok {
  18. public static IDatabase $Database;
  19. public static Config $Config;
  20. public static function InitializeApp() {
  21. Logger::SetMinLevel(LogLevel::DBUG);
  22. Logger::SetMaxLogSizeKB(5000);
  23. self::$Config = new Config();
  24. self::$Database = new MariaDBDatabase([
  25. "Host" => self::$Config->GetByDotKey("Database.Host"),
  26. "Port" => self::$Config->GetByDotKey("Database.Port"),
  27. "Username" => self::$Config->GetByDotKey("Database.Username"),
  28. "Password" => self::$Config->GetByDotKey("Database.Password"),
  29. "Database" => self::$Config->GetByDotKey("Database.Database"),
  30. "Charset" => self::$Config->GetByDotKey("Database.Charset"),
  31. ]);
  32. //SimpleRouter::csrfVerifier(new BaseCsrfVerifier());
  33. SimpleRouter::setDefaultNamespace('app\Controllers');
  34. VideoController::RegisterRoutes();
  35. HomeController::RegisterRoutes();
  36. AccountController::RegisterRoutes();
  37. Logger::Info("Hajeebtok application initialized.");
  38. /*
  39. $hajeebtokAcc = new Account(username: "hajeebtok", password: "CENSORED", picture_hash: "default", verified: true, bio: "The best short form content platform!");
  40. $hajeebtokAcc->Save();
  41. $johnClapperAcc = new Account(username: "johnclapper", password: "CENSORED", picture_hash: "default", verified: true, bio: "My name is John Clapper. I clap everyone. I clap first at the cinema. No one else claps. Why does a jewish vrchat furry avatar bring a brisket to the vrchat furry convention? Because even in the metaverse they never show up empty handed!");
  42. $johnClapperAcc->Save();
  43. $hajeebtokVideo = new Video(title: "Habibi video", description: "🌹❤❤❤😍😍😍💖💖🎶🎶✌✌", author_id: 1, likes: 1000000, dislikes: 0);
  44. $hajeebtokVideo->Save();
  45. */
  46. SimpleRouter::error(function (Request $request, Exception $error) {
  47. Logger::Error("Route fault: $error");
  48. $request->setRewriteCallback(function () use ($error) {
  49. return ErrorController::ApiError($error->getCode());
  50. });
  51. });
  52. SimpleRouter::start();
  53. }
  54. }