2018-07-31 04:34:28 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const CampaignSource = {
|
|
|
|
MIN: 1,
|
|
|
|
|
|
|
|
TEMPLATE: 1,
|
|
|
|
CUSTOM: 2,
|
|
|
|
CUSTOM_FROM_TEMPLATE: 3,
|
2018-08-02 10:19:27 +00:00
|
|
|
CUSTOM_FROM_CAMPAIGN: 4,
|
|
|
|
URL: 5,
|
2018-07-31 04:34:28 +00:00
|
|
|
|
2018-09-02 12:59:02 +00:00
|
|
|
MAX: 5
|
2018-07-31 04:34:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
const CampaignType = {
|
|
|
|
MIN: 1,
|
|
|
|
|
|
|
|
REGULAR: 1,
|
|
|
|
RSS: 2,
|
|
|
|
RSS_ENTRY: 3,
|
|
|
|
TRIGGERED: 4,
|
|
|
|
|
|
|
|
MAX: 4
|
|
|
|
};
|
|
|
|
|
|
|
|
const CampaignStatus = {
|
|
|
|
MIN: 1,
|
|
|
|
|
|
|
|
// For campaign types: NORMAL, RSS_ENTRY
|
|
|
|
IDLE: 1,
|
|
|
|
SCHEDULED: 2,
|
|
|
|
FINISHED: 3,
|
|
|
|
PAUSED: 4,
|
|
|
|
|
|
|
|
// For campaign types: RSS, TRIGGERED
|
|
|
|
INACTIVE: 5,
|
|
|
|
ACTIVE: 6,
|
|
|
|
|
2018-09-09 22:55:44 +00:00
|
|
|
// For campaign types: NORMAL, RSS_ENTRY
|
|
|
|
SENDING: 7,
|
|
|
|
|
|
|
|
MAX: 8
|
2018-07-31 04:34:28 +00:00
|
|
|
};
|
|
|
|
|
2018-08-03 16:07:46 +00:00
|
|
|
const campaignOverridables = ['from_name', 'from_email', 'reply_to', 'subject'];
|
|
|
|
|
|
|
|
function getSendConfigurationPermissionRequiredForSend(campaign, sendConfiguration) {
|
|
|
|
let allowedOverride = false;
|
|
|
|
let disallowedOverride = false;
|
|
|
|
|
|
|
|
for (const overridable of campaignOverridables) {
|
|
|
|
if (campaign[overridable + '_override'] !== null) {
|
|
|
|
if (sendConfiguration[overridable + '_overridable']) {
|
|
|
|
allowedOverride = true;
|
|
|
|
} else {
|
|
|
|
disallowedOverride = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
let requiredPermission = 'send';
|
|
|
|
if (allowedOverride) {
|
|
|
|
requiredPermission = 'sendWithAllowedOverrides';
|
|
|
|
}
|
|
|
|
if (disallowedOverride) {
|
|
|
|
requiredPermission = 'sendWithAnyOverrides';
|
|
|
|
}
|
|
|
|
|
|
|
|
return requiredPermission;
|
|
|
|
}
|
2018-07-31 04:34:28 +00:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
CampaignSource,
|
|
|
|
CampaignType,
|
2018-08-03 16:07:46 +00:00
|
|
|
CampaignStatus,
|
|
|
|
campaignOverridables,
|
|
|
|
getSendConfigurationPermissionRequiredForSend
|
2018-07-31 04:34:28 +00:00
|
|
|
};
|