Class: Mutations::Members::BulkUpdateBase
- Inherits:
-
BaseMutation
- Object
- GraphQL::Schema::RelayClassicMutation
- BaseMutation
- Mutations::Members::BulkUpdateBase
- Includes:
- API::Helpers::MembersHelpers
- Defined in:
- app/graphql/mutations/members/bulk_update_base.rb
Direct Known Subclasses
Constant Summary collapse
- MAX_MEMBERS_UPDATE_LIMIT =
50
- MAX_MEMBERS_UPDATE_ERROR =
"Count of members to be updated should be less than #{MAX_MEMBERS_UPDATE_LIMIT}." .freeze
- INVALID_MEMBERS_ERROR =
'Only access level of direct members can be updated.'
Constants inherited from BaseMutation
Constants included from Gitlab::Graphql::Authorize::AuthorizeResource
Gitlab::Graphql::Authorize::AuthorizeResource::ConfigurationError, Gitlab::Graphql::Authorize::AuthorizeResource::RESOURCE_ACCESS_ERROR
Instance Method Summary collapse
Methods included from API::Helpers::MembersHelpers
#add_multiple_members?, #add_single_member, #authorize_admin_source!, #authorize_admin_source_member!, #authorize_read_source_member!, #authorize_update_source_member!, #check_existing_membership, #find_all_members, #find_all_members_for_group, #find_all_members_for_project, #find_source, member_access_levels, #present_member_invitations, #present_members, #present_members_with_invited_private_group_accessibility, #present_put_membership_response, #retrieve_member_invitations, #retrieve_members, #source_members
Methods inherited from BaseMutation
#api_user?, authorization, authorization_scopes, authorized?, authorizes_object?, #current_user, #errors_on_object, #load_application_object, #read_only?, #unauthorized_object
Methods included from Gitlab::Graphql::Authorize::AuthorizeResource
#authorize!, #authorized_find!, #authorized_resource?, #raise_resource_not_available_error!
Instance Method Details
#resolve(**args) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/graphql/mutations/members/bulk_update_base.rb', line 28 def resolve(**args) source = (source_id: args[source_id_param_name]) result = ::Members::UpdateService .new(current_user, args.except(:user_ids, source_id_param_name).merge({ source: source })) .execute(@updatable_members) present_result(result) rescue Gitlab::Access::AccessDeniedError { errors: ["Unable to update members, please check user permissions."] } end |