summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r--lib/api/entities.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 1cc8fcb8408..72e7424ca4d 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -765,7 +765,8 @@ module API
class Todo < Grape::Entity
expose :id
- expose :project, using: Entities::BasicProjectDetails
+ expose :project, using: Entities::ProjectIdentity, if: -> (todo, _) { todo.project }
+ expose :group, using: 'API::Entities::NamespaceBasic', if: -> (todo, _) { todo.group }
expose :author, using: Entities::UserBasic
expose :action_name
expose :target_type
@@ -776,12 +777,12 @@ module API
expose :target_url do |todo, options|
target_type = todo.target_type.underscore
- target_url = "namespace_project_#{target_type}_url"
+ target_url = "#{todo.parent.class.to_s.underscore}_#{target_type}_url"
target_anchor = "note_#{todo.note_id}" if todo.note_id?
Gitlab::Routing
.url_helpers
- .public_send(target_url, todo.project.namespace, todo.project, todo.target, anchor: target_anchor) # rubocop:disable GitlabSecurity/PublicSend
+ .public_send(target_url, todo.parent, todo.target, anchor: target_anchor) # rubocop:disable GitlabSecurity/PublicSend
end
expose :body