diff options
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r-- | lib/api/entities.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb index bb48a86fe9e..375114f524b 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -769,7 +769,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 @@ -780,12 +781,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 |