func GrantServiceAccessToTeamHandler(w http.ResponseWriter, r *http.Request, u *auth.User) error { service, t, err := getServiceAndTeam(r.URL.Query().Get(":service"), r.URL.Query().Get(":team"), u) if err != nil { return err } err = service.GrantAccess(t) if err != nil { return &errors.Http{Code: http.StatusConflict, Message: err.Error()} } conn, err := db.Conn() if err != nil { return err } return conn.Services().Update(bson.M{"_id": service.Name}, service) }
func grantServiceAccess(w http.ResponseWriter, r *http.Request, t *auth.Token) error { u, err := t.User() if err != nil { return err } serviceName := r.URL.Query().Get(":service") teamName := r.URL.Query().Get(":team") rec.Log(u.Email, "grant-service-access", "service="+serviceName, "team="+teamName) service, team, err := getServiceAndTeam(serviceName, teamName, u) if err != nil { return err } err = service.GrantAccess(team) if err != nil { return &errors.HTTP{Code: http.StatusConflict, Message: err.Error()} } conn, err := db.Conn() if err != nil { return err } return conn.Services().Update(bson.M{"_id": service.Name}, service) }