feat: storage, language rules and migration

This commit is contained in:
Florian Sylvain committed 2026-11-01 17:50:28 +01:00
1 parent 8c4a1825ab
commit 0806733d5c
70 files changed
+1771 -132

No files matched your search

@@ -0,0 +1,34 @@
package database
import (
"RenewCMS/internal/domain/language"
entity "RenewCMS/internal/infrastructure/persistence/models"
"gorm.io/gorm"
)
const siteLanguageSuggestionsMarker = "site_language_suggestions"
func SeedSiteLanguageSuggestions(db *gorm.DB) error {
return db.Transaction(func(tx *gorm.DB) error {
applied, err := markerApplied(tx, siteLanguageSuggestionsMarker)
if err != nil || applied {
return err
}
var sites []entity.Site
if err := tx.Order("id ASC").Find(&sites).Error; err != nil {
return err
}
for _, site := range sites {
suggestion := language.Suggest(site.Locale)
if !suggestion.Found {
continue
}
row := entity.SiteLanguage{SiteID: site.ID, Lang: suggestion.Tag, IsDefault: true, Enabled: true, Confirmed: false}
if err := tx.Create(&row).Error; err != nil {
return err
}
}
return applyMarker(tx, siteLanguageSuggestionsMarker)
})
}