Files
musenalm/controllers/flash.go
2026-01-23 20:00:55 +01:00

48 lines
937 B
Go

package controllers
import (
"net/http"
"net/url"
"github.com/pocketbase/pocketbase/core"
)
const flashSuccessCookieName = "flash_success"
func setFlashSuccess(e *core.RequestEvent, message string) {
if e == nil || message == "" {
return
}
e.SetCookie(&http.Cookie{
Name: flashSuccessCookieName,
Value: url.QueryEscape(message),
Path: "/",
MaxAge: 60,
HttpOnly: true,
SameSite: http.SameSiteLaxMode,
})
}
func popFlashSuccess(e *core.RequestEvent) string {
if e == nil || e.Request == nil {
return ""
}
cookie, err := e.Request.Cookie(flashSuccessCookieName)
if err != nil || cookie == nil || cookie.Value == "" {
return ""
}
e.SetCookie(&http.Cookie{
Name: flashSuccessCookieName,
Value: "",
Path: "/",
MaxAge: -1,
HttpOnly: true,
SameSite: http.SameSiteLaxMode,
})
value, err := url.QueryUnescape(cookie.Value)
if err != nil {
return ""
}
return value
}