summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src/schema/auth.sql.ts
blob: 27c926d6fbda05b05bab6d2620f27e3a34259123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { index, mysqlEnum, mysqlTable, primaryKey, uniqueIndex, varchar } from "drizzle-orm/mysql-core"
import { id, timestamps, ulid } from "../drizzle/types"

export const AuthProvider = ["email", "github", "google"] as const

export const AuthTable = mysqlTable(
  "auth",
  {
    id: id(),
    ...timestamps,
    provider: mysqlEnum("provider", AuthProvider).notNull(),
    subject: varchar("subject", { length: 255 }).notNull(),
    accountID: ulid("account_id").notNull(),
  },
  (table) => [
    primaryKey({ columns: [table.id] }),
    uniqueIndex("provider").on(table.provider, table.subject),
    index("account_id").on(table.accountID),
  ],
)