Added options for campaign obfuscation

Signed-off-by: Ronni Skansing <rskansing@gmail.com>
This commit is contained in:
Ronni Skansing
2025-11-01 22:53:43 +01:00
parent 1039243137
commit ff2f2a36c7
9 changed files with 539 additions and 77 deletions
+76 -74
View File
@@ -499,6 +499,7 @@ export class API {
* @param {boolean} [campaign.saveSubmittedData]
* @param {boolean} [campaign.isAnonymous]
* @param {boolean} [campaign.isTest]
* @param {boolean} [campaign.obfuscate]
* @param {string} campaign.sortField
* @param {string} campaign.sortOrder
* @param {string} campaign.sendStartAt
@@ -522,6 +523,7 @@ export class API {
saveSubmittedData,
isAnonymous,
isTest,
obfuscate,
sortField,
sortOrder,
sendStartAt,
@@ -543,6 +545,7 @@ export class API {
name,
isAnonymous,
isTest,
obfuscate,
saveSubmittedData,
sortField,
sortOrder,
@@ -561,6 +564,79 @@ export class API {
});
},
/**
*
* @param {object} campaign
* @param {string} campaign.id
* @param {string} campaign.name
* @param {boolean} [campaign.saveSubmittedData]
* @param {boolean} [campaign.isAnonymous]
* @param {boolean} [campaign.isTest]
* @param {boolean} [campaign.obfuscate]
* @param {string} campaign.sortField
* @param {string} campaign.sortOrder
* @param {string} campaign.sendStartAt
* @param {string} campaign.sendEndAt
* @param {string} [campaign.closeAt]
* @param {string} [campaign.anonymizeAt]
* @param {string} campaign.templateID uuid
* @param {string[]} campaign.recipientGroupIDs []uuid
* @param {string[]} campaign.allowDenyIDs []uuid
* @param {string} campaign.denyPageID uuid
* @param {string} campaign.evasionPageID uuid
* @param {string} campaign.webhookID uuid
* @param {Array} [campaign.constraintWeekDays]
* @param {string} [campaign.constraintStartTime]
* @param {string} [campaign.constraintEndTime]
* @returns {Promise<ApiResponse>}
*/
update: async ({
id,
name,
saveSubmittedData,
isAnonymous,
isTest,
obfuscate,
sortField,
sortOrder,
sendStartAt,
sendEndAt,
closeAt,
anonymizeAt,
templateID,
recipientGroupIDs,
allowDenyIDs,
denyPageID,
evasionPageID,
webhookID,
constraintWeekDays,
constraintStartTime,
constraintEndTime
}) => {
return await postJSON(this.getPath(`/campaign/${id}`), {
name,
isAnonymous,
isTest,
obfuscate,
saveSubmittedData,
sortField,
sortOrder,
sendStartAt,
sendEndAt,
closeAt,
anonymizeAt,
templateID,
recipientGroupIDs,
allowDenyIDs,
denyPageID,
evasionPageID,
webhookID,
constraintWeekDays,
constraintStartTime,
constraintEndTime
});
},
/**
* Get a campaign by ID.
*
@@ -767,80 +843,6 @@ export class API {
return await getJSON(this.getPath(`/campaign/recipient/${campaignRecipientID}/url`));
},
/**
* Update a campaign.
*
* @param {object} campaign
* @param {string} campaign.id
* @param {string} [campaign.companyID] uuid
* @param {string} [campaign.templateID] uuid
* @param {string} [campaign.name]
* @param {boolean} [campaign.saveSubmittedData]
* @param {boolean} [campaign.isAnonymous]
* @param {boolean} [campaign.isTest]
* @param {string} [campaign.sortField]
* @param {string} [campaign.sortOrder]
* @param {string} [campaign.sendStartAt]
* @param {string} [campaign.sendEndAt]
* @param {array} [campaign.constraintWeekDays]
* @param {string} [campaign.constraintStartTime]
* @param {string} [campaign.constraintEndTime]
* @param {string} [campaign.closeAt]
* @param {string} [campaign.anonymizeAt]
* @param {string[]} [campaign.recipientGroupIDs] []uuid
* @param {string[]} campaign.allowDenyIDs []uuid
* @param {string} campaign.denyPageID uuid
* @param {string} campaign.evasionPageID uuid
* @param {string} campaign.webhookID uuid
* @returns {Promise<ApiResponse>}
*/
update: async ({
id,
companyID,
templateID,
name,
saveSubmittedData,
isAnonymous,
isTest,
sortField,
sortOrder,
sendStartAt,
sendEndAt,
constraintWeekDays,
constraintStartTime,
constraintEndTime,
closeAt,
anonymizeAt,
recipientGroupIDs,
allowDenyIDs,
denyPageID,
evasionPageID,
webhookID
}) => {
return await postJSON(this.getPath(`/campaign/${id}`), {
companyID,
templateID,
name,
isAnonymous,
isTest,
saveSubmittedData,
sortField,
sortOrder,
sendStartAt,
sendEndAt,
constraintWeekDays,
constraintStartTime,
constraintEndTime,
closeAt,
anonymizeAt,
recipientGroupIDs,
allowDenyIDs,
denyPageID,
evasionPageID,
webhookID
});
},
/**
* Delete a campaign.
*