Skip to content

Instantly share code, notes, and snippets.

@kennethlynne
Created December 8, 2017 11:00
Show Gist options
  • Select an option

  • Save kennethlynne/2247ae2febd4ffd155449d0ceb166e53 to your computer and use it in GitHub Desktop.

Select an option

Save kennethlynne/2247ae2febd4ffd155449d0ceb166e53 to your computer and use it in GitHub Desktop.
Sequence id on pubnub
const db = require('kvstore');
const console = require('console');
export default (request) => {
const {channels} = request;
const queue = channels
.map((channelName) => {
console.debug(`Get counter for channel "${channelName}"`);
return db.getCounter(channelName)
.then((sequenceId) => {
console.debug(`Counter for channel "${channelName}" was ${sequenceId}`);
request.message.sequenceMetadata = request.message.sequenceMetadata || {};
request.message.sequenceMetadata[channelName] = sequenceId;
db.incrCounter(channelName);
});
});
return Promise
.all(queue)
.then(() => {
console.debug(`Resolving request`);
return request.ok();
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment