diff options
author | John Cai <jcai@gitlab.com> | 2019-07-18 01:35:11 +0300 |
---|---|---|
committer | John Cai <jcai@gitlab.com> | 2019-08-08 04:12:59 +0300 |
commit | 763e8191b58adf97a3cfa0a7af59547ef70ca8c4 (patch) | |
tree | ecbf554c99f85df3bc00bd93572796e841579451 /internal/praefect/protoregistry | |
parent | 286e16e2963d42d36a3d55265052589b0a450de6 (diff) |
Updating data model for praefect
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 28610ae8b..fa49bd452 100644 --- a/internal/praefect/protoregistry/protoregistry.go +++ b/internal/praefect/protoregistry/protoregistry.go @@ -195,11 +195,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. @@ -215,13 +210,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 |