GHHG10's picture
download
raw
1.85 kB
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.