diff options
Diffstat (limited to 'session/functions.go')
| -rw-r--r-- | session/functions.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/session/functions.go b/session/functions.go new file mode 100644 index 0000000..589091f --- /dev/null +++ b/session/functions.go @@ -0,0 +1,36 @@ +package session + +import "github.com/gofiber/fiber/v2" + +func CreateSession(context *fiber.Ctx, email string) error { + sess, err := Store.Get(context) + if err != nil { + return err + } + + sess.Set("email", email) + return sess.Save() +} + +func DestroySession(context *fiber.Ctx) error { + sess, err := Store.Get(context) + if err != nil { + return err + } + + return sess.Destroy() +} + +func GetSessionEmail(context *fiber.Ctx) (string, error) { + sess, err := Store.Get(context) + if err != nil { + return "", err + } + + email := sess.Get("email") + if emailStr, ok := email.(string); ok { + return emailStr, nil + } + + return "", nil +} |
