diff options
Diffstat (limited to 'app/graphql/resolvers/design_management/design_at_version_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/design_management/design_at_version_resolver.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/graphql/resolvers/design_management/design_at_version_resolver.rb b/app/graphql/resolvers/design_management/design_at_version_resolver.rb index fd9b349f974..1b69efebe4e 100644 --- a/app/graphql/resolvers/design_management/design_at_version_resolver.rb +++ b/app/graphql/resolvers/design_management/design_at_version_resolver.rb @@ -9,7 +9,7 @@ module Resolvers authorize :read_design - argument :id, GraphQL::ID_TYPE, + argument :id, ::Types::GlobalIDType[::DesignManagement::DesignAtVersion], required: true, description: 'The Global ID of the design at this version' @@ -18,7 +18,10 @@ module Resolvers end def find_object(id:) - dav = GitlabSchema.object_from_id(id, expected_type: ::DesignManagement::DesignAtVersion) + # TODO: remove this line when the compatibility layer is removed + # See: https://gitlab.com/gitlab-org/gitlab/-/issues/257883 + id = ::Types::GlobalIDType[::DesignManagement::DesignAtVersion].coerce_isolated_input(id) + dav = GitlabSchema.find_by_gid(id) return unless consistent?(dav) dav @@ -35,7 +38,7 @@ module Resolvers # that the DesignAtVersion as found by its ID does in fact belong # to this issue. def consistent?(dav) - issue.nil? || (dav&.design&.issue_id == issue.id) + issue.nil? || (dav.present? && dav.design&.issue_id == issue.id) end def issue |