summaryrefslogtreecommitdiff
path: root/app/serializers/project_entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/project_entity.rb')
-rw-r--r--app/serializers/project_entity.rb21
1 files changed, 16 insertions, 5 deletions
diff --git a/app/serializers/project_entity.rb b/app/serializers/project_entity.rb
index b3e5fd21e97..71d6835cb31 100644
--- a/app/serializers/project_entity.rb
+++ b/app/serializers/project_entity.rb
@@ -1,14 +1,25 @@
class ProjectEntity < Grape::Entity
+ include ActionView::Helpers::NumberHelper
include RequestAwareEntity
- expose :id
- expose :name
+ expose :id, :name, :description, :visibility, :full_name, :full_path, :web_url,
+ :created_at, :updated_at, :star_count, :can_edit
- expose :full_path do |project|
+ def can_edit
+ return false unless request.respond_to?(:current_user)
+
+ can?(request.current_user, :edit_project, object)
+ end
+
+ expose :project_path do |project|
project_path(project)
end
- expose :full_name do |project|
- project.full_name
+ expose :edit_path do |project|
+ edit_project_path(project)
+ end
+
+ expose :avatar_url do |project|
+ project.try(:avatar_url)
end
end