UNPKG

nuxt-users

Version:

A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools

41 lines (40 loc) 1.59 kB
import { useDb } from "./db.js"; export const createPasswordResetTokensTable = async (options) => { const connectorName = options.connector.name; const db = await useDb(options); const tableName = options.tables.passwordResetTokens; console.log(`[Nuxt Users] DB:Create Password Reset Tokens ${connectorName} Table Creating ${tableName} table with ${connectorName} connector...`); if (connectorName === "sqlite") { await db.sql` CREATE TABLE IF NOT EXISTS {${tableName}} ( id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT NOT NULL, token TEXT NOT NULL UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ) `; } if (connectorName === "mysql") { await db.sql` CREATE TABLE IF NOT EXISTS {${tableName}} ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, token VARCHAR(255) NOT NULL UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ) `; } if (connectorName === "postgresql") { await db.sql` CREATE TABLE IF NOT EXISTS {${tableName}} ( id SERIAL PRIMARY KEY, email VARCHAR(255) NOT NULL, token VARCHAR(255) NOT NULL UNIQUE, created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP ) `; } await db.sql`CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_email ON {${tableName}} (email)`; await db.sql`CREATE INDEX IF NOT EXISTS idx_password_reset_tokens_token ON {${tableName}} (token)`; console.log(`[Nuxt Users] DB:Create Password Reset Tokens ${connectorName} Table Fields: id, email, token, created_at \u2705`); };