UNPKG

@incdevco/framework

Version:
48 lines (26 loc) 926 B
let Promise = require('bluebird'); let TableStreamListener = require('../table-stream-listener'); /* * * Is Not Aware Of Table Name * */ class ModelTableListener extends TableStreamListener { constructor(logger) { super(logger); } handleRecord(record) { return Promise.try(() => { let eventName = record.eventName; let newModel = this.itemToObject(record.dynamodb.NewImage); let oldModel = this.itemToObject(record.dynamodb.OldImage); let modelName = newModel.model; if (!this.handlers[modelName] || !this.handlers[modelName][eventName]) { this.logger.log(`no handler for ${modelName}.${eventName}`); return false; } return this.handlers[modelName][eventName](newModel, oldModel, record); }); } } module.exports = ModelTableListener;