Theme can be optional: exercices can be standalone

This commit is contained in:
nemunaire 2024-03-12 10:12:40 +01:00
parent 3519f7416d
commit a0bc832910
8 changed files with 81 additions and 39 deletions

View file

@ -279,14 +279,20 @@ func exportResolutionMovies(c *gin.Context) {
export := []map[string]string{}
for _, exercice := range exercices {
if theme, err := fic.GetTheme(exercice.IdTheme); err != nil {
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": err.Error()})
return
} else if len(exercice.VideoURI) > 0 {
var tname string
if exercice.IdTheme != nil {
theme, err := fic.GetTheme(*exercice.IdTheme)
if err != nil {
c.AbortWithStatusJSON(http.StatusInternalServerError, gin.H{"errmsg": err.Error()})
return
}
tname = theme.Name
}
if len(exercice.VideoURI) > 0 {
level, _ := exercice.GetLevel()
export = append(export, map[string]string{
"videoURI": strings.Replace(exercice.VideoURI, "$FILES$/", "files/", 1),
"theme": theme.Name,
"theme": tname,
"title": exercice.Title,
"level": fmt.Sprintf("%d", level),
})