@social-mail/social-mail-web-server 1.7.772 → 1.8.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 (313) hide show
  1. package/dist/WebServer.d.ts.map +1 -1
  2. package/dist/WebServer.js +15 -2
  3. package/dist/WebServer.js.map +1 -1
  4. package/dist/common/AsyncTaskManager.d.ts +8 -1
  5. package/dist/common/AsyncTaskManager.d.ts.map +1 -1
  6. package/dist/common/AsyncTaskManager.js +28 -2
  7. package/dist/common/AsyncTaskManager.js.map +1 -1
  8. package/dist/common/globalEnv.d.ts +12 -0
  9. package/dist/common/globalEnv.d.ts.map +1 -1
  10. package/dist/common/globalEnv.js +28 -15
  11. package/dist/common/globalEnv.js.map +1 -1
  12. package/dist/reports/model/ReportDbContext.d.ts +19 -0
  13. package/dist/reports/model/ReportDbContext.d.ts.map +1 -0
  14. package/dist/reports/model/ReportDbContext.js +47 -0
  15. package/dist/reports/model/ReportDbContext.js.map +1 -0
  16. package/dist/reports/model/ReportDbContextEvents.d.ts +5 -0
  17. package/dist/reports/model/ReportDbContextEvents.d.ts.map +1 -0
  18. package/dist/reports/model/ReportDbContextEvents.js +19 -0
  19. package/dist/reports/model/ReportDbContextEvents.js.map +1 -0
  20. package/dist/reports/model/entities/ReportSite.d.ts +9 -0
  21. package/dist/reports/model/entities/ReportSite.d.ts.map +1 -0
  22. package/dist/reports/model/entities/ReportSite.js +32 -0
  23. package/dist/reports/model/entities/ReportSite.js.map +1 -0
  24. package/dist/reports/model/entities/Visit.d.ts +12 -0
  25. package/dist/reports/model/entities/Visit.d.ts.map +1 -0
  26. package/dist/reports/model/entities/Visit.js +42 -0
  27. package/dist/reports/model/entities/Visit.js.map +1 -0
  28. package/dist/reports/model/entities/VisitActivity.d.ts +16 -0
  29. package/dist/reports/model/entities/VisitActivity.d.ts.map +1 -0
  30. package/dist/reports/model/entities/VisitActivity.js +66 -0
  31. package/dist/reports/model/entities/VisitActivity.js.map +1 -0
  32. package/dist/reports/model/entities/VisitSegment.d.ts +18 -0
  33. package/dist/reports/model/entities/VisitSegment.d.ts.map +1 -0
  34. package/dist/reports/model/entities/VisitSegment.js +59 -0
  35. package/dist/reports/model/entities/VisitSegment.js.map +1 -0
  36. package/dist/reports/model/entities/Visitor.d.ts +29 -0
  37. package/dist/reports/model/entities/Visitor.d.ts.map +1 -0
  38. package/dist/reports/model/entities/Visitor.js +110 -0
  39. package/dist/reports/model/entities/Visitor.js.map +1 -0
  40. package/dist/reports/model/events/ReportSiteEvents.d.ts +5 -0
  41. package/dist/reports/model/events/ReportSiteEvents.d.ts.map +1 -0
  42. package/dist/reports/model/events/ReportSiteEvents.js +4 -0
  43. package/dist/reports/model/events/ReportSiteEvents.js.map +1 -0
  44. package/dist/reports/model/events/VisitActivityEvents.d.ts +5 -0
  45. package/dist/reports/model/events/VisitActivityEvents.d.ts.map +1 -0
  46. package/dist/reports/model/events/VisitActivityEvents.js +4 -0
  47. package/dist/reports/model/events/VisitActivityEvents.js.map +1 -0
  48. package/dist/reports/model/events/VisitEvents.d.ts +5 -0
  49. package/dist/reports/model/events/VisitEvents.d.ts.map +1 -0
  50. package/dist/reports/model/events/VisitEvents.js +4 -0
  51. package/dist/reports/model/events/VisitEvents.js.map +1 -0
  52. package/dist/reports/model/events/VisitorEvents.d.ts +5 -0
  53. package/dist/reports/model/events/VisitorEvents.d.ts.map +1 -0
  54. package/dist/reports/model/events/VisitorEvents.js +4 -0
  55. package/dist/reports/model/events/VisitorEvents.js.map +1 -0
  56. package/dist/reports/services/ReportingCache.d.ts +11 -0
  57. package/dist/reports/services/ReportingCache.d.ts.map +1 -0
  58. package/dist/reports/services/ReportingCache.js +61 -0
  59. package/dist/reports/services/ReportingCache.js.map +1 -0
  60. package/dist/reports/workflows/ReportWorkflowContext.d.ts +6 -0
  61. package/dist/reports/workflows/ReportWorkflowContext.d.ts.map +1 -0
  62. package/dist/reports/workflows/ReportWorkflowContext.js +16 -0
  63. package/dist/reports/workflows/ReportWorkflowContext.js.map +1 -0
  64. package/dist/reports/workflows/activities/AddActivityWorkflow.d.ts +22 -0
  65. package/dist/reports/workflows/activities/AddActivityWorkflow.d.ts.map +1 -0
  66. package/dist/reports/workflows/activities/AddActivityWorkflow.js +113 -0
  67. package/dist/reports/workflows/activities/AddActivityWorkflow.js.map +1 -0
  68. package/dist/reports/workflows/visit-added/TrackActivityWorkflow.d.ts +18 -0
  69. package/dist/reports/workflows/visit-added/TrackActivityWorkflow.d.ts.map +1 -0
  70. package/dist/reports/workflows/visit-added/TrackActivityWorkflow.js +123 -0
  71. package/dist/reports/workflows/visit-added/TrackActivityWorkflow.js.map +1 -0
  72. package/dist/reports/workflows/visitor-added/VisitorAddedWorkflow.d.ts +10 -0
  73. package/dist/reports/workflows/visitor-added/VisitorAddedWorkflow.d.ts.map +1 -0
  74. package/dist/reports/workflows/visitor-added/VisitorAddedWorkflow.js +62 -0
  75. package/dist/reports/workflows/visitor-added/VisitorAddedWorkflow.js.map +1 -0
  76. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/index.d.ts +6 -0
  77. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/index.d.ts.map +1 -0
  78. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/index.js +21 -0
  79. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/index.js.map +1 -0
  80. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/invoke/[entityName]/[methodName]/index.d.ts +6 -0
  81. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/invoke/[entityName]/[methodName]/index.d.ts.map +1 -0
  82. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/invoke/[entityName]/[methodName]/index.js +21 -0
  83. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/invoke/[entityName]/[methodName]/index.js.map +1 -0
  84. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/model.ts/index.d.ts +6 -0
  85. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/model.ts/index.d.ts.map +1 -0
  86. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/model.ts/index.js +21 -0
  87. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/model.ts/index.js.map +1 -0
  88. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/query/[entity]/index.d.ts +6 -0
  89. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/query/[entity]/index.d.ts.map +1 -0
  90. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/query/[entity]/index.js +21 -0
  91. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/query/[entity]/index.js.map +1 -0
  92. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/run/[entity]/[methodName]/index.d.ts +6 -0
  93. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/run/[entity]/[methodName]/index.d.ts.map +1 -0
  94. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/run/[entity]/[methodName]/index.js +21 -0
  95. package/dist/reports/wwwroot/routes/social-mail/reports/api/entity/run/[entity]/[methodName]/index.js.map +1 -0
  96. package/dist/reports/wwwroot/routes/social-mail/reports/api/track/[event]/get.d.ts +15 -0
  97. package/dist/reports/wwwroot/routes/social-mail/reports/api/track/[event]/get.d.ts.map +1 -0
  98. package/dist/reports/wwwroot/routes/social-mail/reports/api/track/[event]/get.js +108 -0
  99. package/dist/reports/wwwroot/routes/social-mail/reports/api/track/[event]/get.js.map +1 -0
  100. package/dist/server/model/events/AppFileEvents.d.ts +2 -2
  101. package/dist/server/model/events/AppFileEvents.d.ts.map +1 -1
  102. package/dist/server/model/events/AppFileEvents.js +2 -2
  103. package/dist/server/model/events/AppFileEvents.js.map +1 -1
  104. package/dist/server/model/events/DomainKeyEvents.js +2 -2
  105. package/dist/server/model/events/DomainKeyEvents.js.map +1 -1
  106. package/dist/server/model/events/HostedDomainEvents.d.ts.map +1 -1
  107. package/dist/server/model/events/HostedDomainEvents.js +2 -2
  108. package/dist/server/model/events/HostedDomainEvents.js.map +1 -1
  109. package/dist/server/model/events/HostedZoneEvents.d.ts.map +1 -1
  110. package/dist/server/model/events/HostedZoneEvents.js +5 -5
  111. package/dist/server/model/events/HostedZoneEvents.js.map +1 -1
  112. package/dist/server/model/events/LoginSessionEvents.js +1 -1
  113. package/dist/server/model/events/LoginSessionEvents.js.map +1 -1
  114. package/dist/server/model/events/MailboxContactEvents.d.ts.map +1 -1
  115. package/dist/server/model/events/MailboxContactEvents.js +2 -2
  116. package/dist/server/model/events/MailboxContactEvents.js.map +1 -1
  117. package/dist/server/model/events/MailboxEvents.d.ts +2 -2
  118. package/dist/server/model/events/MailboxEvents.d.ts.map +1 -1
  119. package/dist/server/model/events/MailboxEvents.js +2 -2
  120. package/dist/server/model/events/MailboxEvents.js.map +1 -1
  121. package/dist/server/model/events/MailboxSyncTargetEvents.d.ts.map +1 -1
  122. package/dist/server/model/events/MailboxSyncTargetEvents.js +2 -2
  123. package/dist/server/model/events/MailboxSyncTargetEvents.js.map +1 -1
  124. package/dist/server/model/events/UserEvents.d.ts.map +1 -1
  125. package/dist/server/model/events/UserEvents.js +3 -3
  126. package/dist/server/model/events/UserEvents.js.map +1 -1
  127. package/dist/server/model/events/WebSiteEvents.d.ts +2 -2
  128. package/dist/server/model/events/WebSiteEvents.d.ts.map +1 -1
  129. package/dist/server/model/events/WebSiteEvents.js +2 -2
  130. package/dist/server/model/events/WebSiteEvents.js.map +1 -1
  131. package/dist/server/model/events/WebSiteHostEvents.d.ts.map +1 -1
  132. package/dist/server/model/events/WebSiteHostEvents.js +2 -2
  133. package/dist/server/model/events/WebSiteHostEvents.js.map +1 -1
  134. package/dist/server/model/events/WebSiteVersionEvents.d.ts.map +1 -1
  135. package/dist/server/model/events/WebSiteVersionEvents.js +2 -2
  136. package/dist/server/model/events/WebSiteVersionEvents.js.map +1 -1
  137. package/dist/server/seed/seed.d.ts.map +1 -1
  138. package/dist/server/seed/seed.js +5 -0
  139. package/dist/server/seed/seed.js.map +1 -1
  140. package/dist/server/seed/ui/seed-ui.js +2 -2
  141. package/dist/server/services/EmailAddressService.js +3 -3
  142. package/dist/server/services/EmailAddressService.js.map +1 -1
  143. package/dist/server/services/StoreFileService.d.ts +2 -2
  144. package/dist/server/services/StoreFileService.d.ts.map +1 -1
  145. package/dist/server/services/StoreFileService.js +2 -2
  146. package/dist/server/services/StoreFileService.js.map +1 -1
  147. package/dist/server/services/app-temp-file/AppTempFileService.d.ts +2 -0
  148. package/dist/server/services/app-temp-file/AppTempFileService.d.ts.map +1 -1
  149. package/dist/server/services/app-temp-file/AppTempFileService.js +8 -1
  150. package/dist/server/services/app-temp-file/AppTempFileService.js.map +1 -1
  151. package/dist/server/services/emails/MailService.d.ts +2 -2
  152. package/dist/server/services/emails/MailService.d.ts.map +1 -1
  153. package/dist/server/services/emails/MailService.js +2 -2
  154. package/dist/server/services/emails/MailService.js.map +1 -1
  155. package/dist/server/services/emails/UnreadCountService.d.ts +2 -2
  156. package/dist/server/services/emails/UnreadCountService.d.ts.map +1 -1
  157. package/dist/server/services/emails/UnreadCountService.js +2 -2
  158. package/dist/server/services/emails/UnreadCountService.js.map +1 -1
  159. package/dist/server/services/files/WebSiteVersionService.js +1 -1
  160. package/dist/server/services/files/WebSiteVersionService.js.map +1 -1
  161. package/dist/server/services/store/StorePaymentGatewayService.d.ts +2 -2
  162. package/dist/server/services/store/StorePaymentGatewayService.d.ts.map +1 -1
  163. package/dist/server/services/store/StorePaymentGatewayService.js +2 -2
  164. package/dist/server/services/store/StorePaymentGatewayService.js.map +1 -1
  165. package/dist/server/services/user/otp-to-user/OtpToUserService.d.ts.map +1 -1
  166. package/dist/server/services/user/otp-to-user/OtpToUserService.js +0 -2
  167. package/dist/server/services/user/otp-to-user/OtpToUserService.js.map +1 -1
  168. package/dist/server/services/user/otp-to-user/test/index.d.ts +23 -0
  169. package/dist/server/services/user/otp-to-user/test/index.d.ts.map +1 -0
  170. package/dist/server/services/user/otp-to-user/test/index.js +16 -0
  171. package/dist/server/services/user/otp-to-user/test/index.js.map +1 -0
  172. package/dist/server/smtp/services/ChannelService.d.ts.map +1 -1
  173. package/dist/server/smtp/services/ChannelService.js +2 -2
  174. package/dist/server/smtp/services/ChannelService.js.map +1 -1
  175. package/dist/server/smtp/services/EmailPostReceiveService.d.ts +2 -2
  176. package/dist/server/smtp/services/EmailPostReceiveService.d.ts.map +1 -1
  177. package/dist/server/smtp/services/EmailPostReceiveService.js +2 -2
  178. package/dist/server/smtp/services/EmailPostReceiveService.js.map +1 -1
  179. package/dist/server/smtp/services/EmailReferenceService.d.ts.map +1 -1
  180. package/dist/server/smtp/services/EmailReferenceService.js +2 -2
  181. package/dist/server/smtp/services/EmailReferenceService.js.map +1 -1
  182. package/dist/server/smtp/services/EmailSerializerService.d.ts.map +1 -1
  183. package/dist/server/smtp/services/EmailSerializerService.js +2 -2
  184. package/dist/server/smtp/services/EmailSerializerService.js.map +1 -1
  185. package/dist/server/workflows/AppWorkflowContext.d.ts +4 -0
  186. package/dist/server/workflows/AppWorkflowContext.d.ts.map +1 -0
  187. package/dist/server/workflows/AppWorkflowContext.js +4 -0
  188. package/dist/server/workflows/AppWorkflowContext.js.map +1 -0
  189. package/dist/server/workflows/SocialWorkflowContext.d.ts +3 -2
  190. package/dist/server/workflows/SocialWorkflowContext.d.ts.map +1 -1
  191. package/dist/server/workflows/SocialWorkflowContext.js +2 -2
  192. package/dist/server/workflows/SocialWorkflowContext.js.map +1 -1
  193. package/dist/server/workflows/channel/BroadcastEmail.d.ts +2 -2
  194. package/dist/server/workflows/channel/BroadcastEmail.d.ts.map +1 -1
  195. package/dist/server/workflows/channel/BroadcastEmail.js.map +1 -1
  196. package/dist/server/workflows/channel/library/SendLibraryContentWorkflow.d.ts +2 -2
  197. package/dist/server/workflows/channel/library/SendLibraryContentWorkflow.d.ts.map +1 -1
  198. package/dist/server/workflows/channel/library/SendLibraryContentWorkflow.js.map +1 -1
  199. package/dist/server/workflows/channel/moderation/UpdatePendingModerationCountWorkflow.js +2 -2
  200. package/dist/server/workflows/channel/moderation/UpdatePendingModerationCountWorkflow.js.map +1 -1
  201. package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.d.ts +2 -2
  202. package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.d.ts.map +1 -1
  203. package/dist/server/workflows/dns/SyncDnsZoneRecordsWorkflow.js.map +1 -1
  204. package/dist/server/workflows/incoming/UpdateMailboxThreads.d.ts +1 -2
  205. package/dist/server/workflows/incoming/UpdateMailboxThreads.d.ts.map +1 -1
  206. package/dist/server/workflows/incoming/UpdateMailboxThreads.js +2 -5
  207. package/dist/server/workflows/incoming/UpdateMailboxThreads.js.map +1 -1
  208. package/dist/server/workflows/pending/PendingPostReceiveWorkflow.d.ts +2 -2
  209. package/dist/server/workflows/pending/PendingPostReceiveWorkflow.d.ts.map +1 -1
  210. package/dist/server/workflows/pending/PendingPostReceiveWorkflow.js.map +1 -1
  211. package/dist/server/workflows/pending/PendingReferencesWorkflow.d.ts +2 -2
  212. package/dist/server/workflows/pending/PendingReferencesWorkflow.d.ts.map +1 -1
  213. package/dist/server/workflows/pending/PendingReferencesWorkflow.js.map +1 -1
  214. package/dist/server/workflows/repair/conversations/RepairConversationWorkflow.d.ts +3 -3
  215. package/dist/server/workflows/repair/conversations/RepairConversationWorkflow.d.ts.map +1 -1
  216. package/dist/server/workflows/repair/conversations/RepairConversationWorkflow.js.map +1 -1
  217. package/dist/server/workflows/search/IndexAppFilesWorkflow.d.ts +2 -2
  218. package/dist/server/workflows/search/IndexAppFilesWorkflow.d.ts.map +1 -1
  219. package/dist/server/workflows/search/IndexAppFilesWorkflow.js.map +1 -1
  220. package/dist/server/workflows/storage/files/UpdateFolderSize.d.ts.map +1 -1
  221. package/dist/server/workflows/storage/files/UpdateFolderSize.js.map +1 -1
  222. package/dist/server/workflows/sync/SyncMailboxWorkflow.d.ts +3 -3
  223. package/dist/server/workflows/sync/SyncMailboxWorkflow.d.ts.map +1 -1
  224. package/dist/server/workflows/sync/SyncMailboxWorkflow.js.map +1 -1
  225. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.d.ts +2 -2
  226. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.d.ts.map +1 -1
  227. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js +1 -0
  228. package/dist/server/workflows/web-hooks/InvokeWebHookWorkflow.js.map +1 -1
  229. package/dist/server/workflows/web-hooks/QueueInvokeWebHookWorkflow.d.ts +2 -2
  230. package/dist/server/workflows/web-hooks/QueueInvokeWebHookWorkflow.d.ts.map +1 -1
  231. package/dist/server/workflows/web-hooks/QueueInvokeWebHookWorkflow.js.map +1 -1
  232. package/dist/tsconfig.tsbuildinfo +1 -1
  233. package/dist/wwwroot/routes/api/repair/conversations/index.d.ts.map +1 -1
  234. package/dist/wwwroot/routes/api/repair/conversations/index.js +2 -2
  235. package/dist/wwwroot/routes/api/repair/conversations/index.js.map +1 -1
  236. package/dist/wwwroot/routes/api/repair/paths/index.d.ts.map +1 -1
  237. package/dist/wwwroot/routes/api/repair/paths/index.js +2 -2
  238. package/dist/wwwroot/routes/api/repair/paths/index.js.map +1 -1
  239. package/dist/wwwroot/routes/api/repair/workflows/index.d.ts +2 -2
  240. package/dist/wwwroot/routes/api/repair/workflows/index.d.ts.map +1 -1
  241. package/dist/wwwroot/routes/api/repair/workflows/index.js +2 -2
  242. package/dist/wwwroot/routes/api/repair/workflows/index.js.map +1 -1
  243. package/package.json +3 -2
  244. package/src/WebServer.ts +21 -2
  245. package/src/common/AsyncTaskManager.ts +31 -5
  246. package/src/common/globalEnv.ts +29 -15
  247. package/src/reports/model/ReportDbContext.ts +42 -0
  248. package/src/reports/model/ReportDbContextEvents.ts +21 -0
  249. package/src/reports/model/entities/ReportSite.ts +21 -0
  250. package/src/reports/model/entities/Visit.ts +31 -0
  251. package/src/reports/model/entities/VisitActivity.ts +46 -0
  252. package/src/reports/model/entities/VisitSegment.ts +47 -0
  253. package/src/reports/model/entities/Visitor.ts +82 -0
  254. package/src/reports/model/events/ReportSiteEvents.ts +6 -0
  255. package/src/reports/model/events/VisitActivityEvents.ts +7 -0
  256. package/src/reports/model/events/VisitEvents.ts +6 -0
  257. package/src/reports/model/events/VisitorEvents.ts +6 -0
  258. package/src/reports/services/ReportingCache.ts +56 -0
  259. package/src/reports/workflows/ReportWorkflowContext.ts +20 -0
  260. package/src/reports/workflows/activities/AddActivityWorkflow.ts +146 -0
  261. package/src/reports/workflows/visit-added/TrackActivityWorkflow.ts +203 -0
  262. package/src/reports/workflows/visitor-added/VisitorAddedWorkflow.ts +53 -0
  263. package/src/reports/wwwroot/routes/social-mail/reports/api/entity/index.tsx +11 -0
  264. package/src/reports/wwwroot/routes/social-mail/reports/api/entity/invoke/[entityName]/[methodName]/index.tsx +11 -0
  265. package/src/reports/wwwroot/routes/social-mail/reports/api/entity/model.ts/index.tsx +11 -0
  266. package/src/reports/wwwroot/routes/social-mail/reports/api/entity/query/[entity]/index.tsx +11 -0
  267. package/src/reports/wwwroot/routes/social-mail/reports/api/entity/run/[entity]/[methodName]/index.tsx +11 -0
  268. package/src/reports/wwwroot/routes/social-mail/reports/api/track/[event]/get.tsx +127 -0
  269. package/src/server/model/events/AppFileEvents.ts +2 -2
  270. package/src/server/model/events/DomainKeyEvents.ts +2 -2
  271. package/src/server/model/events/HostedDomainEvents.ts +2 -3
  272. package/src/server/model/events/HostedZoneEvents.ts +5 -7
  273. package/src/server/model/events/LoginSessionEvents.ts +1 -1
  274. package/src/server/model/events/MailboxContactEvents.ts +2 -3
  275. package/src/server/model/events/MailboxEvents.ts +2 -4
  276. package/src/server/model/events/MailboxSyncTargetEvents.ts +2 -2
  277. package/src/server/model/events/UserEvents.ts +3 -6
  278. package/src/server/model/events/WebSiteEvents.ts +2 -3
  279. package/src/server/model/events/WebSiteHostEvents.ts +2 -2
  280. package/src/server/model/events/WebSiteVersionEvents.ts +2 -3
  281. package/src/server/seed/seed.ts +6 -0
  282. package/src/server/seed/ui/seed-ui.ts +2 -2
  283. package/src/server/services/EmailAddressService.ts +3 -3
  284. package/src/server/services/StoreFileService.ts +2 -2
  285. package/src/server/services/app-temp-file/AppTempFileService.ts +8 -1
  286. package/src/server/services/emails/MailService.ts +2 -2
  287. package/src/server/services/emails/UnreadCountService.ts +3 -5
  288. package/src/server/services/files/WebSiteVersionService.ts +1 -1
  289. package/src/server/services/store/StorePaymentGatewayService.ts +2 -2
  290. package/src/server/services/user/otp-to-user/OtpToUserService.ts +0 -2
  291. package/src/server/services/user/otp-to-user/test/index.ts +23 -0
  292. package/src/server/smtp/services/ChannelService.ts +2 -2
  293. package/src/server/smtp/services/EmailPostReceiveService.ts +2 -4
  294. package/src/server/smtp/services/EmailReferenceService.ts +2 -2
  295. package/src/server/smtp/services/EmailSerializerService.ts +2 -2
  296. package/src/server/workflows/AppWorkflowContext.ts +5 -0
  297. package/src/server/workflows/SocialWorkflowContext.ts +3 -2
  298. package/src/server/workflows/channel/BroadcastEmail.ts +2 -2
  299. package/src/server/workflows/channel/library/SendLibraryContentWorkflow.ts +2 -2
  300. package/src/server/workflows/channel/moderation/UpdatePendingModerationCountWorkflow.ts +2 -2
  301. package/src/server/workflows/dns/SyncDnsZoneRecordsWorkflow.ts +2 -3
  302. package/src/server/workflows/incoming/UpdateMailboxThreads.ts +2 -4
  303. package/src/server/workflows/pending/PendingPostReceiveWorkflow.ts +2 -2
  304. package/src/server/workflows/pending/PendingReferencesWorkflow.ts +2 -2
  305. package/src/server/workflows/repair/conversations/RepairConversationWorkflow.ts +3 -3
  306. package/src/server/workflows/search/IndexAppFilesWorkflow.ts +2 -2
  307. package/src/server/workflows/storage/files/UpdateFolderSize.ts +0 -1
  308. package/src/server/workflows/sync/SyncMailboxWorkflow.ts +3 -3
  309. package/src/server/workflows/web-hooks/InvokeWebHookWorkflow.ts +3 -2
  310. package/src/server/workflows/web-hooks/QueueInvokeWebHookWorkflow.ts +2 -2
  311. package/src/wwwroot/routes/api/repair/conversations/index.ts +2 -2
  312. package/src/wwwroot/routes/api/repair/paths/index.ts +2 -3
  313. package/src/wwwroot/routes/api/repair/workflows/index.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/conversations/index.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAI5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,eAAe,CAAkB;IAEnC,GAAG;CAeZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/conversations/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAK5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,eAAe,CAAqB;IAEtC,GAAG;CAeZ"}
@@ -8,10 +8,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import Inject from "@entity-access/entity-access/dist/di/di.js";
11
- import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
12
11
  import RepairConversationWorkflow from "../../../../../server/workflows/repair/conversations/RepairConversationWorkflow.js";
13
12
  import Page from "@entity-access/server-pages/dist/Page.js";
14
13
  import { Prepare } from "@entity-access/server-pages/dist/decorators/Prepare.js";
14
+ import { AppWorkflowContext } from "../../../../../server/workflows/AppWorkflowContext.js";
15
15
  let default_1 = class extends Page {
16
16
  async run() {
17
17
  this.sessionUser.ensureIsAdmin();
@@ -26,7 +26,7 @@ let default_1 = class extends Page {
26
26
  };
27
27
  __decorate([
28
28
  Inject,
29
- __metadata("design:type", WorkflowContext)
29
+ __metadata("design:type", AppWorkflowContext)
30
30
  ], default_1.prototype, "workflowContext", void 0);
31
31
  default_1 = __decorate([
32
32
  Prepare.authorize
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/conversations/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,0BAA0B,MAAM,oFAAoF,CAAC;AAC5H,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AAGlE,gBAAA,KAAM,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,wBAAwB;YACxB,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,MAAM,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7B,CAAC;CAEJ,CAAA;AAjBW;IADP,MAAM;8BACkB,eAAe;kDAAC;AAH9B;IADd,OAAO,CAAC,SAAS;aAqBjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/conversations/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,0BAA0B,MAAM,oFAAoF,CAAC;AAC5H,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAG5E,gBAAA,KAAM,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,wBAAwB;YACxB,MAAM,EAAE,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC5E,MAAM,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7B,CAAC;CAEJ,CAAA;AAjBW;IADP,MAAM;8BACkB,kBAAkB;kDAAC;AAHjC;IADd,OAAO,CAAC,SAAS;aAqBjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/paths/index.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAM5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,EAAE,CAAoB;IAExB,GAAG;CAmBZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/paths/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAO5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,OAAO,CAAC,eAAe,CAAqB;IAG5C,OAAO,CAAC,EAAE,CAAoB;IAExB,GAAG;CAmBZ"}
@@ -8,11 +8,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import Inject from "@entity-access/entity-access/dist/di/di.js";
11
- import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
12
11
  import Page from "@entity-access/server-pages/dist/Page.js";
13
12
  import { Prepare } from "@entity-access/server-pages/dist/decorators/Prepare.js";
14
13
  import SocialMailContext from "../../../../../server/model/SocialMailContext.js";
15
14
  import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
15
+ import { AppWorkflowContext } from "../../../../../server/workflows/AppWorkflowContext.js";
16
16
  let default_1 = class extends Page {
17
17
  async run() {
18
18
  this.sessionUser.ensureIsAdmin();
@@ -31,7 +31,7 @@ let default_1 = class extends Page {
31
31
  };
32
32
  __decorate([
33
33
  Inject,
34
- __metadata("design:type", WorkflowContext)
34
+ __metadata("design:type", AppWorkflowContext)
35
35
  ], default_1.prototype, "workflowContext", void 0);
36
36
  __decorate([
37
37
  Inject,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/paths/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAE7F,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAGhD,gBAAA,KAAM,SAAQ,IAAI;IAQ7B,KAAK,CAAC,GAAG;QAEL,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACzD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;aAC5C,CAAC,CAAC,CAAC;YAER,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;iBAClE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;aAC3D,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnC,CAAC;CAEJ,CAAA;AAxBW;IADP,MAAM;8BACkB,eAAe;kDAAC;AAGjC;IADP,MAAM;8BACK,iBAAiB;qCAAC;AANnB;IADd,OAAO,CAAC,SAAS;aA4BjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/paths/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,iBAAiB,MAAM,kDAAkD,CAAC;AACjF,OAAO,GAAG,MAAM,8CAA8C,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAG5E,gBAAA,KAAM,SAAQ,IAAI;IAQ7B,KAAK,CAAC,GAAG;QAEL,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACzD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;aAC5C,CAAC,CAAC,CAAC;YAER,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;iBAClE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;aAC3D,CAAC,CAAC,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnC,CAAC;CAEJ,CAAA;AAxBW;IADP,MAAM;8BACkB,kBAAkB;kDAAC;AAGpC;IADP,MAAM;8BACK,iBAAiB;qCAAC;AANnB;IADd,OAAO,CAAC,SAAS;aA4BjB"}
@@ -1,7 +1,7 @@
1
- import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
2
1
  import Page from "@entity-access/server-pages/dist/Page.js";
2
+ import { AppWorkflowContext } from "../../../../../server/workflows/AppWorkflowContext.js";
3
3
  export default class extends Page {
4
- workflowContext: WorkflowContext;
4
+ workflowContext: AppWorkflowContext;
5
5
  run(): Promise<import("@entity-access/server-pages/dist/Content.js").default>;
6
6
  }
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAI5D,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,eAAe,EAAE,eAAe,CAAC;IAE3B,GAAG;CAiBZ"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/workflows/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAG3F,MAAM,CAAC,OAAO,MAAO,SAAQ,IAAI;IAG7B,eAAe,EAAE,kBAAkB,CAAC;IAE9B,GAAG;CAiBZ"}
@@ -8,9 +8,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import Inject from "@entity-access/entity-access/dist/di/di.js";
11
- import WorkflowContext from "@entity-access/entity-access/dist/workflows/WorkflowContext.js";
12
11
  import Page from "@entity-access/server-pages/dist/Page.js";
13
12
  import { Prepare } from "@entity-access/server-pages/dist/decorators/Prepare.js";
13
+ import { AppWorkflowContext } from "../../../../../server/workflows/AppWorkflowContext.js";
14
14
  let default_1 = class extends Page {
15
15
  async run() {
16
16
  const [workflowName] = this.childPath;
@@ -26,7 +26,7 @@ let default_1 = class extends Page {
26
26
  };
27
27
  __decorate([
28
28
  Inject,
29
- __metadata("design:type", WorkflowContext)
29
+ __metadata("design:type", AppWorkflowContext)
30
30
  ], default_1.prototype, "workflowContext", void 0);
31
31
  default_1 = __decorate([
32
32
  Prepare.authorize
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/workflows/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,eAAe,MAAM,gEAAgE,CAAC;AAC7F,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AAGlE,gBAAA,KAAM,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAI,IAAI,CAAC,eAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QAE3E,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,wBAAwB;YACxB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CAEJ,CAAA;AAnBG;IADC,MAAM;8BACU,eAAe;kDAAC;AAHtB;IADd,OAAO,CAAC,SAAS;aAuBjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/wwwroot/routes/api/repair/workflows/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,4CAA4C,CAAC;AAChE,OAAO,IAAI,MAAM,0CAA0C,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAG5E,gBAAA,KAAM,SAAQ,IAAI;IAK7B,KAAK,CAAC,GAAG;QAEL,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAI,IAAI,CAAC,eAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;QAE3E,IAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,wBAAwB;YACxB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CAEJ,CAAA;AAnBG;IADC,MAAM;8BACU,kBAAkB;kDAAC;AAHzB;IADd,OAAO,CAAC,SAAS;aAuBjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-web-server",
3
- "version": "1.7.772",
3
+ "version": "1.8.2",
4
4
  "description": "## Phase 1",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "@aws-sdk/client-s3": "^3.717.0",
23
23
  "@azure/storage-blob": "^12.25.0",
24
- "@entity-access/entity-access": "^1.0.494",
24
+ "@entity-access/entity-access": "^1.0.499",
25
25
  "@entity-access/server-pages": "^1.1.502",
26
26
  "@peculiar/asn1-schema": "^2.3.15",
27
27
  "@social-mail/shared": "^1.0.29",
@@ -43,6 +43,7 @@
43
43
  "mailauth": "^4.8.2",
44
44
  "mailparser": "^3.7.1",
45
45
  "mime-types": "^2.1.35",
46
+ "my-ua-parser": "^2.0.4",
46
47
  "node-forge": "^1.3.1",
47
48
  "nodemailer": "^6.10.0",
48
49
  "pg": "^8.11.1",
package/src/WebServer.ts CHANGED
@@ -14,6 +14,7 @@ import seed from "./server/seed/seed.js";
14
14
  import PostgreSqlDriver from "@entity-access/entity-access/dist/drivers/postgres/PostgreSqlDriver.js";
15
15
  import { globalServices } from "./globalServices.js";
16
16
  import WorkflowContext from "./server/workflows/SocialWorkflowContext.js";
17
+ import { AppWorkflowContext } from "./server/workflows/AppWorkflowContext.js";
17
18
  import SocketService from "./server/services/socket/AppSocketService.js";
18
19
  import SocialWorkflowContext from "./server/workflows/SocialWorkflowContext.js";
19
20
  import { CacheProperty } from "@entity-access/server-pages/dist/core/CacheProperty.js";
@@ -54,6 +55,10 @@ import RootCertificates from "./server/services/root-certs/RootCertificates.js";
54
55
  import SocialSecureContextService from "./server/services/cert/SocialSecureContextService.js";
55
56
  import SecureContextService from "@entity-access/server-pages/dist/ssl/SecureContextService.js";
56
57
  import AppDbContext from "@entity-access/server-pages/dist/core/AppDbContext.js";
58
+ import ReportDbContext from "./reports/model/ReportDbContext.js";
59
+ import ReportDbContextEvents from "./reports/model/ReportDbContextEvents.js";
60
+ import ContextEvents from "@entity-access/entity-access/dist/model/events/ContextEvents.js";
61
+ import ReportWorkflowContext from "./reports/workflows/ReportWorkflowContext.js";
57
62
 
58
63
  ServiceCollection.registerMultiple("Singleton", [SecureContextService, SocialSecureContextService], SocialSecureContextService);
59
64
 
@@ -107,6 +112,10 @@ export default class WebServer {
107
112
  globalServices.resolve(SocialWorkflowContext).start({
108
113
  taskGroups: [ "default", "sync", "sync-queue", "notify", "background", "daily", "batch"]
109
114
  }).catch((error) => console.error(error));
115
+
116
+ globalServices.resolve(ReportWorkflowContext).start({
117
+ taskGroups: ["default", "background", "batch"]
118
+ }).catch(console.error);
110
119
  }
111
120
 
112
121
 
@@ -138,6 +147,10 @@ export default class WebServer {
138
147
  server.serverID = globalEnv.host;
139
148
  server.registerEntityRoutes();
140
149
  server.registerEntityRoutes("/social-mail/");
150
+
151
+ server.registerRoutes(
152
+ join(dirname(fileURLToPath(import.meta.url)), "./reports/wwwroot/routes"));
153
+
141
154
  server.registerRoutes(
142
155
  join(dirname(fileURLToPath(import.meta.url)), "./wwwroot/routes"));
143
156
 
@@ -222,7 +235,8 @@ export default class WebServer {
222
235
 
223
236
  async seed() {
224
237
  await seed();
225
- await globalServices.resolve(WorkflowContext).storage.seed(globalEnv.version);
238
+ await globalServices.resolve(AppWorkflowContext).storage.seed(globalEnv.version);
239
+ await globalServices.resolve(ReportWorkflowContext).storage.seed(globalEnv.version);
226
240
  }
227
241
 
228
242
  registerRoutes(server: ServerPages) {
@@ -230,11 +244,16 @@ export default class WebServer {
230
244
  }
231
245
 
232
246
  register() {
247
+
248
+ ServiceCollection.register("Singleton", ReportDbContextEvents);
249
+ ServiceCollection.register("Scoped", ReportDbContext);
250
+ ServiceCollection.register("Singleton", ReportWorkflowContext);
251
+
233
252
  ServiceCollection.registerMultiple("Scoped", [ AppDbContext, SocialMailContext], SocialMailContext);
234
253
  ServiceCollection.register("Scoped", UserInfoProvider);
235
254
  ServiceCollection.registerMultiple("Singleton", [AppSocketService, SocketService], AppSocketService);
236
255
  ServiceCollection.registerMultiple("Singleton", [AppKeyProvider, KeyProvider], AppKeyProvider);
237
- ServiceCollection.register("Singleton", SocialMailContextEvents);
256
+ ServiceCollection.registerMultiple("Singleton", [ ContextEvents ], SocialMailContextEvents);
238
257
 
239
258
  // Set public key
240
259
  SessionSecurity.prototype.publicKey = globalEnv.publicKey;
@@ -1,15 +1,15 @@
1
1
  import Queue from "../protocols/core/Queue.js";
2
+ import sleep from "./sleep.js";
2
3
 
3
4
  export default class AsyncTaskManager {
4
5
 
6
+ public rateLimit = 10;
7
+
5
8
  private running: Set<any> = new Set();
6
9
 
7
10
  private waiting: Queue<{ resolve, reject, fx }> = new Queue();
8
11
 
9
- constructor(public rateLimit = 10) {
10
- }
11
-
12
- public run<TR>(fx: (... a: any[]) => Promise<TR>): Promise<TR> {
12
+ run<TR>(fx: (... a: any[]) => Promise<TR>): Promise<TR> {
13
13
 
14
14
  const pr = new Promise((resolve, reject) => {
15
15
  this.waiting.enqueue({ resolve, reject, fx });
@@ -24,6 +24,33 @@ export default class AsyncTaskManager {
24
24
  return pr as Promise<TR>;
25
25
  }
26
26
 
27
+ wait() {
28
+ return new Promise<void>((resolve) => this.runAfterEnd(resolve));
29
+ }
30
+
31
+ /**
32
+ * You can queue this function that will be
33
+ * executed after all pending fetch tasks
34
+ * are finished
35
+ * @param fx any function
36
+ */
37
+ public runAfterEnd(fx: () => any) {
38
+ (async () => {
39
+ for(;;) {
40
+ await sleep(100);
41
+ if (this.running.size > 0) {
42
+ continue;
43
+ }
44
+ await sleep(10);
45
+ if (this.running.size > 0) {
46
+ continue;
47
+ }
48
+ break;
49
+ }
50
+ fx();
51
+ })().catch(console.error);
52
+ }
53
+
27
54
  protected processQueue() {
28
55
  for(;;) {
29
56
  if (this.running.size >= this.rateLimit) {
@@ -54,5 +81,4 @@ export default class AsyncTaskManager {
54
81
 
55
82
  }
56
83
  }
57
-
58
84
  }
@@ -18,6 +18,16 @@ if (Number.isNaN(port)) {
18
18
 
19
19
  const serverID = process.env.SOCIAL_MAIL_SERVER_ID || "0";
20
20
 
21
+ const db = {
22
+ server: process.env.SOCIAL_MAIL_DB_SERVER ?? "postgres",
23
+ database: process.env.SOCIAL_MAIL_DB_DATABASE ?? "SocialMails",
24
+ host: process.env.SOCIAL_MAIL_DB_HOST ?? "localhost",
25
+ port: Number(process.env.SOCIAL_MAIL_DB_PORT ?? 5432),
26
+ ssl: JSON.parse(process.env.SOCIAL_MAIL_DB_SSL ?? "true"),
27
+ user: process.env.SOCIAL_MAIL_DB_USER ?? "postgres",
28
+ password: process.env.SOCIAL_MAIL_DB_PASSWORD ?? "abcd123",
29
+ };
30
+
21
31
  export const globalEnv = {
22
32
  protocol: void 0,
23
33
  strictSSL: process.env.NODE_TLS_REJECT_UNAUTHORIZED !== "0",
@@ -71,24 +81,25 @@ export const globalEnv = {
71
81
  eabHmac: process.env.SOCIAL_MAIL_SSL_ACME_EAB_HMAC,
72
82
  }
73
83
  },
74
- db: {
75
- server: process.env.SOCIAL_MAIL_DB_SERVER ?? "postgres",
76
- database: process.env.SOCIAL_MAIL_DB_DATABASE ?? "SocialMails",
77
- host: process.env.SOCIAL_MAIL_DB_HOST ?? "localhost",
78
- port: Number(process.env.SOCIAL_MAIL_DB_PORT ?? 5432),
79
- ssl: JSON.parse(process.env.SOCIAL_MAIL_DB_SSL ?? "true"),
80
- user: process.env.SOCIAL_MAIL_DB_USER ?? "postgres",
81
- password: process.env.SOCIAL_MAIL_DB_PASSWORD ?? "abcd123",
84
+ db,
85
+ reportDb: {
86
+ server: process.env.SOCIAL_MAIL_REPORT_DB_SERVER ?? db.server,
87
+ database: process.env.SOCIAL_MAIL_REPORT_DB_DATABASE ?? db.database,
88
+ host: process.env.SOCIAL_MAIL_REPORT_DB_HOST ?? db.host,
89
+ port: Number(process.env.SOCIAL_MAIL_REPORT_DB_PORT ?? db.port),
90
+ ssl: JSON.parse(process.env.SOCIAL_MAIL_REPORT_DB_SSL ?? db.ssl),
91
+ user: process.env.SOCIAL_MAIL_REPORT_DB_USER ?? db.user,
92
+ password: process.env.SOCIAL_MAIL_REPORT_DB_PASSWORD ?? db.password,
82
93
  },
83
94
 
84
95
  pgEvents: {
85
- server: process.env.SOCIAL_MAIL_EVENTS_DB_SERVER ?? process.env.SOCIAL_MAIL_DB_SERVER ?? "postgres",
86
- database: process.env.SOCIAL_MAIL_EVENTS_DB_DATABASE ?? process.env.SOCIAL_MAIL_DB_DATABASE ?? "SocialMails",
87
- host: process.env.SOCIAL_MAIL_EVENTS_DB_HOST ?? process.env.SOCIAL_MAIL_DB_HOST ?? "localhost",
88
- port: Number(process.env.SOCIAL_MAIL_EVENTS_DB_PORT ?? process.env.SOCIAL_MAIL_DB_PORT ?? 5432),
89
- ssl: JSON.parse(process.env.SOCIAL_MAIL_EVENTS_DB_SSL ?? process.env.SOCIAL_MAIL_DB_SSL ?? "true"),
90
- user: process.env.SOCIAL_MAIL_EVENTS_DB_USER ?? process.env.SOCIAL_MAIL_DB_USER ?? "postgres",
91
- password: process.env.SOCIAL_MAIL_EVENTS_DB_PASSWORD ?? process.env.SOCIAL_MAIL_DB_PASSWORD ?? "abcd123",
96
+ server: process.env.SOCIAL_MAIL_EVENTS_DB_SERVER ?? db.server,
97
+ database: process.env.SOCIAL_MAIL_EVENTS_DB_DATABASE ?? db.database,
98
+ host: process.env.SOCIAL_MAIL_EVENTS_DB_HOST ?? db.host,
99
+ port: Number(process.env.SOCIAL_MAIL_EVENTS_DB_PORT ?? db.port),
100
+ ssl: JSON.parse(process.env.SOCIAL_MAIL_EVENTS_DB_SSL ?? db.ssl),
101
+ user: process.env.SOCIAL_MAIL_EVENTS_DB_USER ?? db.user,
102
+ password: process.env.SOCIAL_MAIL_EVENTS_DB_PASSWORD ?? db.password,
92
103
  },
93
104
 
94
105
  numCPUs: isTestMode
@@ -148,6 +159,9 @@ export const globalEnv = {
148
159
  folder: "socialmail.in",
149
160
  apiKey: process.env.SOCIAL_MAIL_OTP_TO_USER_SOCIAL_MAIL_API_KEY
150
161
  },
162
+ test: {
163
+ folder: "test",
164
+ },
151
165
  modes: (process.env.SOCIAL_MAIL_OTP_TO_USER_MODES ?? "providerSocialMail").split(",")
152
166
  }
153
167
  };
@@ -0,0 +1,42 @@
1
+ import EntityContext from "@entity-access/entity-access/dist/model/EntityContext.js";
2
+ import Visitor from "./entities/Visitor.js";
3
+ import Inject from "@entity-access/entity-access/dist/di/di.js";
4
+ import ReportDbContextEvents from "./ReportDbContextEvents.js";
5
+ import Visit from "./entities/Visit.js";
6
+ import ReportSite from "./entities/ReportSite.js";
7
+ import VisitActivity from "./entities/VisitActivity.js";
8
+ import PostgreSqlDriver from "@entity-access/entity-access/dist/drivers/postgres/PostgreSqlDriver.js";
9
+ import { globalEnv } from "../../common/globalEnv.js";
10
+ import VisitSegment from "./entities/VisitSegment.js";
11
+
12
+ const { host, port, ssl, database, user, password } = globalEnv.reportDb;
13
+
14
+ export const ReportingDriver = new PostgreSqlDriver({
15
+ host,
16
+ port,
17
+ ssl,
18
+ database,
19
+ user,
20
+ password,
21
+ /** Since we are going to use cluster, a single worker should not hold more than 10 connections */
22
+ poolSize: 10
23
+ });
24
+
25
+ // @ts-expect-error readonly
26
+ export default class ReportDbContext extends EntityContext {
27
+
28
+ // driver = ReportingDriver;
29
+
30
+ public visitors = this.model.register(Visitor);
31
+ public visits = this.model.register(Visit);
32
+ public reportSites = this.model.register(ReportSite);
33
+ public visitActivities = this.model.register(VisitActivity);
34
+ public visitSegments = this.model.register(VisitSegment);
35
+
36
+ @Inject
37
+ events: ReportDbContextEvents;
38
+
39
+ constructor(_driver, events, logger) {
40
+ super(ReportingDriver, events, logger);
41
+ }
42
+ }
@@ -0,0 +1,21 @@
1
+ import ContextEvents from "@entity-access/entity-access/dist/model/events/ContextEvents.js";
2
+ import Visit from "./entities/Visit.js";
3
+ import VisitEvents from "./events/VisitEvents.js";
4
+ import VisitActivity from "./entities/VisitActivity.js";
5
+ import VisitActivityEvents from "./events/VisitActivityEvents.js";
6
+ import ReportSite from "./entities/ReportSite.js";
7
+ import ReportSiteEvents from "./events/ReportSiteEvents.js";
8
+ import Visitor from "./entities/Visitor.js";
9
+ import VisitorEvents from "./events/VisitorEvents.js";
10
+
11
+ export default class ReportDbContextEvents extends ContextEvents {
12
+
13
+ constructor() {
14
+ super();
15
+
16
+ this.register(Visit, VisitEvents);
17
+ this.register(VisitActivity, VisitActivityEvents);
18
+ this.register(Visitor, VisitorEvents);
19
+ this.register(ReportSite, ReportSiteEvents);
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ import Column from "@entity-access/entity-access/dist/decorators/Column.js";
2
+ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
3
+ import type Visitor from "./Visitor.js";
4
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
5
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
6
+
7
+ @Table("ReportSites")
8
+ export default class ReportSite {
9
+
10
+ @Column({ dataType: "BigInt", key: true })
11
+ siteID: number;
12
+
13
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
14
+ dateCreated: DateTime;
15
+
16
+ @Column({ dataType: "Int", default: () => 0})
17
+ timeZoneSeconds: number;
18
+
19
+ visitors: Visitor[];
20
+
21
+ }
@@ -0,0 +1,31 @@
1
+ import Column from "@entity-access/entity-access/dist/decorators/Column.js";
2
+ import { RelateTo } from "@entity-access/entity-access/dist/decorators/Relate.js";
3
+ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
4
+ import Visitor from "./Visitor.js";
5
+ import type VisitActivity from "./VisitActivity.js";
6
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
7
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
8
+
9
+ @Table("Visit")
10
+ export default class Visit {
11
+
12
+ @Column({ dataType: "BigInt", key: true, generated: "identity"})
13
+ visitID: number;
14
+
15
+ @Column({ dataType: "BigInt"})
16
+ @RelateTo(Visitor, {
17
+ property: (x) => x.visitor,
18
+ inverseProperty: (x) => x.visits
19
+ })
20
+ visitorID: number;
21
+
22
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
23
+ dateCreated: DateTime;
24
+
25
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
26
+ dateUpdated: DateTime;
27
+
28
+ visitor: Visitor;
29
+ activities: VisitActivity[];
30
+
31
+ }
@@ -0,0 +1,46 @@
1
+ import Column from "@entity-access/entity-access/dist/decorators/Column.js";
2
+ import { RelateTo } from "@entity-access/entity-access/dist/decorators/Relate.js";
3
+ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
4
+ import Visit from "./Visit.js";
5
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
6
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
7
+
8
+ @Table("VisitActivities")
9
+ export default class VisitActivity {
10
+
11
+ @Column({ dataType: "BigInt", key: true, generated: "identity"})
12
+ activityID: number;
13
+
14
+ @Column({ dataType: "BigInt" })
15
+ @RelateTo(Visit, {
16
+ property: (x) => x.visit,
17
+ inverseProperty: (x) => x.activities
18
+ })
19
+ visitID: number;
20
+
21
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
22
+ dateCreated: DateTime;
23
+
24
+ @Column({ dataType: "Char", length: 50})
25
+ event: string;
26
+
27
+ @Column({ dataType: "Char", length: 50, nullable: true})
28
+ referrer: string;
29
+
30
+ @Column({ dataType: "Char", length: 450, nullable: true})
31
+ page: string;
32
+
33
+ @Column({ dataType: "Char", nullable: true})
34
+ query: string;
35
+
36
+ @Column({ dataType: "Int", default: () => 0})
37
+ x: number;
38
+
39
+ @Column({ dataType: "Int", default: () => 0})
40
+ y: number;
41
+
42
+ @Column({ dataType: "Char", nullable: true})
43
+ url: string;
44
+
45
+ visit: Visit;
46
+ }
@@ -0,0 +1,47 @@
1
+ import CheckConstraint from "@entity-access/entity-access/dist/decorators/CheckConstraint.js";
2
+ import Column from "@entity-access/entity-access/dist/decorators/Column.js";
3
+ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
4
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
5
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
6
+
7
+ const durations = [ "hourly", "daily", "monthly", "yearly", "real-time"] as const;
8
+ export type durationType = typeof durations[number];
9
+
10
+
11
+ @Table("VisitSegment")
12
+ @CheckConstraint({
13
+ name: "CC_VisitSegment_Date",
14
+ filter: (x) => Sql.date.minuteOf(x.date) === 0
15
+ && Sql.date.secondOf(x.date) === 0
16
+ })
17
+ export default class VisitSegment {
18
+
19
+ @Column({ dataType: "BigInt", key: true })
20
+ siteID: number;
21
+
22
+ @Column({ dataType: "Char", length: 20, key: true, enum: durations })
23
+ duration: durationType;
24
+
25
+ @Column({ dataType: "Char", length: 400, key: true})
26
+ category: string;
27
+
28
+ /**
29
+ * Beginning of the our should be stored here.
30
+ */
31
+ @Column({ dataType: "DateTime", key: true })
32
+ date: DateTime;
33
+
34
+
35
+ @Column({ dataType: "Int", default: () => 0})
36
+ visits: number;
37
+
38
+ @Column({ dataType: "Int", default: () => 0})
39
+ newVisits: number;
40
+
41
+ @Column({ dataType: "Int", default: () => 0})
42
+ visitors: number;
43
+
44
+ @Column({ dataType: "Int", default: () => 0})
45
+ newVisitors: number;
46
+
47
+ }
@@ -0,0 +1,82 @@
1
+ import Column from "@entity-access/entity-access/dist/decorators/Column.js";
2
+ import Table from "@entity-access/entity-access/dist/decorators/Table.js";
3
+ import type Visit from "./Visit.js";
4
+ import { RelateTo } from "@entity-access/entity-access/dist/decorators/Relate.js";
5
+ import ReportSite from "./ReportSite.js";
6
+ import DateTime from "@entity-access/entity-access/dist/types/DateTime.js";
7
+ import Sql from "@entity-access/entity-access/dist/sql/Sql.js";
8
+
9
+ @Table("Visitors")
10
+ export default class Visitor {
11
+
12
+ @Column({ dataType: "BigInt", key: true, generated: "identity"})
13
+ visitorID: number;
14
+
15
+ @Column({ dataType: "BigInt"})
16
+ @RelateTo(ReportSite, {
17
+ property: (x) => x.site,
18
+ inverseProperty: (x) => x.visitors
19
+ })
20
+ siteID: number;
21
+
22
+ @Column({ dataType: "Char", length: 50, nullable: true})
23
+ ipAddress: string;
24
+
25
+ @Column({ dataType: "Char", length: 50, nullable: true})
26
+ country: string;
27
+
28
+ @Column({ dataType: "Char", nullable: true})
29
+ userAgent: string;
30
+
31
+ @Column({ dataType: "Char", length: 400, nullable: true})
32
+ device: string;
33
+
34
+ @Column({ dataType: "Char", length: 400, nullable: true})
35
+ deviceModel: string;
36
+
37
+ @Column({ dataType: "Char", length: 400, nullable: true})
38
+ deviceVendor: string;
39
+
40
+ @Column({ dataType: "Char", length: 400, nullable: true})
41
+ cpu: string;
42
+
43
+ @Column({ dataType: "Char", length: 400, nullable: true})
44
+ app: string;
45
+
46
+ @Column({ dataType: "Char", length: 400, nullable: true})
47
+ appVersion: string;
48
+
49
+ @Column({ dataType: "Char", length: 400, nullable: true})
50
+ engine: string;
51
+
52
+ @Column({ dataType: "Char", length: 400, nullable: true})
53
+ engineVersion: string;
54
+
55
+ @Column({ dataType: "Char", length: 400, nullable: true})
56
+ os: string;
57
+
58
+ @Column({ dataType: "Char", length: 400, nullable: true})
59
+ osVersion: string;
60
+
61
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
62
+ dateCreated: DateTime;
63
+
64
+ @Column({ dataType: "DateTime", default: () => Sql.date.now()})
65
+ dateUpdated: DateTime;
66
+
67
+ @Column({ dataType: "Int", default: () => 1})
68
+ totalVisits: number;
69
+
70
+ @Column({ dataType: "Float", default: () => 1})
71
+ averageDuration: number;
72
+
73
+ @Column({ dataType: "BigInt", nullable: true})
74
+ firstVisitID: number;
75
+
76
+ @Column({ dataType: "BigInt", nullable: true})
77
+ lastVisitID: number;
78
+
79
+ site: ReportSite;
80
+ visits: Visit[];
81
+
82
+ }
@@ -0,0 +1,6 @@
1
+ import AuthenticatedEvents from "../../../server/model/events/AuthenticatedEvents.js";
2
+ import ReportSite from "../entities/ReportSite.js";
3
+
4
+ export default class ReportSiteEvents extends AuthenticatedEvents<ReportSite> {
5
+
6
+ }