def add_object_history_entry(user: nil, notes: nil, details: nil)
      validate_object_history_available

      raise JSS::MissingDataError, 'A user: must be provided to make the entry' unless user

      raise JSS::MissingDataError, 'Either notes: must be provided to make the entry' unless notes

      user = "'#{Mysql.quote user.to_s}'"
      notes =  "'#{Mysql.quote notes.to_s}'"
      obj_type = self.class::OBJECT_HISTORY_OBJECT_TYPE

      field_list = 'object_type, object_id, username, details, timestamp_epoch'
      value_list = "#{obj_type}, #{@id}, #{user}, #{notes}, #{Time.now.to_jss_epoch}"

      if details
        field_list << ', object_description'
        value_list << ", '#{Mysql.quote details.to_s}'"
      end # if details

      q = "INSERT INTO #{OBJECT_HISTORY_TABLE}
        (#{field_list})
      VALUES
        (#{value_list})"

      JSS::DB_CNX.db.query q
    end
def add_object_history_entry(user: nil, notes: nil, details: nil)
      validate_object_history_available

      raise JSS::MissingDataError, 'A user: must be provided to make the entry' unless user

      raise JSS::MissingDataError, 'Either notes: must be provided to make the entry' unless notes

      user = "'#{Mysql.quote user.to_s}'"
      notes =  "'#{Mysql.quote notes.to_s}'"
      obj_type = self.class::OBJECT_HISTORY_OBJECT_TYPE

      field_list = 'object_type, object_id, username, details, timestamp_epoch'
      value_list = "#{obj_type}, #{@id}, #{user}, #{notes}, #{Time.now.to_jss_epoch}"

      if details
        field_list << ', object_description'
        value_list << ", '#{Mysql.quote details.to_s}'"
      end # if details

      q = "INSERT INTO #{OBJECT_HISTORY_TABLE}
        (#{field_list})
      VALUES
        (#{value_list})"

      JSS::DB_CNX.db.query q
    end
Make an entry in this object's Object History.
 For this to work, the APIObject subclass must define
 OBJECT_HISTORY_OBJECT_TYPE, an integer indicating the
 object type in the OBJECT_HISTORY_TABLE in the database
 (e.g. for computers, the object type is 1)

 NOTE: Object history is not available via the API,
   so access is only available through direct MySQL
   connections

 Also: the 'details' column in the table shows up in the
   'notes' column of the Web UI.  and the 'object_description'
   column of the table shows up in the 'details' column of
   the UI, under the 'details' button.

   The params below reflect the UI, not the table.

 @param user[String] the username creating the entry.

 @param notes[String] A string that appears as a 'note' in the history

 @param details[String] A string that appears as the 'details' in the history

 @return [void]