Finished support for triggered campaigns. So far only smoke-tested for subscription trigger.

This commit is contained in:
Tomas Bures 2018-11-21 01:41:10 +03:00
parent 4f5b2d10e4
commit b37ad9863c
56 changed files with 416 additions and 213 deletions

View file

@ -11,8 +11,6 @@ const fields = require('./fields');
const subscriptions = require('./subscriptions');
const dependencyHelpers = require('../lib/dependency-helpers');
const { parseDate, parseBirthday, DateFormat } = require('../../shared/date');
const allowedKeys = new Set(['name', 'settings']);

View file

@ -59,7 +59,7 @@ fieldTypes.date = {
afterJSON: (groupedField, entity) => {
const key = getFieldColumn(groupedField);
if (key in entity) {
entity[key] = entity[key] ? moment(entity[key]).toDate() : null;
entity[key] = entity[key] ? moment(entity[key]).toISOString() : null;
}
},
listRender: (groupedField, value) => formatDate(groupedField.settings.dateFormat, value)
@ -69,7 +69,7 @@ fieldTypes.birthday = {
afterJSON: (groupedField, entity) => {
const key = getFieldColumn(groupedField);
if (key in entity) {
entity[key] = entity[key] ? moment(entity[key]).toDate() : null;
entity[key] = entity[key] ? moment(entity[key]).toISOString() : null;
}
},
listRender: (groupedField, value) => formatBirthday(groupedField.settings.dateFormat, value)
@ -539,6 +539,7 @@ async function _update(tx, listId, existing, filteredEntity) {
}
}
console.log(filteredEntity);
await tx(getSubscriptionTableName(listId)).where('id', existing.id).update(filteredEntity);
if ('status' in filteredEntity) {

View file

@ -77,6 +77,7 @@ async function create(context, campaignId, entity) {
const filteredEntity = filterObject(entity, allowedKeys);
filteredEntity.campaign = campaignId;
filteredEntity.last_check = new Date(); // This is to prevent processing subscriptions that predate this trigger.
const ids = await tx('triggers').insert(filteredEntity);
const id = ids[0];