import bcrypt from 'bcryptjs'; import { eq } from 'drizzle-orm'; import { getDb } from './db/index.js'; import { users } from './db/schema/index.js'; const [, , username, password, displayName] = process.argv; if (!username || !password || !displayName) { console.error('Usage: pnpm -F @localiztoi/api seed:admin ""'); process.exit(1); } const run = async () => { const db = getDb(); const [existing] = await db.select({ id: users.id }).from(users).where(eq(users.username, username)); if (existing) { console.log(`L'utilisateur "${username}" existe déjà.`); process.exit(0); } const passwordHash = await bcrypt.hash(password, 12); const [created] = await db .insert(users) .values({ username, passwordHash, displayName }) .returning(); console.log(`Admin créé : ${created.username} (${created.displayName}) — id: ${created.id}`); process.exit(0); }; run().catch((err) => { console.error('Erreur:', err); process.exit(1); });