summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r--lib/api/entities.rb154
1 files changed, 0 insertions, 154 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 5d5a61b76f1..5128ffa6a1f 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -163,160 +163,6 @@ module API
end
end
- class List < Grape::Entity
- expose :id
- expose :label, using: Entities::LabelBasic
- expose :position
- end
-
- class Board < Grape::Entity
- expose :id
- expose :project, using: Entities::BasicProjectDetails
-
- expose :lists, using: Entities::List do |board|
- board.destroyable_lists
- end
- end
-
- class Compare < Grape::Entity
- expose :commit, using: Entities::Commit do |compare, _|
- compare.commits.last
- end
-
- expose :commits, using: Entities::Commit do |compare, _|
- compare.commits
- end
-
- expose :diffs, using: Entities::Diff do |compare, _|
- compare.diffs.diffs.to_a
- end
-
- expose :compare_timeout do |compare, _|
- compare.diffs.diffs.overflow?
- end
-
- expose :same, as: :compare_same_ref
- end
-
- class Contributor < Grape::Entity
- expose :name, :email, :commits, :additions, :deletions
- end
-
- class BroadcastMessage < Grape::Entity
- expose :message, :starts_at, :ends_at, :color, :font, :target_path, :broadcast_type
- end
-
- class Release < Grape::Entity
- include ::API::Helpers::Presentable
-
- expose :name do |release, _|
- can_download_code? ? release.name : "Release-#{release.id}"
- end
- expose :tag, as: :tag_name, if: ->(_, _) { can_download_code? }
- expose :description
- expose :description_html do |entity|
- MarkupHelper.markdown_field(entity, :description)
- end
- expose :created_at
- expose :released_at
- expose :author, using: Entities::UserBasic, if: -> (release, _) { release.author.present? }
- expose :commit, using: Entities::Commit, if: ->(_, _) { can_download_code? }
- expose :upcoming_release?, as: :upcoming_release
- expose :milestones, using: Entities::Milestone, if: -> (release, _) { release.milestones.present? && can_read_milestone? }
- expose :commit_path, expose_nil: false
- expose :tag_path, expose_nil: false
- expose :evidence_sha, expose_nil: false, if: ->(_, _) { can_download_code? }
- expose :assets do
- expose :assets_count, as: :count do |release, _|
- assets_to_exclude = can_download_code? ? [] : [:sources]
- release.assets_count(except: assets_to_exclude)
- end
- expose :sources, using: Entities::Releases::Source, if: ->(_, _) { can_download_code? }
- expose :links, using: Entities::Releases::Link do |release, options|
- release.links.sorted
- end
- expose :evidence_file_path, expose_nil: false, if: ->(_, _) { can_download_code? }
- end
- expose :_links do
- expose :self_url, as: :self, expose_nil: false
- expose :merge_requests_url, expose_nil: false
- expose :issues_url, expose_nil: false
- expose :edit_url, expose_nil: false
- end
-
- private
-
- def can_download_code?
- Ability.allowed?(options[:current_user], :download_code, object.project)
- end
-
- def can_read_milestone?
- Ability.allowed?(options[:current_user], :read_milestone, object.project)
- end
- end
-
- class Tag < Grape::Entity
- expose :name, :message, :target
-
- expose :commit, using: Entities::Commit do |repo_tag, options|
- options[:project].repository.commit(repo_tag.dereferenced_target)
- end
-
- # rubocop: disable CodeReuse/ActiveRecord
- expose :release, using: Entities::TagRelease do |repo_tag, options|
- options[:project].releases.find_by(tag: repo_tag.name)
- end
- # rubocop: enable CodeReuse/ActiveRecord
-
- expose :protected do |repo_tag, options|
- ::ProtectedTag.protected?(options[:project], repo_tag.name)
- end
- end
-
- class Runner < Grape::Entity
- expose :id
- expose :description
- expose :ip_address
- expose :active
- expose :instance_type?, as: :is_shared
- expose :name
- expose :online?, as: :online
- expose :status
- end
-
- class RunnerDetails < Runner
- expose :tag_list
- expose :run_untagged
- expose :locked
- expose :maximum_timeout
- expose :access_level
- expose :version, :revision, :platform, :architecture
- expose :contacted_at
- expose :token, if: lambda { |runner, options| options[:current_user].admin? || !runner.instance_type? }
- # rubocop: disable CodeReuse/ActiveRecord
- expose :projects, with: Entities::BasicProjectDetails do |runner, options|
- if options[:current_user].admin?
- runner.projects
- else
- options[:current_user].authorized_projects.where(id: runner.projects)
- end
- end
- # rubocop: enable CodeReuse/ActiveRecord
- # rubocop: disable CodeReuse/ActiveRecord
- expose :groups, with: Entities::BasicGroupDetails do |runner, options|
- if options[:current_user].admin?
- runner.groups
- else
- options[:current_user].authorized_groups.where(id: runner.groups)
- end
- end
- # rubocop: enable CodeReuse/ActiveRecord
- end
-
- class RunnerRegistrationDetails < Grape::Entity
- expose :id, :token
- end
-
class Trigger < Grape::Entity
include ::API::Helpers::Presentable