Buckets:
| 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] })], | |
| ) | |
Xet Storage Details
- Size:
- 1.85 kB
- Xet hash:
- 5349206f3d92a2fcb995a3ab63eae8ac48259d52701988107078c8fdae2017df
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.