Class: Types::TodoType

Inherits:
BaseObject
  • Object
show all
Defined in:
app/graphql/types/todo_type.rb

Instance Method Summary collapse

Methods inherited from BaseObject

accepts, assignable?, authorization, authorization_scopes, authorize, authorized?, #current_user, #id

Methods included from Gitlab::Graphql::Present

#present, #unpresented

Instance Method Details

#authorObject



86
87
88
# File 'app/graphql/types/todo_type.rb', line 86

def author
  Gitlab::Graphql::Loaders::BatchModelLoader.new(User, object.author_id).find
end

#groupObject



82
83
84
# File 'app/graphql/types/todo_type.rb', line 82

def group
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Group, object.group_id).find
end

#projectObject



78
79
80
# File 'app/graphql/types/todo_type.rb', line 78

def project
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Project, object.project_id).find
end

#targetObject



90
91
92
# File 'app/graphql/types/todo_type.rb', line 90

def target
  target_entity
end

#target_entityObject



94
95
96
97
98
99
100
101
102
103
104
# File 'app/graphql/types/todo_type.rb', line 94

def target_entity
  if object.for_commit?
    Gitlab::Graphql::Loaders::BatchCommitLoader.new(
      container_class: Project,
      container_id: object.project_id,
      oid: object.commit_id
    ).find
  else
    Gitlab::Graphql::Loaders::BatchModelLoader.new(target_type_class, object.target_id).find
  end
end