diff --git a/admin/api/sync.go b/admin/api/sync.go index baaa5125..22f63154 100644 --- a/admin/api/sync.go +++ b/admin/api/sync.go @@ -15,6 +15,13 @@ import ( "github.com/gin-gonic/gin" ) +func flatifySyncErrors(errs []error) (ret []string) { + for _, err := range errs { + ret = append(ret, err.Error()) + } + return +} + func declareSyncRoutes(router *gin.RouterGroup) { apiSyncRoutes := router.Group("/sync") @@ -71,7 +78,7 @@ func declareSyncRoutes(router *gin.RouterGroup) { apiSyncRoutes.POST("/themes", func(c *gin.Context) { _, errs := sync.SyncThemes(sync.GlobalImporter) - c.JSON(http.StatusOK, errs) + c.JSON(http.StatusOK, flatifySyncErrors(errs)) }) apiSyncThemesRoutes := apiSyncRoutes.Group("/themes/:thid") @@ -135,7 +142,7 @@ func declareSyncExercicesRoutes(router *gin.RouterGroup) { theme := c.MustGet("theme").(*fic.Theme) exceptions := sync.LoadException(sync.GlobalImporter, theme) - c.JSON(http.StatusOK, sync.SyncExercices(sync.GlobalImporter, theme, exceptions)) + c.JSON(http.StatusOK, flatifySyncErrors(sync.SyncExercices(sync.GlobalImporter, theme, exceptions))) }) apiSyncExercicesRoutes := router.Group("/exercices/:eid") apiSyncExercicesRoutes.Use(ExerciceHandler) @@ -147,7 +154,7 @@ func declareSyncExercicesRoutes(router *gin.RouterGroup) { exercice := c.MustGet("exercice").(*fic.Exercice) _, _, errs := sync.SyncExercice(sync.GlobalImporter, theme, exercice.Path, nil, exceptions) - c.JSON(http.StatusOK, errs) + c.JSON(http.StatusOK, flatifySyncErrors(errs)) }) apiSyncExercicesRoutes.POST("/files", func(c *gin.Context) { exercice := c.MustGet("exercice").(*fic.Exercice) @@ -179,7 +186,7 @@ func declareSyncExercicesRoutes(router *gin.RouterGroup) { exceptions := sync.LoadException(sync.GlobalImporter, theme) _, errs := sync.SyncExerciceHints(sync.GlobalImporter, exercice, sync.ExerciceFlagsMap(sync.GlobalImporter, exercice), exceptions) - c.JSON(http.StatusOK, errs) + c.JSON(http.StatusOK, flatifySyncErrors(errs)) }) apiSyncExercicesRoutes.POST("/flags", func(c *gin.Context) { exercice := c.MustGet("exercice").(*fic.Exercice) @@ -188,7 +195,7 @@ func declareSyncExercicesRoutes(router *gin.RouterGroup) { exceptions := sync.LoadException(sync.GlobalImporter, theme) _, errs := sync.SyncExerciceFlags(sync.GlobalImporter, exercice, exceptions) _, herrs := sync.SyncExerciceHints(sync.GlobalImporter, exercice, sync.ExerciceFlagsMap(sync.GlobalImporter, exercice), exceptions) - c.JSON(http.StatusOK, append(errs, herrs...)) + c.JSON(http.StatusOK, flatifySyncErrors(append(errs, herrs...))) }) }