forked from
rocksky.app/rocksky
A decentralized music tracking and discovery platform built on AT Protocol 馃幍
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;