diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-20 13:43:29 +0300 |
commit | 3b1af5cc7ed2666ff18b718ce5d30fa5a2756674 (patch) | |
tree | 3bc4a40e0ee51ec27eabf917c537033c0c5b14d4 /app/serializers | |
parent | 9bba14be3f2c211bf79e15769cd9b77bc73a13bc (diff) |
Add latest changes from gitlab-org/gitlab@16-1-stable-eev16.1.0-rc42
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/admin/abuse_report_details_entity.rb | 21 | ||||
-rw-r--r-- | app/serializers/environment_serializer.rb | 2 | ||||
-rw-r--r-- | app/serializers/integrations/harbor_serializers/repository_entity.rb | 4 | ||||
-rw-r--r-- | app/serializers/note_entity.rb | 2 | ||||
-rw-r--r-- | app/serializers/profile/event_entity.rb | 50 |
5 files changed, 36 insertions, 43 deletions
diff --git a/app/serializers/admin/abuse_report_details_entity.rb b/app/serializers/admin/abuse_report_details_entity.rb index c0394eb38c5..f0e84fc44d2 100644 --- a/app/serializers/admin/abuse_report_details_entity.rb +++ b/app/serializers/admin/abuse_report_details_entity.rb @@ -71,6 +71,7 @@ module Admin end expose :report do + expose :status expose :message expose :created_at, as: :reported_at expose :category @@ -78,27 +79,9 @@ module Admin expose :reported_content, as: :content expose :reported_from_url, as: :url expose :screenshot_path, as: :screenshot - end - - expose :actions, if: ->(report) { report.user } do - expose :user_blocked do |report| - report.user.blocked? - end - expose :block_user_path do |report| - block_admin_user_path(report.user) - end - expose :remove_report_path do |report| + expose :update_path do |report| admin_abuse_report_path(report) end - expose :remove_user_and_report_path do |report| - admin_abuse_report_path(report, remove_user: true) - end - expose :reported_user do |report| - UserEntity.represent(report.user, only: [:name, :created_at]) - end - expose :redirect_path do |_| - admin_abuse_reports_path - end end end end diff --git a/app/serializers/environment_serializer.rb b/app/serializers/environment_serializer.rb index 21ffdce155f..d7820dff6ef 100644 --- a/app/serializers/environment_serializer.rb +++ b/app/serializers/environment_serializer.rb @@ -83,7 +83,7 @@ class EnvironmentSerializer < BaseSerializer def deployment_associations { user: [], - cluster: [], + deployment_cluster: { cluster: [] }, project: { route: [], namespace: :route diff --git a/app/serializers/integrations/harbor_serializers/repository_entity.rb b/app/serializers/integrations/harbor_serializers/repository_entity.rb index f03465fe8e2..a6366ebfb36 100644 --- a/app/serializers/integrations/harbor_serializers/repository_entity.rb +++ b/app/serializers/integrations/harbor_serializers/repository_entity.rb @@ -47,8 +47,8 @@ module Integrations private def validate_path(path) - Gitlab::Utils.check_path_traversal!(path) - rescue ::Gitlab::Utils::PathTraversalAttackError + Gitlab::PathTraversal.check_path_traversal!(path) + rescue ::Gitlab::PathTraversal::PathTraversalAttackError Gitlab::AppLogger.error("Path traversal attack detected #{path}") '' end diff --git a/app/serializers/note_entity.rb b/app/serializers/note_entity.rb index 6058c89d347..26dc748ad51 100644 --- a/app/serializers/note_entity.rb +++ b/app/serializers/note_entity.rb @@ -109,8 +109,6 @@ class NoteEntity < API::Entities::Note end def external_author - return unless Feature.enabled?(:external_note_author_service_desk) - return unless object.note_metadata&.external_author if can?(current_user, :read_external_emails, object.project) diff --git a/app/serializers/profile/event_entity.rb b/app/serializers/profile/event_entity.rb index fe90265c888..b769a80ef58 100644 --- a/app/serializers/profile/event_entity.rb +++ b/app/serializers/profile/event_entity.rb @@ -12,10 +12,12 @@ module Profile expose(:action, if: ->(event) { include_private_event?(event) }) { |event| event_action(event) } expose :ref, if: ->(event) { event.visible_to_user?(current_user) && event.push_action? } do - expose(:type) { |event| event.ref_type } # rubocop:disable Style/SymbolProc - expose(:count) { |event| event.ref_count } # rubocop:disable Style/SymbolProc - expose(:name) { |event| event.ref_name } # rubocop:disable Style/SymbolProc + expose(:ref_type, as: :type) + expose(:ref_count, as: :count) + expose(:ref_name, as: :name) expose(:path) { |event| ref_path(event) } + expose(:new_ref?, as: :is_new) + expose(:rm_ref?, as: :is_removed) end expose :commit, if: ->(event) { event.visible_to_user?(current_user) && event.push_action? } do @@ -34,27 +36,35 @@ module Profile end end - expose :author, if: ->(event) { include_private_event?(event) } do - expose(:id) { |event| event.author.id } - expose(:name) { |event| event.author.name } - expose(:path) { |event| event.author.username } - end + expose :author, if: ->(event) { include_private_event?(event) }, using: ::API::Entities::UserBasic - expose :target, if: ->(event) { event.visible_to_user?(current_user) } do - expose :target_type + expose :noteable, if: ->(event) { event.visible_to_user?(current_user) && event.note? } do + expose(:type) { |event| event.target.noteable_type } + expose(:reference_link_text) { |event| event.target.noteable.reference_link_text } + expose(:web_url) { |event| Gitlab::UrlBuilder.build(event.target.noteable) } + expose(:first_line_in_markdown) do |event| + first_line_in_markdown(event.target, :note, 150, project: event.project) + end + end - expose(:title) { |event| event.target_title } # rubocop:disable Style/SymbolProc - expose :target_url, if: ->(event) { event.target } do |event| - Gitlab::UrlBuilder.build(event.target, only_path: true) + expose :target, if: ->(event) { event.target && event.visible_to_user?(current_user) } do + expose(:id) { |event| event.target.id } + expose(:target_type, as: :type) + expose(:target_title, as: :title) + expose(:issue_type, if: ->(event) { event.work_item? }) do |event| + event.target.issue_type end - expose :reference_link_text, if: ->(event) { event.target&.respond_to?(:reference_link_text) } do |event| + + expose :reference_link_text, if: ->(event) { event.target.respond_to?(:reference_link_text) } do |event| event.target.reference_link_text end - expose :first_line_in_markdown, if: ->(event) { event.note? && event.target && event.project } do |event| - first_line_in_markdown(event.target, :note, 150, project: event.project) - end - expose :attachment, if: ->(event) { event.note? && event.target&.attachment } do - expose(:url) { |event| event.target.attachment.url } + + expose :web_url do |event| + if event.wiki_page? + event_wiki_page_target_url(event) + else + Gitlab::UrlBuilder.build(event.target) + end end end @@ -62,6 +72,8 @@ module Profile expose(:type) { |event| resource_parent_type(event) } expose(:full_name) { |event| event.resource_parent&.full_name } expose(:full_path) { |event| event.resource_parent&.full_path } + expose(:web_url) { |event| event.resource_parent&.web_url } + expose(:avatar_url) { |event| event.resource_parent&.avatar_url } end private |