Files
xbotcontrol/xbotcontrol.php

40 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$_ENV['APP_DIR'] = __DIR__;
XBotControl\InitTables::create();
$app = new FrameworkX\App();
$app->any(
'/mirror[/{original_uri:.*}]',
function (Psr\Http\Message\ServerRequestInterface $request) {
return XBotControl\Request::save($request);
}
);
$app->any('/login', XBotControl\Controllers\LoginController::class);
$app->any('/', XBotControl\Controllers\AuthController::class, XBotControl\Controllers\IndexController::class);
$app->any('/api/{action}/{resource}', XBotControl\Controllers\AuthController::class, XBotControl\Controllers\APIController::class);
XBotControl\Classes\Schedule::run();
$app->run();
XBotControl\Storage::getInstance()->db->query('VACUUM;')
->then(function () {
XBotControl\Storage::getInstance()->db->query('PRAGMA main.wal_checkpoint;');
})->then(function () {
XBotControl\Storage::getInstance()->db->quit();
});