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