Security/quality

This commit is contained in:
HugeFrog24
2026-03-05 01:51:59 +01:00
parent 6e2d2fce2f
commit e1a9261699
30 changed files with 2823 additions and 295 deletions
Executable → Regular
+12 -1
View File
@@ -3,6 +3,7 @@ package main
import (
"fmt"
"log"
"os"
"time"
"gorm.io/driver/sqlite"
@@ -11,6 +12,10 @@ import (
)
func initDB() (*gorm.DB, error) {
if err := os.MkdirAll("data", 0750); err != nil {
return nil, fmt.Errorf("failed to create data directory: %w", err)
}
newLogger := logger.New(
log.New(log.Writer(), "\r\n", log.LstdFlags),
logger.Config{
@@ -20,13 +25,19 @@ func initDB() (*gorm.DB, error) {
},
)
db, err := gorm.Open(sqlite.Open("bot.db"), &gorm.Config{
db, err := gorm.Open(sqlite.Open("data/bot.db?_journal_mode=WAL&_busy_timeout=5000"), &gorm.Config{
Logger: newLogger,
})
if err != nil {
return nil, fmt.Errorf("failed to connect to database: %w", err)
}
sqlDB, err := db.DB()
if err != nil {
return nil, fmt.Errorf("failed to get underlying sql.DB: %w", err)
}
sqlDB.SetMaxOpenConns(1)
// AutoMigrate the models
err = db.AutoMigrate(&BotModel{}, &ConfigModel{}, &Message{}, &User{}, &Role{})
if err != nil {