Skip to content

Commit 836a60e

Browse files
authored
bug: fix mutation and query consistency implementation (#121) (#124)
1 parent b07a241 commit 836a60e

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

gateway/resolver/resolver.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -416,15 +416,17 @@ func (r *Service) CommonResolver() graphql.FieldResolveFn {
416416
func (r *Service) SanitizeGroupName(groupName string) string {
417417
originalGroupName := groupName
418418

419-
groupName = invalidGroupCharRegex.ReplaceAllString(groupName, "_")
419+
sanitizedGroupName := invalidGroupCharRegex.ReplaceAllString(groupName, "_")
420420
// If the name doesn't start with a letter or underscore, prepend '_'
421-
if groupName != "" && !validGroupStartRegex.MatchString(groupName) {
422-
groupName = "_" + groupName
421+
if sanitizedGroupName != "" && !validGroupStartRegex.MatchString(sanitizedGroupName) {
422+
sanitizedGroupName = "_" + sanitizedGroupName
423423
}
424424

425-
r.storeOriginalGroupName(groupName, originalGroupName)
425+
if _, exists := r.groupNames[sanitizedGroupName]; !exists || r.groupNames[sanitizedGroupName] == sanitizedGroupName {
426+
r.storeOriginalGroupName(sanitizedGroupName, originalGroupName)
427+
}
426428

427-
return groupName
429+
return sanitizedGroupName
428430
}
429431

430432
func (r *Service) storeOriginalGroupName(groupName, originalName string) {

gateway/resolver/resolver_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,8 @@ func TestSanitizeGroupName(t *testing.T) {
726726

727727
for _, tt := range tests {
728728
t.Run(tt.name, func(t *testing.T) {
729+
r := &resolver.Service{}
730+
r.SetGroupNames(make(map[string]string))
729731
result := r.SanitizeGroupName(tt.input)
730732
assert.Equal(t, tt.expected, result)
731733
assert.Equal(t, tt.input, r.GetGroupName(result), "The original group name should be stored correctly")

0 commit comments

Comments
 (0)