Class: Mutations::Todos::BaseMany
- Inherits:
-
BaseMutation
- Object
- GraphQL::Schema::RelayClassicMutation
- BaseMutation
- Mutations::Todos::BaseMany
- Defined in:
- app/graphql/mutations/todos/base_many.rb
Overview
Base class for bulk todo operations
Direct Known Subclasses
DeleteMany, ResolveMany, RestoreMany, SnoozeMany, UnsnoozeMany
Constant Summary collapse
- MAX_UPDATE_AMOUNT =
rubocop:disable GraphQL/GraphqlName – Base class needs no name.
100
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 inherited from BaseMutation
#api_user?, authorization, authorization_scopes, authorized?, authorizes_object?, #current_user, #errors_on_object, #load_application_object, #read_only?, #ready?, #unauthorized_object
Methods included from Gitlab::Graphql::Authorize::AuthorizeResource
#authorize!, #authorized_find!, #authorized_resource?, #find_object, #raise_resource_not_available_error!
Instance Method Details
#resolve(ids:, **kwargs) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/graphql/mutations/todos/base_many.rb', line 15 def resolve(ids:, **kwargs) check_update_limit!(amount: ids.size) todos = (model_ids_of(ids)) updated_ids = process_todos(todos, **kwargs) { updated_ids: updated_ids, todos: Todo.id_in(updated_ids), errors: errors_on_objects(todos) } end |