diff --git a/graph/schema.helpers.go b/graph/schema.helpers.go index f9b77cf..6cb1b02 100644 --- a/graph/schema.helpers.go +++ b/graph/schema.helpers.go @@ -27,3 +27,13 @@ func (r *Resolver) toGqlSubGraph(subGraph *domain.SubGraph) *model.SubGraph { ChangedAt: subGraph.ChangedAt, } } + +func (r *Resolver) stringEqual(s1, s2 *string) bool { + if s1 == nil && s2 == nil { + return true + } + if s1 != nil && s2 != nil && *s1 == *s2 { + return true + } + return false +} diff --git a/graph/schema.resolvers.go b/graph/schema.resolvers.go index 7b9e5d3..6601f9d 100644 --- a/graph/schema.resolvers.go +++ b/graph/schema.resolvers.go @@ -27,7 +27,9 @@ func (r *mutationResolver) UpdateSubGraph(ctx context.Context, input model.Input if err != nil { return nil, err } - if strings.TrimSpace(input.Sdl) == strings.TrimSpace(subGraph.Sdl) { + if strings.TrimSpace(input.Sdl) == strings.TrimSpace(subGraph.Sdl) && + r.stringEqual(input.URL, subGraph.Url) && + r.stringEqual(input.WsURL, subGraph.WSUrl) { return r.toGqlSubGraph(subGraph), nil } serviceSDLs := []string{input.Sdl}