Class: Syncthing::Helper::API::FoldersUpdater

Inherits:
UpdaterBase
  • Object
show all
Defined in:
lib/syncthing/helper/api/updater.rb

Instance Attribute Summary

Attributes inherited from UpdaterBase

#config_obj, #current_snapshot, #listener

Instance Method Summary collapse

Methods inherited from UpdaterBase

#initialize, #listen, #removed

Constructor Details

This class inherits a constructor from Syncthing::Helper::API::UpdaterBase

Instance Method Details

#folders_addedObject Also known as: folders_modified

TODO: validate input!



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/syncthing/helper/api/updater.rb', line 58

def folders_added
  folders_removed
  new_folder = @config_obj.folders.first.dup
  new_folder['id'] = @chng_obj.doc.document_id
  new_folder['path'] = @chng_obj.doc.data[:path]
  new_folder['label'] = @chng_obj.doc.data[:label]
  new_folder['type'] = @chng_obj.doc.data[:type]
  new_folder['maxConflicts'] = -1
  new_folder['devices'] = API::Firestore.col('devices').get.map { |d| {'deviceID' => d.document_id, 'introducedBy' => '' }}
  @config_obj.folders << new_folder
  Logger.tagged('config_api: ' + @col.singularize + '/add') { Logger.debug @chng_obj.doc.document_id }
end