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
import (
"log"
"time"
"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.
// Si el provider PostgreSQL falla (credenciales, red, etc.), usa memoria como fallback.
func (s *SessionConfig) Setup(db DatabaseDriver) error {
port := int64(db.Port)
if port == 0 {
port = 5432
}
provider, err := pgprovider.New(pgprovider.Config{
Host: db.Host,
Port: int64(db.Port),
Port: port,
Username: db.Username,
Password: db.Password,
Database: db.DBName,
@@ -25,13 +32,17 @@ func (s *SessionConfig) Setup(db DatabaseDriver) error {
ConnMaxLifetime: 5 * time.Minute,
})
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{
Expiration: 365 * 24 * time.Hour, // 1 año
Expiration: 365 * 24 * time.Hour,
Provider: provider,
})
log.Println("[SESSION] Sesiones persistentes en PostgreSQL (tabla: sessions)")
return nil
}