func serviceInstances(w http.ResponseWriter, r *http.Request, t *auth.Token) error { u, err := t.User() if err != nil { return err } rec.Log(u.Email, "list-service-instances") services, _ := service.GetServicesByTeamKindAndNoRestriction("teams", u) sInstances, _ := service.GetServiceInstancesByServicesAndTeams(services, u) result := make([]service.ServiceModel, len(services)) for i, s := range services { result[i].Service = s.Name for _, si := range sInstances { if si.ServiceName == s.Name { result[i].Instances = append(result[i].Instances, si.Name) } } } body, err := json.Marshal(result) if err != nil { return err } n, err := w.Write(body) if n != len(body) { return &errors.HTTP{Code: http.StatusInternalServerError, Message: "Failed to write the response body."} } return err }
func serviceAndServiceInstancesByTeams(u *auth.User) []service.ServiceModel { services, _ := service.GetServicesByTeamKindAndNoRestriction("teams", u) sInstances, _ := service.GetServiceInstancesByServicesAndTeams(services, u) results := make([]service.ServiceModel, len(services)) for i, s := range services { results[i].Service = s.Name for _, si := range sInstances { if si.ServiceName == s.Name { results[i].Instances = append(results[i].Instances, si.Name) } } } return results }