getCampaignContent()

in lambda/Message_Archiver/archiver/lib/pinpoint.js [77:122]


  getCampaignContent(applicationId, campaignId, treatmentId) {

    return this.pinpoint.getCampaign({
        ApplicationId: applicationId,
        CampaignId: campaignId
      }).promise()
        .then((response) => {
          this.options.logger.log({
              level: 'info',
              message: JSON.stringify(response.CampaignResponse)
          });
          return response.CampaignResponse;
        })
        // Get Treatment
        .then((campaign) => {
          const additionalTreatments = campaign.AdditionalTreatments;
          delete campaign.AdditionalTreatments;
          return treatmentId === '0'
            ? campaign
            : additionalTreatments.find(x => x.Id);
        })
        .then((treatment) => {
          return Promise.all([
            this.getCampaignTemplateContent(treatment),
            this.getInlineCampaignContent(treatment)
          ])
            .then((results) => {
              return results.flat();
            })

        })
        .then((content) => {
          this.options.logger.log({
              level: 'info',
              message: JSON.stringify(content)
          });
          return content;
        })
        .catch((error) =>  {
          this.options.logger.log({
              level: 'error',
              message: JSON.stringify(error.message)
          });
          return [];
        });
  }