package movies import ( "fmt" "net/http" "github.com/odwrtw/papi" "github.com/odwrtw/polochon/lib" "github.com/odwrtw/polochon/modules/mock" "gitlab.quimbo.fr/odwrtw/canape-sql/auth" "gitlab.quimbo.fr/odwrtw/canape-sql/config" "gitlab.quimbo.fr/odwrtw/canape-sql/users" "gitlab.quimbo.fr/odwrtw/canape-sql/web" ) func FromPolochon(env *web.Env, w http.ResponseWriter, r *http.Request) error { v := auth.GetCurrentUser(r) user, ok := v.(*users.User) if !ok { return fmt.Errorf("invalid user type") } var polochonConfig config.UserPolochon err := user.GetConfig("polochon", &polochonConfig) if err != nil { return err } client, err := papi.New(polochonConfig.URL, polochonConfig.Token) if err != nil { return err } pmovies, err := client.MoviesByID() if err != nil { return err } movies := []*Movie{} //TODO use configurable detailer // detailer, err := tmdb.New(&tmdb.Params{"57be344f84917b3f32c68a678f1482eb"}) detailer, _ := mock.NewDetailer(nil) if err != nil { return err } for _, pm := range pmovies { m := New(pm.ImdbID) m.Detailers = []polochon.Detailer{detailer} err := m.GetDetails(env.Database, env.Log) if err != nil { env.Log.Error(err) } movies = append(movies, m) } env.Log.Info(movies) return nil }