40 lines
878 B
PHP
40 lines
878 B
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('/', XBotControl\Controllers\IndexController::class);
|
|
|
|
$app->any('/api/{action}/{resource}', 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();
|
|
});
|