gorm wire

This commit is contained in:
2025-05-07 14:12:53 +08:00
parent 461531c308
commit 68606c76f9
111 changed files with 1726 additions and 5809 deletions

View File

@@ -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)