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:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-06-20 14:10:13 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-06-20 14:10:13 +0300
commit0ea3fcec397b69815975647f5e2aa5fe944a8486 (patch)
tree7979381b89d26011bcf9bdc989a40fcc2f1ed4ff /lib/api/entities
parent72123183a20411a36d607d70b12d57c484394c8e (diff)
Add latest changes from gitlab-org/gitlab@15-1-stable-eev15.1.0-rc42
Diffstat (limited to 'lib/api/entities')
-rw-r--r--lib/api/entities/ci/job_request/image.rb2
-rw-r--r--lib/api/entities/ci/job_request/service.rb5
-rw-r--r--lib/api/entities/hook.rb3
-rw-r--r--lib/api/entities/issue.rb10
-rw-r--r--lib/api/entities/personal_access_token_with_details.rb13
-rw-r--r--lib/api/entities/releases/link.rb11
-rw-r--r--lib/api/entities/wiki_page.rb10
7 files changed, 44 insertions, 10 deletions
diff --git a/lib/api/entities/ci/job_request/image.rb b/lib/api/entities/ci/job_request/image.rb
index 8e404a8fa02..83f64da6050 100644
--- a/lib/api/entities/ci/job_request/image.rb
+++ b/lib/api/entities/ci/job_request/image.rb
@@ -7,6 +7,8 @@ module API
class Image < Grape::Entity
expose :name, :entrypoint
expose :ports, using: Entities::Ci::JobRequest::Port
+
+ expose :pull_policy, if: ->(_) { ::Feature.enabled?(:ci_docker_image_pull_policy) }
end
end
end
diff --git a/lib/api/entities/ci/job_request/service.rb b/lib/api/entities/ci/job_request/service.rb
index 0dae5d5a933..d9da2c92ec7 100644
--- a/lib/api/entities/ci/job_request/service.rb
+++ b/lib/api/entities/ci/job_request/service.rb
@@ -4,7 +4,10 @@ module API
module Entities
module Ci
module JobRequest
- class Service < Entities::Ci::JobRequest::Image
+ class Service < Grape::Entity
+ expose :name, :entrypoint
+ expose :ports, using: Entities::Ci::JobRequest::Port
+
expose :alias, :command
expose :variables
end
diff --git a/lib/api/entities/hook.rb b/lib/api/entities/hook.rb
index ac813bcac3f..d176e76b321 100644
--- a/lib/api/entities/hook.rb
+++ b/lib/api/entities/hook.rb
@@ -5,6 +5,9 @@ module API
class Hook < Grape::Entity
expose :id, :url, :created_at, :push_events, :tag_push_events, :merge_requests_events, :repository_update_events
expose :enable_ssl_verification
+
+ expose :alert_status
+ expose :disabled_until
end
end
end
diff --git a/lib/api/entities/issue.rb b/lib/api/entities/issue.rb
index f87ef093cd8..1060b2c517a 100644
--- a/lib/api/entities/issue.rb
+++ b/lib/api/entities/issue.rb
@@ -29,6 +29,16 @@ module API
expose :project do |issue|
expose_url(api_v4_projects_path(id: issue.project_id))
end
+
+ expose :closed_as_duplicate_of do |issue|
+ if ::Feature.enabled?(:closed_as_duplicate_of_issues_api, issue.project) &&
+ issue.duplicated? &&
+ options[:current_user]&.can?(:read_issue, issue.duplicated_to)
+ expose_url(
+ api_v4_project_issue_path(id: issue.duplicated_to.project_id, issue_iid: issue.duplicated_to.iid)
+ )
+ end
+ end
end
expose :references, with: IssuableReferences do |issue|
diff --git a/lib/api/entities/personal_access_token_with_details.rb b/lib/api/entities/personal_access_token_with_details.rb
new file mode 100644
index 00000000000..5654bd4a1e1
--- /dev/null
+++ b/lib/api/entities/personal_access_token_with_details.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class PersonalAccessTokenWithDetails < Entities::PersonalAccessToken
+ expose :expired?, as: :expired
+ expose :expires_soon?, as: :expires_soon
+ expose :revoke_path do |token|
+ Gitlab::Routing.url_helpers.revoke_profile_personal_access_token_path(token)
+ end
+ end
+ end
+end
diff --git a/lib/api/entities/releases/link.rb b/lib/api/entities/releases/link.rb
index c1d83a8924f..5157645af69 100644
--- a/lib/api/entities/releases/link.rb
+++ b/lib/api/entities/releases/link.rb
@@ -7,16 +7,11 @@ module API
expose :id
expose :name
expose :url
- expose :direct_asset_url
+ expose :direct_asset_url do |link|
+ ::Releases::LinkPresenter.new(link).direct_asset_url
+ end
expose :external?, as: :external
expose :link_type
-
- def direct_asset_url
- return object.url unless object.filepath
-
- release = object.release.present
- release.download_url(object.filepath)
- end
end
end
end
diff --git a/lib/api/entities/wiki_page.rb b/lib/api/entities/wiki_page.rb
index 43af6a336d2..5bba4271396 100644
--- a/lib/api/entities/wiki_page.rb
+++ b/lib/api/entities/wiki_page.rb
@@ -6,7 +6,15 @@ module API
include ::MarkupHelper
expose :content do |wiki_page, options|
- options[:render_html] ? render_wiki_content(wiki_page, ref: wiki_page.version.id) : wiki_page.content
+ if options[:render_html]
+ render_wiki_content(
+ wiki_page,
+ ref: wiki_page.version.id,
+ current_user: options[:current_user]
+ )
+ else
+ wiki_page.content
+ end
end
expose :encoding do |wiki_page|