import os
import sqlite3
from werkzeug.security import generate_password_hash

BASE_DIR = os.path.abspath(os.path.dirname(__file__))
DB_PATH = os.path.join(BASE_DIR, "users.db")

conn = sqlite3.connect(DB_PATH)
cur = conn.cursor()

cur.execute("""
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT NOT NULL UNIQUE,
    password_hash TEXT NOT NULL,
    role TEXT NOT NULL DEFAULT 'secos',
    status TEXT NOT NULL DEFAULT 'active'
)
""")

# Usuarios iniciales: se insertan solo si no existen
users = [
    (
        "Nicolás Segovia",
        "nico.segoviac@socioecologiacostera.cl",
        generate_password_hash("ClaveTemporal123"),
        "datamanager",
        "active"
    ),
    (
        "Nicolás Latorre",
        "NLATORREPADILLA@gmail.com",
        generate_password_hash("wichi_2026"),
        "Postdoctorante",
        "active"
    ),
    (
        "Pilar Haye",
        "phaye@ucn.cl",
        generate_password_hash("PH_datacenter_2026!"),
        "Directora",
        "active"
    ),
    (
        "Stefan Gelcich",
        "sgelcich@uc.cl",
        generate_password_hash("SG_datacenter_2026!"),
        "Director",
        "active"
    ),
    (
        "Fernando Mejias",
        "fernandomejias@socioecologiacostera.cl",
        generate_password_hash("datacenter_2026!"),
        "Director Comunicaciones",
        "active"
    ),
    (
        "Esteban Contardo",
        "estebancontardo@socioecologiacostera.cl",
        generate_password_hash("datacenter_2026!"),
        "Periodista",
        "active"
    )
]

for user in users:
    cur.execute("""
        INSERT OR IGNORE INTO users (name, email, password_hash, role, status)
        VALUES (?, ?, ?, ?, ?)
    """, user)

conn.commit()
conn.close()

print(f"Base inicializada en: {DB_PATH}")