Add session storage with Badger
This commit is contained in:
parent
949f78c069
commit
16ca31f27a
5 changed files with 208 additions and 5 deletions
|
|
@ -15,6 +15,9 @@ type Config struct {
|
|||
Database struct {
|
||||
Location string `env:"DATABASE_LOCATION"`
|
||||
}
|
||||
Sessions struct {
|
||||
Location string `env:"SESSIONS_LOCATION"`
|
||||
}
|
||||
}
|
||||
|
||||
var configParsed bool
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
package helpers
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/gofiber/fiber/v2/middleware/session"
|
||||
"github.com/gofiber/storage/badger/v2"
|
||||
)
|
||||
|
||||
var store *session.Store
|
||||
|
|
@ -10,8 +13,21 @@ var storeCreated bool
|
|||
|
||||
func GetSessionStore(c *fiber.Ctx) (*session.Session, error) {
|
||||
if !storeCreated {
|
||||
// TODO: Storage interface
|
||||
store = session.New()
|
||||
config, err := GetConfig()
|
||||
if err != nil {
|
||||
var sess *session.Session
|
||||
return sess, err
|
||||
}
|
||||
|
||||
storage := badger.New(badger.Config{
|
||||
Database: config.Sessions.Location,
|
||||
Reset: false,
|
||||
GCInterval: 10 * time.Second,
|
||||
})
|
||||
|
||||
store = session.New(session.Config{
|
||||
Storage: storage,
|
||||
})
|
||||
storeCreated = true
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue