package config import ( "time" "github.com/gofiber/session/v2" pgprovider "github.com/gofiber/session/v2/provider/postgres" ) type SessionConfig struct { *session.Session } // Setup configura el almacén de sesiones en PostgreSQL con expiración de 1 año. func (s *SessionConfig) Setup(db DatabaseDriver) error { provider, err := pgprovider.New(pgprovider.Config{ Host: db.Host, Port: int64(db.Port), Username: db.Username, Password: db.Password, Database: db.DBName, TableName: "sessions", MaxOpenConns: 20, MaxIdleConns: 10, ConnMaxLifetime: 5 * time.Minute, }) if err != nil { return err } s.Session = session.New(session.Config{ Expiration: 365 * 24 * time.Hour, // 1 año Provider: provider, }) return nil }