New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fh-wfm-sync

Package Overview
Dependencies
Maintainers
4
Versions
53
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fh-wfm-sync - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3-alpha.504.1

lib/client/mediator-subscribers/sync-events.js

36

lib/client/data-manager.js

@@ -1,6 +0,6 @@

var _ = require('lodash')
, q = require('q');
var _ = require('lodash');
var q = require('q');
var mediatorManager = require('./mediator-subscribers');
var debug = require('../utils/logger')(__filename);
/**

@@ -77,2 +77,32 @@ *

/**
* Sets sync status for a result object.
* @param {object} event - object passed in by sync event handler, should contain data used for logItem object.
*/
DataManager.prototype.addEvent = function addEvent(event) {
debug('addEvent', event);
var self = this;
var deferred = q.defer();
this.$fh.sync.getMetaData(this.datasetId, function(metadata) {
metadata = metadata || {};
metadata.syncEvents = metadata.syncEvents || {};
metadata.syncEvents[event.uid] = {
entityId: event.uid,
code: event.code,
action: event.message.action,
message: event.message.msg,
type: event.message.type,
ts: Date.now()
};
self.$fh.sync.setMetaData(self.datasetId, metadata, deferred.resolve, deferred.reject);
}, deferred.reject);
return deferred.promise;
};
/**
* Creating all of the mediator subscribers for this sync data set.

@@ -79,0 +109,0 @@ */

3

lib/client/index.js

@@ -8,4 +8,4 @@ 'use strict';

, DataManager = require('./data-manager');
var debug = require('../utils/logger')(__filename);
var $fh,

@@ -44,2 +44,3 @@ initialized = false,

function init(_$fh, _syncOptions, _mediator) {
debug('Client init');
if (initialized) {

@@ -46,0 +47,0 @@ return;

@@ -27,3 +27,3 @@ var CONSTANTS = require('../../constants');

var datasetItemToCreate = parameters.itemToCreate;
delete datasetItemToCreate._syncStatus;
//Creating a data item for this dataset.

@@ -30,0 +30,0 @@ datasetManager.create(datasetItemToCreate).then(function(createdDatasetItem) {

@@ -5,2 +5,3 @@ var _ = require('lodash');

var MediatorTopicUtility = require('fh-wfm-mediator/lib/topics');
var syncEventHandler = require('./sync-events');

@@ -47,2 +48,6 @@ var topicHandlers = {

_.each(CONSTANTS.SYNC_TOPICS, function(syncTopicName) {
datasetSyncSubscribers.on(syncTopicName, syncEventHandler(datasetManager));
});
//For each remote error, publish a sync error topic

@@ -49,0 +54,0 @@ //This can be subscribed to by other modules. (Generally the module that created the manager)

@@ -23,17 +23,22 @@ var CONSTANTS = require('../../constants');

parameters = parameters || {};
//Creating the item in the sync store
datasetManager.list().then(function(arrayOfDatasetItems) {
var listDoneTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.LIST, CONSTANTS.DONE_PREFIX, parameters.topicUid);
datasetManager.$fh.sync.getMetaData(datasetManager.datasetId, function(metadata) {
datasetManager.list().then(function(arrayOfDatasetItems) {
var listDoneTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.LIST, CONSTANTS.DONE_PREFIX, parameters.topicUid);
self.mediator.publish(listDoneTopic, arrayOfDatasetItems);
if (metadata.syncEvents) {
arrayOfDatasetItems.forEach(function(item) {
item._syncStatus = metadata.syncEvents[item.id];
});
}
self.mediator.publish(listDoneTopic, arrayOfDatasetItems);
}).catch(function(error) {
var listErrorTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.LIST, CONSTANTS.ERROR_PREFIX, parameters.topicUid);
}).catch(function(error) {
self.mediator.publish(listErrorTopic, error);
});
});
var listErrorTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.LIST, CONSTANTS.ERROR_PREFIX, parameters.topicUid);
self.mediator.publish(listErrorTopic, error);
});
};
};

@@ -27,14 +27,19 @@ var CONSTANTS = require('../../constants');

//Creating the item in the sync store
datasetManager.read(parameters.id).then(function(itemRead) {
var readDoneTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.READ, CONSTANTS.DONE_PREFIX, parameters.topicUid);
datasetManager.$fh.sync.getMetaData(datasetManager.datasetId, function(metadata) {
datasetManager.read(parameters.id).then(function(itemRead) {
var readDoneTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.READ, CONSTANTS.DONE_PREFIX, parameters.topicUid);
if (metadata.syncEvents) {
itemRead._syncStatus = metadata.syncEvents[itemRead.id];
}
self.mediator.publish(readDoneTopic, itemRead);
self.mediator.publish(readDoneTopic, itemRead);
}).catch(function(error) {
}).catch(function(error) {
var readErrorTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.READ, CONSTANTS.ERROR_PREFIX, parameters.topicUid);
var readErrorTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.READ, CONSTANTS.ERROR_PREFIX, parameters.topicUid);
self.mediator.publish(readErrorTopic, error);
});
});
self.mediator.publish(readErrorTopic, error);
});
};
};

@@ -26,4 +26,7 @@ var CONSTANTS = require('../../constants');

var datasetItemToUpdate = parameters.itemToUpdate;
delete datasetItemToUpdate._syncStatus;
//Creating the item in the sync store
datasetManager.update(parameters.itemToUpdate).then(function(updatedDataSetItem) {
datasetManager.update(datasetItemToUpdate).then(function(updatedDataSetItem) {
var creatDoneTopic = syncDatasetTopics.getTopic(CONSTANTS.TOPICS.UPDATE, CONSTANTS.DONE_PREFIX, parameters.topicUid);

@@ -30,0 +33,0 @@

@@ -13,5 +13,11 @@ module.exports = {

START: "start",
STOP: "stop",
STOP: "stop"
},
SYNC_TOPICS:{
COLLISION_DETECTED: "collision_detected",
REMOTE_UPDATE_APPLIED: "remote_update_applied",
REMOTE_UPDATE_FAILED: "remote_update_failed",
SYNC_COMPLETE: "sync_complete",
FORCE_SYNC: "force_sync"
}
};

@@ -6,6 +6,7 @@ 'use strict';

var _ = require('lodash');
var debug = require('./utils/logger')(__filename);
function initSync(mediator, mbaasApi, datasetId, syncOptions) {
syncOptions = syncOptions || defaultConfig.syncOptions;
debug('Sync init');
var dataListHandler = function(datasetId, queryParams, cb) {

@@ -20,3 +21,3 @@ mediator.request('wfm:cloud:' + datasetId + ':list', queryParams, {uid: null, timeout: 5000})

}, function(error) {
console.log('Sync error: init:', datasetId, error);
debug('Sync error: init:', datasetId, error);
cb(error);

@@ -36,3 +37,3 @@ });

}, function(error) {
console.log('Sync error: init:', datasetId, error);
debug('Sync error: init:', datasetId, error);
cb(error);

@@ -47,3 +48,3 @@ });

}, function(error) {
console.log('Sync error: init:', datasetId, error);
debug('Sync error: init:', datasetId, error);
cb(error);

@@ -58,3 +59,3 @@ });

}, function(error) {
console.log('Sync error: init:', datasetId, error);
debug('Sync error: init:', datasetId, error);
cb(error);

@@ -69,3 +70,3 @@ });

}, function(error) {
console.log('Sync error: init:', datasetId, error);
debug('Sync error: init:', datasetId, error);
cb(error);

@@ -81,3 +82,3 @@ });

if (err) {
console.log('Sync error: init:', datasetId, err);
debug('Sync error: init:', datasetId, err);
deferred.reject(err);

@@ -84,0 +85,0 @@ } else {

{
"name": "fh-wfm-sync",
"version": "0.1.2",
"version": "0.1.3-alpha.504.1",
"description": "An sync module for WFM",

@@ -5,0 +5,0 @@ "main": "lib/angular/sync-ng.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc