// ListPlayersForSeason is a http handler that returns a list of all the // players active during the given season. // TODO(jackson): This endpoint isn't strictly correct, because if players // take a year off, we'll incorrectly include them in that year. func (s *Server) ListPlayersForSeason(ctx context.Context, rw http.ResponseWriter, req *http.Request, ps parameterSet) (interface{}, error) { var season data.Season err := season.UnmarshalText([]byte(ps["season"])) if err != nil { return nil, ErrBadRequest("Invalid season identifier") } const q = ` SELECT * FROM players WHERE NOT dleague AND career_start <= ? AND career_end >= ? ORDER BY last_name, first_name ASC ` var players []*data.PlayerDetails err = s.db.DB.Select(&players, q, season.SpringYear(), season.FallYear()) if err != nil { return nil, err } return players, nil }