Class: Mutations::Users::GroupCallouts::Create

Inherits:
BaseMutation
  • Object
show all
Includes:
Gitlab::Graphql::Authorize::AuthorizeResource
Defined in:
app/graphql/mutations/users/group_callouts/create.rb

Constant Summary

Constants included from Gitlab::Graphql::Authorize::AuthorizeResource

Gitlab::Graphql::Authorize::AuthorizeResource::ConfigurationError, Gitlab::Graphql::Authorize::AuthorizeResource::RESOURCE_ACCESS_ERROR

Constants inherited from BaseMutation

BaseMutation::ERROR_MESSAGE

Instance Method Summary collapse

Methods included from Gitlab::Graphql::Authorize::AuthorizeResource

#authorize!, #authorized_find!, #authorized_resource?, #find_object, #raise_resource_not_available_error!

Methods inherited from BaseMutation

#api_user?, authorization, authorization_scopes, authorized?, authorizes_object?, #current_user, #errors_on_object, #load_application_object, #read_only?, #ready?, #unauthorized_object

Instance Method Details

#resolve(feature_name:, group_id:) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/graphql/mutations/users/group_callouts/create.rb', line 27

def resolve(feature_name:, group_id:)
  group = authorized_find!(id: group_id)

  callout = ::Users::DismissGroupCalloutService.new(
    container: nil, current_user: current_user, params: { feature_name: feature_name, group_id: group.id }
  ).execute
  errors = errors_on_object(callout)

  {
    user_group_callout: callout,
    errors: errors
  }
end