feat: add SMTP email support and fix profile/permissions bugs

This commit is contained in:
root
2026-06-30 19:29:08 +00:00
parent 4ded582dc4
commit f4437c5e1d
26 changed files with 643 additions and 129 deletions
+9 -2
View File
@@ -16,6 +16,7 @@ import (
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/config"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/db"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/dm"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/email"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/gateway"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/giphy"
"git.dustin.coffee/hobokenchicken/dumpsterChat/internal/invite"
@@ -98,8 +99,11 @@ func main() {
logger.Warn("push notifications not configured (missing VAPID_PUBLIC_KEY)")
}
// Email mailer
mailer := email.NewMailer(cfg.SMTP)
// Auth handler
authHandler := auth.NewHandler(database.DB, cfg, hub)
authHandler := auth.NewHandler(database.DB, cfg, hub, mailer)
// Permissions checker
permissionsChecker := permissions.NewChecker(database.DB)
@@ -225,6 +229,9 @@ func main() {
notification.NewHandler(database.DB, logger).RegisterRoutes(r)
})
// Push notifications
pushHandler.RegisterRoutes(r)
// Read receipts
rsHandler := readstate.NewHandler(database.DB, logger)
r.Put("/channels/{channelID}/read", rsHandler.MarkRead)
@@ -333,7 +340,7 @@ func main() {
})
// Static file serving for production (SPA)
staticDir := "/srv/web"
staticDir := "web/dist"
if _, err := os.Stat(staticDir); err == nil {
fileServer := http.FileServer(http.Dir(staticDir))
r.NotFound(func(w http.ResponseWriter, r *http.Request) {