mirror of
https://github.com/StarFleetCPTN/GoMFT.git
synced 2026-09-08 15:41:20 +02:00
- Add new dependencies: `github.com/joho/godotenv`, `github.com/stretchr/testify`, and `gopkg.in/natefinch/lumberjack.v2` - Remove indirect dependency on `github.com/joho/godotenv` - Refactor JobRunDetails template to separate content rendering for improved testing - Enhance error message display in JobRunDetails template - Introduce new test files for JWT and password functionalities - Add comprehensive tests for database operations and error handling
36 lines
898 B
Go
36 lines
898 B
Go
package handlers
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/starfleetcptn/gomft/internal/db"
|
|
"github.com/starfleetcptn/gomft/internal/email"
|
|
"github.com/starfleetcptn/gomft/internal/scheduler"
|
|
)
|
|
|
|
// Handlers contains all the dependencies needed by the handlers
|
|
type Handlers struct {
|
|
DB *db.DB
|
|
Scheduler scheduler.SchedulerInterface
|
|
JWTSecret string
|
|
StartTime time.Time
|
|
DBPath string
|
|
BackupDir string
|
|
LogsDir string
|
|
Email *email.Service
|
|
}
|
|
|
|
// NewHandlers creates a new Handlers instance
|
|
func NewHandlers(database *db.DB, scheduler scheduler.SchedulerInterface, jwtSecret string, dbPath string, backupDir string, logsDir string, emailService *email.Service) *Handlers {
|
|
return &Handlers{
|
|
DB: database,
|
|
Scheduler: scheduler,
|
|
JWTSecret: jwtSecret,
|
|
StartTime: time.Now(),
|
|
DBPath: dbPath,
|
|
BackupDir: backupDir,
|
|
LogsDir: logsDir,
|
|
Email: emailService,
|
|
}
|
|
}
|