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.rb')
-rw-r--r--lib/api/entities.rb95
1 files changed, 0 insertions, 95 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 32a5f3ce33d..07ed6bd7e0b 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -2,86 +2,6 @@
module API
module Entities
- class RemoteMirror < Grape::Entity
- expose :id
- expose :enabled
- expose :safe_url, as: :url
- expose :update_status
- expose :last_update_at
- expose :last_update_started_at
- expose :last_successful_update_at
- expose :last_error
- expose :only_protected_branches
- end
-
- class ContainerExpirationPolicy < Grape::Entity
- expose :cadence
- expose :enabled
- expose :keep_n
- expose :older_than
- expose :name_regex
- expose :next_run_at
- end
-
- class ProjectImportStatus < ProjectIdentity
- expose :import_status
-
- # TODO: Use `expose_nil` once we upgrade the grape-entity gem
- expose :import_error, if: lambda { |project, _ops| project.import_state&.last_error } do |project|
- project.import_state.last_error
- end
- end
-
- class BasicProjectDetails < ProjectIdentity
- include ::API::ProjectsRelationBuilder
-
- expose :default_branch, if: -> (project, options) { Ability.allowed?(options[:current_user], :download_code, project) }
- # Avoids an N+1 query: https://github.com/mbleigh/acts-as-taggable-on/issues/91#issuecomment-168273770
- expose :tag_list do |project|
- # project.tags.order(:name).pluck(:name) is the most suitable option
- # to avoid loading all the ActiveRecord objects but, if we use it here
- # it override the preloaded associations and makes a query
- # (fixed in https://github.com/rails/rails/pull/25976).
- project.tags.map(&:name).sort
- end
-
- expose :ssh_url_to_repo, :http_url_to_repo, :web_url, :readme_url
-
- expose :license_url, if: :license do |project|
- license = project.repository.license_blob
-
- if license
- Gitlab::Routing.url_helpers.project_blob_url(project, File.join(project.default_branch, license.path))
- end
- end
-
- expose :license, with: 'API::Entities::LicenseBasic', if: :license do |project|
- project.repository.license
- end
-
- expose :avatar_url do |project, options|
- project.avatar_url(only_path: false)
- end
-
- expose :star_count, :forks_count
- expose :last_activity_at
- expose :namespace, using: 'API::Entities::NamespaceBasic'
- expose :custom_attributes, using: 'API::Entities::CustomAttribute', if: :with_custom_attributes
-
- # rubocop: disable CodeReuse/ActiveRecord
- def self.preload_relation(projects_relation, options = {})
- # Preloading tags, should be done with using only `:tags`,
- # as `:tags` are defined as: `has_many :tags, through: :taggings`
- # N+1 is solved then by using `subject.tags.map(&:name)`
- # MR describing the solution: https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/20555
- projects_relation.preload(:project_feature, :route)
- .preload(:import_state, :tags)
- .preload(:auto_devops)
- .preload(namespace: [:route, :owner])
- end
- # rubocop: enable CodeReuse/ActiveRecord
- end
-
class Project < BasicProjectDetails
include ::API::Helpers::RelatedResourcesHelpers
@@ -208,15 +128,6 @@ module API
end
end
- class ProjectStatistics < Grape::Entity
- expose :commit_count
- expose :storage_size
- expose :repository_size
- expose :wiki_size
- expose :lfs_objects_size
- expose :build_artifacts_size, as: :job_artifacts_size
- end
-
class ProjectDailyFetches < Grape::Entity
expose :fetch_count, as: :count
expose :date
@@ -759,12 +670,6 @@ module API
end
end
- class MergeRequestContextCommit < Grape::Entity
- expose :sha, :relative_order, :new_file, :renamed_file,
- :deleted_file, :too_large, :a_mode, :b_mode, :new_path, :old_path,
- :diff, :binary
- end
-
class SSHKey < Grape::Entity
expose :id, :title, :key, :created_at
end