func servicePlans(w http.ResponseWriter, r *http.Request, t auth.Token) error { serviceName := r.URL.Query().Get(":name") s, err := getService(serviceName) if err != nil { return err } if s.IsRestricted { allowed := permission.Check(t, permission.PermServiceReadPlans, append(permission.Contexts(permission.CtxTeam, s.Teams), permission.Context(permission.CtxService, s.Name), )..., ) if !allowed { return permission.ErrUnauthorized } } rec.Log(t.GetUserName(), "service-plans", serviceName) plans, err := service.GetPlansByServiceName(serviceName) if err != nil { return err } b, err := json.Marshal(plans) if err != nil { return nil } w.Write(b) return nil }
func servicePlans(w http.ResponseWriter, r *http.Request, t *auth.Token) error { u, err := t.User() if err != nil { return err } serviceName := r.URL.Query().Get(":name") rec.Log(u.Email, "service-plans", serviceName) plans, err := service.GetPlansByServiceName(serviceName) if err != nil { return err } b, err := json.Marshal(plans) if err != nil { return nil } w.Write(b) return nil }
// title: service plans // path: /services/{name}/plans // method: GET // produce: application/json // responses: // 200: OK // 401: Unauthorized // 404: Service not found func servicePlans(w http.ResponseWriter, r *http.Request, t auth.Token) error { serviceName := r.URL.Query().Get(":name") s, err := getService(serviceName) if err != nil { return err } if s.IsRestricted { allowed := permission.Check(t, permission.PermServiceReadPlans, contextsForService(&s)..., ) if !allowed { return permission.ErrUnauthorized } } requestIDHeader, _ := config.GetString("request-id-header") requestID := context.GetRequestID(r, requestIDHeader) plans, err := service.GetPlansByServiceName(serviceName, requestID) if err != nil { return err } w.Header().Set("Content-Type", "application/json") return json.NewEncoder(w).Encode(plans) }
// title: service plans // path: /services/{name}/plans // method: GET // produce: application/json // responses: // 200: OK // 401: Unauthorized // 404: Service not found func servicePlans(w http.ResponseWriter, r *http.Request, t auth.Token) error { serviceName := r.URL.Query().Get(":name") s, err := getService(serviceName) if err != nil { return err } if s.IsRestricted { allowed := permission.Check(t, permission.PermServiceReadPlans, append(permission.Contexts(permission.CtxTeam, s.Teams), permission.Context(permission.CtxService, s.Name), )..., ) if !allowed { return permission.ErrUnauthorized } } rec.Log(t.GetUserName(), "service-plans", serviceName) plans, err := service.GetPlansByServiceName(serviceName) if err != nil { return err } w.Header().Set("Content-Type", "application/json") return json.NewEncoder(w).Encode(plans) }