func GetPerm(c context.Context, u *model.User, owner, name string) (*model.Perm, error) {
	return FromContext(c).GetPerm(u, owner, name)
}
GetPerm gets a repository permission from the remote system.
package remote
import (
	"net/http"
	"github.com/lgtmco/lgtm/model"
	"golang.org/x/net/context"
)
type Remote interface {
	GetUser(http.ResponseWriter, *http.Request) (*model.User, error)
	GetUserToken(string) (string, error)
	GetTeams(*model.User) ([]*model.Team, error)
	GetMembers(*model.User, string) ([]*model.Member, error)
	GetRepo(*model.User, string, string) (*model.Repo, error)
	GetPerm(*model.User, string, string) (*model.Perm, error)
	GetRepos(*model.User) ([]*model.Repo, error)
	SetHook(*model.User, *model.Repo, string) error
	DelHook(*model.User, *model.Repo, string) error
	GetComments(*model.User, *model.Repo, int) ([]*model.Comment, error)
	GetContents(*model.User, *model.Repo, string) ([]byte, error)
	SetStatus(*model.User, *model.Repo, int, int, int) error
	GetHook(r *http.Request) (*model.Hook, error)
}
func GetUser(c context.Context, w http.ResponseWriter, r *http.Request) (*model.User, error) {
	return FromContext(c).GetUser(w, r)
}
func GetUserToken(c context.Context, token string) (string, error) {
	return FromContext(c).GetUserToken(token)
}
func GetTeams(c context.Context, u *model.User) ([]*model.Team, error) {
	return FromContext(c).GetTeams(u)
}
func GetMembers(c context.Context, u *model.User, team string) ([]*model.Member, error) {
	return FromContext(c).GetMembers(u, team)
}
func GetRepo(c context.Context, u *model.User, owner, name string) (*model.Repo, error) {
	return FromContext(c).GetRepo(u, owner, name)
}