gorm wire
This commit is contained in:
@@ -2,12 +2,14 @@ package session
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"management/internal/pkg/config"
|
||||
|
||||
"github.com/alexedwards/scs/postgresstore"
|
||||
"github.com/alexedwards/scs/v2"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type Session interface {
|
||||
@@ -23,7 +25,7 @@ type session struct {
|
||||
sessionManager *scs.SessionManager
|
||||
}
|
||||
|
||||
func New(db *sql.DB, prod bool) Session {
|
||||
func New(db *gorm.DB, config *config.Config) Session {
|
||||
sessionManager := scs.New()
|
||||
sessionManager.Lifetime = 24 * time.Hour
|
||||
sessionManager.IdleTimeout = 2 * time.Hour
|
||||
@@ -31,11 +33,12 @@ func New(db *sql.DB, prod bool) Session {
|
||||
sessionManager.Cookie.HttpOnly = true
|
||||
sessionManager.Cookie.Persist = true
|
||||
sessionManager.Cookie.SameSite = http.SameSiteStrictMode
|
||||
sessionManager.Cookie.Secure = prod
|
||||
sessionManager.Cookie.Secure = config.App.Prod
|
||||
|
||||
sqlDB, _ := db.DB()
|
||||
// postgres
|
||||
// github.com/alexedwards/scs/postgresstore
|
||||
sessionManager.Store = postgresstore.New(db)
|
||||
sessionManager.Store = postgresstore.New(sqlDB)
|
||||
// pgx
|
||||
// github.com/alexedwards/scs/pgxstore
|
||||
// sessionManager.Store = pgxstore.New(pool)
|
||||
|
||||
Reference in New Issue
Block a user