import type { Knex } from "knex";
import bcrypt from "bcryptjs";

export async function seed(knex: Knex): Promise<void> {
  // Deletes ALL existing entries
  await knex("users").del();

  // Insert admin user
  await knex("users").insert([
    {
      user_details: {
        first_name: "Admin",
        last_name: "",
        username: "admin",
        email: "admin@gmail.com",
        role: "admin",
      },
      password: await bcrypt.hash("password", 10),
      email_verified: new Date(), // <-- use current date/time
      stripe_id: null,
      is_premium: "logged_in",
      deleted_at: null,
      created_at: new Date(),
      updated_at: new Date(),
    },
    {
      user_details: {
        first_name: "Farrukh",
        last_name: "Admin",
        username: "farrukhadmin",
        email: "farrukh@gmail.com",
        role: "admin",
      },
      password: await bcrypt.hash("password", 10),
      email_verified: new Date(), // <-- use current date/time
      stripe_id: null,
      is_premium: "logged_in",
      deleted_at: null,
      created_at: new Date(),
      updated_at: new Date(),
    },
  ]);
}
