diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2019-08-13 18:17:07 +0300 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2019-08-13 18:17:07 +0300 |
commit | d09c98f9ff0a1b7768b0f4c6bf88576e5bbbd80f (patch) | |
tree | 87c8e62173e4af68ddf82bb70c1fb9da7bc19fdb /internal/praefect/protoregistry | |
parent | 8cc7033e971a0fe001603f695dc02feae7ac34ec (diff) | |
parent | 763e8191b58adf97a3cfa0a7af59547ef70ca8c4 (diff) |
Merge branch 'jc-praefect-data-model' into 'master'
Updating data model for praefect
See merge request gitlab-org/gitaly!1399
Diffstat (limited to 'internal/praefect/protoregistry')
-rw-r--r-- | internal/praefect/protoregistry/protoregistry.go | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/internal/praefect/protoregistry/protoregistry.go b/internal/praefect/protoregistry/protoregistry.go index 363e023be..21c5254ff 100644 --- a/internal/praefect/protoregistry/protoregistry.go +++ b/internal/praefect/protoregistry/protoregistry.go @@ -207,11 +207,6 @@ func parseMethodInfo(methodDesc *descriptor.MethodDescriptorProto) (MethodInfo, opCode = OpUnknown } - targetRepo, err := parseOID(opMsg.GetTargetRepositoryField()) - if err != nil { - return MethodInfo{}, err - } - // for some reason, the protobuf descriptor contains an extra dot in front // of the request name that the generated code does not. This trimming keeps // the two copies consistent for comparisons. @@ -227,13 +222,22 @@ func parseMethodInfo(methodDesc *descriptor.MethodDescriptorProto) (MethodInfo, return MethodInfo{}, fmt.Errorf("encountered unknown method scope %d", opMsg.GetScopeLevel()) } - return MethodInfo{ + mi := MethodInfo{ Operation: opCode, Scope: scope, - targetRepo: targetRepo, requestName: requestName, requestFactory: reqFactory, - }, nil + } + + if scope == ScopeRepository { + targetRepo, err := parseOID(opMsg.GetTargetRepositoryField()) + if err != nil { + return MethodInfo{}, err + } + mi.targetRepo = targetRepo + } + + return mi, nil } // parses a string like "1.1" and returns a slice of ints |