query("SELECT COUNT(*) FROM sqlite_master WHERE type = 'table'")->fetchColumn() > 0; if ($database_exists) { return $pdo; } foreach (scandir(__DIR__) as $file) { if (preg_match("/.*\.sql$/i", $file)) { $content = file_get_contents(__DIR__ . "/" . $file); $pdo->exec($content); } } init_database($pdo); return $pdo; } function init_database(PDO $pdo): void { $accounts = new AccountGateway(new Connection($pdo)); $teams = new \IQBall\Core\Gateway\TeamGateway(new Connection($pdo)); $defaultAccounts = ["maxime", "mael", "yanis", "vivien"]; $defaultTeams = ["Lakers", "Celtics", "Bulls"]; foreach ($defaultAccounts as $name) { $email = "$name@mail.com"; $id = $accounts->insertAccount($name, $email, AuthModel::generateToken(), password_hash("123456", PASSWORD_DEFAULT)); $accounts->setIsAdmin($id, true); } foreach ($defaultTeams as $name){ $id = $teams->insert($name,"https://lebasketographe.fr/wp-content/uploads/2019/11/nom-equipes-nba.jpg","ff5733","85f251"); } }