UNPKG

@wmfs/tymly-pg-plugin

Version:

Replace Tymly's out-the-box memory storage with PostgreSQL

54 lines (49 loc) 1.66 kB
/** * Created by Aron.Moore on 12/07/2017. */ 'use strict' const generateDelta = require('@wmfs/pg-delta-file') const getFunction = require('@wmfs/tymly/lib/getFunction.js') function loadFunction (env, name) { return name ? getFunction(env, name) : null } // loadFunction class ExportingCsvDeltaFile { init (resourceConfig, env, callback) { this.client = env.bootedServices.storage.client this.actionAliases = resourceConfig.actionAliases this.createdColumnName = resourceConfig.createdColumnName || '_created' this.modifiedColumnName = resourceConfig.modifiedColumnName || '_modified' this.csvExtracts = resourceConfig.csvExtracts this.transformFunction = loadFunction(env, resourceConfig.transformerFunctionName) this.filterFunction = loadFunction(env, resourceConfig.filterFunctionName) callback(null) } run (event, context) { generateDelta( { namespace: context.stateMachineMeta.namespace, client: this.client, since: event.lastExportDate, outputFilepath: event.outputFilepath, actionAliases: this.actionAliases, transformFunction: this.transformFunction, filterFunction: this.filterFunction, createdColumnName: this.createdColumnName, modifiedColumnName: this.modifiedColumnName, csvExtracts: this.csvExtracts } ) .then(info => { context.sendTaskSuccess({ outputRowCount: info.totalCount }) }) .catch(err => { context.sendTaskFailure({ error: 'generateDeltaFail', cause: err }) }) } // run } module.exports = ExportingCsvDeltaFile