diff options
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r-- | lib/api/entities.rb | 95 |
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 |