import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
import {sql} from 'drizzle-orm'
const timeStamps = {createdAt: integer( { mode: "timestamp_ms" })
.default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)
.notNull(),
updatedAt: integer({ mode: "timestamp_ms" })
.default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)
.$onUpdate(() => /* @__PURE__ */ new Date())
.notNull()}
export const $user = sqliteTable("user", {
id: integer({mode: 'number'}).primaryKey({autoIncrement: true}),
firstName: text().notNull(),
lastName: text().notNull(),
email: text().notNull().unique(),
image: text(),
password: text().notNull(),
...timestamps
});
export const $class = sqliteTable('classes', {
id: integer().primaryKey({ autoIncrement: true}),
name: text().notNull(),
teacherId: integer().references(() => $teacher.id),
...timeStamps
})
export const $teacher = sqliteTable('teachers', {
id: integer().primaryKey({autoIncrement: true}),
userId: integer().notNull().references(() => $user.id),
...timeStamps
})
export const $student = sqliteTable('students', {
id: integer().primaryKey({autoIncrement: true}),
userId: integer().notNull().references(() => $user.id),
classId: integer().references(() => $class.id),
...timeStamps
})
import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
import {sql} from 'drizzle-orm'
const timeStamps = {createdAt: integer( { mode: "timestamp_ms" })
.default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)
.notNull(),
updatedAt: integer({ mode: "timestamp_ms" })
.default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`)
.$onUpdate(() => /* @__PURE__ */ new Date())
.notNull()}
export const $user = sqliteTable("user", {
id: integer({mode: 'number'}).primaryKey({autoIncrement: true}),
firstName: text().notNull(),
lastName: text().notNull(),
email: text().notNull().unique(),
image: text(),
password: text().notNull(),
...timestamps
});
export const $class = sqliteTable('classes', {
id: integer().primaryKey({ autoIncrement: true}),
name: text().notNull(),
teacherId: integer().references(() => $teacher.id),
...timeStamps
})
export const $teacher = sqliteTable('teachers', {
id: integer().primaryKey({autoIncrement: true}),
userId: integer().notNull().references(() => $user.id),
...timeStamps
})
export const $student = sqliteTable('students', {
id: integer().primaryKey({autoIncrement: true}),
userId: integer().notNull().references(() => $user.id),
classId: integer().references(() => $class.id),
...timeStamps
})