class Google::Sheets::Covid::EmployeeTemperatureService < Google::Sheets::ApplicationService
  include DateRangeHelper

  def initialize(school, user, date_range)
    @school = school
    @date_range = datetime_range(date_range)
    @label = 'Covid Temperatures'
    super(user)
  end

  private
    def body
      data = []
      data << headers
      temperatures.each do |temperature|
        data << [
          temperature.decorate.recorded_datetime,
          temperature.employee.first_name,
          temperature.employee.last_name,
          temperature.temperature,
          temperature.recorded_by
        ]
      end
      data
    end

    def headers
      ['Date/Time', 'First Name', 'Last Name', 'Temperature', 'Recorded By']
    end

    def temperatures
      @school.covid_employee_temperatures.preload(:employee).by_date_range(@date_range)
    end
end
