Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/entities')
-rw-r--r--lib/api/entities/bridge.rb9
-rw-r--r--lib/api/entities/container_registry.rb1
-rw-r--r--lib/api/entities/group_detail.rb3
-rw-r--r--lib/api/entities/merge_request_basic.rb8
-rw-r--r--lib/api/entities/project.rb4
-rw-r--r--lib/api/entities/releases/evidence.rb2
-rw-r--r--lib/api/entities/releases/link.rb1
-rw-r--r--lib/api/entities/resource_milestone_event.rb20
-rw-r--r--lib/api/entities/runner_details.rb7
-rw-r--r--lib/api/entities/shared_group_with_group.rb17
-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.rb3
-rw-r--r--lib/api/entities/user_with_admin.rb3
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)