Diffstat (limited to 'internal/router/handlers/lang-user-unsubscribe.go')
| -rw-r--r-- | internal/router/handlers/lang-user-unsubscribe.go | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/internal/router/handlers/lang-user-unsubscribe.go b/internal/router/handlers/lang-user-unsubscribe.go deleted file mode 100644 index e22d854..0000000 --- a/internal/router/handlers/lang-user-unsubscribe.go +++ /dev/null @@ -1,69 +0,0 @@ -package handlers - -import ( - "log/slog" - - "github.com/SayaAndy/saya-today-web/internal/router" - "github.com/SayaAndy/saya-today-web/l10n" - "github.com/gofiber/fiber/v2" -) - -type UnsubscribeHandler struct { - router.BasicHandler -} - -func init() { - router.Routes = append(router.Routes, &UnsubscribeHandler{}) -} - -func (r *UnsubscribeHandler) Filter() (method string, path string) { - return "GET", "/:lang/user/unsubscribe" -} - -func (r *UnsubscribeHandler) IsTemplated() bool { - return false -} - -func (r *UnsubscribeHandler) TemplatesToInject() []string { - return []string{"views/pages/unsubscribe-page.html"} -} - -func (r *UnsubscribeHandler) ToValidateLang() router.LangSetting { - return router.InPath -} - -func (r *UnsubscribeHandler) Render(c *fiber.Ctx, supplements *router.Supplements, lang string, templateMap fiber.Map) (statusCode int, err error) { - var statusEmoji, statusText, statusColor string - var status int - - unsubscribeCode := c.FormValue("code") - if unsubscribeCode == "" { - statusColor = "0, 0, 255" - statusEmoji = "(╭ರ_•́)" - statusText = l10n.T.GetPath(lang, "UnsubscribePage", "UnsetCode").(string) - status = fiber.ErrBadRequest.Code - } else if clientError, serverError := supplements.Mailer.Unsubscribe(unsubscribeCode); clientError != nil { - slog.Info("got a client error when unsubscribing", slog.String("error", clientError.Error())) - statusColor = "255, 0, 0" - statusEmoji = "(͠≖~≖ ͡ )" - statusText = l10n.T.GetPath(lang, "UnsubscribePage", "InvalidCode").(string) - status = fiber.ErrBadRequest.Code - } else if serverError != nil { - slog.Error("got a server error when unsubscribing", slog.String("error", serverError.Error())) - statusColor = "255, 128, 0" - statusEmoji = "( ˶°ㅁ°) !!" - statusText = l10n.T.GetPath(lang, "UnsubscribePage", "OnServerError").(string) - status = fiber.ErrInternalServerError.Code - } else { - statusColor = "0, 255, 0" - statusEmoji = "♡⸜(˶˃ ᵕ ˂˶)⸝♡" - statusText = l10n.T.GetPath(lang, "UnsubscribePage", "Success").(string) - status = fiber.StatusOK - } - - templateMap["StatusColor"] = statusColor - templateMap["StatusEmoji"] = statusEmoji - templateMap["StatusText"] = statusText - - return status, nil -} |