in genai-for-marketing/frontend/src/app/email-copy/email-copy.component.ts [352:385]
async uploadAllImagesAndSaveCampaign(folder_id: any, updatedBulkEmails: any, selectedCampaign: any) {
let responses: any[] = [];
let selectedImage: File;
Promise.all(
updatedBulkEmails.map((email: any, i: any) => {
let base64ImageUrl = updatedBulkEmails[i].generated_image
base64ImageUrl = this.domSanitizer.bypassSecurityTrustResourceUrl('data:image/jpg;base64,'
+ updatedBulkEmails[i].generated_image);
selectedImage = this.campaignServ.dataURLtoFile(base64ImageUrl.changingThisBreaksApplicationSecurity, 'email_copy_generate_image_' + i)
return new Promise((resolve: any) => {
this.campaignServ.imageUploadToGCS(selectedImage, folder_id, event).subscribe((res: any) => {
return new Promise(() => {
this.saveCampaignId = res;
updatedBulkEmails[i].gcs_path = res;
responses[i] = updatedBulkEmails[i];
resolve();
});
})
});
})
).then(() => {
let keys = ['generated_image'];
responses.forEach((x: any) => {
keys.forEach(k => delete x[k])
})
let emailsData = {
'text': this.textContent,
'persionalized_emails': responses
}
this.saveToCampaign(emailsData, selectedCampaign)
});
}