Unify env var reading in backend

This commit is contained in:
2024-10-29 20:41:11 +01:00
parent 87a2f12766
commit 1695b411e1
2 changed files with 10 additions and 10 deletions

View File

@@ -39,7 +39,13 @@ func main() {
// Initialize user service // Initialize user service
userService := user.NewUserService(database, fs) userService := user.NewUserService(database, fs)
if _, err := userService.SetupAdminUser(); err != nil {
adminEmail := os.Getenv("NOVAMD_ADMIN_EMAIL")
adminPassword := os.Getenv("NOVAMD_ADMIN_PASSWORD")
if adminEmail == "" || adminPassword == "" {
log.Fatal("NOVAMD_ADMIN_EMAIL and NOVAMD_ADMIN_PASSWORD environment variables must be set")
}
if _, err := userService.SetupAdminUser(adminEmail, adminPassword); err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@@ -3,7 +3,6 @@ package user
import ( import (
"fmt" "fmt"
"log" "log"
"os"
"golang.org/x/crypto/bcrypt" "golang.org/x/crypto/bcrypt"
@@ -24,18 +23,13 @@ func NewUserService(database *db.DB, fs *filesystem.FileSystem) *UserService {
} }
} }
func (s *UserService) SetupAdminUser() (*models.User, error) { func (s *UserService) SetupAdminUser(adminEmail, adminPassword string) (*models.User, error) {
// Get admin email and password from environment variables
adminEmail := os.Getenv("NOVAMD_ADMIN_EMAIL")
adminPassword := os.Getenv("NOVAMD_ADMIN_PASSWORD")
if adminEmail == "" || adminPassword == "" {
return nil, fmt.Errorf("NOVAMD_ADMIN_EMAIL and NOVAMD_ADMIN_PASSWORD environment variables must be set")
}
// Check if admin user exists // Check if admin user exists
adminUser, err := s.DB.GetUserByEmail(adminEmail) adminUser, err := s.DB.GetUserByEmail(adminEmail)
if adminUser != nil { if adminUser != nil {
return adminUser, nil // Admin user already exists return adminUser, nil // Admin user already exists
} else if err != nil {
return nil, err
} }
// Hash the password // Hash the password