From a7a09ac2e3caa2ba7fab1837a98d3a42b42c30f7 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Fri, 1 May 2026 12:08:21 -0500 Subject: [PATCH] Update session.go --- config/session.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/config/session.go b/config/session.go index 7fdac86..cbf57e6 100755 --- a/config/session.go +++ b/config/session.go @@ -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 }