Add auth bootstrap and database safeguards
This commit is contained in:
+13
-1
@@ -1,10 +1,17 @@
|
||||
import { connect } from '@tursodatabase/database';
|
||||
import { mkdir, readFile } from 'node:fs/promises';
|
||||
import { access, mkdir, readFile } from 'node:fs/promises';
|
||||
import { dirname, resolve } from 'node:path';
|
||||
import process from 'node:process';
|
||||
import { initializeDefaultUsers } from './default-users.mjs';
|
||||
|
||||
const databasePath = resolve(process.env.TDR_DATABASE_PATH || './data/shd-build.db');
|
||||
const schemaPath = resolve('./database/schema.sql');
|
||||
let databaseAlreadyExisted = true;
|
||||
try {
|
||||
await access(databasePath);
|
||||
} catch {
|
||||
databaseAlreadyExisted = false;
|
||||
}
|
||||
|
||||
await mkdir(dirname(databasePath), { recursive: true });
|
||||
|
||||
@@ -22,3 +29,8 @@ for (const statement of statements) {
|
||||
}
|
||||
|
||||
console.log(`Applied ${statements.length} schema statements to ${databasePath}`);
|
||||
|
||||
if (!databaseAlreadyExisted) {
|
||||
console.log('New database detected; creating default users.');
|
||||
await initializeDefaultUsers(database);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user