import { type InferInsertModel, type InferSelectModel, sql } from "drizzle-orm"; import { sqliteTable, integer, text, unique } from "drizzle-orm/sqlite-core"; import tracks from "./tracks"; import users from "./users"; const lovedTracks = sqliteTable( "loved_tracks", { id: text("id").primaryKey().notNull(), userId: text("user_id") .notNull() .references(() => users.id), trackId: text("track_id") .notNull() .references(() => tracks.id), uri: text("uri").unique(), createdAt: integer("created_at") .notNull() .default(sql`(unixepoch())`), }, (t) => [unique("loved_tracks_unique_index").on(t.userId, t.trackId)], ); export type SelectLovedTrack = InferSelectModel; export type InsertLovedTrack = InferInsertModel; export default lovedTracks;