package main import ( "fmt" "srs.epita.fr/fic-server/libfic" ) type statsTheme struct { SolvedByLevel []int `json:"solvedByLevel"` } type stats struct { Themes map[string]statsTheme `json:"themes"` TryRank []int64 `json:"tryRank"` } func genStats() (interface{}, error) { ret := map[string]statsTheme{} if themes, err := fic.GetThemes(); err != nil { return nil, err } else { for _, theme := range themes { if exercices, err := theme.GetExercices(); err != nil { return nil, err } else { exos := map[string]fic.ExportedExercice{} for _, exercice := range exercices { exos[fmt.Sprintf("%d", exercice.Id)] = fic.ExportedExercice{ exercice.Title, exercice.Gain, exercice.SolvedCount(), exercice.TriedTeamCount(), } } ret[fmt.Sprintf("%d", theme.Id)] = statsTheme{} } } return ret, nil } }