summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src/schema/auth.sql.ts
blob: d55e605aa1812b4e55914c2ba778862628c581a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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),
  ],
)