Update session.go

This commit is contained in:
Lizandro Guarnizo
2026-05-01 12:08:21 -05:00
parent 5e0b6ae2f0
commit a7a09ac2e3
+15 -4
View File
@@ -1,6 +1,7 @@
package config package config
import ( import (
"log"
"time" "time"
"github.com/gofiber/session/v2" "github.com/gofiber/session/v2"
@@ -12,10 +13,16 @@ type SessionConfig struct {
} }
// Setup configura el almacén de sesiones en PostgreSQL con expiración de 1 año. // Setup configura el almacén de sesiones en PostgreSQL con expiración de 1 año.
// Si el provider PostgreSQL falla (credenciales, red, etc.), usa memoria como fallback.
func (s *SessionConfig) Setup(db DatabaseDriver) error { func (s *SessionConfig) Setup(db DatabaseDriver) error {
port := int64(db.Port)
if port == 0 {
port = 5432
}
provider, err := pgprovider.New(pgprovider.Config{ provider, err := pgprovider.New(pgprovider.Config{
Host: db.Host, Host: db.Host,
Port: int64(db.Port), Port: port,
Username: db.Username, Username: db.Username,
Password: db.Password, Password: db.Password,
Database: db.DBName, Database: db.DBName,
@@ -25,13 +32,17 @@ func (s *SessionConfig) Setup(db DatabaseDriver) error {
ConnMaxLifetime: 5 * time.Minute, ConnMaxLifetime: 5 * time.Minute,
}) })
if err != nil { if err != nil {
return err log.Printf("[SESSION] PostgreSQL provider error, usando memoria: %v", err)
s.Session = session.New(session.Config{
Expiration: 365 * 24 * time.Hour,
})
return nil
} }
s.Session = session.New(session.Config{ s.Session = session.New(session.Config{
Expiration: 365 * 24 * time.Hour, // 1 año Expiration: 365 * 24 * time.Hour,
Provider: provider, Provider: provider,
}) })
log.Println("[SESSION] Sesiones persistentes en PostgreSQL (tabla: sessions)")
return nil return nil
} }