Updated db and formatting
This commit is contained in:
@@ -1 +1,50 @@
|
||||
export * from "./auth-schema"
|
||||
export { account, session, user, verification } from "./auth-schema"
|
||||
|
||||
import { relations } from "drizzle-orm"
|
||||
import { boolean, index, integer, pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"
|
||||
|
||||
const createdAt = timestamp("created_at", { withTimezone: true }).defaultNow()
|
||||
const updatedAt = timestamp("updated_at", { withTimezone: true }).defaultNow().$onUpdate(() => new Date())
|
||||
|
||||
export const urls = pgTable("urls", {
|
||||
id: uuid("id").primaryKey().notNull(),
|
||||
url: varchar("url").notNull(),
|
||||
slug: varchar("slug").notNull(),
|
||||
title: varchar("title").notNull(),
|
||||
maxVisits: integer("max_visits"),
|
||||
expDate: timestamp("exp_date", { withTimezone: true }),
|
||||
forwardQueryParams: boolean("forward_query_params").default(true),
|
||||
crawlable: boolean("crawable").default(false),
|
||||
createdAt,
|
||||
updatedAt
|
||||
}, (t) => {
|
||||
return [
|
||||
index("urls_slug_idx").on(t.slug),
|
||||
index("urls_url_idx").on(t.url),
|
||||
index("exp_date_idx").on(t.expDate)
|
||||
]
|
||||
})
|
||||
|
||||
export const visits = pgTable("visits", {
|
||||
id: uuid("id").primaryKey().notNull(),
|
||||
urlId: uuid("url_id").notNull().references(() => urls.id),
|
||||
ipAdress: varchar("ip_address").notNull(),
|
||||
userAgent: varchar("user_agent").notNull(),
|
||||
createdAt,
|
||||
updatedAt
|
||||
}, (t) => {
|
||||
return [
|
||||
index("visits_url_id_idx").on(t.urlId)
|
||||
]
|
||||
})
|
||||
|
||||
export const urlsRelations = relations(urls, ({ many }) => ({
|
||||
visits: many(visits)
|
||||
}))
|
||||
|
||||
export const visitsRelations = relations(visits, ({ one }) => ({
|
||||
url: one(urls, {
|
||||
fields: [visits.urlId],
|
||||
references: [urls.id]
|
||||
})
|
||||
}))
|
||||
|
||||
Reference in New Issue
Block a user