diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 11:18:50 +0000 |
commit | 8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch) | |
tree | a77e7fe7a93de11213032ed4ab1f33a3db51b738 /lib/api/entities | |
parent | 00b35af3db1abfe813a778f643dad221aad51fca (diff) | |
download | gitlab-ce-8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781.tar.gz |
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'lib/api/entities')
-rw-r--r-- | lib/api/entities/bridge.rb | 9 | ||||
-rw-r--r-- | lib/api/entities/container_registry.rb | 1 | ||||
-rw-r--r-- | lib/api/entities/group_detail.rb | 3 | ||||
-rw-r--r-- | lib/api/entities/merge_request_basic.rb | 8 | ||||
-rw-r--r-- | lib/api/entities/project.rb | 4 | ||||
-rw-r--r-- | lib/api/entities/releases/evidence.rb | 2 | ||||
-rw-r--r-- | lib/api/entities/releases/link.rb | 1 | ||||
-rw-r--r-- | lib/api/entities/resource_milestone_event.rb | 20 | ||||
-rw-r--r-- | lib/api/entities/runner_details.rb | 7 | ||||
-rw-r--r-- | lib/api/entities/shared_group_with_group.rb | 17 | ||||
-rw-r--r-- | lib/api/entities/shared_group_with_project.rb (renamed from lib/api/entities/shared_group.rb) | 2 | ||||
-rw-r--r-- | lib/api/entities/ssh_key.rb | 3 | ||||
-rw-r--r-- | lib/api/entities/user_with_admin.rb | 3 |
13 files changed, 59 insertions, 21 deletions
diff --git a/lib/api/entities/bridge.rb b/lib/api/entities/bridge.rb new file mode 100644 index 00000000000..8f0ee69399a --- /dev/null +++ b/lib/api/entities/bridge.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module API + module Entities + class Bridge < Entities::JobBasic + expose :downstream_pipeline, with: Entities::PipelineBasic + end + end +end diff --git a/lib/api/entities/container_registry.rb b/lib/api/entities/container_registry.rb index 6250f35c7cb..cff627ab50a 100644 --- a/lib/api/entities/container_registry.rb +++ b/lib/api/entities/container_registry.rb @@ -16,6 +16,7 @@ module API expose :project_id expose :location expose :created_at + expose :tags_count, if: -> (_, options) { options[:tags_count] } expose :tags, using: Tag, if: -> (_, options) { options[:tags] } end diff --git a/lib/api/entities/group_detail.rb b/lib/api/entities/group_detail.rb index e03047a6e75..93dc41da81d 100644 --- a/lib/api/entities/group_detail.rb +++ b/lib/api/entities/group_detail.rb @@ -3,6 +3,9 @@ module API module Entities class GroupDetail < Group + expose :shared_with_groups do |group, options| + SharedGroupWithGroup.represent(group.shared_with_group_links.public_or_visible_to_user(group, options[:current_user])) + end expose :runners_token, if: lambda { |group, options| options[:user_can_admin_group] } expose :projects, using: Entities::Project do |group, options| projects = GroupProjectsFinder.new( diff --git a/lib/api/entities/merge_request_basic.rb b/lib/api/entities/merge_request_basic.rb index 1a89a83a619..1643f267938 100644 --- a/lib/api/entities/merge_request_basic.rb +++ b/lib/api/entities/merge_request_basic.rb @@ -6,19 +6,15 @@ module API expose :merged_by, using: Entities::UserBasic do |merge_request, _options| merge_request.metrics&.merged_by end - expose :merged_at do |merge_request, _options| merge_request.metrics&.merged_at end - expose :closed_by, using: Entities::UserBasic do |merge_request, _options| merge_request.metrics&.latest_closed_by end - expose :closed_at do |merge_request, _options| merge_request.metrics&.latest_closed_at end - expose :title_html, if: -> (_, options) { options[:render_html] } do |entity| MarkupHelper.markdown_field(entity, :title) end @@ -33,7 +29,6 @@ module API merge_request.assignee end expose :author, :assignees, using: Entities::UserBasic - expose :source_project_id, :target_project_id expose :labels do |merge_request, options| if options[:with_labels_details] @@ -85,11 +80,8 @@ module API end expose :squash - expose :task_completion_status - expose :cannot_be_merged?, as: :has_conflicts - expose :mergeable_discussions_state?, as: :blocking_discussions_resolved end end diff --git a/lib/api/entities/project.rb b/lib/api/entities/project.rb index 39cd2d610e4..55a57501858 100644 --- a/lib/api/entities/project.rb +++ b/lib/api/entities/project.rb @@ -90,9 +90,10 @@ module API expose :build_coverage_regex expose :ci_config_path, if: -> (project, options) { Ability.allowed?(options[:current_user], :download_code, project) } expose :shared_with_groups do |project, options| - SharedGroup.represent(project.project_group_links, options) + SharedGroupWithProject.represent(project.project_group_links, options) end expose :only_allow_merge_if_pipeline_succeeds + expose :allow_merge_on_skipped_pipeline expose :request_access_enabled expose :only_allow_merge_if_all_discussions_are_resolved expose :remove_source_branch_after_merge @@ -119,6 +120,7 @@ module API # MR describing the solution: https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/20555 super(projects_relation).preload(:group) .preload(:ci_cd_settings) + .preload(:project_setting) .preload(:container_expiration_policy) .preload(:auto_devops) .preload(project_group_links: { group: :route }, diff --git a/lib/api/entities/releases/evidence.rb b/lib/api/entities/releases/evidence.rb index 25b2bf6bf6f..01603a71dbf 100644 --- a/lib/api/entities/releases/evidence.rb +++ b/lib/api/entities/releases/evidence.rb @@ -6,7 +6,7 @@ module API class Evidence < Grape::Entity include ::API::Helpers::Presentable - expose :summary_sha, as: :sha + expose :sha expose :filepath expose :collected_at end diff --git a/lib/api/entities/releases/link.rb b/lib/api/entities/releases/link.rb index f4edb83bd58..654df2e2caf 100644 --- a/lib/api/entities/releases/link.rb +++ b/lib/api/entities/releases/link.rb @@ -9,6 +9,7 @@ module API expose :url expose :direct_asset_url expose :external?, as: :external + expose :link_type def direct_asset_url return object.url unless object.filepath diff --git a/lib/api/entities/resource_milestone_event.rb b/lib/api/entities/resource_milestone_event.rb new file mode 100644 index 00000000000..26dc6620cbe --- /dev/null +++ b/lib/api/entities/resource_milestone_event.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +module API + module Entities + class ResourceMilestoneEvent < Grape::Entity + expose :id + expose :user, using: Entities::UserBasic + expose :created_at + expose :resource_type do |event, _options| + event.issuable.class.name + end + expose :resource_id do |event, _options| + event.issuable.id + end + expose :milestone, using: Entities::Milestone + expose :action + expose :state + end + end +end diff --git a/lib/api/entities/runner_details.rb b/lib/api/entities/runner_details.rb index 1dd8543d595..0afe298ef64 100644 --- a/lib/api/entities/runner_details.rb +++ b/lib/api/entities/runner_details.rb @@ -11,13 +11,6 @@ module API expose :version, :revision, :platform, :architecture expose :contacted_at - # Will be removed: https://gitlab.com/gitlab-org/gitlab/-/issues/217105 - expose(:token, if: ->(runner, options) do - return false if ::Feature.enabled?(:hide_token_from_runners_api, default_enabled: true) - - options[:current_user].admin? || !runner.instance_type? - end) - # rubocop: disable CodeReuse/ActiveRecord expose :projects, with: Entities::BasicProjectDetails do |runner, options| if options[:current_user].admin? diff --git a/lib/api/entities/shared_group_with_group.rb b/lib/api/entities/shared_group_with_group.rb new file mode 100644 index 00000000000..1ca879182eb --- /dev/null +++ b/lib/api/entities/shared_group_with_group.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module API + module Entities + class SharedGroupWithGroup < Grape::Entity + expose :shared_with_group_id, as: :group_id + expose :group_name do |group_link| + group_link.shared_with_group.name + end + expose :group_full_path do |group_link| + group_link.shared_with_group.full_path + end + expose :group_access, as: :group_access_level + expose :expires_at + end + end +end diff --git a/lib/api/entities/shared_group.rb b/lib/api/entities/shared_group_with_project.rb index 862e73e07f0..d91bee31b04 100644 --- a/lib/api/entities/shared_group.rb +++ b/lib/api/entities/shared_group_with_project.rb @@ -2,7 +2,7 @@ module API module Entities - class SharedGroup < Grape::Entity + class SharedGroupWithProject < Grape::Entity expose :group_id expose :group_name do |group_link, options| group_link.group.name diff --git a/lib/api/entities/ssh_key.rb b/lib/api/entities/ssh_key.rb index aae216173c7..e1554730cb6 100644 --- a/lib/api/entities/ssh_key.rb +++ b/lib/api/entities/ssh_key.rb @@ -3,7 +3,8 @@ module API module Entities class SSHKey < Grape::Entity - expose :id, :title, :key, :created_at, :expires_at + expose :id, :title, :created_at, :expires_at + expose :publishable_key, as: :key end end end diff --git a/lib/api/entities/user_with_admin.rb b/lib/api/entities/user_with_admin.rb index d3df12200ff..c225ade6eb6 100644 --- a/lib/api/entities/user_with_admin.rb +++ b/lib/api/entities/user_with_admin.rb @@ -4,8 +4,7 @@ module API module Entities class UserWithAdmin < UserPublic expose :admin?, as: :is_admin + expose :note end end end - -API::Entities::UserWithAdmin.prepend_if_ee('EE::API::Entities::UserWithAdmin', with_descendants: true) |