Separate base database initialization from test data seeding

This commit is contained in:
2026-07-20 19:49:29 +08:00 Unverified
parent 5b86cdaec2
commit b8f2799ed6
11 changed files with 345 additions and 43 deletions
+11 -3
View File
@@ -13,7 +13,7 @@ import { createPublicRoutes } from './src/routes/public.routes.mjs';
import { adminLevelNames, adminScopeLabel, createPermissionGuard, hasPermission, permissionsByLevel, profileInScope, registrationInScope } from './src/security/authorization.mjs';
import { createSessionManager } from './src/security/session.mjs';
import { readBodyBuffer, readJson, sendError, sendJson, sendWorkbook } from './src/http/responses.mjs';
import { createSeedDatabase } from './src/data/seed.mjs';
import { createBaseDatabase } from './src/data/base.mjs';
import { resolveRegion } from './src/data/region-service.mjs';
const root = resolve(process.cwd());
@@ -70,8 +70,16 @@ function verifyPassword(password, stored) {
return actual.length === expectedBuffer.length && timingSafeEqual(actual, expectedBuffer);
}
const seedDatabase = () => createSeedDatabase({ nowIso, hashPassword });
const database = await createDatabase({ root, seed: seedDatabase });
const initializeDatabase = () => createBaseDatabase({
nowIso,
hashPassword,
initialAdmin: {
username: process.env.INITIAL_ADMIN_USERNAME,
password: process.env.INITIAL_ADMIN_PASSWORD,
displayName: process.env.INITIAL_ADMIN_DISPLAY_NAME
}
});
const database = await createDatabase({ root, seed: initializeDatabase });
const readDb = () => database.read();
const { parseCookies, currentUser, safeUser, requireUser } = createSessionManager({ sessions, readDb, sendError });