add initial complete webui, more ai commands for moderation, add api
This commit is contained in:
parent
19e794e34c
commit
173d4e7a52
112 changed files with 8176 additions and 780 deletions
52
webui/lib/schema.ts
Executable file
52
webui/lib/schema.ts
Executable file
|
@ -0,0 +1,52 @@
|
|||
import {
|
||||
integer,
|
||||
pgTable,
|
||||
varchar,
|
||||
timestamp,
|
||||
boolean,
|
||||
real,
|
||||
index
|
||||
} from "drizzle-orm/pg-core";
|
||||
|
||||
export const usersTable = pgTable("users", {
|
||||
telegramId: varchar({ length: 255 }).notNull().primaryKey(),
|
||||
username: varchar({ length: 255 }).notNull(),
|
||||
firstName: varchar({ length: 255 }).notNull(),
|
||||
lastName: varchar({ length: 255 }).notNull(),
|
||||
aiEnabled: boolean().notNull().default(false),
|
||||
showThinking: boolean().notNull().default(false),
|
||||
customAiModel: varchar({ length: 255 }).notNull().default("deepseek-r1:1.5b"),
|
||||
aiTemperature: real().notNull().default(0.9),
|
||||
aiRequests: integer().notNull().default(0),
|
||||
aiCharacters: integer().notNull().default(0),
|
||||
disabledCommands: varchar({ length: 255 }).array().notNull().default([]),
|
||||
languageCode: varchar({ length: 255 }).notNull(),
|
||||
aiTimeoutUntil: timestamp(),
|
||||
aiMaxExecutionTime: integer().default(0),
|
||||
createdAt: timestamp().notNull().defaultNow(),
|
||||
updatedAt: timestamp().notNull().defaultNow(),
|
||||
});
|
||||
|
||||
export const twoFactorTable = pgTable("two_factor", {
|
||||
userId: varchar({ length: 255 }).notNull().references(() => usersTable.telegramId).primaryKey(),
|
||||
currentCode: varchar({ length: 255 }).notNull(),
|
||||
codeExpiresAt: timestamp().notNull(),
|
||||
codeAttempts: integer().notNull().default(0),
|
||||
createdAt: timestamp().notNull().defaultNow(),
|
||||
updatedAt: timestamp().notNull().defaultNow(),
|
||||
}, (table) => [
|
||||
index("idx_two_factor_user_id").on(table.userId),
|
||||
index("idx_two_factor_code_expires_at").on(table.codeExpiresAt),
|
||||
]);
|
||||
|
||||
export const sessionsTable = pgTable("sessions", {
|
||||
id: varchar({ length: 255 }).notNull().primaryKey(),
|
||||
userId: varchar({ length: 255 }).notNull().references(() => usersTable.telegramId),
|
||||
sessionToken: varchar({ length: 255 }).notNull().unique(),
|
||||
expiresAt: timestamp().notNull(),
|
||||
createdAt: timestamp().notNull().defaultNow(),
|
||||
updatedAt: timestamp().notNull().defaultNow(),
|
||||
}, (table) => [
|
||||
index("idx_sessions_user_id").on(table.userId),
|
||||
index("idx_sessions_expires_at").on(table.expiresAt),
|
||||
]);
|
Loading…
Add table
Add a link
Reference in a new issue