@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.
Files changed (168) hide show
  1. package/dist/server/model/SocialMailContext.d.ts +2 -2
  2. package/dist/server/model/SocialMailContext.js +2 -2
  3. package/dist/server/model/SocialMailContextEvents.js +2 -2
  4. package/dist/server/model/entities/AppFile.d.ts +2 -0
  5. package/dist/server/model/entities/AppFile.d.ts.map +1 -1
  6. package/dist/server/model/entities/AppFile.js.map +1 -1
  7. package/dist/server/model/entities/{MailboxEmail.d.ts → ChannelEmail.d.ts} +5 -2
  8. package/dist/server/model/entities/ChannelEmail.d.ts.map +1 -0
  9. package/dist/server/model/entities/{MailboxEmail.js → ChannelEmail.js} +26 -13
  10. package/dist/server/model/entities/ChannelEmail.js.map +1 -0
  11. package/dist/server/model/entities/Email.d.ts +2 -2
  12. package/dist/server/model/entities/Email.d.ts.map +1 -1
  13. package/dist/server/model/entities/Email.js.map +1 -1
  14. package/dist/server/model/entities/EmailAddress.d.ts +2 -0
  15. package/dist/server/model/entities/EmailAddress.d.ts.map +1 -1
  16. package/dist/server/model/entities/EmailAddress.js.map +1 -1
  17. package/dist/server/model/entities/Mailbox.d.ts +2 -2
  18. package/dist/server/model/entities/MailboxContactEmail.d.ts +1 -1
  19. package/dist/server/model/entities/MailboxContactEmail.d.ts.map +1 -1
  20. package/dist/server/model/entities/MailboxContactEmail.js +5 -0
  21. package/dist/server/model/entities/MailboxContactEmail.js.map +1 -1
  22. package/dist/server/model/events/AppFileEvents.d.ts +3 -0
  23. package/dist/server/model/events/AppFileEvents.d.ts.map +1 -1
  24. package/dist/server/model/events/AppFileEvents.js +25 -5
  25. package/dist/server/model/events/AppFileEvents.js.map +1 -1
  26. package/dist/server/model/events/AppFileTagEvents.d.ts.map +1 -1
  27. package/dist/server/model/events/AppFileTagEvents.js +2 -3
  28. package/dist/server/model/events/AppFileTagEvents.js.map +1 -1
  29. package/dist/server/model/events/EmailAddressEvents.d.ts.map +1 -1
  30. package/dist/server/model/events/EmailAddressEvents.js +2 -4
  31. package/dist/server/model/events/EmailAddressEvents.js.map +1 -1
  32. package/dist/server/model/events/EmailEngagementEvents.js +1 -1
  33. package/dist/server/model/events/EmailEngagementEvents.js.map +1 -1
  34. package/dist/server/model/events/EmailEvents.js +6 -6
  35. package/dist/server/model/events/EmailEvents.js.map +1 -1
  36. package/dist/server/model/events/EmailLogEvents.js +1 -1
  37. package/dist/server/model/events/EmailLogEvents.js.map +1 -1
  38. package/dist/server/model/events/EmailRecipientEvents.js +1 -1
  39. package/dist/server/model/events/EmailRecipientEvents.js.map +1 -1
  40. package/dist/server/model/events/EmailTagEvents.js +1 -1
  41. package/dist/server/model/events/EmailTagEvents.js.map +1 -1
  42. package/dist/server/model/events/FileContentEvents.d.ts.map +1 -1
  43. package/dist/server/model/events/FileContentEvents.js +2 -3
  44. package/dist/server/model/events/FileContentEvents.js.map +1 -1
  45. package/dist/server/model/events/MailboxContactEvents.js +4 -4
  46. package/dist/server/model/events/MailboxContactEvents.js.map +1 -1
  47. package/dist/server/model/events/MailboxEmailEvents.d.ts +9 -6
  48. package/dist/server/model/events/MailboxEmailEvents.d.ts.map +1 -1
  49. package/dist/server/model/events/MailboxEmailEvents.js +11 -2
  50. package/dist/server/model/events/MailboxEmailEvents.js.map +1 -1
  51. package/dist/server/model/events/MailboxEvents.d.ts.map +1 -1
  52. package/dist/server/model/events/MailboxEvents.js +6 -6
  53. package/dist/server/model/events/MailboxEvents.js.map +1 -1
  54. package/dist/server/model/events/TagEvents.js +1 -1
  55. package/dist/server/model/events/TagEvents.js.map +1 -1
  56. package/dist/server/model/events/TextDocumentEvents.js +2 -2
  57. package/dist/server/model/events/TextDocumentEvents.js.map +1 -1
  58. package/dist/server/model/events/ThreadParticipantEvents.js +1 -1
  59. package/dist/server/model/events/ThreadParticipantEvents.js.map +1 -1
  60. package/dist/server/seed/ui/seed-ui.js +1 -1
  61. package/dist/server/seed/ui/seed-ui.js.map +1 -1
  62. package/dist/server/services/channels/ChannelPageService.d.ts +3 -1
  63. package/dist/server/services/channels/ChannelPageService.d.ts.map +1 -1
  64. package/dist/server/services/channels/ChannelPageService.js +21 -17
  65. package/dist/server/services/channels/ChannelPageService.js.map +1 -1
  66. package/dist/server/services/dom/HtmlSanitizer.js +5 -5
  67. package/dist/server/services/dom/HtmlSanitizer.js.map +1 -1
  68. package/dist/server/services/puppeteer/PuppeteerServer.d.ts +1 -19
  69. package/dist/server/services/puppeteer/PuppeteerServer.d.ts.map +1 -1
  70. package/dist/server/services/puppeteer/PuppeteerServer.js +176 -268
  71. package/dist/server/services/puppeteer/PuppeteerServer.js.map +1 -1
  72. package/dist/server/services/puppeteer/PuppeteerService.d.ts +1 -1
  73. package/dist/server/services/puppeteer/PuppeteerService.d.ts.map +1 -1
  74. package/dist/server/services/puppeteer/PuppeteerService.js +2 -1
  75. package/dist/server/services/puppeteer/PuppeteerService.js.map +1 -1
  76. package/dist/server/smtp/services/CachedEmailService.js +1 -1
  77. package/dist/server/smtp/services/EmailReferenceService.d.ts.map +1 -1
  78. package/dist/server/smtp/services/EmailReferenceService.js +34 -35
  79. package/dist/server/smtp/services/EmailReferenceService.js.map +1 -1
  80. package/dist/server/smtp/services/EngagementService.js +1 -1
  81. package/dist/server/workflows/channel/BroadcastEmail.d.ts.map +1 -1
  82. package/dist/server/workflows/channel/BroadcastEmail.js +16 -8
  83. package/dist/server/workflows/channel/BroadcastEmail.js.map +1 -1
  84. package/dist/server/workflows/repair/channel/RepairChannelEmailCountsWorkflow.js +1 -1
  85. package/dist/server/workflows/repair/counts/RepairEmailCountsWorkflow.js +1 -1
  86. package/dist/server/workflows/repair/counts/RepairEmailCountsWorkflow.js.map +1 -1
  87. package/dist/server/workflows/repair/tags/RepairEmailTagsWorkflow.js +1 -1
  88. package/dist/server/workflows/repair/tags/RepairEmailTagsWorkflow.js.map +1 -1
  89. package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts +1 -1
  90. package/dist/server/workflows/smtp/DispatchEmailToMX.d.ts.map +1 -1
  91. package/dist/server/workflows/smtp/DispatchEmailToMX.js +9 -7
  92. package/dist/server/workflows/smtp/DispatchEmailToMX.js.map +1 -1
  93. package/dist/server/workflows/smtp/MailDispatcherService.d.ts +3 -2
  94. package/dist/server/workflows/smtp/MailDispatcherService.d.ts.map +1 -1
  95. package/dist/server/workflows/smtp/MailDispatcherService.js +4 -4
  96. package/dist/server/workflows/smtp/MailDispatcherService.js.map +1 -1
  97. package/dist/server/workflows/smtp/PrepareEmailToSend.d.ts +1 -1
  98. package/dist/server/workflows/smtp/PrepareEmailToSend.js +1 -1
  99. package/dist/server/workflows/smtp/PrepareEmailToSend.js.map +1 -1
  100. package/dist/server/workflows/sync/SyncMailboxWorkflow.js +2 -2
  101. package/dist/server/workflows/sync/SyncMailboxWorkflow.js.map +1 -1
  102. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js +1 -1
  103. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js.map +1 -1
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js +2 -2
  106. package/dist/wwwroot/routes/api/emails/channel/content/attachment/index.js.map +1 -1
  107. package/dist/wwwroot/routes/api/emails/channel/content/html/index.js +6 -6
  108. package/dist/wwwroot/routes/api/emails/channel/content/html/index.js.map +1 -1
  109. package/dist/wwwroot/routes/social-mail/public/email/attachment/index.d.ts.map +1 -1
  110. package/dist/wwwroot/routes/social-mail/public/email/attachment/index.js +2 -1
  111. package/dist/wwwroot/routes/social-mail/public/email/attachment/index.js.map +1 -1
  112. package/dist/wwwroot/routes/social-mail/social/buttons/get.d.ts +1 -25
  113. package/dist/wwwroot/routes/social-mail/social/buttons/get.d.ts.map +1 -1
  114. package/dist/wwwroot/routes/social-mail/social/buttons/get.js +106 -120
  115. package/dist/wwwroot/routes/social-mail/social/buttons/get.js.map +1 -1
  116. package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.d.ts +1 -26
  117. package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.d.ts.map +1 -1
  118. package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.js +116 -130
  119. package/dist/wwwroot/routes/social-mail/social/buttons-3x/get.js.map +1 -1
  120. package/package.json +2 -3
  121. package/src/server/model/SocialMailContext.ts +2 -2
  122. package/src/server/model/SocialMailContextEvents.ts +2 -2
  123. package/src/server/model/entities/AppFile.ts +2 -2
  124. package/src/server/model/entities/{MailboxEmail.ts → ChannelEmail.ts} +16 -2
  125. package/src/server/model/entities/Email.ts +3 -2
  126. package/src/server/model/entities/EmailAddress.ts +2 -0
  127. package/src/server/model/entities/Mailbox.ts +2 -2
  128. package/src/server/model/entities/MailboxContactEmail.ts +5 -1
  129. package/src/server/model/events/AppFileEvents.ts +24 -5
  130. package/src/server/model/events/AppFileTagEvents.ts +4 -5
  131. package/src/server/model/events/EmailAddressEvents.ts +5 -8
  132. package/src/server/model/events/EmailEngagementEvents.ts +1 -1
  133. package/src/server/model/events/EmailEvents.ts +6 -6
  134. package/src/server/model/events/EmailLogEvents.ts +1 -1
  135. package/src/server/model/events/EmailRecipientEvents.ts +1 -1
  136. package/src/server/model/events/EmailTagEvents.ts +1 -1
  137. package/src/server/model/events/FileContentEvents.ts +3 -4
  138. package/src/server/model/events/MailboxContactEvents.ts +4 -4
  139. package/src/server/model/events/MailboxEmailEvents.ts +16 -7
  140. package/src/server/model/events/MailboxEvents.ts +7 -6
  141. package/src/server/model/events/TagEvents.ts +2 -2
  142. package/src/server/model/events/TextDocumentEvents.ts +3 -3
  143. package/src/server/model/events/ThreadParticipantEvents.ts +1 -1
  144. package/src/server/seed/ui/seed-ui.ts +1 -1
  145. package/src/server/services/channels/ChannelPageService.tsx +22 -17
  146. package/src/server/services/dom/HtmlSanitizer.tsx +6 -6
  147. package/src/server/services/emails/UnreadCountService.ts +1 -1
  148. package/src/server/services/puppeteer/PuppeteerServer.ts +194 -194
  149. package/src/server/services/puppeteer/PuppeteerService.ts +1 -1
  150. package/src/server/smtp/services/CachedEmailService.ts +1 -1
  151. package/src/server/smtp/services/EmailReferenceService.ts +36 -37
  152. package/src/server/smtp/services/EngagementService.ts +1 -1
  153. package/src/server/workflows/channel/BroadcastEmail.ts +21 -8
  154. package/src/server/workflows/repair/channel/RepairChannelEmailCountsWorkflow.ts +1 -1
  155. package/src/server/workflows/repair/counts/RepairEmailCountsWorkflow.ts +1 -1
  156. package/src/server/workflows/repair/tags/RepairEmailTagsWorkflow.ts +1 -1
  157. package/src/server/workflows/smtp/DispatchEmailToMX.ts +11 -8
  158. package/src/server/workflows/smtp/MailDispatcherService.ts +5 -5
  159. package/src/server/workflows/smtp/PrepareEmailToSend.ts +1 -1
  160. package/src/server/workflows/sync/SyncMailboxWorkflow.ts +2 -2
  161. package/src/server/workflows/web-hooks/InvokeWebHookWorkflow.ts +1 -1
  162. package/src/wwwroot/routes/api/emails/channel/content/attachment/index.ts +2 -2
  163. package/src/wwwroot/routes/api/emails/channel/content/html/index.ts +6 -6
  164. package/src/wwwroot/routes/social-mail/public/email/attachment/index.ts +3 -1
  165. package/src/wwwroot/routes/social-mail/social/buttons/get.tsx +130 -130
  166. package/src/wwwroot/routes/social-mail/social/buttons-3x/get.tsx +143 -143
  167. package/dist/server/model/entities/MailboxEmail.d.ts.map +0 -1
  168. package/dist/server/model/entities/MailboxEmail.js.map +0 -1
@@ -1,147 +1,147 @@
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
-
13
- /**
14
- * Social Buttons URL Pattern
15
- *
16
- * /social-mail/social/buttons-3x/{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
-
30
- @Inject
31
- private cacheService: CacheService;
32
-
33
- @Inject
34
- private cachedEmailService: CachedEmailService;
35
-
36
- @Inject
37
- private db: SocialMailContext;
38
-
39
- async run() {
40
-
41
- const [method, selector, emailIDEncoded, activityID] = this.childPath;
42
-
43
- let emailID = emailIDEncoded;
44
-
45
- if (!/^\$/.test(emailID)) {
46
- emailID = Base36.decode(emailID, false);
47
- }
48
-
49
- const key = `buttons/${method}/${emailID}`;
50
-
51
- /**
52
- * why do we need to cache this?
53
- *
54
- * It is to avoid putting load on puppeteer service.
55
- * As rendering html to png will require significant cpu and network
56
- * resources, as styles can reference any external images.
57
- */
58
-
59
- // const file = await this.cacheService.get({
60
- // key, factory: () => this.createImage(method, selector, emailID, activityID),
61
- // ttl: TimeSpan.fromSeconds(8600)
62
- // });
63
-
64
- const file = await this.createImage(method, selector, emailID, activityID);
65
-
66
- this.cacheControl = "public, max-age=8600";
67
-
68
- return new TempFileResult(file, {});
69
- }
70
-
71
- async createImage(method: string, selector, emailID, activityID) {
72
- const db = ServiceProvider.resolve(this, SocialMailContext);
73
- const puppeteerService = ServiceProvider.resolve(this, PuppeteerService);
74
- const tempFileService = ServiceProvider.resolve(this, TempFileService);
75
-
76
- let count: string;
77
-
78
- if (method === "track") {
79
- count = await this.track(emailID, activityID);
80
- } else {
81
- const engagement = decodeURIComponent(method);
82
- // console.log(`Search for engagement ${engagement} in ${emailID}`);
83
- const ec = await this.db.emailEngagements
84
- .where({ emailID, engagement }, (p) => (x) => x.emailID === p.emailID && x.engagement === p.engagement)
85
- .first();
86
-
87
- if (ec?.count) {
88
- count = toKMBString(ec.count);
89
- }
90
- }
91
-
92
- count ??= "";
93
-
94
- const html = await this.getHtmlBody(emailID);
95
-
96
- const png = await tempFileService.createTempFile(".png", "button.png", "image/png");
97
- await puppeteerService.htmlToPng(html, { deviceScaleFactor: 3, selector, outputFile: png.path, count });
98
- return png;
99
- }
100
-
101
- async getHtmlBody(emailID: any) {
102
-
103
- const email = await this.db.emails
104
- .where({ emailID }, (p) => (x) => x.emailID === p.emailID)
105
- .first();
106
-
107
- if (email.htmlBody) {
108
- return email.htmlBody;
109
- }
110
-
111
- const file = await this.cachedEmailService.getHtml(emailID);
112
- return await file.readAsText();
113
- }
114
-
115
- async track(emailID: any, activityID: any) {
116
-
117
- const ep = { emailID };
118
- const isValidActivityID = !/^\$/.test(activityID);
119
- if (isValidActivityID) {
120
- const activity = await this.db.subscriberActivities
121
- .where({
122
- activityID: Base36.decode(activityID, false) ?? 0,
123
- emailID
124
- }, (p) => (x) => x.activityID === p.activityID && x.emailID === p.emailID)
125
- .first();
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
+
13
+ // /**
14
+ // * Social Buttons URL Pattern
15
+ // *
16
+ // * /social-mail/social/buttons-3x/{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
+
30
+ // @Inject
31
+ // private cacheService: CacheService;
32
+
33
+ // @Inject
34
+ // private cachedEmailService: CachedEmailService;
35
+
36
+ // @Inject
37
+ // private db: SocialMailContext;
38
+
39
+ // async run() {
40
+
41
+ // const [method, selector, emailIDEncoded, activityID] = this.childPath;
42
+
43
+ // let emailID = emailIDEncoded;
44
+
45
+ // if (!/^\$/.test(emailID)) {
46
+ // emailID = Base36.decode(emailID, false);
47
+ // }
48
+
49
+ // const key = `buttons/${method}/${emailID}`;
50
+
51
+ // /**
52
+ // * why do we need to cache this?
53
+ // *
54
+ // * It is to avoid putting load on puppeteer service.
55
+ // * As rendering html to png will require significant cpu and network
56
+ // * resources, as styles can reference any external images.
57
+ // */
58
+
59
+ // // const file = await this.cacheService.get({
60
+ // // key, factory: () => this.createImage(method, selector, emailID, activityID),
61
+ // // ttl: TimeSpan.fromSeconds(8600)
62
+ // // });
63
+
64
+ // const file = await this.createImage(method, selector, emailID, activityID);
65
+
66
+ // this.cacheControl = "public, max-age=8600";
67
+
68
+ // return new TempFileResult(file, {});
69
+ // }
70
+
71
+ // async createImage(method: string, selector, emailID, activityID) {
72
+ // const db = ServiceProvider.resolve(this, SocialMailContext);
73
+ // const puppeteerService = ServiceProvider.resolve(this, PuppeteerService);
74
+ // const tempFileService = ServiceProvider.resolve(this, TempFileService);
75
+
76
+ // let count: string;
77
+
78
+ // if (method === "track") {
79
+ // count = await this.track(emailID, activityID);
80
+ // } else {
81
+ // const engagement = decodeURIComponent(method);
82
+ // // console.log(`Search for engagement ${engagement} in ${emailID}`);
83
+ // const ec = await this.db.emailEngagements
84
+ // .where({ emailID, engagement }, (p) => (x) => x.emailID === p.emailID && x.engagement === p.engagement)
85
+ // .first();
86
+
87
+ // if (ec?.count) {
88
+ // count = toKMBString(ec.count);
89
+ // }
90
+ // }
91
+
92
+ // count ??= "";
93
+
94
+ // const html = await this.getHtmlBody(emailID);
95
+
96
+ // const png = await tempFileService.createTempFile(".png", "button.png", "image/png");
97
+ // await puppeteerService.htmlToPng(html, { deviceScaleFactor: 3, selector, outputFile: png.path, count });
98
+ // return png;
99
+ // }
100
+
101
+ // async getHtmlBody(emailID: any) {
102
+
103
+ // const email = await this.db.emails
104
+ // .where({ emailID }, (p) => (x) => x.emailID === p.emailID)
105
+ // .first();
106
+
107
+ // if (email.htmlBody) {
108
+ // return email.htmlBody;
109
+ // }
110
+
111
+ // const file = await this.cachedEmailService.getHtml(emailID);
112
+ // return await file.readAsText();
113
+ // }
114
+
115
+ // async track(emailID: any, activityID: any) {
116
+
117
+ // const ep = { emailID };
118
+ // const isValidActivityID = !/^\$/.test(activityID);
119
+ // if (isValidActivityID) {
120
+ // const activity = await this.db.subscriberActivities
121
+ // .where({
122
+ // activityID: Base36.decode(activityID, false) ?? 0,
123
+ // emailID
124
+ // }, (p) => (x) => x.activityID === p.activityID && x.emailID === p.emailID)
125
+ // .first();
126
126
 
127
- if (activity) {
128
- delete activity.activityID;
129
- activity.activity = "view";
130
- activity.ipAddress = this.request?.remoteIPAddress;
131
- await this.db.subscriberActivities.statements.insert(activity);
127
+ // if (activity) {
128
+ // delete activity.activityID;
129
+ // activity.activity = "view";
130
+ // activity.ipAddress = this.request?.remoteIPAddress;
131
+ // await this.db.subscriberActivities.statements.insert(activity);
132
132
 
133
- await this.db.emails.where(ep, (p) => (x) => x.emailID === p.emailID as any)
134
- .update(ep, (p) => (x) => ({ viewCount: x.viewCount + 1}));
135
- }
136
- }
133
+ // await this.db.emails.where(ep, (p) => (x) => x.emailID === p.emailID as any)
134
+ // .update(ep, (p) => (x) => ({ viewCount: x.viewCount + 1}));
135
+ // }
136
+ // }
137
137
 
138
- const ec = await this.db.emails
139
- .where(ep, (p) => (x) => x.emailID === p.emailID as any)
140
- .first();
138
+ // const ec = await this.db.emails
139
+ // .where(ep, (p) => (x) => x.emailID === p.emailID as any)
140
+ // .first();
141
141
 
142
- if (ec?.viewCount) {
143
- return toKMBString(ec.viewCount);
144
- }
145
- }
146
-
147
- }
142
+ // if (ec?.viewCount) {
143
+ // return toKMBString(ec.viewCount);
144
+ // }
145
+ // }
146
+
147
+ // }
@@ -1 +0,0 @@
1
- {"version":3,"file":"MailboxEmail.d.ts","sourceRoot":"","sources":["../../../../src/server/model/entities/MailboxEmail.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AA2B3E,MAAM,CAAC,OAAO,OAAO,YAAY;IAU7B,SAAS,EAAE,MAAM,CAAC;IAUlB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IAEH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IAEH,WAAW,EAAE,QAAQ,CAAC;IAEtB;;OAEG;IAEH,aAAa,EAAE,QAAQ,CAAC;IAGxB,QAAQ,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;CAElB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MailboxEmail.js","sourceRoot":"","sources":["../../../../src/server/model/entities/MailboxEmail.ts"],"names":[],"mappings":"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"}