| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import { mysqlTable, int, primaryKey, varchar } 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 ModelRateLimitTable = mysqlTable(
- "model_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] })],
- )
|