gitlabhq/lib/api/entities.rb

64 lines
1.8 KiB
Ruby
Raw Normal View History

2012-06-27 13:32:56 +02:00
module Gitlab
module Entities
class User < Grape::Entity
expose :id, :email, :name, :bio, :skype, :linkedin, :twitter,
:dark_scheme, :theme_id, :blocked, :created_at
end
2012-06-27 14:51:39 +02:00
class UserBasic < Grape::Entity
expose :id, :email, :name, :blocked, :created_at
end
class UserLogin < UserBasic
expose :private_token
end
2012-09-08 19:51:12 +02:00
class Hook < Grape::Entity
expose :id, :url
end
2012-06-27 14:51:39 +02:00
class Project < Grape::Entity
expose :id, :code, :name, :description, :path, :default_branch
expose :owner, using: Entities::UserBasic
expose :private_flag, as: :private
2012-06-27 14:51:39 +02:00
expose :issues_enabled, :merge_requests_enabled, :wall_enabled, :wiki_enabled, :created_at
end
2012-09-21 12:23:17 +02:00
class ProjectMember < UserBasic
expose :project_access, :as => :access_level do |user, options|
options[:project].users_projects.find_by_user_id(user.id).project_access
end
2012-09-06 22:49:29 +02:00
end
2012-07-06 15:08:17 +02:00
class RepoObject < Grape::Entity
2012-06-27 14:51:39 +02:00
expose :name, :commit
end
2012-06-29 15:34:08 +02:00
class ProjectSnippet < Grape::Entity
expose :id, :title, :file_name
expose :author, using: Entities::UserBasic
2012-06-29 15:34:08 +02:00
expose :expires_at, :updated_at, :created_at
end
2012-07-24 14:19:51 +02:00
class Milestone < Grape::Entity
2012-09-20 14:38:34 +02:00
expose :id
expose (:project_id) {|milestone| milestone.project.id}
expose :title, :description, :due_date, :closed, :updated_at, :created_at
2012-07-24 14:19:51 +02:00
end
class Issue < Grape::Entity
2012-07-25 13:22:21 +02:00
expose :id
expose (:project_id) {|issue| issue.project.id}
expose :title, :description
expose :label_list, as: :labels
expose :milestone, using: Entities::Milestone
expose :assignee, :author, using: Entities::UserBasic
2012-07-24 14:19:51 +02:00
expose :closed, :updated_at, :created_at
end
2012-09-16 16:52:06 +02:00
class Key < Grape::Entity
expose :id, :title, :key
2012-09-16 16:52:06 +02:00
end
2012-06-27 13:32:56 +02:00
end
end