Files
soft_usite/config/session.go
T

38 lines
812 B
Go
Executable File

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
}