import db from "@/db/db" import { tasks } from "@/db/schema/tasks" import { generateId } from "@/lib/id" import { faker } from "@faker-js/faker" export type NewTask = typeof tasks.$inferInsert function generateRandomTask(): NewTask { return { id: generateId("task"), code: undefined, title: faker.hacker .phrase() .replace(/^./, (letter) => letter.toUpperCase()), status: faker.helpers.shuffle(tasks.status.enumValues)[0] ?? "todo", label: faker.helpers.shuffle(tasks.label.enumValues)[0] ?? "bug", priority: faker.helpers.shuffle(tasks.priority.enumValues)[0] ?? "low", archived: faker.datatype.boolean({ probability: 0.2 }), createdAt: new Date(), updatedAt: new Date(), } } export async function seedTasks(input: { count: number }) { const count = input.count ?? 100 try { const allTasks: NewTask[] = [] for (let i = 0; i < count; i++) { allTasks.push(generateRandomTask()) } await db.delete(tasks) console.log("📝 Inserting tasks", allTasks.length) await db.insert(tasks).values(allTasks).onConflictDoNothing() } catch (err) { console.error(err) } }