1const pool = require('./db');
6async function ensureAuthExtras() {
7 const client = await pool.connect();
10 CREATE TABLE IF NOT EXISTS password_reset_tokens (
11 token TEXT PRIMARY KEY,
12 user_id INTEGER NOT NULL REFERENCES users(user_id) ON DELETE CASCADE,
13 requested_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
14 expires_at TIMESTAMPTZ NOT NULL,
20 CREATE TABLE IF NOT EXISTS email_verification_tokens (
21 token TEXT PRIMARY KEY,
22 user_id INTEGER NOT NULL REFERENCES users(user_id) ON DELETE CASCADE,
23 requested_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
24 expires_at TIMESTAMPTZ NOT NULL,
29 await client.query(`ALTER TABLE users ADD COLUMN IF NOT EXISTS email_verified BOOLEAN NOT NULL DEFAULT false;`);
30 await client.query(`ALTER TABLE users ADD COLUMN IF NOT EXISTS mfa_enabled BOOLEAN NOT NULL DEFAULT false;`);
31 await client.query(`ALTER TABLE users ADD COLUMN IF NOT EXISTS mfa_secret TEXT;`);
32 await client.query(`ALTER TABLE users ADD COLUMN IF NOT EXISTS password_reset_required BOOLEAN NOT NULL DEFAULT false;`);
38module.exports = { ensureAuthExtras };