scythe/src/db/schema.ts

56 lines
1.4 KiB
TypeScript

import { text, sqliteTable, int } from "drizzle-orm/sqlite-core";
import type { InferSelectModel } from "drizzle-orm";
export const ticketsTable = sqliteTable("tickets", {
user: text().primaryKey().notNull(),
channel: text().notNull(),
});
export const colonTable = sqliteTable("colonthree", {
user: text().primaryKey().notNull(),
amount: int().notNull(),
messages_count: int().notNull(),
});
export const greetsTable = sqliteTable("greets", {
guild: text().primaryKey().notNull(),
channel: text().notNull(),
message: text().notNull(),
});
export const byeTable = sqliteTable("bye", {
guild: text().primaryKey().notNull(),
channel: text().notNull(),
message: text().notNull(),
});
export const uptimeTable = sqliteTable("uptime", {
guild: text().primaryKey(),
channel: text().notNull(),
message: text().notNull(),
});
export const introTable = sqliteTable("intro", {
guild: text().primaryKey(),
channel: text().notNull(),
});
export const confessTable = sqliteTable("confess", {
guild: text().primaryKey(),
channel: text().notNull(),
});
export const starboardMessagesTable = sqliteTable("starboard_messages", {
message: text().primaryKey(),
});
export const starboardSettingsTable = sqliteTable("starboard_settings", {
guild: text().primaryKey(),
threshold: int().notNull(),
channel: text().notNull(),
enabled: int().notNull(),
});
export type ColonThreeType = InferSelectModel<typeof colonTable>;