@wmfs/tymly-pg-plugin
Version:
Replace Tymly's out-the-box memory storage with PostgreSQL
23 lines (19 loc) • 696 B
JavaScript
const _ = require('lodash')
module.exports = function generateTriggerStatement (options) {
const namespace = _.snakeCase(options.model.namespace)
const name = _.snakeCase(options.model.name)
const pk = options.model.primaryKey.map(_.snakeCase).join(',')
switch (options.action) {
case 'ADD':
return `CREATE TRIGGER ${namespace}_${name}_auditor
BEFORE UPDATE ON ${namespace}.${name}
FOR EACH ROW EXECUTE PROCEDURE
tymly.${_.snakeCase(options.function)}('${namespace}.${name}', '{${pk}}');`
case 'REMOVE':
return `DROP TRIGGER IF EXISTS ${namespace}_${name}_auditor
ON ${namespace}.${name};`
default:
return ``
}
}