update status code + db init

pull/3/head
remrem 1 year ago
parent eed0e387af
commit 7254025426

@ -0,0 +1,42 @@
<?php
namespace Config;
use Config\Connection;
use Config\DatabaseCon;
use PDOException;
class DatabaseInit {
private Connection $con;
public function __construct() {
if(getenv("IS_DB_INIT") != true) {}
try {
$this->con = (new DatabaseCon)->connect();
} catch(PDOException $e) {
throw new PDOException($e->getMessage(), $e->getCode(), $e);
$this->createUserTable();
$this->createFileTable();
putenv("IS_DB_INIT=true");
}
}
private function createUserTable() {
$query = 'CREATE TABLE user (
`id` UUID PRIMARY KEY,
email VARCHAR(100) UNIQUE,
hash VARCHAR(255),
username VARCHAR(20) DEFAULT \'Change Me!\',
creation_date DATE);';
$this->con->executeQuery($query);
}
private function createFileTable() {
$query = 'CREATE TABLE file (
id UUID PRIMARY KEY,
`user_id` UUID REFERENCES `user`(`id`) ON DELETE CASCADE,
filename VARCHAR(100) DEFAULT CURDATE(),
import_date DATE);';
$this->con->executeQuery($query);
}
}

@ -27,7 +27,7 @@ return function (App $app) {
return $res->withStatus(400);
}
$code = (new UserGateway)->createUser($req_body['email'], $req_body['hash'], $req_body['username']);
if($code === -1) return $res->withStatus(409);
if($code === -1) return $res->withStatus(500);
$res->getBody()->write(json_encode($code));
return $res;

@ -9,6 +9,10 @@ use App\Application\Settings\SettingsInterface;
use DI\ContainerBuilder;
use Slim\Factory\AppFactory;
use Slim\Factory\ServerRequestCreatorFactory;
use Config\DatabaseInit;
require '../app/connection.php';
require '../app/database_con.php';
require '../app/database_init.php';
require __DIR__ . '/../vendor/autoload.php';
@ -76,6 +80,9 @@ $app->addBodyParsingMiddleware();
$errorMiddleware = $app->addErrorMiddleware($displayErrorDetails, $logError, $logErrorDetails);
$errorMiddleware->setDefaultErrorHandler($errorHandler);
// Create DB
(new DatabaseInit);
// Run App & Emit Response
$response = $app->handle($request);
$responseEmitter = new ResponseEmitter();

Loading…
Cancel
Save