metatron-open-seo/src/db/reddit-attribution.schema.ts
2026-05-20 23:36:30 -04:00

38 lines
1.2 KiB
TypeScript

import { sql } from "drizzle-orm";
import { index, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
import { organization, user } from "./better-auth-schema";
export const redditAttributions = sqliteTable(
"reddit_attributions",
{
id: text("id").primaryKey(),
userId: text("user_id")
.notNull()
.references(() => user.id, { onDelete: "cascade" }),
organizationId: text("organization_id")
.notNull()
.references(() => organization.id, { onDelete: "cascade" }),
clickId: text("click_id"),
uuid: text("uuid"),
landingPage: text("landing_page"),
referrer: text("referrer"),
utmSource: text("utm_source"),
utmMedium: text("utm_medium"),
utmCampaign: text("utm_campaign"),
utmTerm: text("utm_term"),
utmContent: text("utm_content"),
signupSentAt: text("signup_sent_at"),
purchaseSentAt: text("purchase_sent_at"),
createdAt: text("created_at")
.notNull()
.default(sql`(current_timestamp)`),
updatedAt: text("updated_at")
.notNull()
.default(sql`(current_timestamp)`),
},
(table) => [
uniqueIndex("reddit_attributions_user_idx").on(table.userId),
index("reddit_attributions_organization_idx").on(table.organizationId),
],
);