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, authorize, authorized?, #current_user, #id

Methods included from Gitlab::Graphql::Present

#present, #unpresented

Instance Method Details

#authorObject



66
67
68
# File 'app/graphql/types/todo_type.rb', line 66

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

#groupObject



62
63
64
# File 'app/graphql/types/todo_type.rb', line 62

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

#projectObject



58
59
60
# File 'app/graphql/types/todo_type.rb', line 58

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

#targetObject



70
71
72
73
74
75
76
77
78
79
80
# File 'app/graphql/types/todo_type.rb', line 70

def target
  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