feat: implement email sending functionality via Resend service

This commit is contained in:
beilunyang
2025-06-21 23:50:46 +08:00
parent 9d55564073
commit e85f6b04bd
27 changed files with 2347 additions and 467 deletions

View File

@@ -55,13 +55,18 @@ export const messages = sqliteTable("message", {
emailId: text("emailId")
.notNull()
.references(() => emails.id, { onDelete: "cascade" }),
fromAddress: text("from_address").notNull(),
fromAddress: text("from_address"),
toAddress: text("to_address"),
subject: text("subject").notNull(),
content: text("content").notNull(),
html: text("html"),
type: text("type"),
receivedAt: integer("received_at", { mode: "timestamp_ms" })
.notNull()
.$defaultFn(() => new Date()),
sentAt: integer("sent_at", { mode: "timestamp_ms" })
.notNull()
.$defaultFn(() => new Date()),
}, (table) => ({
emailIdIdx: index("message_email_id_idx").on(table.emailId),
}))
@@ -109,6 +114,8 @@ export const apiKeys = sqliteTable('api_keys', {
nameUserIdUnique: uniqueIndex('name_user_id_unique').on(table.name, table.userId)
}));
export const apiKeysRelations = relations(apiKeys, ({ one }) => ({
user: one(users, {
fields: [apiKeys.userId],