A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at main 23 lines 745 B view raw
1import { type InferInsertModel, type InferSelectModel, sql } from "drizzle-orm"; 2import { pgTable, text, timestamp } from "drizzle-orm/pg-core"; 3import tracks from "./tracks.ts"; 4import users from "./users.ts"; 5 6const lovedTracks = pgTable("loved_tracks", { 7 id: text("xata_id") 8 .primaryKey() 9 .default(sql`xata_id()`), 10 userId: text("user_id") 11 .notNull() 12 .references(() => users.id), 13 trackId: text("track_id") 14 .notNull() 15 .references(() => tracks.id), 16 uri: text("uri").unique(), 17 createdAt: timestamp("xata_createdat").defaultNow().notNull(), 18}); 19 20export type SelectLovedTrack = InferSelectModel<typeof lovedTracks>; 21export type InsertLovedTrack = InferInsertModel<typeof lovedTracks>; 22 23export default lovedTracks;