37 lines
		
	
	
		
			854 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			854 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module Gitlab
 | 
						|
  module Audit
 | 
						|
    class NullAuthor
 | 
						|
      attr_reader :id, :name
 | 
						|
 | 
						|
      # Creates an Author
 | 
						|
      #
 | 
						|
      # While tracking events that could take place even when
 | 
						|
      # a user is not logged in, (eg: downloading repo of a public project),
 | 
						|
      # we set the author_id of such events as -1
 | 
						|
      #
 | 
						|
      # @param [Integer] id
 | 
						|
      # @param [String] name
 | 
						|
      #
 | 
						|
      # @return [Gitlab::Audit::UnauthenticatedAuthor, Gitlab::Audit::DeletedAuthor]
 | 
						|
      def self.for(id, name)
 | 
						|
        if id == -1
 | 
						|
          Gitlab::Audit::UnauthenticatedAuthor.new(name: name)
 | 
						|
        else
 | 
						|
          Gitlab::Audit::DeletedAuthor.new(id: id, name: name)
 | 
						|
        end
 | 
						|
      end
 | 
						|
 | 
						|
      def initialize(id:, name:)
 | 
						|
        @id = id
 | 
						|
        @name = name
 | 
						|
      end
 | 
						|
 | 
						|
      def current_sign_in_ip
 | 
						|
        nil
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |