diff options
| author | 2025-10-28 23:15:23 +0700 | |
|---|---|---|
| committer | 2025-10-28 23:15:23 +0700 | |
| commit | bda4faeeed4d9859cfe8afd7952a751683d74bd8 (patch) | |
| tree | 464c18fed0c21b63b65425f48a3a790229461058 /internal/router/api-v1-subs.go | |
| parent | dd69b45d3a41be2b5c38892c3b107770a0f859f2 (diff) | |
| parent | 1862f232eb70105340a91e74a5630c233a411bca (diff) | |
| download | web-bda4faeeed4d9859cfe8afd7952a751683d74bd8.tar.gz web-bda4faeeed4d9859cfe8afd7952a751683d74bd8.zip | |
v0.11.1 (#18)v0.11.1
- refactor: make structurized implementation of routes + separate
identity of router
- feat: update go to 1.25
- feat: update all dependencies
- debug: display routes when debug logs turned on
Diffstat (limited to 'internal/router/api-v1-subs.go')
| -rw-r--r-- | internal/router/api-v1-subs.go | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/internal/router/api-v1-subs.go b/internal/router/api-v1-subs.go deleted file mode 100644 index 72f16e0..0000000 --- a/internal/router/api-v1-subs.go +++ /dev/null @@ -1,67 +0,0 @@ -package router - -import ( - "net/url" - "strings" - - "github.com/SayaAndy/saya-today-web/internal/mailer" - "github.com/SayaAndy/saya-today-web/locale" - "github.com/gofiber/fiber/v2" -) - -func init() { - assert(0, tm.Add("personal-page-status", "views/partials/personal-page-status.html")) -} - -func Api_V1_Subs_Put(l map[string]*locale.LocaleConfig) func(c *fiber.Ctx) error { - return func(c *fiber.Ctx) error { - c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8) - - id := c.IP() - lang := "en" - - var referer, path string - var pathParts []string - var urlStruct *url.URL - var err error - - referer = c.Get("Referer", "") - if referer == "" { - goto skipFetchingLang - } - - urlStruct, err = url.ParseRequestURI(referer) - if err != nil { - goto skipFetchingLang - } - - path = urlStruct.EscapedPath() - pathParts = strings.Split(strings.Trim(path, "/"), "/") - if len(pathParts) == 0 { - goto skipFetchingLang - } - - lang = pathParts[0] - - skipFetchingLang: - subscriptionType := c.FormValue("tags") - var subscriptionTypeEnum mailer.SubscriptionType - switch subscriptionType { - case "all": - subscriptionTypeEnum = mailer.All - case "none": - subscriptionTypeEnum = mailer.None - case "specific": - subscriptionTypeEnum = mailer.Specific - default: - return api_v1_email_sendStatusHtml(c, "subs-message", l, "Failed", fiber.StatusUnprocessableEntity, lang, l[lang].UserProfile.SubscribeInvalidType, map[string]string{}) - } - - specificTags := c.FormValue("tags_picked") - if err = Mailer.Subscribe(Mailer.GetHash(id), subscriptionTypeEnum, specificTags); err != nil { - return api_v1_email_sendStatusHtml(c, "subs-message", l, "Failed", fiber.StatusUnprocessableEntity, lang, l[lang].UserProfile.FailedToSubscribe, map[string]string{}) - } - - return api_v1_email_sendStatusHtml(c, "subs-message", l, "OK", fiber.StatusOK, lang, l[lang].UserProfile.SubscribedSuccessfully, map[string]string{}) - } -} |