all repos — stealth-developers @ 029d0f7869ef4560f712596897a81bd0ef5b39c4

pkgs/db/src/schemas/actors.ts (view raw)

 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
 28
 29
 30
 31
 32
import * as s from "drizzle-orm/sqlite-core";

export const actors = s.sqliteTable("actors", {
	id: s.integer("id").primaryKey({ autoIncrement: true }),

	discordId: s.text("discord_id").unique(),
	displayName: s.text("display_name"),
	username: s.text("username"),
	avatar: s.text("avatar"),

	moderator: s.integer("moderator", { mode: "boolean" }),

	createdAt: s.integer("created_at", { mode: "timestamp" }).notNull(),
	updatedAt: s.integer("updated_at", { mode: "timestamp" }).notNull(),
	deletedAt: s.integer("deleted_at", { mode: "timestamp" }),
});

export const sessions = s.sqliteTable("sessions", {
	id: s.text("id").primaryKey(),
	userId: s
		.integer("user_id")
		.notNull()
		.references(() => actors.id),

	accessToken: s.text("access_token").notNull(),
	refreshToken: s.text("refresh_token").notNull(),
	scope: s.text("scope"),
	tokenType: s.text("token_type"),

	expiresAt: s.integer("expires_at", { mode: "timestamp" }).notNull(),
	createdAt: s.integer("created_at", { mode: "timestamp" }).notNull(),
});