@social-mail/social-mail-web-server 1.5.455 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/model/SocialMailContext.d.ts +2 -2
- package/dist/server/model/SocialMailContext.js +2 -2
- package/dist/server/model/SocialMailContextEvents.js +2 -2
- package/dist/server/model/entities/AppFile.d.ts +2 -0
- package/dist/server/model/entities/AppFile.d.ts.map +1 -1
- package/dist/server/model/entities/AppFile.js.map +1 -1
- package/dist/server/model/entities/{MailboxEmail.d.ts → ChannelEmail.d.ts} +5 -2
- package/dist/server/model/entities/ChannelEmail.d.ts.map +1 -0
- package/dist/server/model/entities/{MailboxEmail.js → ChannelEmail.js} +26 -13
- package/dist/server/model/entities/ChannelEmail.js.map +1 -0
- package/dist/server/model/entities/Email.d.ts +2 -2
- package/dist/server/model/entities/Email.d.ts.map +1 -1
- package/dist/server/model/entities/Email.js.map +1 -1
- package/dist/server/model/entities/EmailAddress.d.ts +2 -0
- package/dist/server/model/entities/EmailAddress.d.ts.map +1 -1
- package/dist/server/model/entities/EmailAddress.js.map +1 -1
- package/dist/server/model/entities/Mailbox.d.ts +2 -2
- package/dist/server/model/entities/MailboxContactEmail.d.ts +1 -1
- package/dist/server/model/entities/MailboxContactEmail.d.ts.map +1 -1
- package/dist/server/model/entities/MailboxContactEmail.js +5 -0
- package/dist/server/model/entities/MailboxContactEmail.js.map +1 -1
- package/dist/server/model/events/AppFileEvents.d.ts +3 -0
- package/dist/server/model/events/AppFileEvents.d.ts.map +1 -1
- package/dist/server/model/events/AppFileEvents.js +25 -5
- package/dist/server/model/events/AppFileEvents.js.map +1 -1
- package/dist/server/model/events/AppFileTagEvents.d.ts.map +1 -1
- package/dist/server/model/events/AppFileTagEvents.js +2 -3
- package/dist/server/model/events/AppFileTagEvents.js.map +1 -1
- package/dist/server/model/events/EmailAddressEvents.d.ts.map +1 -1
- package/dist/server/model/events/EmailAddressEvents.js +2 -4
- package/dist/server/model/events/EmailAddressEvents.js.map +1 -1
- package/dist/server/model/events/EmailEngagementEvents.js +1 -1
- package/dist/server/model/events/EmailEngagementEvents.js.map +1 -1
- package/dist/server/model/events/EmailEvents.js +6 -6
- package/dist/server/model/events/EmailEvents.js.map +1 -1
- package/dist/server/model/events/EmailLogEvents.js +1 -1
- package/dist/server/model/events/EmailLogEvents.js.map +1 -1
- package/dist/server/model/events/EmailRecipientEvents.js +1 -1
- package/dist/server/model/events/EmailRecipientEvents.js.map +1 -1
- package/dist/server/model/events/EmailTagEvents.js +1 -1
- package/dist/server/model/events/EmailTagEvents.js.map +1 -1
- package/dist/server/model/events/FileContentEvents.d.ts.map +1 -1
- package/dist/server/model/events/FileContentEvents.js +2 -3
- package/dist/server/model/events/FileContentEvents.js.map +1 -1
- package/dist/server/model/events/MailboxContactEvents.js +4 -4
- package/dist/server/model/events/MailboxContactEvents.js.map +1 -1
- package/dist/server/model/events/MailboxEmailEvents.d.ts +9 -6
- package/dist/server/model/events/MailboxEmailEvents.d.ts.map +1 -1
- package/dist/server/model/events/MailboxEmailEvents.js +11 -2
- package/dist/server/model/events/MailboxEmailEvents.js.map +1 -1
- package/dist/server/model/events/MailboxEvents.d.ts.map +1 -1
- package/dist/server/model/events/MailboxEvents.js +6 -6
- package/dist/server/model/events/MailboxEvents.js.map +1 -1
- package/dist/server/model/events/TagEvents.js +1 -1
- package/dist/server/model/events/TagEvents.js.map +1 -1
- package/dist/server/model/events/TextDocumentEvents.js +2 -2
- package/dist/server/model/events/TextDocumentEvents.js.map +1 -1
- package/dist/server/model/events/ThreadParticipantEvents.js +1 -1
- package/dist/server/model/events/ThreadParticipantEvents.js.map +1 -1
- package/dist/server/seed/ui/seed-ui.js +1 -1
- package/dist/server/seed/ui/seed-ui.js.map +1 -1
- package/dist/server/services/channels/ChannelPageService.d.ts +3 -1
- package/dist/server/services/channels/ChannelPageService.d.ts.map +1 -1
- package/dist/server/services/channels/ChannelPageService.js +21 -17
- package/dist/server/services/channels/ChannelPageService.js.map +1 -1
- package/dist/server/services/dom/HtmlSanitizer.js +5 -5
- package/dist/server/services/dom/HtmlSanitizer.js.map +1 -1
- package/dist/server/services/puppeteer/PuppeteerServer.d.ts +1 -19
- package/dist/server/services/puppeteer/PuppeteerServer.d.ts.map +1 -1
- package/dist/server/services/puppeteer/PuppeteerServer.js +176 -268
- package/dist/server/services/puppeteer/PuppeteerServer.js.map +1 -1
- package/dist/server/services/puppeteer/PuppeteerService.d.ts +1 -1
- package/dist/server/services/puppeteer/PuppeteerService.d.ts.map +1 -1
- package/dist/server/services/puppeteer/PuppeteerService.js +2 -1
- package/dist/server/services/puppeteer/PuppeteerService.js.map +1 -1
- package/dist/server/smtp/services/CachedEmailService.js +1 -1
- package/dist/server/smtp/services/EmailReferenceService.d.ts.map +1 -1
- package/dist/server/smtp/services/EmailReferenceService.js +34 -35
- package/dist/server/smtp/services/EmailReferenceService.js.map +1 -1
- package/dist/server/smtp/services/EngagementService.js +1 -1
- package/dist/server/workflows/channel/BroadcastEmail.d.ts.map +1 -1
- package/dist/server/workflows/channel/BroadcastEmail.js +16 -8
- package/dist/server/workflows/channel/BroadcastEmail.js.map +1 -1
- package/dist/server/workflows/repair/channel/RepairChannelEmailCountsWorkflow.js +1 -1
- package/dist/server/workflows/repair/counts/RepairEmailCountsWorkflow.js +1 -1
- package/dist/server/workflows/repair/counts/RepairEmailCountsWorkflow.js.map +1 -1
- package/dist/server/workflows/repair/tags/RepairEmailTagsWorkflow.js +1 -1
- package/dist/server/workflows/repair/tags/RepairEmailTagsWorkflow.js.map +1 -1
- package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts +1 -1
- package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts.map +1 -1
- package/dist/server/workflows/smtp/DispatchEmailToMX.js +9 -7
- package/dist/server/workflows/smtp/DispatchEmailToMX.js.map +1 -1
- package/dist/server/workflows/smtp/MailDispatcherService.d.ts +3 -2
- package/dist/server/workflows/smtp/MailDispatcherService.d.ts.map +1 -1
- package/dist/server/workflows/smtp/MailDispatcherService.js +4 -4
- package/dist/server/workflows/smtp/MailDispatcherService.js.map +1 -1
- package/dist/server/workflows/smtp/PrepareEmailToSend.d.ts +1 -1
- package/dist/server/workflows/smtp/PrepareEmailToSend.js +1 -1
- package/dist/server/workflows/smtp/PrepareEmailToSend.js.map +1 -1
- package/dist/server/workflows/sync/SyncMailboxWorkflow.js +2 -2
- package/dist/server/workflows/sync/SyncMailboxWorkflow.js.map +1 -1
- package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js +1 -1
- package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js +2 -2
- package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js.map +1 -1
- package/dist/wwwroot/routes/api/emails/channel/content/html/index.js +6 -6
- package/dist/wwwroot/routes/api/emails/channel/content/html/index.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/public/email/attachment/index.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/public/email/attachment/index.js +2 -1
- package/dist/wwwroot/routes/social-mail/public/email/attachment/index.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/social/buttons/get.d.ts +1 -25
- package/dist/wwwroot/routes/social-mail/social/buttons/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/social/buttons/get.js +106 -120
- package/dist/wwwroot/routes/social-mail/social/buttons/get.js.map +1 -1
- package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.d.ts +1 -26
- package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.d.ts.map +1 -1
- package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.js +116 -130
- package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.js.map +1 -1
- package/package.json +2 -3
- package/src/server/model/SocialMailContext.ts +2 -2
- package/src/server/model/SocialMailContextEvents.ts +2 -2
- package/src/server/model/entities/AppFile.ts +2 -2
- package/src/server/model/entities/{MailboxEmail.ts → ChannelEmail.ts} +16 -2
- package/src/server/model/entities/Email.ts +3 -2
- package/src/server/model/entities/EmailAddress.ts +2 -0
- package/src/server/model/entities/Mailbox.ts +2 -2
- package/src/server/model/entities/MailboxContactEmail.ts +5 -1
- package/src/server/model/events/AppFileEvents.ts +24 -5
- package/src/server/model/events/AppFileTagEvents.ts +4 -5
- package/src/server/model/events/EmailAddressEvents.ts +5 -8
- package/src/server/model/events/EmailEngagementEvents.ts +1 -1
- package/src/server/model/events/EmailEvents.ts +6 -6
- package/src/server/model/events/EmailLogEvents.ts +1 -1
- package/src/server/model/events/EmailRecipientEvents.ts +1 -1
- package/src/server/model/events/EmailTagEvents.ts +1 -1
- package/src/server/model/events/FileContentEvents.ts +3 -4
- package/src/server/model/events/MailboxContactEvents.ts +4 -4
- package/src/server/model/events/MailboxEmailEvents.ts +16 -7
- package/src/server/model/events/MailboxEvents.ts +7 -6
- package/src/server/model/events/TagEvents.ts +2 -2
- package/src/server/model/events/TextDocumentEvents.ts +3 -3
- package/src/server/model/events/ThreadParticipantEvents.ts +1 -1
- package/src/server/seed/ui/seed-ui.ts +1 -1
- package/src/server/services/channels/ChannelPageService.tsx +22 -17
- package/src/server/services/dom/HtmlSanitizer.tsx +6 -6
- package/src/server/services/emails/UnreadCountService.ts +1 -1
- package/src/server/services/puppeteer/PuppeteerServer.ts +194 -194
- package/src/server/services/puppeteer/PuppeteerService.ts +1 -1
- package/src/server/smtp/services/CachedEmailService.ts +1 -1
- package/src/server/smtp/services/EmailReferenceService.ts +36 -37
- package/src/server/smtp/services/EngagementService.ts +1 -1
- package/src/server/workflows/channel/BroadcastEmail.ts +21 -8
- package/src/server/workflows/repair/channel/RepairChannelEmailCountsWorkflow.ts +1 -1
- package/src/server/workflows/repair/counts/RepairEmailCountsWorkflow.ts +1 -1
- package/src/server/workflows/repair/tags/RepairEmailTagsWorkflow.ts +1 -1
- package/src/server/workflows/smtp/DispatchEmailToMX.ts +11 -8
- package/src/server/workflows/smtp/MailDispatcherService.ts +5 -5
- package/src/server/workflows/smtp/PrepareEmailToSend.ts +1 -1
- package/src/server/workflows/sync/SyncMailboxWorkflow.ts +2 -2
- package/src/server/workflows/web-hooks/InvokeWebHookWorkflow.ts +1 -1
- package/src/wwwroot/routes/api/emails/channel/content/attachment/index.ts +2 -2
- package/src/wwwroot/routes/api/emails/channel/content/html/index.ts +6 -6
- package/src/wwwroot/routes/social-mail/public/email/attachment/index.ts +3 -1
- package/src/wwwroot/routes/social-mail/social/buttons/get.tsx +130 -130
- package/src/wwwroot/routes/social-mail/social/buttons-3x/get.tsx +143 -143
- package/dist/server/model/entities/MailboxEmail.d.ts.map +0 -1
- package/dist/server/model/entities/MailboxEmail.js.map +0 -1
|
@@ -25,12 +25,12 @@ let default_1 = class extends Page {
|
|
|
25
25
|
.where({ fileID, emailID, messageID, channelID, mailboxes }, (p) => (x) => x.appFileID === p.fileID
|
|
26
26
|
&& x.emailID === p.emailID
|
|
27
27
|
&& x.email.headerMessageID === p.messageID
|
|
28
|
-
&& x.email.
|
|
28
|
+
&& x.email.channelEmails.some((c) => Sql.in(c.mailboxID, p.mailboxes)))
|
|
29
29
|
: this.db.appFiles
|
|
30
30
|
.where({ fileID, emailID, messageID, channelID, domains }, (p) => (x) => x.appFileID === p.fileID
|
|
31
31
|
&& x.emailID === p.emailID
|
|
32
32
|
&& x.email.headerMessageID === p.messageID
|
|
33
|
-
&& x.email.
|
|
33
|
+
&& x.email.channelEmails.some((c) => Sql.in(c.mailbox.domainID, p.domains)));
|
|
34
34
|
// verify host ...
|
|
35
35
|
const file = await q
|
|
36
36
|
.first();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/wwwroot/routes/api/emails/channel/content/attachment/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,wDAAwD,CAAC;AACvF,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,eAAe,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,qBAAqB,MAAM,oEAAoE,CAAC;AACvG,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAIhD,gBAAA,KAAM,SAAQ,IAAI;IAW7B,KAAK,CAAC,GAAG;QAEL,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QAExE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,CAAC,GAAG,SAAS;YACf,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;iBACb,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM;mBACrB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;mBACvB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS;mBACvC,CAAC,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/wwwroot/routes/api/emails/channel/content/attachment/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,wDAAwD,CAAC;AACvF,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,eAAe,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,qBAAqB,MAAM,oEAAoE,CAAC;AACvG,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAIhD,gBAAA,KAAM,SAAQ,IAAI;IAW7B,KAAK,CAAC,GAAG;QAEL,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QAExE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE3E,MAAM,CAAC,GAAG,SAAS;YACf,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;iBACb,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM;mBACrB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;mBACvB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS;mBACvC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CACzE;YACL,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ;iBACb,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM;mBACrB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;mBACvB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS;mBACvC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAC9E,CAAC;QAEV,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC;aACf,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,YAAY,GAAG,oCAAoC,CAAC;QAEzD,OAAO,IAAI,cAAc,CACrB,IAAI,EACJ;YACI,kBAAkB,EAAE,QAAQ;YAC5B,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;SACd,CACJ,CAAC;IACN,CAAC;CAEJ,CAAA;AAlDW;IADP,MAAM;8BACK,iBAAiB;qCAAC;AAGtB;IADP,MAAM;8BACM,eAAe;sCAAC;AAGrB;IADP,MAAM;8BACM,qBAAqB;sCAAC;AATxB;IADd,OAAO,CAAC,SAAS;aAsDjB"}
|
|
@@ -28,10 +28,10 @@ let default_1 = class extends Page {
|
|
|
28
28
|
if (this.sessionUser.isAdmin) {
|
|
29
29
|
email = mailboxes
|
|
30
30
|
? await q
|
|
31
|
-
.where({ mailboxes }, (p) => (x) => x.
|
|
31
|
+
.where({ mailboxes }, (p) => (x) => x.channelEmails.some((c) => Sql.in(c.mailboxID, p.mailboxes)))
|
|
32
32
|
.first()
|
|
33
33
|
: await q
|
|
34
|
-
.where({ domains }, (p) => (x) => x.
|
|
34
|
+
.where({ domains }, (p) => (x) => x.channelEmails.some((c) => Sql.in(c.mailbox.domainID, p.domains)))
|
|
35
35
|
.first();
|
|
36
36
|
if (!email) {
|
|
37
37
|
throw new Error("Post not found");
|
|
@@ -41,12 +41,12 @@ let default_1 = class extends Page {
|
|
|
41
41
|
if (this.sessionUser.userID) {
|
|
42
42
|
email = mailboxes
|
|
43
43
|
? await q
|
|
44
|
-
.where({ channelID, mailboxes, userID }, (p) => (x) => x.
|
|
44
|
+
.where({ channelID, mailboxes, userID }, (p) => (x) => x.channelEmails.some((c) => c.mailboxID === p.channelID
|
|
45
45
|
&& Sql.in(c.mailboxID, p.mailboxes)
|
|
46
46
|
&& c.mailbox.userMailboxes.some((mu) => mu.userID === p.userID)))
|
|
47
47
|
.first()
|
|
48
48
|
: await q
|
|
49
|
-
.where({ channelID, domains, userID }, (p) => (x) => x.
|
|
49
|
+
.where({ channelID, domains, userID }, (p) => (x) => x.channelEmails.some((c) => c.mailboxID === p.channelID
|
|
50
50
|
&& Sql.in(c.mailbox.domainID, p.domains)))
|
|
51
51
|
.first();
|
|
52
52
|
if (!email) {
|
|
@@ -56,10 +56,10 @@ let default_1 = class extends Page {
|
|
|
56
56
|
else {
|
|
57
57
|
email = mailboxes
|
|
58
58
|
? await q
|
|
59
|
-
.where({ mailboxes }, (p) => (x) => x.
|
|
59
|
+
.where({ mailboxes }, (p) => (x) => x.channelEmails.some((c) => Sql.in(c.mailboxID, p.mailboxes)))
|
|
60
60
|
.first()
|
|
61
61
|
: await q
|
|
62
|
-
.where({ domains }, (p) => (x) => x.
|
|
62
|
+
.where({ domains }, (p) => (x) => x.channelEmails.some((c) => Sql.in(c.mailbox.domainID, p.domains)))
|
|
63
63
|
.first();
|
|
64
64
|
if (!email) {
|
|
65
65
|
throw new Error("Post not found");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/wwwroot/routes/api/emails/channel/content/html/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,wDAAwD,CAAC;AACvF,OAAO,kBAAkB,MAAM,iEAAiE,CAAC;AACjG,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,qBAAqB,MAAM,oEAAoE,CAAC;AACvG,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAIhD,gBAAA,KAAM,SAAQ,IAAI;IAY7B,KAAK,CAAC,GAAG;QAEL,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QAEhE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAEvC,IAAI,KAAY,CAAC;QAEjB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAG3E,kBAAkB;QAElB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM;aACnB,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;eACpB,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS,CACvC,CAAC;QAEN,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,KAAK,GAAG,SAAS;gBACb,CAAC,CAAC,MAAM,CAAC;qBACJ,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/wwwroot/routes/api/emails/channel/content/html/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/email/attachment/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAO7E,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/email/attachment/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAO7E,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,GAAG,CAAkB;IAEvB,GAAG;CAuCZ"}
|
|
@@ -16,6 +16,7 @@ import TempFileService from "../../../../../../server/storage/TempFileService.js
|
|
|
16
16
|
import { Base36 } from "../../../../../../common/Base36.js";
|
|
17
17
|
let default_1 = class extends Page {
|
|
18
18
|
async run() {
|
|
19
|
+
console.warn(`Do not use this, ${this.request.url}`);
|
|
19
20
|
let { 0: channelID, 1: emailID, 3: fileID } = this.childPath;
|
|
20
21
|
const { 2: messageID } = this.childPath;
|
|
21
22
|
const host = this.request.host;
|
|
@@ -27,7 +28,7 @@ let default_1 = class extends Page {
|
|
|
27
28
|
.where({ fileID, emailID, messageID, channelID, host }, (p) => (x) => x.appFileID === p.fileID
|
|
28
29
|
&& x.emailID === p.emailID
|
|
29
30
|
&& x.email.headerMessageID === p.messageID
|
|
30
|
-
&& x.email.
|
|
31
|
+
&& x.email.channelEmails.some((c) => c.mailboxID === p.channelID
|
|
31
32
|
&& c.mailbox.websiteChannels.some((wc) => wc.website.hosts.some((h) => h.host === p.host))))
|
|
32
33
|
.first();
|
|
33
34
|
const body = await this.tfs.downloadAppFile(file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/email/attachment/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AACpF,OAAO,eAAe,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAI7C,gBAAA,KAAM,SAAQ,IAAI;IAQ7B,KAAK,CAAC,GAAG;QAEL,IAAI,EAAE,CAAC,EAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QACpE,MAAM,EAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/B,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ;aAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM;eACrB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;eACvB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS;eACvC,CAAC,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/wwwroot/routes/social-mail/public/email/attachment/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,iBAAiB,MAAM,qDAAqD,CAAC;AACpF,OAAO,eAAe,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAI7C,gBAAA,KAAM,SAAQ,IAAI;IAQ7B,KAAK,CAAC,GAAG;QAEL,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAErD,IAAI,EAAE,CAAC,EAAC,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,SAAkB,CAAC;QACpE,MAAM,EAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAE/B,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/B,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ;aAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,MAAM;eACrB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;eACvB,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,CAAC,SAAS;eACvC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;mBACzD,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACrC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpE;aACA,KAAK,EAAE,CAAC;QAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,YAAY,GAAG,oCAAoC,CAAC;QAEzD,OAAO,IAAI,cAAc,CACrB,IAAI,EACJ;YACI,kBAAkB,EAAE,QAAQ;YAC5B,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,KAAK;SACd,CACJ,CAAC;IACN,CAAC;CAEJ,CAAA;AA5CW;IADP,MAAM;8BACK,iBAAiB;qCAAC;AAGtB;IADP,MAAM;8BACM,eAAe;sCAAC;AANlB;IADd,OAAO,CAAC,SAAS;aAgDjB"}
|
|
@@ -1,26 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
3
|
-
/**
|
|
4
|
-
* Social Buttons URL Pattern
|
|
5
|
-
*
|
|
6
|
-
* /social-mail/social/buttons/{method}/{selector}/{emailID}/{activityID}
|
|
7
|
-
*
|
|
8
|
-
* method: can be track or any unicode emoji that will be considered as an engagement.
|
|
9
|
-
*
|
|
10
|
-
* selector: unique selector button that will be converted to PNG
|
|
11
|
-
*
|
|
12
|
-
* emailID: email id of the email, Base36 encoded.
|
|
13
|
-
*
|
|
14
|
-
* activityID: activity id of subscription activity to track activity/engagement of specific subscriber.
|
|
15
|
-
* We are not going to use subscriberID as each activityID will be unique and it will be new for
|
|
16
|
-
* new email.
|
|
17
|
-
*/
|
|
18
|
-
export default class SocialButtonPage extends Page {
|
|
19
|
-
private cacheService;
|
|
20
|
-
private cachedEmailService;
|
|
21
|
-
private db;
|
|
22
|
-
run(): Promise<TempFileResult>;
|
|
23
|
-
createImage(method: string, selector: any, emailID: any, activityID: any): Promise<import("@entity-access/server-pages/dist/core/LocalFile.js").LocalFile>;
|
|
24
|
-
track(emailID: any, activityID: any): Promise<string>;
|
|
25
|
-
}
|
|
1
|
+
export {};
|
|
26
2
|
//# sourceMappingURL=get.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons/get.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons/get.tsx"],"names":[],"mappings":""}
|
|
@@ -1,121 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
__decorate([
|
|
110
|
-
Inject,
|
|
111
|
-
__metadata("design:type", CacheService)
|
|
112
|
-
], SocialButtonPage.prototype, "cacheService", void 0);
|
|
113
|
-
__decorate([
|
|
114
|
-
Inject,
|
|
115
|
-
__metadata("design:type", CachedEmailService)
|
|
116
|
-
], SocialButtonPage.prototype, "cachedEmailService", void 0);
|
|
117
|
-
__decorate([
|
|
118
|
-
Inject,
|
|
119
|
-
__metadata("design:type", SocialMailContext)
|
|
120
|
-
], SocialButtonPage.prototype, "db", void 0);
|
|
1
|
+
// import Inject, { ServiceProvider } from "@entity-access/entity-access/dist/di/di.js";
|
|
2
|
+
// import Content, { TempFileResult } from "@entity-access/server-pages/dist/Content.js";
|
|
3
|
+
// import Page from "@entity-access/server-pages/dist/Page.js";
|
|
4
|
+
// import CacheService from "../../../../../server/services/cache/CacheService.js";
|
|
5
|
+
// import TimeSpan from "@entity-access/entity-access/dist/types/TimeSpan.js";
|
|
6
|
+
// import SocialMailContext from "../../../../../server/model/SocialMailContext.js";
|
|
7
|
+
// import CachedEmailService from "../../../../../server/smtp/services/CachedEmailService.js";
|
|
8
|
+
// import { Base36 } from "../../../../../common/Base36.js";
|
|
9
|
+
// import { toKMBString } from "../../../../../common/NumberFormats.js";
|
|
10
|
+
// import { PuppeteerService } from "../../../../../server/services/puppeteer/PuppeteerService.js";
|
|
11
|
+
// import TempFileService from "../../../../../server/storage/TempFileService.js";
|
|
12
|
+
export {};
|
|
13
|
+
// /**
|
|
14
|
+
// * Social Buttons URL Pattern
|
|
15
|
+
// *
|
|
16
|
+
// * /social-mail/social/buttons/{method}/{selector}/{emailID}/{activityID}
|
|
17
|
+
// *
|
|
18
|
+
// * method: can be track or any unicode emoji that will be considered as an engagement.
|
|
19
|
+
// *
|
|
20
|
+
// * selector: unique selector button that will be converted to PNG
|
|
21
|
+
// *
|
|
22
|
+
// * emailID: email id of the email, Base36 encoded.
|
|
23
|
+
// *
|
|
24
|
+
// * activityID: activity id of subscription activity to track activity/engagement of specific subscriber.
|
|
25
|
+
// * We are not going to use subscriberID as each activityID will be unique and it will be new for
|
|
26
|
+
// * new email.
|
|
27
|
+
// */
|
|
28
|
+
// export default class SocialButtonPage extends Page {
|
|
29
|
+
// @Inject
|
|
30
|
+
// private cacheService: CacheService;
|
|
31
|
+
// @Inject
|
|
32
|
+
// private cachedEmailService: CachedEmailService;
|
|
33
|
+
// @Inject
|
|
34
|
+
// private db: SocialMailContext;
|
|
35
|
+
// async run() {
|
|
36
|
+
// const [method, selector, emailIDEncoded, activityID] = this.childPath;
|
|
37
|
+
// let emailID = emailIDEncoded;
|
|
38
|
+
// if (!/^\$/.test(emailID)) {
|
|
39
|
+
// emailID = Base36.decode(emailID, false);
|
|
40
|
+
// }
|
|
41
|
+
// const key = `buttons/${method}/${emailID}`;
|
|
42
|
+
// /**
|
|
43
|
+
// * why do we need to cache this?
|
|
44
|
+
// *
|
|
45
|
+
// * It is to avoid putting load on puppeteer service.
|
|
46
|
+
// * As rendering html to png will require significant cpu and network
|
|
47
|
+
// * resources, as styles can reference any external images.
|
|
48
|
+
// */
|
|
49
|
+
// // const file = await this.cacheService.get({
|
|
50
|
+
// // key, factory: () => this.createImage(method, selector, emailID, activityID),
|
|
51
|
+
// // ttl: TimeSpan.fromSeconds(8600)
|
|
52
|
+
// // });
|
|
53
|
+
// const file = await this.createImage(method, selector, emailID, activityID);
|
|
54
|
+
// this.cacheControl = "public, max-age=8600";
|
|
55
|
+
// return new TempFileResult(file, {});
|
|
56
|
+
// }
|
|
57
|
+
// async createImage(method: string, selector, emailID, activityID) {
|
|
58
|
+
// const db = ServiceProvider.resolve(this, SocialMailContext);
|
|
59
|
+
// const puppeteerService = ServiceProvider.resolve(this, PuppeteerService);
|
|
60
|
+
// const tempFileService = ServiceProvider.resolve(this, TempFileService);
|
|
61
|
+
// let count: string;
|
|
62
|
+
// if (method === "track") {
|
|
63
|
+
// count = await this.track(emailID, activityID);
|
|
64
|
+
// } else {
|
|
65
|
+
// const engagement = decodeURIComponent(method);
|
|
66
|
+
// // console.log(`Search for engagement ${engagement} in ${emailID}`);
|
|
67
|
+
// const ec = await this.db.emailEngagements
|
|
68
|
+
// .where({ emailID, engagement }, (p) => (x) => x.emailID === p.emailID && x.engagement === p.engagement)
|
|
69
|
+
// .first();
|
|
70
|
+
// if (ec?.count) {
|
|
71
|
+
// count = toKMBString(ec.count);
|
|
72
|
+
// }
|
|
73
|
+
// }
|
|
74
|
+
// count ??= "";
|
|
75
|
+
// const html = await this.cachedEmailService.getHtml(emailID);
|
|
76
|
+
// const png = await tempFileService.createTempFile(".png", "button.png", "image/png");
|
|
77
|
+
// await puppeteerService.htmlToPng(await html.readAsText(), { selector, outputFile: png.path, count });
|
|
78
|
+
// return png;
|
|
79
|
+
// }
|
|
80
|
+
// async track(emailID: any, activityID: any) {
|
|
81
|
+
// const ep = { emailID };
|
|
82
|
+
// const isValidActivityID = !/^\$/.test(activityID);
|
|
83
|
+
// if (isValidActivityID) {
|
|
84
|
+
// const activity = await this.db.subscriberActivities
|
|
85
|
+
// .where({
|
|
86
|
+
// activityID: Base36.decode(activityID, false) ?? 0,
|
|
87
|
+
// emailID
|
|
88
|
+
// }, (p) => (x) => x.activityID === p.activityID && x.emailID === p.emailID)
|
|
89
|
+
// .first();
|
|
90
|
+
// if (activity) {
|
|
91
|
+
// delete activity.activityID;
|
|
92
|
+
// activity.activity = "view";
|
|
93
|
+
// activity.ipAddress = this.request?.remoteIPAddress;
|
|
94
|
+
// await this.db.subscriberActivities.statements.insert(activity);
|
|
95
|
+
// await this.db.emails.where(ep, (p) => (x) => x.emailID === p.emailID as any)
|
|
96
|
+
// .update(ep, (p) => (x) => ({ viewCount: x.viewCount + 1}));
|
|
97
|
+
// }
|
|
98
|
+
// }
|
|
99
|
+
// const ec = await this.db.emails
|
|
100
|
+
// .where(ep, (p) => (x) => x.emailID === p.emailID as any)
|
|
101
|
+
// .first();
|
|
102
|
+
// if (ec?.viewCount) {
|
|
103
|
+
// return toKMBString(ec.viewCount);
|
|
104
|
+
// }
|
|
105
|
+
// }
|
|
106
|
+
// }
|
|
121
107
|
//# sourceMappingURL=get.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons/get.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons/get.tsx"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,yFAAyF;AACzF,+DAA+D;AAC/D,mFAAmF;AACnF,8EAA8E;AAC9E,oFAAoF;AACpF,8FAA8F;AAC9F,4DAA4D;AAC5D,wEAAwE;AACxE,mGAAmG;AACnG,kFAAkF;;AAElF,MAAM;AACN,gCAAgC;AAChC,KAAK;AACL,4EAA4E;AAC5E,KAAK;AACL,yFAAyF;AACzF,KAAK;AACL,oEAAoE;AACpE,KAAK;AACL,qDAAqD;AACrD,KAAK;AACL,2GAA2G;AAC3G,wGAAwG;AACxG,qBAAqB;AACrB,MAAM;AACN,uDAAuD;AAEvD,cAAc;AACd,0CAA0C;AAE1C,cAAc;AACd,sDAAsD;AAEtD,cAAc;AACd,qCAAqC;AAErC,oBAAoB;AAEpB,iFAAiF;AAEjF,wCAAwC;AAExC,sCAAsC;AACtC,uDAAuD;AACvD,YAAY;AAEZ,sDAAsD;AAEtD,cAAc;AACd,2CAA2C;AAC3C,aAAa;AACb,+DAA+D;AAC/D,+EAA+E;AAC/E,qEAAqE;AACrE,cAAc;AAEd,wDAAwD;AACxD,8FAA8F;AAC9F,iDAAiD;AACjD,iBAAiB;AAEjB,sFAAsF;AAEtF,sDAAsD;AAEtD,+CAA+C;AAC/C,QAAQ;AAER,yEAAyE;AACzE,uEAAuE;AACvE,oFAAoF;AACpF,kFAAkF;AAElF,6BAA6B;AAE7B,oCAAoC;AACpC,6DAA6D;AAC7D,mBAAmB;AACnB,6DAA6D;AAC7D,mFAAmF;AACnF,wDAAwD;AACxD,0HAA0H;AAC1H,4BAA4B;AAE5B,+BAA+B;AAC/B,iDAAiD;AACjD,gBAAgB;AAChB,YAAY;AAEZ,wBAAwB;AAExB,uEAAuE;AAEvE,+FAA+F;AAC/F,gHAAgH;AAChH,sBAAsB;AACtB,QAAQ;AAER,mDAAmD;AAEnD,kCAAkC;AAClC,6DAA6D;AAC7D,mCAAmC;AACnC,kEAAkE;AAClE,uBAAuB;AACvB,qEAAqE;AACrE,0BAA0B;AAC1B,yFAAyF;AACzF,wBAAwB;AAExB,8BAA8B;AAC9B,8CAA8C;AAC9C,8CAA8C;AAC9C,sEAAsE;AACtE,kFAAkF;AAElF,+FAA+F;AAC/F,kFAAkF;AAClF,gBAAgB;AAChB,YAAY;AAEZ,0CAA0C;AAC1C,uEAAuE;AACvE,wBAAwB;AAExB,+BAA+B;AAC/B,gDAAgD;AAChD,YAAY;AACZ,QAAQ;AAER,IAAI"}
|
|
@@ -1,27 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import Page from "@entity-access/server-pages/dist/Page.js";
|
|
3
|
-
/**
|
|
4
|
-
* Social Buttons URL Pattern
|
|
5
|
-
*
|
|
6
|
-
* /social-mail/social/buttons-3x/{method}/{selector}/{emailID}/{activityID}
|
|
7
|
-
*
|
|
8
|
-
* method: can be track or any unicode emoji that will be considered as an engagement.
|
|
9
|
-
*
|
|
10
|
-
* selector: unique selector button that will be converted to PNG
|
|
11
|
-
*
|
|
12
|
-
* emailID: email id of the email, Base36 encoded.
|
|
13
|
-
*
|
|
14
|
-
* activityID: activity id of subscription activity to track activity/engagement of specific subscriber.
|
|
15
|
-
* We are not going to use subscriberID as each activityID will be unique and it will be new for
|
|
16
|
-
* new email.
|
|
17
|
-
*/
|
|
18
|
-
export default class SocialButtonPage extends Page {
|
|
19
|
-
private cacheService;
|
|
20
|
-
private cachedEmailService;
|
|
21
|
-
private db;
|
|
22
|
-
run(): Promise<TempFileResult>;
|
|
23
|
-
createImage(method: string, selector: any, emailID: any, activityID: any): Promise<import("@entity-access/server-pages/dist/core/LocalFile.js").LocalFile>;
|
|
24
|
-
getHtmlBody(emailID: any): Promise<string>;
|
|
25
|
-
track(emailID: any, activityID: any): Promise<string>;
|
|
26
|
-
}
|
|
1
|
+
export {};
|
|
27
2
|
//# sourceMappingURL=get.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons-3x/get.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/social-mail/social/buttons-3x/get.tsx"],"names":[],"mappings":""}
|