summaryrefslogtreecommitdiffhomepage
path: root/packages/console/core/src/schema/key.sql.ts
blob: 98b99c78811be5c5076a8521fa845cadee54645a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { mysqlTable, varchar, uniqueIndex, json } from "drizzle-orm/mysql-core"
import { timestamps, utc, workspaceColumns } from "../drizzle/types"
import { workspaceIndexes } from "./workspace.sql"
import { Actor } from "../actor"

export const KeyTable = mysqlTable(
  "key",
  {
    ...workspaceColumns,
    ...timestamps,
    actor: json("actor").$type<Actor.Info>(),
    name: varchar("name", { length: 255 }).notNull(),
    oldName: varchar("old_name", { length: 255 }),
    key: varchar("key", { length: 255 }).notNull(),
    timeUsed: utc("time_used"),
  },
  (table) => [
    ...workspaceIndexes(table),
    uniqueIndex("global_key").on(table.key),
    uniqueIndex("name").on(table.workspaceID, table.name),
  ],
)