diff options
Diffstat (limited to 'app/graphql/mutations/user_callouts/create.rb')
-rw-r--r-- | app/graphql/mutations/user_callouts/create.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/app/graphql/mutations/user_callouts/create.rb b/app/graphql/mutations/user_callouts/create.rb new file mode 100644 index 00000000000..0d3dcacda41 --- /dev/null +++ b/app/graphql/mutations/user_callouts/create.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Mutations + module UserCallouts + class Create < ::Mutations::BaseMutation + graphql_name 'UserCalloutCreate' + + argument :feature_name, + GraphQL::STRING_TYPE, + required: true, + description: "The feature name you want to dismiss the callout for." + + field :user_callout, Types::UserCalloutType, + null: false, + description: 'The user callout dismissed.' + + def resolve(feature_name:) + callout = Users::DismissUserCalloutService.new( + container: nil, current_user: current_user, params: { feature_name: feature_name } + ).execute + errors = errors_on_object(callout) + + { + user_callout: callout, + errors: errors + } + end + end + end +end |