chore: build
Backend - Build & Lint / build (push) Failing after 20m59s

This commit is contained in:
2026-07-01 21:53:04 +02:00
parent c8d1c75ee9
commit cc3a283fba
4 changed files with 116 additions and 64 deletions
+4 -2
View File
@@ -53,7 +53,7 @@ func InitDB() *Database {
// Configuration du pool de connexions
db.SetMaxOpenConns(50)
db.SetMaxIdleConns(10)
db.SetConnMaxLifetime(5 * time.Minute)
db.SetConnMaxLifetime(30 * time.Minute)
// Tester la connexion
if err = db.Ping(); err != nil {
@@ -66,7 +66,9 @@ func InitDB() *Database {
gormDB, err := gorm.Open(postgres.New(postgres.Config{
Conn: db,
}), &gorm.Config{
Logger: logger.Default.LogMode(logger.Silent),
SkipDefaultTransaction: true,
PrepareStmt: true,
Logger: logger.Default.LogMode(logger.Silent),
})
if err != nil {
log.Fatalf("❌ Erreur initialisation GORM: %v", err)
+27 -7
View File
@@ -57,15 +57,35 @@ type AdminStatsFilters struct {
ResetDoses time.Time
}
// LoadAdminStatsFilters lit toutes les dates de reset nécessaires au dashboard.
// LoadAdminStatsFilters lit toutes les dates de reset en une seule requête.
func (d *Database) LoadAdminStatsFilters() AdminStatsFilters {
keys := []string{
"stats_reset_commandes_at",
"stats_reset_revenus_at",
"stats_reset_produits_at",
"stats_reset_heures_at",
"stats_reset_jours_at",
"stats_reset_doses_at",
}
var rows []struct {
Key string `gorm:"column:key"`
Value string `gorm:"column:value"`
}
d.GDB.Table("app_settings").Select("key, value").Where("key IN ?", keys).Scan(&rows)
m := make(map[string]time.Time, len(keys))
for _, r := range rows {
if t, err := time.Parse(time.RFC3339, r.Value); err == nil {
m[r.Key] = t
}
}
return AdminStatsFilters{
ResetCommandes: d.ReadResetAt("stats_reset_commandes_at"),
ResetRevenus: d.ReadResetAt("stats_reset_revenus_at"),
ResetProduits: d.ReadResetAt("stats_reset_produits_at"),
ResetHeures: d.ReadResetAt("stats_reset_heures_at"),
ResetJours: d.ReadResetAt("stats_reset_jours_at"),
ResetDoses: d.ReadResetAt("stats_reset_doses_at"),
ResetCommandes: m["stats_reset_commandes_at"],
ResetRevenus: m["stats_reset_revenus_at"],
ResetProduits: m["stats_reset_produits_at"],
ResetHeures: m["stats_reset_heures_at"],
ResetJours: m["stats_reset_jours_at"],
ResetDoses: m["stats_reset_doses_at"],
}
}