// /src/server/db/schema.ts
import { sql } from "drizzle-orm";
import {
boolean,
integer,
pgTableCreator,
serial,
timestamp,
varchar,
} from "drizzle-orm/pg-core";
export const createTable = pgTableCreator((name) => `${process.env.DB_CONTAINER_NAME}_${name}`);
export const hotlinks = createTable(
"hotlink",
{
id: serial("id").primaryKey(),
url: varchar("url", { length: 256 }).unique(),
pointer: varchar("pointer", { length: 256 }),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
expiresAt: timestamp("expires_at"),
ttl: integer("ttl"),
}
);
export const authentications = createTable(
"authentication",
{
id: serial("id").primaryKey(),
active: boolean("active").default(true),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
updatedAt: timestamp("updatedAt").defaultNow(),
key: varchar("formatted_key", { length: 256 }),
}
);
// /src/server/db/schema.ts
import { sql } from "drizzle-orm";
import {
boolean,
integer,
pgTableCreator,
serial,
timestamp,
varchar,
} from "drizzle-orm/pg-core";
export const createTable = pgTableCreator((name) => `${process.env.DB_CONTAINER_NAME}_${name}`);
export const hotlinks = createTable(
"hotlink",
{
id: serial("id").primaryKey(),
url: varchar("url", { length: 256 }).unique(),
pointer: varchar("pointer", { length: 256 }),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
expiresAt: timestamp("expires_at"),
ttl: integer("ttl"),
}
);
export const authentications = createTable(
"authentication",
{
id: serial("id").primaryKey(),
active: boolean("active").default(true),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
updatedAt: timestamp("updatedAt").defaultNow(),
key: varchar("formatted_key", { length: 256 }),
}
);