refac: runtime settings are read once at startup and passed in through the composition root; no handler, router or repository reads environment variables

This commit is contained in:
fsylvain committed 2026-09-24 01:30:00 +02:00
1 parent e474f03d91
commit 0b4e614ec9
15 files changed
+722 -66

No files matched your search

@@ -13,11 +13,12 @@ import (
)
type ImageRepository struct {
db *gorm.DB
db *gorm.DB
uploadDir string
}
func NewImageRepository(db *gorm.DB) *ImageRepository {
return &ImageRepository{db}
func NewImageRepository(db *gorm.DB, uploadDir string) *ImageRepository {
return &ImageRepository{db, uploadDir}
}
var contentTypeExtensions = map[string]string{
@@ -28,7 +29,7 @@ var contentTypeExtensions = map[string]string{
}
func (i ImageRepository) Create(input domain.ImageInput) (domain.Image, error) {
uploadDir := os.Getenv("UPLOAD_DIR")
uploadDir := i.uploadDir
fileBytes, err := io.ReadAll(input.Content)
if err != nil {
@@ -57,7 +58,7 @@ func (i ImageRepository) Create(input domain.ImageInput) (domain.Image, error) {
}
func (i ImageRepository) Delete(id uint32) error {
uploadDir := os.Getenv("UPLOAD_DIR")
uploadDir := i.uploadDir
var entityImage entity.Image
err := i.db.Model(&entity.Image{}).First(&entityImage, id).Error
if err != nil {