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



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

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

#groupObject



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

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

#projectObject



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

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

#targetObject



95
96
97
# File 'app/graphql/types/todo_type.rb', line 95

def target
  target_entity
end

#target_entityObject



99
100
101
102
103
104
105
106
107
108
109
# File 'app/graphql/types/todo_type.rb', line 99

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