mailtrain/lib/helpers.js
Tomas Bures c85f2d4440 Obsoleting some old files
Transition to SPA-style client
Basis for Mosaico template editor
2018-02-25 20:54:15 +01:00

82 lines
No EOL
1.9 KiB
JavaScript

'use strict';
let _ = require('./translate')._;
module.exports = {
getDefaultMergeTags,
getRSSMergeTags,
enforce,
cleanupFromPost,
filterObject
};
function getDefaultMergeTags() {
return [{
key: 'LINK_UNSUBSCRIBE',
value: _('URL that points to the unsubscribe page')
}, {
key: 'LINK_PREFERENCES',
value: _('URL that points to the preferences page of the subscriber')
}, {
key: 'LINK_BROWSER',
value: _('URL to preview the message in a browser')
}, {
key: 'EMAIL',
value: _('Email address')
}, {
key: 'SUBSCRIPTION_ID',
value: _('Unique ID that identifies the recipient')
}, {
key: 'LIST_ID',
value: _('Unique ID that identifies the list used for this campaign')
}, {
key: 'CAMPAIGN_ID',
value: _('Unique ID that identifies current campaign')
}];
}
function getRSSMergeTags() {
return [{
key: 'RSS_ENTRY',
value: _('content from an RSS entry')
}, {
key: 'RSS_ENTRY_TITLE',
value: _('RSS entry title')
}, {
key: 'RSS_ENTRY_DATE',
value: _('RSS entry date')
}, {
key: 'RSS_ENTRY_LINK',
value: _('RSS entry link')
}, {
key: 'RSS_ENTRY_CONTENT',
value: _('content from an RSS entry')
}, {
key: 'RSS_ENTRY_SUMMARY',
value: _('RSS entry summary')
}, {
key: 'RSS_ENTRY_IMAGE_URL',
value: _('RSS entry image URL')
}];
}
function enforce(condition, message) {
if (!condition) {
throw new Error(message);
}
}
function cleanupFromPost(value) {
return (value || '').toString().trim();
}
function filterObject(obj, allowedKeys) {
const result = {};
for (const key in obj) {
if (allowedKeys.has(key)) {
result[key] = obj[key];
}
}
return result;
}