A decentralized music tracking and discovery platform built on AT Protocol 馃幍
listenbrainz
spotify
atproto
lastfm
musicbrainz
scrobbling
1import { type InferSelectModel, sql } from "drizzle-orm";
2import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
3
4const users = sqliteTable("users", {
5 id: text("id").primaryKey().notNull(),
6 did: text("did").unique().notNull(),
7 displayName: text("display_name"),
8 handle: text("handle").unique().notNull(),
9 avatar: text("avatar").notNull(),
10 createdAt: integer("created_at", { mode: "timestamp" })
11 .notNull()
12 .default(sql`(unixepoch())`),
13 updatedAt: integer("updated_at", { mode: "timestamp" })
14 .notNull()
15 .default(sql`(unixepoch())`),
16});
17
18export type SelectUser = InferSelectModel<typeof users>;
19export type InsertUser = InferSelectModel<typeof users>;
20
21export default users;