diff options
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r-- | lib/api/entities.rb | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb deleted file mode 100644 index 36332bc6514..00000000000 --- a/lib/api/entities.rb +++ /dev/null @@ -1,280 +0,0 @@ -module API - module Entities - class UserSafe < Grape::Entity - expose :name, :username - end - - class UserBasic < UserSafe - expose :id, :state, :avatar_url - end - - class User < UserBasic - expose :created_at - expose :is_admin?, as: :is_admin - expose :bio, :skype, :linkedin, :twitter, :website_url - end - - class Identity < Grape::Entity - expose :provider, :extern_uid - end - - class UserFull < User - expose :email - expose :theme_id, :color_scheme_id, :projects_limit - expose :identities, using: Entities::Identity - expose :can_create_group?, as: :can_create_group - expose :can_create_project?, as: :can_create_project - end - - class UserLogin < UserFull - expose :private_token - end - - class Hook < Grape::Entity - expose :id, :url, :created_at - end - - class ProjectHook < Hook - expose :project_id, :push_events - expose :issues_events, :merge_requests_events, :tag_push_events - end - - class ForkedFromProject < Grape::Entity - expose :id - expose :name, :name_with_namespace - expose :path, :path_with_namespace - end - - class Project < Grape::Entity - expose :id, :description, :default_branch, :tag_list - expose :public?, as: :public - expose :archived?, as: :archived - expose :visibility_level, :ssh_url_to_repo, :http_url_to_repo, :web_url - expose :owner, using: Entities::UserBasic, unless: ->(project, options) { project.group } - expose :name, :name_with_namespace - expose :path, :path_with_namespace - expose :issues_enabled, :merge_requests_enabled, :wiki_enabled, :snippets_enabled, :created_at, :last_activity_at - expose :creator_id - expose :namespace - expose :forked_from_project, using: Entities::ForkedFromProject, if: lambda{ | project, options | project.forked? } - expose :avatar_url - end - - class ProjectMember < UserBasic - expose :access_level do |user, options| - options[:project].project_members.find_by(user_id: user.id).access_level - end - end - - class Group < Grape::Entity - expose :id, :name, :path, :description - end - - class GroupDetail < Group - expose :projects, using: Entities::Project - end - - class GroupMember < UserBasic - expose :access_level do |user, options| - options[:group].group_members.find_by(user_id: user.id).access_level - end - end - - class RepoTag < Grape::Entity - expose :name - expose :message do |repo_obj, _options| - if repo_obj.respond_to?(:message) - repo_obj.message - else - nil - end - end - - expose :commit do |repo_obj, options| - if repo_obj.respond_to?(:commit) - repo_obj.commit - elsif options[:project] - options[:project].repository.commit(repo_obj.target) - end - end - end - - class RepoObject < Grape::Entity - expose :name - - expose :commit do |repo_obj, options| - if repo_obj.respond_to?(:commit) - repo_obj.commit - elsif options[:project] - options[:project].repository.commit(repo_obj.target) - end - end - - expose :protected do |repo, options| - if options[:project] - options[:project].protected_branch? repo.name - end - end - end - - class RepoTreeObject < Grape::Entity - expose :id, :name, :type - - expose :mode do |obj, options| - filemode = obj.mode.to_s(8) - filemode = "0" + filemode if filemode.length < 6 - filemode - end - end - - class RepoCommit < Grape::Entity - expose :id, :short_id, :title, :author_name, :author_email, :created_at - expose :safe_message, as: :message - end - - class RepoCommitDetail < RepoCommit - expose :parent_ids, :committed_date, :authored_date - end - - class ProjectSnippet < Grape::Entity - expose :id, :title, :file_name - expose :author, using: Entities::UserBasic - expose :expires_at, :updated_at, :created_at - end - - class ProjectEntity < Grape::Entity - expose :id, :iid - expose(:project_id) { |entity| entity.project.id } - expose :title, :description - expose :state, :created_at, :updated_at - end - - class RepoDiff < Grape::Entity - expose :old_path, :new_path, :a_mode, :b_mode, :diff - expose :new_file, :renamed_file, :deleted_file - end - - class Milestone < ProjectEntity - expose :due_date - end - - class Issue < ProjectEntity - expose :label_names, as: :labels - expose :milestone, using: Entities::Milestone - expose :assignee, :author, using: Entities::UserBasic - end - - class MergeRequest < ProjectEntity - expose :target_branch, :source_branch, :upvotes, :downvotes - expose :author, :assignee, using: Entities::UserBasic - expose :source_project_id, :target_project_id - expose :label_names, as: :labels - expose :description - expose :milestone, using: Entities::Milestone - end - - class MergeRequestChanges < MergeRequest - expose :diffs, as: :changes, using: Entities::RepoDiff do |compare, _| - compare.diffs - end - end - - class SSHKey < Grape::Entity - expose :id, :title, :key, :created_at - end - - class Note < Grape::Entity - expose :id - expose :note, as: :body - expose :attachment_identifier, as: :attachment - expose :author, using: Entities::UserBasic - expose :created_at - end - - class MRNote < Grape::Entity - expose :note - expose :author, using: Entities::UserBasic - end - - class CommitNote < Grape::Entity - expose :note - expose(:path) { |note| note.diff_file_name } - expose(:line) { |note| note.diff_new_line } - expose(:line_type) { |note| note.diff_line_type } - expose :author, using: Entities::UserBasic - end - - class Event < Grape::Entity - expose :title, :project_id, :action_name - expose :target_id, :target_type, :author_id - expose :data, :target_title - expose :created_at - - expose :author_username do |event, options| - if event.author - event.author.username - end - end - end - - class Namespace < Grape::Entity - expose :id, :path, :kind - end - - class ProjectAccess < Grape::Entity - expose :access_level - expose :notification_level - end - - class GroupAccess < Grape::Entity - expose :access_level - expose :notification_level - end - - class ProjectWithAccess < Project - expose :permissions do - expose :project_access, using: Entities::ProjectAccess do |project, options| - project.project_members.find_by(user_id: options[:user].id) - end - - expose :group_access, using: Entities::GroupAccess do |project, options| - if project.group - project.group.group_members.find_by(user_id: options[:user].id) - end - end - end - end - - class Label < Grape::Entity - expose :name, :color - end - - class Compare < Grape::Entity - expose :commit, using: Entities::RepoCommit do |compare, options| - Commit.decorate(compare.commits).last - end - - expose :commits, using: Entities::RepoCommit do |compare, options| - Commit.decorate(compare.commits) - end - - expose :diffs, using: Entities::RepoDiff do |compare, options| - compare.diffs - end - - expose :compare_timeout do |compare, options| - compare.timeout - 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 - end - end -end |