| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { mysqlTable, int, primaryKey, varchar, bigint } from "drizzle-orm/mysql-core"
- import { timestamps } from "../drizzle/types"
- export const IpTable = mysqlTable(
- "ip",
- {
- ip: varchar("ip", { length: 45 }).notNull(),
- ...timestamps,
- usage: int("usage"),
- },
- (table) => [primaryKey({ columns: [table.ip] })],
- )
- export const IpRateLimitTable = mysqlTable(
- "ip_rate_limit",
- {
- ip: varchar("ip", { length: 45 }).notNull(),
- interval: varchar("interval", { length: 10 }).notNull(),
- count: int("count").notNull(),
- },
- (table) => [primaryKey({ columns: [table.ip, table.interval] })],
- )
- export const KeyRateLimitTable = mysqlTable(
- "key_rate_limit",
- {
- key: varchar("key", { length: 255 }).notNull(),
- interval: varchar("interval", { length: 40 }).notNull(),
- count: int("count").notNull(),
- },
- (table) => [primaryKey({ columns: [table.key, table.interval] })],
- )
- export const ModelTpmRateLimitTable = mysqlTable(
- "model_tpm_rate_limit",
- {
- id: varchar("id", { length: 255 }).notNull(),
- interval: bigint("interval", { mode: "number" }).notNull(),
- count: int("count").notNull(),
- },
- (table) => [primaryKey({ columns: [table.id, table.interval] })],
- )
- export const ModelTpsRateLimitTable = mysqlTable(
- "model_tps_rate_limit",
- {
- id: varchar("id", { length: 255 }).notNull(),
- interval: bigint("interval", { mode: "number" }).notNull(),
- qualify: int("qualify").notNull(),
- unqualify: int("unqualify").notNull(),
- },
- (table) => [primaryKey({ columns: [table.id, table.interval] })],
- )
- export const ModelStickyProviderTable = mysqlTable(
- "model_sticky_provider",
- {
- id: varchar("id", { length: 255 }).notNull(),
- ...timestamps,
- providerId: varchar("provider_id", { length: 255 }).notNull(),
- },
- (table) => [primaryKey({ columns: [table.id] })],
- )
|