gitlab-org--gitlab-foss/app/services/members/request_access_service.rb

19 lines
441 B
Ruby

module Members
class RequestAccessService < Members::BaseService
def execute(source)
raise Gitlab::Access::AccessDeniedError unless can_request_access?(source)
source.members.create(
access_level: Gitlab::Access::DEVELOPER,
user: current_user,
requested_at: Time.now.utc)
end
private
def can_request_access?(source)
can?(current_user, :request_access, source)
end
end
end