admin: Refactor sync/auto

This commit is contained in:
nemunaire 2023-05-05 11:44:09 +02:00
parent abd91012f8
commit 63cf665f2d

View File

@ -224,10 +224,22 @@ func autoSync(c *gin.Context) {
return return
} }
var theTheme *fic.Theme
for _, theme := range themes { for _, theme := range themes {
if theme.Path == p { if theme.Path == p {
theTheme = theme
break
}
}
if theTheme == nil {
c.AbortWithStatusJSON(http.StatusNotFound, gin.H{"errmsg": fmt.Sprintf("Theme not found %q", p)})
return
}
if !IsProductionEnv { if !IsProductionEnv {
exercices, err := theme.GetExercices() exercices, err := theTheme.GetExercices()
if err == nil { if err == nil {
for _, exercice := range exercices { for _, exercice := range exercices {
exercice.DeleteDeep() exercice.DeleteDeep()
@ -235,21 +247,16 @@ func autoSync(c *gin.Context) {
} }
} }
exceptions := sync.LoadException(sync.GlobalImporter, theme) exceptions := sync.LoadException(sync.GlobalImporter, theTheme)
var st []string var st []string
for _, se := range sync.SyncThemeDeep(sync.GlobalImporter, theme, 0, 250, exceptions) { for _, se := range sync.SyncThemeDeep(sync.GlobalImporter, theTheme, 0, 250, exceptions) {
st = append(st, se.Error()) st = append(st, se.Error())
} }
sync.EditDeepReport(&sync.SyncReport{Themes: map[string][]string{theme.Name: st}}, false) sync.EditDeepReport(&sync.SyncReport{Themes: map[string][]string{theTheme.Name: st}}, false)
sync.DeepSyncProgress = 255 sync.DeepSyncProgress = 255
settings.ForceRegeneration() settings.ForceRegeneration()
c.JSON(http.StatusOK, st) c.JSON(http.StatusOK, st)
return
}
}
c.AbortWithStatusJSON(http.StatusNotFound, gin.H{"errmsg": fmt.Sprintf("Theme not found %q", p)})
} }