summaryrefslogtreecommitdiff
path: root/app/serializers/merge_request_user_entity.rb
blob: 33fc7b724d5d7a7652695e5cc5504af04b44ac11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class MergeRequestUserEntity < UserEntity
  include RequestAwareEntity
  include BlobHelper
  include TreeHelper

  expose :can_fork do |user|
    can?(user, :fork_project, request.project) if project
  end

  expose :can_create_merge_request do |user|
    project && can?(user, :create_merge_request_in, project)
  end

  expose :fork_path, if: -> (*) { project } do |user|
    params = edit_blob_fork_params("Edit")
    project_forks_path(project, namespace_key: user.namespace.id, continue: params)
  end

  def project
    return false unless request.respond_to?(:project) && request.project

    request.project
  end
end