From 333d1610fad10e70759545f223959503288a02c6 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Thu, 10 Jul 2025 19:34:31 +0000 Subject: feat: Add invite user support --- packages/db/schema.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'packages/db/schema.ts') diff --git a/packages/db/schema.ts b/packages/db/schema.ts index 4375b201..881d72ec 100644 --- a/packages/db/schema.ts +++ b/packages/db/schema.ts @@ -552,6 +552,21 @@ export const userSettings = sqliteTable("userSettings", { timezone: text("timezone").default("UTC"), }); +export const invites = sqliteTable("invites", { + id: text("id") + .notNull() + .primaryKey() + .$defaultFn(() => createId()), + email: text("email").notNull(), + token: text("token").notNull().unique(), + createdAt: createdAtField(), + expiresAt: integer("expiresAt", { mode: "timestamp" }).notNull(), + usedAt: integer("usedAt", { mode: "timestamp" }), + invitedBy: text("invitedBy") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), +}); + // Relations export const userRelations = relations(users, ({ many, one }) => ({ @@ -559,6 +574,7 @@ export const userRelations = relations(users, ({ many, one }) => ({ bookmarks: many(bookmarks), webhooks: many(webhooksTable), rules: many(ruleEngineRulesTable), + invites: many(invites), settings: one(userSettings, { fields: [users.id], references: [userSettings.userId], @@ -704,3 +720,10 @@ export const userSettingsRelations = relations(userSettings, ({ one }) => ({ references: [users.id], }), })); + +export const invitesRelations = relations(invites, ({ one }) => ({ + invitedBy: one(users, { + fields: [invites.invitedBy], + references: [users.id], + }), +})); -- cgit v1.2.3-70-g09d2