diff --git a/app/serializers/diffs_metadata_entity.rb b/app/serializers/diffs_metadata_entity.rb index 7b0de3bce4e4a6b9fdaaadbde116a5353e736862..681e629244fac725ec5c18a57da7ac2ef927cae9 100644 --- a/app/serializers/diffs_metadata_entity.rb +++ b/app/serializers/diffs_metadata_entity.rb @@ -18,8 +18,30 @@ class DiffsMetadataEntity < DiffsEntity options[:merge_request].can_be_merged_by?(request.current_user) end + expose :project_path + expose :project_name + + expose :username + expose :user_full_name + private + def project_path + request.project&.full_path + end + + def project_name + request.project&.name + end + + def username + request.current_user&.username + end + + def user_full_name + request.current_user&.name + end + def presenter(merge_request) @presenters ||= {} @presenters[merge_request] ||= MergeRequestPresenter.new(merge_request, current_user: request.current_user) # rubocop: disable CodeReuse/Presenter diff --git a/changelogs/unreleased/291027-extend-diffs_metadata-with-project-and-user-names.yml b/changelogs/unreleased/291027-extend-diffs_metadata-with-project-and-user-names.yml new file mode 100644 index 0000000000000000000000000000000000000000..8d47ba925931be0134e3f51f14c322c366e85716 --- /dev/null +++ b/changelogs/unreleased/291027-extend-diffs_metadata-with-project-and-user-names.yml @@ -0,0 +1,5 @@ +--- +title: Add additional fields to diff_metadata.json endpoint +merge_request: 50666 +author: +type: changed diff --git a/spec/serializers/diffs_metadata_entity_spec.rb b/spec/serializers/diffs_metadata_entity_spec.rb index e8cbc2076d72c530bc8ec3ccace3f85183788e53..f6993d4652eeb4a0601726c5243f5776427309a9 100644 --- a/spec/serializers/diffs_metadata_entity_spec.rb +++ b/spec/serializers/diffs_metadata_entity_spec.rb @@ -31,6 +31,7 @@ :merge_request_diffs, :context_commits, :definition_path_prefix, :source_branch_exists, :can_merge, :conflict_resolution_path, :has_conflicts, + :project_name, :project_path, :user_full_name, :username, # Attributes :diff_files )