summaryrefslogtreecommitdiff
path: root/session/functions.go
blob: 286ebbb618f3d82aedb1e522fd67a4b9c51bb70e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package session

import "github.com/gofiber/fiber/v2"

const userIDKey = "user_id"

func CreateSession(ctx *fiber.Ctx, userID uint) error {
	return Set(ctx, userIDKey, userID)
}

func DestroySession(ctx *fiber.Ctx) error {
	return Delete(ctx, userIDKey)
}

func GetSessionUserID(ctx *fiber.Ctx) (uint, error) {
	value, err := Get(ctx, userIDKey)
	if err != nil || value == nil {
		return 0, err
	}

	userID, ok := value.(uint)
	if !ok {
		return 0, nil
	}

	return userID, nil
}