@rapidmx/restapi 0.1.0

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 (435) hide show
  1. package/LICENSE +382 -0
  2. package/README.md +50 -0
  3. package/dist/lib/blob/BlobStore.js +6 -0
  4. package/dist/lib/blob/BlobStore.js.map +1 -0
  5. package/dist/lib/blob/LocalFsBlobStore.js +101 -0
  6. package/dist/lib/blob/LocalFsBlobStore.js.map +1 -0
  7. package/dist/lib/blob/index.js +7 -0
  8. package/dist/lib/blob/index.js.map +1 -0
  9. package/dist/lib/index.js +12 -0
  10. package/dist/lib/index.js.map +1 -0
  11. package/dist/lib/jobs/AttachmentExtractionJob.js +124 -0
  12. package/dist/lib/jobs/AttachmentExtractionJob.js.map +1 -0
  13. package/dist/lib/jobs/CalendarReminderJob.js +132 -0
  14. package/dist/lib/jobs/CalendarReminderJob.js.map +1 -0
  15. package/dist/lib/jobs/EasDeviceStateCleanupJob.js +101 -0
  16. package/dist/lib/jobs/EasDeviceStateCleanupJob.js.map +1 -0
  17. package/dist/lib/jobs/ExternalShareExpirationJob.js +117 -0
  18. package/dist/lib/jobs/ExternalShareExpirationJob.js.map +1 -0
  19. package/dist/lib/jobs/MailboxQuotaRecalcJob.js +163 -0
  20. package/dist/lib/jobs/MailboxQuotaRecalcJob.js.map +1 -0
  21. package/dist/lib/jobs/MeetingSchedulingJob.js +106 -0
  22. package/dist/lib/jobs/MeetingSchedulingJob.js.map +1 -0
  23. package/dist/lib/jobs/QuarantineRetentionJob.js +97 -0
  24. package/dist/lib/jobs/QuarantineRetentionJob.js.map +1 -0
  25. package/dist/lib/jobs/ScanQueueJob.js +223 -0
  26. package/dist/lib/jobs/ScanQueueJob.js.map +1 -0
  27. package/dist/lib/jobs/SearchIndexJob.js +146 -0
  28. package/dist/lib/jobs/SearchIndexJob.js.map +1 -0
  29. package/dist/lib/jobs/index.js +10 -0
  30. package/dist/lib/jobs/index.js.map +1 -0
  31. package/dist/lib/jobs/mongo/AttachmentExtractionJobMongo.js +14 -0
  32. package/dist/lib/jobs/mongo/AttachmentExtractionJobMongo.js.map +1 -0
  33. package/dist/lib/jobs/mongo/CalendarReminderJobMongo.js +13 -0
  34. package/dist/lib/jobs/mongo/CalendarReminderJobMongo.js.map +1 -0
  35. package/dist/lib/jobs/mongo/EasDeviceStateCleanupJobMongo.js +13 -0
  36. package/dist/lib/jobs/mongo/EasDeviceStateCleanupJobMongo.js.map +1 -0
  37. package/dist/lib/jobs/mongo/ExternalShareExpirationJobMongo.js +13 -0
  38. package/dist/lib/jobs/mongo/ExternalShareExpirationJobMongo.js.map +1 -0
  39. package/dist/lib/jobs/mongo/MailboxQuotaRecalcJobMongo.js +15 -0
  40. package/dist/lib/jobs/mongo/MailboxQuotaRecalcJobMongo.js.map +1 -0
  41. package/dist/lib/jobs/mongo/MeetingSchedulingJobMongo.js +13 -0
  42. package/dist/lib/jobs/mongo/MeetingSchedulingJobMongo.js.map +1 -0
  43. package/dist/lib/jobs/mongo/QuarantineRetentionJobMongo.js +13 -0
  44. package/dist/lib/jobs/mongo/QuarantineRetentionJobMongo.js.map +1 -0
  45. package/dist/lib/jobs/mongo/ScanQueueJobMongo.js +18 -0
  46. package/dist/lib/jobs/mongo/ScanQueueJobMongo.js.map +1 -0
  47. package/dist/lib/jobs/mongo/SearchIndexJobMongo.js +14 -0
  48. package/dist/lib/jobs/mongo/SearchIndexJobMongo.js.map +1 -0
  49. package/dist/lib/jobs/mongo/index.js +10 -0
  50. package/dist/lib/jobs/mongo/index.js.map +1 -0
  51. package/dist/lib/jobs/mongo.js +2 -0
  52. package/dist/lib/jobs/mongo.js.map +1 -0
  53. package/dist/lib/jobs/sql/AttachmentExtractionJobSQL.js +14 -0
  54. package/dist/lib/jobs/sql/AttachmentExtractionJobSQL.js.map +1 -0
  55. package/dist/lib/jobs/sql/CalendarReminderJobSQL.js +13 -0
  56. package/dist/lib/jobs/sql/CalendarReminderJobSQL.js.map +1 -0
  57. package/dist/lib/jobs/sql/EasDeviceStateCleanupJobSQL.js +13 -0
  58. package/dist/lib/jobs/sql/EasDeviceStateCleanupJobSQL.js.map +1 -0
  59. package/dist/lib/jobs/sql/ExternalShareExpirationJobSQL.js +13 -0
  60. package/dist/lib/jobs/sql/ExternalShareExpirationJobSQL.js.map +1 -0
  61. package/dist/lib/jobs/sql/MailboxQuotaRecalcJobSQL.js +15 -0
  62. package/dist/lib/jobs/sql/MailboxQuotaRecalcJobSQL.js.map +1 -0
  63. package/dist/lib/jobs/sql/MeetingSchedulingJobSQL.js +13 -0
  64. package/dist/lib/jobs/sql/MeetingSchedulingJobSQL.js.map +1 -0
  65. package/dist/lib/jobs/sql/QuarantineRetentionJobSQL.js +13 -0
  66. package/dist/lib/jobs/sql/QuarantineRetentionJobSQL.js.map +1 -0
  67. package/dist/lib/jobs/sql/ScanQueueJobSQL.js +18 -0
  68. package/dist/lib/jobs/sql/ScanQueueJobSQL.js.map +1 -0
  69. package/dist/lib/jobs/sql/SearchIndexJobSQL.js +14 -0
  70. package/dist/lib/jobs/sql/SearchIndexJobSQL.js.map +1 -0
  71. package/dist/lib/jobs/sql/index.js +10 -0
  72. package/dist/lib/jobs/sql/index.js.map +1 -0
  73. package/dist/lib/jobs/sql.js +2 -0
  74. package/dist/lib/jobs/sql.js.map +1 -0
  75. package/dist/lib/models/index.js +2 -0
  76. package/dist/lib/models/index.js.map +1 -0
  77. package/dist/lib/models/mongo/AttachmentMongo.js +129 -0
  78. package/dist/lib/models/mongo/AttachmentMongo.js.map +1 -0
  79. package/dist/lib/models/mongo/CalendarEventMongo.js +172 -0
  80. package/dist/lib/models/mongo/CalendarEventMongo.js.map +1 -0
  81. package/dist/lib/models/mongo/CalendarShareLinkMongo.js +85 -0
  82. package/dist/lib/models/mongo/CalendarShareLinkMongo.js.map +1 -0
  83. package/dist/lib/models/mongo/ContactListMongo.js +60 -0
  84. package/dist/lib/models/mongo/ContactListMongo.js.map +1 -0
  85. package/dist/lib/models/mongo/ContactMongo.js +148 -0
  86. package/dist/lib/models/mongo/ContactMongo.js.map +1 -0
  87. package/dist/lib/models/mongo/DeviceSyncStateMongo.js +97 -0
  88. package/dist/lib/models/mongo/DeviceSyncStateMongo.js.map +1 -0
  89. package/dist/lib/models/mongo/FolderMongo.js +102 -0
  90. package/dist/lib/models/mongo/FolderMongo.js.map +1 -0
  91. package/dist/lib/models/mongo/IngestQueueEntryMongo.js +93 -0
  92. package/dist/lib/models/mongo/IngestQueueEntryMongo.js.map +1 -0
  93. package/dist/lib/models/mongo/MailboxMongo.js +105 -0
  94. package/dist/lib/models/mongo/MailboxMongo.js.map +1 -0
  95. package/dist/lib/models/mongo/MessageMongo.js +180 -0
  96. package/dist/lib/models/mongo/MessageMongo.js.map +1 -0
  97. package/dist/lib/models/mongo/NoteMongo.js +83 -0
  98. package/dist/lib/models/mongo/NoteMongo.js.map +1 -0
  99. package/dist/lib/models/mongo/QuarantineEntryMongo.js +99 -0
  100. package/dist/lib/models/mongo/QuarantineEntryMongo.js.map +1 -0
  101. package/dist/lib/models/mongo/ScanResultMongo.js +112 -0
  102. package/dist/lib/models/mongo/ScanResultMongo.js.map +1 -0
  103. package/dist/lib/models/mongo/SearchIndexStateMongo.js +83 -0
  104. package/dist/lib/models/mongo/SearchIndexStateMongo.js.map +1 -0
  105. package/dist/lib/models/mongo/TaskMongo.js +105 -0
  106. package/dist/lib/models/mongo/TaskMongo.js.map +1 -0
  107. package/dist/lib/models/mongo/index.js +16 -0
  108. package/dist/lib/models/mongo/index.js.map +1 -0
  109. package/dist/lib/models/mongo.js +2 -0
  110. package/dist/lib/models/mongo.js.map +1 -0
  111. package/dist/lib/models/sql/AttachmentSQL.js +129 -0
  112. package/dist/lib/models/sql/AttachmentSQL.js.map +1 -0
  113. package/dist/lib/models/sql/CalendarEventSQL.js +176 -0
  114. package/dist/lib/models/sql/CalendarEventSQL.js.map +1 -0
  115. package/dist/lib/models/sql/CalendarShareLinkSQL.js +85 -0
  116. package/dist/lib/models/sql/CalendarShareLinkSQL.js.map +1 -0
  117. package/dist/lib/models/sql/ContactListSQL.js +60 -0
  118. package/dist/lib/models/sql/ContactListSQL.js.map +1 -0
  119. package/dist/lib/models/sql/ContactSQL.js +148 -0
  120. package/dist/lib/models/sql/ContactSQL.js.map +1 -0
  121. package/dist/lib/models/sql/DeviceSyncStateSQL.js +97 -0
  122. package/dist/lib/models/sql/DeviceSyncStateSQL.js.map +1 -0
  123. package/dist/lib/models/sql/FolderSQL.js +106 -0
  124. package/dist/lib/models/sql/FolderSQL.js.map +1 -0
  125. package/dist/lib/models/sql/IngestQueueEntrySQL.js +97 -0
  126. package/dist/lib/models/sql/IngestQueueEntrySQL.js.map +1 -0
  127. package/dist/lib/models/sql/MailboxSQL.js +105 -0
  128. package/dist/lib/models/sql/MailboxSQL.js.map +1 -0
  129. package/dist/lib/models/sql/MessageSQL.js +184 -0
  130. package/dist/lib/models/sql/MessageSQL.js.map +1 -0
  131. package/dist/lib/models/sql/NoteSQL.js +83 -0
  132. package/dist/lib/models/sql/NoteSQL.js.map +1 -0
  133. package/dist/lib/models/sql/QuarantineEntrySQL.js +103 -0
  134. package/dist/lib/models/sql/QuarantineEntrySQL.js.map +1 -0
  135. package/dist/lib/models/sql/ScanResultSQL.js +116 -0
  136. package/dist/lib/models/sql/ScanResultSQL.js.map +1 -0
  137. package/dist/lib/models/sql/SearchIndexStateSQL.js +83 -0
  138. package/dist/lib/models/sql/SearchIndexStateSQL.js.map +1 -0
  139. package/dist/lib/models/sql/TaskSQL.js +109 -0
  140. package/dist/lib/models/sql/TaskSQL.js.map +1 -0
  141. package/dist/lib/models/sql/index.js +16 -0
  142. package/dist/lib/models/sql/index.js.map +1 -0
  143. package/dist/lib/models/sql.js +2 -0
  144. package/dist/lib/models/sql.js.map +1 -0
  145. package/dist/lib/models/types.js +108 -0
  146. package/dist/lib/models/types.js.map +1 -0
  147. package/dist/lib/mongo.js +8 -0
  148. package/dist/lib/mongo.js.map +1 -0
  149. package/dist/lib/push/MailPushRoute.js +42 -0
  150. package/dist/lib/push/MailPushRoute.js.map +1 -0
  151. package/dist/lib/push/index.js +6 -0
  152. package/dist/lib/push/index.js.map +1 -0
  153. package/dist/lib/routes/BaseAttachmentRoute.js +142 -0
  154. package/dist/lib/routes/BaseAttachmentRoute.js.map +1 -0
  155. package/dist/lib/routes/BaseCalendarShareLinkRoute.js +123 -0
  156. package/dist/lib/routes/BaseCalendarShareLinkRoute.js.map +1 -0
  157. package/dist/lib/routes/BaseFolderRoute.js +192 -0
  158. package/dist/lib/routes/BaseFolderRoute.js.map +1 -0
  159. package/dist/lib/routes/BaseMailIngestRoute.js +179 -0
  160. package/dist/lib/routes/BaseMailIngestRoute.js.map +1 -0
  161. package/dist/lib/routes/BaseMailboxRoute.js +187 -0
  162. package/dist/lib/routes/BaseMailboxRoute.js.map +1 -0
  163. package/dist/lib/routes/BaseMessageRoute.js +142 -0
  164. package/dist/lib/routes/BaseMessageRoute.js.map +1 -0
  165. package/dist/lib/routes/BaseScopedChildRoute.js +348 -0
  166. package/dist/lib/routes/BaseScopedChildRoute.js.map +1 -0
  167. package/dist/lib/routes/BaseSearchRoute.js +91 -0
  168. package/dist/lib/routes/BaseSearchRoute.js.map +1 -0
  169. package/dist/lib/routes/index.js +13 -0
  170. package/dist/lib/routes/index.js.map +1 -0
  171. package/dist/lib/routes/mongo/AttachmentRouteMongo.js +26 -0
  172. package/dist/lib/routes/mongo/AttachmentRouteMongo.js.map +1 -0
  173. package/dist/lib/routes/mongo/CalendarEventRouteMongo.js +27 -0
  174. package/dist/lib/routes/mongo/CalendarEventRouteMongo.js.map +1 -0
  175. package/dist/lib/routes/mongo/CalendarShareLinkRouteMongo.js +26 -0
  176. package/dist/lib/routes/mongo/CalendarShareLinkRouteMongo.js.map +1 -0
  177. package/dist/lib/routes/mongo/ContactListRouteMongo.js +26 -0
  178. package/dist/lib/routes/mongo/ContactListRouteMongo.js.map +1 -0
  179. package/dist/lib/routes/mongo/ContactRouteMongo.js +27 -0
  180. package/dist/lib/routes/mongo/ContactRouteMongo.js.map +1 -0
  181. package/dist/lib/routes/mongo/FolderRouteMongo.js +26 -0
  182. package/dist/lib/routes/mongo/FolderRouteMongo.js.map +1 -0
  183. package/dist/lib/routes/mongo/IngestQueueRouteMongo.js +33 -0
  184. package/dist/lib/routes/mongo/IngestQueueRouteMongo.js.map +1 -0
  185. package/dist/lib/routes/mongo/MailIngestRouteMongo.js +14 -0
  186. package/dist/lib/routes/mongo/MailIngestRouteMongo.js.map +1 -0
  187. package/dist/lib/routes/mongo/MailboxRouteMongo.js +39 -0
  188. package/dist/lib/routes/mongo/MailboxRouteMongo.js.map +1 -0
  189. package/dist/lib/routes/mongo/MessageRouteMongo.js +27 -0
  190. package/dist/lib/routes/mongo/MessageRouteMongo.js.map +1 -0
  191. package/dist/lib/routes/mongo/NoteRouteMongo.js +26 -0
  192. package/dist/lib/routes/mongo/NoteRouteMongo.js.map +1 -0
  193. package/dist/lib/routes/mongo/QuarantineRouteMongo.js +35 -0
  194. package/dist/lib/routes/mongo/QuarantineRouteMongo.js.map +1 -0
  195. package/dist/lib/routes/mongo/SearchRouteMongo.js +13 -0
  196. package/dist/lib/routes/mongo/SearchRouteMongo.js.map +1 -0
  197. package/dist/lib/routes/mongo/TaskRouteMongo.js +27 -0
  198. package/dist/lib/routes/mongo/TaskRouteMongo.js.map +1 -0
  199. package/dist/lib/routes/mongo/index.js +15 -0
  200. package/dist/lib/routes/mongo/index.js.map +1 -0
  201. package/dist/lib/routes/mongo.js +2 -0
  202. package/dist/lib/routes/mongo.js.map +1 -0
  203. package/dist/lib/routes/sql/AttachmentRouteSQL.js +26 -0
  204. package/dist/lib/routes/sql/AttachmentRouteSQL.js.map +1 -0
  205. package/dist/lib/routes/sql/CalendarEventRouteSQL.js +27 -0
  206. package/dist/lib/routes/sql/CalendarEventRouteSQL.js.map +1 -0
  207. package/dist/lib/routes/sql/CalendarShareLinkRouteSQL.js +26 -0
  208. package/dist/lib/routes/sql/CalendarShareLinkRouteSQL.js.map +1 -0
  209. package/dist/lib/routes/sql/ContactListRouteSQL.js +26 -0
  210. package/dist/lib/routes/sql/ContactListRouteSQL.js.map +1 -0
  211. package/dist/lib/routes/sql/ContactRouteSQL.js +27 -0
  212. package/dist/lib/routes/sql/ContactRouteSQL.js.map +1 -0
  213. package/dist/lib/routes/sql/FolderRouteSQL.js +26 -0
  214. package/dist/lib/routes/sql/FolderRouteSQL.js.map +1 -0
  215. package/dist/lib/routes/sql/IngestQueueRouteSQL.js +29 -0
  216. package/dist/lib/routes/sql/IngestQueueRouteSQL.js.map +1 -0
  217. package/dist/lib/routes/sql/MailIngestRouteSQL.js +35 -0
  218. package/dist/lib/routes/sql/MailIngestRouteSQL.js.map +1 -0
  219. package/dist/lib/routes/sql/MailboxRouteSQL.js +64 -0
  220. package/dist/lib/routes/sql/MailboxRouteSQL.js.map +1 -0
  221. package/dist/lib/routes/sql/MessageRouteSQL.js +27 -0
  222. package/dist/lib/routes/sql/MessageRouteSQL.js.map +1 -0
  223. package/dist/lib/routes/sql/NoteRouteSQL.js +26 -0
  224. package/dist/lib/routes/sql/NoteRouteSQL.js.map +1 -0
  225. package/dist/lib/routes/sql/QuarantineRouteSQL.js +29 -0
  226. package/dist/lib/routes/sql/QuarantineRouteSQL.js.map +1 -0
  227. package/dist/lib/routes/sql/SearchRouteSQL.js +13 -0
  228. package/dist/lib/routes/sql/SearchRouteSQL.js.map +1 -0
  229. package/dist/lib/routes/sql/TaskRouteSQL.js +27 -0
  230. package/dist/lib/routes/sql/TaskRouteSQL.js.map +1 -0
  231. package/dist/lib/routes/sql/index.js +15 -0
  232. package/dist/lib/routes/sql/index.js.map +1 -0
  233. package/dist/lib/routes/sql.js +2 -0
  234. package/dist/lib/routes/sql.js.map +1 -0
  235. package/dist/lib/scan/AvScanProvider.js +2 -0
  236. package/dist/lib/scan/AvScanProvider.js.map +1 -0
  237. package/dist/lib/scan/ClamAvScanProvider.js +112 -0
  238. package/dist/lib/scan/ClamAvScanProvider.js.map +1 -0
  239. package/dist/lib/scan/RspamdSpamScanProvider.js +100 -0
  240. package/dist/lib/scan/RspamdSpamScanProvider.js.map +1 -0
  241. package/dist/lib/scan/ScanPipeline.js +118 -0
  242. package/dist/lib/scan/ScanPipeline.js.map +1 -0
  243. package/dist/lib/scan/SpamScanProvider.js +2 -0
  244. package/dist/lib/scan/SpamScanProvider.js.map +1 -0
  245. package/dist/lib/scan/index.js +10 -0
  246. package/dist/lib/scan/index.js.map +1 -0
  247. package/dist/lib/search/MongoTextSearchProvider.js +116 -0
  248. package/dist/lib/search/MongoTextSearchProvider.js.map +1 -0
  249. package/dist/lib/search/OpenSearchProvider.js +156 -0
  250. package/dist/lib/search/OpenSearchProvider.js.map +1 -0
  251. package/dist/lib/search/PostgresFullTextSearchProvider.js +139 -0
  252. package/dist/lib/search/PostgresFullTextSearchProvider.js.map +1 -0
  253. package/dist/lib/search/SearchProvider.js +6 -0
  254. package/dist/lib/search/SearchProvider.js.map +1 -0
  255. package/dist/lib/search/extraction/DocxTextExtractor.js +27 -0
  256. package/dist/lib/search/extraction/DocxTextExtractor.js.map +1 -0
  257. package/dist/lib/search/extraction/ExtractorRegistry.js +82 -0
  258. package/dist/lib/search/extraction/ExtractorRegistry.js.map +1 -0
  259. package/dist/lib/search/extraction/HtmlTextExtractor.js +20 -0
  260. package/dist/lib/search/extraction/HtmlTextExtractor.js.map +1 -0
  261. package/dist/lib/search/extraction/PdfTextExtractor.js +22 -0
  262. package/dist/lib/search/extraction/PdfTextExtractor.js.map +1 -0
  263. package/dist/lib/search/extraction/PlainTextExtractor.js +14 -0
  264. package/dist/lib/search/extraction/PlainTextExtractor.js.map +1 -0
  265. package/dist/lib/search/extraction/TextExtractor.js +6 -0
  266. package/dist/lib/search/extraction/TextExtractor.js.map +1 -0
  267. package/dist/lib/search/index.js +15 -0
  268. package/dist/lib/search/index.js.map +1 -0
  269. package/dist/lib/sql.js +8 -0
  270. package/dist/lib/sql.js.map +1 -0
  271. package/dist/lib/transport/MTAIngestAdapter.js +30 -0
  272. package/dist/lib/transport/MTAIngestAdapter.js.map +1 -0
  273. package/dist/lib/transport/MailTransport.js +6 -0
  274. package/dist/lib/transport/MailTransport.js.map +1 -0
  275. package/dist/lib/transport/PostfixSendmailTransport.js +61 -0
  276. package/dist/lib/transport/PostfixSendmailTransport.js.map +1 -0
  277. package/dist/lib/transport/index.js +8 -0
  278. package/dist/lib/transport/index.js.map +1 -0
  279. package/dist/lib/util/FolderUtils.js +50 -0
  280. package/dist/lib/util/FolderUtils.js.map +1 -0
  281. package/dist/lib/util/MailSendUtils.js +36 -0
  282. package/dist/lib/util/MailSendUtils.js.map +1 -0
  283. package/dist/lib/util/MailboxScopeUtils.js +23 -0
  284. package/dist/lib/util/MailboxScopeUtils.js.map +1 -0
  285. package/dist/lib/util/OptionalDeps.js +23 -0
  286. package/dist/lib/util/OptionalDeps.js.map +1 -0
  287. package/dist/lib/util/RecoverableRepoUtils.js +42 -0
  288. package/dist/lib/util/RecoverableRepoUtils.js.map +1 -0
  289. package/dist/lib/util/index.js +17 -0
  290. package/dist/lib/util/index.js.map +1 -0
  291. package/dist/types/blob/BlobStore.d.ts +54 -0
  292. package/dist/types/blob/LocalFsBlobStore.d.ts +23 -0
  293. package/dist/types/blob/index.d.ts +2 -0
  294. package/dist/types/index.d.ts +7 -0
  295. package/dist/types/jobs/AttachmentExtractionJob.d.ts +34 -0
  296. package/dist/types/jobs/CalendarReminderJob.d.ts +37 -0
  297. package/dist/types/jobs/EasDeviceStateCleanupJob.d.ts +26 -0
  298. package/dist/types/jobs/ExternalShareExpirationJob.d.ts +34 -0
  299. package/dist/types/jobs/MailboxQuotaRecalcJob.d.ts +44 -0
  300. package/dist/types/jobs/MeetingSchedulingJob.d.ts +32 -0
  301. package/dist/types/jobs/QuarantineRetentionJob.d.ts +27 -0
  302. package/dist/types/jobs/ScanQueueJob.d.ts +41 -0
  303. package/dist/types/jobs/SearchIndexJob.d.ts +37 -0
  304. package/dist/types/jobs/index.d.ts +9 -0
  305. package/dist/types/jobs/mongo/AttachmentExtractionJobMongo.d.ts +6 -0
  306. package/dist/types/jobs/mongo/CalendarReminderJobMongo.d.ts +5 -0
  307. package/dist/types/jobs/mongo/EasDeviceStateCleanupJobMongo.d.ts +5 -0
  308. package/dist/types/jobs/mongo/ExternalShareExpirationJobMongo.d.ts +5 -0
  309. package/dist/types/jobs/mongo/MailboxQuotaRecalcJobMongo.d.ts +7 -0
  310. package/dist/types/jobs/mongo/MeetingSchedulingJobMongo.d.ts +5 -0
  311. package/dist/types/jobs/mongo/QuarantineRetentionJobMongo.d.ts +5 -0
  312. package/dist/types/jobs/mongo/ScanQueueJobMongo.d.ts +10 -0
  313. package/dist/types/jobs/mongo/SearchIndexJobMongo.d.ts +6 -0
  314. package/dist/types/jobs/mongo/index.d.ts +9 -0
  315. package/dist/types/jobs/mongo.d.ts +1 -0
  316. package/dist/types/jobs/sql/AttachmentExtractionJobSQL.d.ts +6 -0
  317. package/dist/types/jobs/sql/CalendarReminderJobSQL.d.ts +5 -0
  318. package/dist/types/jobs/sql/EasDeviceStateCleanupJobSQL.d.ts +5 -0
  319. package/dist/types/jobs/sql/ExternalShareExpirationJobSQL.d.ts +5 -0
  320. package/dist/types/jobs/sql/MailboxQuotaRecalcJobSQL.d.ts +7 -0
  321. package/dist/types/jobs/sql/MeetingSchedulingJobSQL.d.ts +5 -0
  322. package/dist/types/jobs/sql/QuarantineRetentionJobSQL.d.ts +5 -0
  323. package/dist/types/jobs/sql/ScanQueueJobSQL.d.ts +10 -0
  324. package/dist/types/jobs/sql/SearchIndexJobSQL.d.ts +6 -0
  325. package/dist/types/jobs/sql/index.d.ts +9 -0
  326. package/dist/types/jobs/sql.d.ts +1 -0
  327. package/dist/types/models/index.d.ts +1 -0
  328. package/dist/types/models/mongo/AttachmentMongo.d.ts +22 -0
  329. package/dist/types/models/mongo/CalendarEventMongo.d.ts +28 -0
  330. package/dist/types/models/mongo/CalendarShareLinkMongo.d.ts +16 -0
  331. package/dist/types/models/mongo/ContactListMongo.d.ts +13 -0
  332. package/dist/types/models/mongo/ContactMongo.d.ts +25 -0
  333. package/dist/types/models/mongo/DeviceSyncStateMongo.d.ts +18 -0
  334. package/dist/types/models/mongo/FolderMongo.d.ts +18 -0
  335. package/dist/types/models/mongo/IngestQueueEntryMongo.d.ts +17 -0
  336. package/dist/types/models/mongo/MailboxMongo.d.ts +18 -0
  337. package/dist/types/models/mongo/MessageMongo.d.ts +29 -0
  338. package/dist/types/models/mongo/NoteMongo.d.ts +16 -0
  339. package/dist/types/models/mongo/QuarantineEntryMongo.d.ts +18 -0
  340. package/dist/types/models/mongo/ScanResultMongo.d.ts +23 -0
  341. package/dist/types/models/mongo/SearchIndexStateMongo.d.ts +16 -0
  342. package/dist/types/models/mongo/TaskMongo.d.ts +19 -0
  343. package/dist/types/models/mongo/index.d.ts +15 -0
  344. package/dist/types/models/mongo.d.ts +1 -0
  345. package/dist/types/models/sql/AttachmentSQL.d.ts +22 -0
  346. package/dist/types/models/sql/CalendarEventSQL.d.ts +28 -0
  347. package/dist/types/models/sql/CalendarShareLinkSQL.d.ts +16 -0
  348. package/dist/types/models/sql/ContactListSQL.d.ts +13 -0
  349. package/dist/types/models/sql/ContactSQL.d.ts +25 -0
  350. package/dist/types/models/sql/DeviceSyncStateSQL.d.ts +18 -0
  351. package/dist/types/models/sql/FolderSQL.d.ts +18 -0
  352. package/dist/types/models/sql/IngestQueueEntrySQL.d.ts +17 -0
  353. package/dist/types/models/sql/MailboxSQL.d.ts +18 -0
  354. package/dist/types/models/sql/MessageSQL.d.ts +29 -0
  355. package/dist/types/models/sql/NoteSQL.d.ts +16 -0
  356. package/dist/types/models/sql/QuarantineEntrySQL.d.ts +18 -0
  357. package/dist/types/models/sql/ScanResultSQL.d.ts +23 -0
  358. package/dist/types/models/sql/SearchIndexStateSQL.d.ts +16 -0
  359. package/dist/types/models/sql/TaskSQL.d.ts +19 -0
  360. package/dist/types/models/sql/index.d.ts +15 -0
  361. package/dist/types/models/sql.d.ts +1 -0
  362. package/dist/types/models/types.d.ts +541 -0
  363. package/dist/types/mongo.d.ts +3 -0
  364. package/dist/types/push/MailPushRoute.d.ts +37 -0
  365. package/dist/types/push/index.d.ts +1 -0
  366. package/dist/types/routes/BaseAttachmentRoute.d.ts +24 -0
  367. package/dist/types/routes/BaseCalendarShareLinkRoute.d.ts +35 -0
  368. package/dist/types/routes/BaseFolderRoute.d.ts +58 -0
  369. package/dist/types/routes/BaseMailIngestRoute.d.ts +47 -0
  370. package/dist/types/routes/BaseMailboxRoute.d.ts +60 -0
  371. package/dist/types/routes/BaseMessageRoute.d.ts +27 -0
  372. package/dist/types/routes/BaseScopedChildRoute.d.ts +61 -0
  373. package/dist/types/routes/BaseSearchRoute.d.ts +23 -0
  374. package/dist/types/routes/index.d.ts +8 -0
  375. package/dist/types/routes/mongo/AttachmentRouteMongo.d.ts +6 -0
  376. package/dist/types/routes/mongo/CalendarEventRouteMongo.d.ts +6 -0
  377. package/dist/types/routes/mongo/CalendarShareLinkRouteMongo.d.ts +6 -0
  378. package/dist/types/routes/mongo/ContactListRouteMongo.d.ts +6 -0
  379. package/dist/types/routes/mongo/ContactRouteMongo.d.ts +6 -0
  380. package/dist/types/routes/mongo/FolderRouteMongo.d.ts +5 -0
  381. package/dist/types/routes/mongo/IngestQueueRouteMongo.d.ts +13 -0
  382. package/dist/types/routes/mongo/MailIngestRouteMongo.d.ts +6 -0
  383. package/dist/types/routes/mongo/MailboxRouteMongo.d.ts +8 -0
  384. package/dist/types/routes/mongo/MessageRouteMongo.d.ts +6 -0
  385. package/dist/types/routes/mongo/NoteRouteMongo.d.ts +6 -0
  386. package/dist/types/routes/mongo/QuarantineRouteMongo.d.ts +15 -0
  387. package/dist/types/routes/mongo/SearchRouteMongo.d.ts +5 -0
  388. package/dist/types/routes/mongo/TaskRouteMongo.d.ts +6 -0
  389. package/dist/types/routes/mongo/index.d.ts +14 -0
  390. package/dist/types/routes/mongo.d.ts +1 -0
  391. package/dist/types/routes/sql/AttachmentRouteSQL.d.ts +6 -0
  392. package/dist/types/routes/sql/CalendarEventRouteSQL.d.ts +6 -0
  393. package/dist/types/routes/sql/CalendarShareLinkRouteSQL.d.ts +6 -0
  394. package/dist/types/routes/sql/ContactListRouteSQL.d.ts +6 -0
  395. package/dist/types/routes/sql/ContactRouteSQL.d.ts +6 -0
  396. package/dist/types/routes/sql/FolderRouteSQL.d.ts +5 -0
  397. package/dist/types/routes/sql/IngestQueueRouteSQL.d.ts +9 -0
  398. package/dist/types/routes/sql/MailIngestRouteSQL.d.ts +23 -0
  399. package/dist/types/routes/sql/MailboxRouteSQL.d.ts +22 -0
  400. package/dist/types/routes/sql/MessageRouteSQL.d.ts +6 -0
  401. package/dist/types/routes/sql/NoteRouteSQL.d.ts +6 -0
  402. package/dist/types/routes/sql/QuarantineRouteSQL.d.ts +9 -0
  403. package/dist/types/routes/sql/SearchRouteSQL.d.ts +5 -0
  404. package/dist/types/routes/sql/TaskRouteSQL.d.ts +6 -0
  405. package/dist/types/routes/sql/index.d.ts +14 -0
  406. package/dist/types/routes/sql.d.ts +1 -0
  407. package/dist/types/scan/AvScanProvider.d.ts +22 -0
  408. package/dist/types/scan/ClamAvScanProvider.d.ts +17 -0
  409. package/dist/types/scan/RspamdSpamScanProvider.d.ts +16 -0
  410. package/dist/types/scan/ScanPipeline.d.ts +53 -0
  411. package/dist/types/scan/SpamScanProvider.d.ts +29 -0
  412. package/dist/types/scan/index.d.ts +5 -0
  413. package/dist/types/search/MongoTextSearchProvider.d.ts +22 -0
  414. package/dist/types/search/OpenSearchProvider.d.ts +24 -0
  415. package/dist/types/search/PostgresFullTextSearchProvider.d.ts +21 -0
  416. package/dist/types/search/SearchProvider.d.ts +62 -0
  417. package/dist/types/search/extraction/DocxTextExtractor.d.ts +14 -0
  418. package/dist/types/search/extraction/ExtractorRegistry.d.ts +19 -0
  419. package/dist/types/search/extraction/HtmlTextExtractor.d.ts +11 -0
  420. package/dist/types/search/extraction/PdfTextExtractor.d.ts +10 -0
  421. package/dist/types/search/extraction/PlainTextExtractor.d.ts +10 -0
  422. package/dist/types/search/extraction/TextExtractor.d.ts +17 -0
  423. package/dist/types/search/index.d.ts +10 -0
  424. package/dist/types/sql.d.ts +3 -0
  425. package/dist/types/transport/MTAIngestAdapter.d.ts +25 -0
  426. package/dist/types/transport/MailTransport.d.ts +29 -0
  427. package/dist/types/transport/PostfixSendmailTransport.d.ts +15 -0
  428. package/dist/types/transport/index.d.ts +3 -0
  429. package/dist/types/util/FolderUtils.d.ts +15 -0
  430. package/dist/types/util/MailSendUtils.d.ts +19 -0
  431. package/dist/types/util/MailboxScopeUtils.d.ts +19 -0
  432. package/dist/types/util/OptionalDeps.d.ts +9 -0
  433. package/dist/types/util/RecoverableRepoUtils.d.ts +24 -0
  434. package/dist/types/util/index.d.ts +12 -0
  435. package/package.json +122 -0
@@ -0,0 +1,7 @@
1
+ import { MailboxQuotaRecalcJob } from "../MailboxQuotaRecalcJob.js";
2
+ import { AttachmentMongo, MailboxMongo, MessageMongo } from "../../mongo.js";
3
+ export declare class MailboxQuotaRecalcJobMongo extends MailboxQuotaRecalcJob<MailboxMongo, MessageMongo, AttachmentMongo> {
4
+ protected mailboxClass: any;
5
+ protected messageClass: any;
6
+ protected attachmentClass: any;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { MeetingSchedulingJob } from "../MeetingSchedulingJob.js";
2
+ import { CalendarEventMongo } from "../../mongo.js";
3
+ export declare class MeetingSchedulingJobMongo extends MeetingSchedulingJob<CalendarEventMongo> {
4
+ protected calendarEventClass: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { QuarantineRetentionJob } from "../QuarantineRetentionJob.js";
2
+ import { QuarantineEntryMongo } from "../../mongo.js";
3
+ export declare class QuarantineRetentionJobMongo extends QuarantineRetentionJob<QuarantineEntryMongo> {
4
+ protected quarantineEntryClass: any;
5
+ }
@@ -0,0 +1,10 @@
1
+ import { ScanQueueJob } from "../ScanQueueJob.js";
2
+ import { AttachmentMongo, FolderMongo, IngestQueueEntryMongo, MessageMongo, QuarantineEntryMongo, ScanResultMongo } from "../../mongo.js";
3
+ export declare class ScanQueueJobMongo extends ScanQueueJob<IngestQueueEntryMongo, FolderMongo, MessageMongo, AttachmentMongo, QuarantineEntryMongo, ScanResultMongo> {
4
+ protected ingestQueueClass: any;
5
+ protected folderClass: any;
6
+ protected messageClass: any;
7
+ protected attachmentClass: any;
8
+ protected quarantineEntryClass: any;
9
+ protected scanResultClass: any;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { SearchIndexJob } from "../SearchIndexJob.js";
2
+ import { AttachmentMongo, MessageMongo } from "../../mongo.js";
3
+ export declare class SearchIndexJobMongo extends SearchIndexJob<MessageMongo, AttachmentMongo> {
4
+ protected messageClass: any;
5
+ protected attachmentClass: any;
6
+ }
@@ -0,0 +1,9 @@
1
+ export * from "./AttachmentExtractionJobMongo.js";
2
+ export * from "./CalendarReminderJobMongo.js";
3
+ export * from "./EasDeviceStateCleanupJobMongo.js";
4
+ export * from "./ExternalShareExpirationJobMongo.js";
5
+ export * from "./MailboxQuotaRecalcJobMongo.js";
6
+ export * from "./MeetingSchedulingJobMongo.js";
7
+ export * from "./QuarantineRetentionJobMongo.js";
8
+ export * from "./ScanQueueJobMongo.js";
9
+ export * from "./SearchIndexJobMongo.js";
@@ -0,0 +1 @@
1
+ export * from "./mongo/index.js";
@@ -0,0 +1,6 @@
1
+ import { AttachmentExtractionJob } from "../AttachmentExtractionJob.js";
2
+ import { AttachmentSQL, MessageSQL } from "../../sql.js";
3
+ export declare class AttachmentExtractionJobSQL extends AttachmentExtractionJob<AttachmentSQL, MessageSQL> {
4
+ protected attachmentClass: any;
5
+ protected messageClass: any;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { CalendarReminderJob } from "../CalendarReminderJob.js";
2
+ import { CalendarEventSQL } from "../../sql.js";
3
+ export declare class CalendarReminderJobSQL extends CalendarReminderJob<CalendarEventSQL> {
4
+ protected calendarEventClass: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { EasDeviceStateCleanupJob } from "../EasDeviceStateCleanupJob.js";
2
+ import { DeviceSyncStateSQL } from "../../sql.js";
3
+ export declare class EasDeviceStateCleanupJobSQL extends EasDeviceStateCleanupJob<DeviceSyncStateSQL> {
4
+ protected deviceSyncStateClass: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ExternalShareExpirationJob } from "../ExternalShareExpirationJob.js";
2
+ import { CalendarShareLinkSQL } from "../../sql.js";
3
+ export declare class ExternalShareExpirationJobSQL extends ExternalShareExpirationJob<CalendarShareLinkSQL> {
4
+ protected calendarShareLinkClass: any;
5
+ }
@@ -0,0 +1,7 @@
1
+ import { MailboxQuotaRecalcJob } from "../MailboxQuotaRecalcJob.js";
2
+ import { AttachmentSQL, MailboxSQL, MessageSQL } from "../../sql.js";
3
+ export declare class MailboxQuotaRecalcJobSQL extends MailboxQuotaRecalcJob<MailboxSQL, MessageSQL, AttachmentSQL> {
4
+ protected mailboxClass: any;
5
+ protected messageClass: any;
6
+ protected attachmentClass: any;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { MeetingSchedulingJob } from "../MeetingSchedulingJob.js";
2
+ import { CalendarEventSQL } from "../../sql.js";
3
+ export declare class MeetingSchedulingJobSQL extends MeetingSchedulingJob<CalendarEventSQL> {
4
+ protected calendarEventClass: any;
5
+ }
@@ -0,0 +1,5 @@
1
+ import { QuarantineRetentionJob } from "../QuarantineRetentionJob.js";
2
+ import { QuarantineEntrySQL } from "../../sql.js";
3
+ export declare class QuarantineRetentionJobSQL extends QuarantineRetentionJob<QuarantineEntrySQL> {
4
+ protected quarantineEntryClass: any;
5
+ }
@@ -0,0 +1,10 @@
1
+ import { ScanQueueJob } from "../ScanQueueJob.js";
2
+ import { AttachmentSQL, FolderSQL, IngestQueueEntrySQL, MessageSQL, QuarantineEntrySQL, ScanResultSQL } from "../../sql.js";
3
+ export declare class ScanQueueJobSQL extends ScanQueueJob<IngestQueueEntrySQL, FolderSQL, MessageSQL, AttachmentSQL, QuarantineEntrySQL, ScanResultSQL> {
4
+ protected ingestQueueClass: any;
5
+ protected folderClass: any;
6
+ protected messageClass: any;
7
+ protected attachmentClass: any;
8
+ protected quarantineEntryClass: any;
9
+ protected scanResultClass: any;
10
+ }
@@ -0,0 +1,6 @@
1
+ import { SearchIndexJob } from "../SearchIndexJob.js";
2
+ import { AttachmentSQL, MessageSQL } from "../../sql.js";
3
+ export declare class SearchIndexJobSQL extends SearchIndexJob<MessageSQL, AttachmentSQL> {
4
+ protected messageClass: any;
5
+ protected attachmentClass: any;
6
+ }
@@ -0,0 +1,9 @@
1
+ export * from "./AttachmentExtractionJobSQL.js";
2
+ export * from "./CalendarReminderJobSQL.js";
3
+ export * from "./EasDeviceStateCleanupJobSQL.js";
4
+ export * from "./ExternalShareExpirationJobSQL.js";
5
+ export * from "./MailboxQuotaRecalcJobSQL.js";
6
+ export * from "./MeetingSchedulingJobSQL.js";
7
+ export * from "./QuarantineRetentionJobSQL.js";
8
+ export * from "./ScanQueueJobSQL.js";
9
+ export * from "./SearchIndexJobSQL.js";
@@ -0,0 +1 @@
1
+ export * from "./sql/index.js";
@@ -0,0 +1 @@
1
+ export * from "./types.js";
@@ -0,0 +1,22 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Attachment } from "../types.js";
3
+ /**
4
+ * Implementation of the `Attachment` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.AttachmentSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class AttachmentMongo extends BaseMongoEntity implements Attachment {
10
+ messageUid: string;
11
+ folderUid: string;
12
+ mailboxUid: string;
13
+ filename: string;
14
+ mimeType: string;
15
+ sizeBytes: number;
16
+ blobKey: string;
17
+ contentId?: string;
18
+ isInline: boolean;
19
+ extractedTextBlobKey?: string;
20
+ scanResultUid?: string;
21
+ constructor(other?: Partial<AttachmentMongo>);
22
+ }
@@ -0,0 +1,28 @@
1
+ import { RecoverableBaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Attendee, BusyStatus, CalendarEvent, CalendarEventStatus, Recipient, RecurrenceRule } from "../types.js";
3
+ /**
4
+ * Implementation of the `CalendarEvent` interface for storage in a MongoDB database. If SQL is desired, please
5
+ * use `models.sql.CalendarEventSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class CalendarEventMongo extends RecoverableBaseMongoEntity implements CalendarEvent {
10
+ folderUid: string;
11
+ mailboxUid: string;
12
+ title: string;
13
+ location?: string;
14
+ startDate: Date;
15
+ endDate: Date;
16
+ allDay: boolean;
17
+ timezone: string;
18
+ organizer: Recipient;
19
+ attendees: Attendee[];
20
+ recurrenceRule?: RecurrenceRule;
21
+ recurrenceId?: Date;
22
+ status: CalendarEventStatus;
23
+ busyStatus: BusyStatus;
24
+ reminderMinutesBeforeStart?: number;
25
+ icalUid: string;
26
+ sequence: number;
27
+ constructor(other?: Partial<CalendarEventMongo>);
28
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { CalendarShareLink } from "../types.js";
3
+ /**
4
+ * Implementation of the `CalendarShareLink` interface for storage in a MongoDB database. If SQL is desired,
5
+ * please use `models.sql.CalendarShareLinkSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class CalendarShareLinkMongo extends BaseMongoEntity implements CalendarShareLink {
10
+ token: string;
11
+ folderUid: string;
12
+ permittedActions: string[];
13
+ expiresAt?: Date;
14
+ createdByUserUid: string;
15
+ constructor(other?: Partial<CalendarShareLinkMongo>);
16
+ }
@@ -0,0 +1,13 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { ContactList } from "../types.js";
3
+ /**
4
+ * Implementation of the `ContactList` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.ContactListSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class ContactListMongo extends BaseMongoEntity implements ContactList {
10
+ mailboxUid: string;
11
+ name: string;
12
+ constructor(other?: Partial<ContactListMongo>);
13
+ }
@@ -0,0 +1,25 @@
1
+ import { RecoverableBaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Contact, ContactEmail, ContactPhone, ContactPostalAddress } from "../types.js";
3
+ /**
4
+ * Implementation of the `Contact` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.ContactSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class ContactMongo extends RecoverableBaseMongoEntity implements Contact {
10
+ mailboxUid: string;
11
+ folderUid: string;
12
+ contactListUid?: string;
13
+ displayName: string;
14
+ givenName?: string;
15
+ surname?: string;
16
+ emails: ContactEmail[];
17
+ phones: ContactPhone[];
18
+ addresses: ContactPostalAddress[];
19
+ company?: string;
20
+ jobTitle?: string;
21
+ notes?: string;
22
+ photoBlobKey?: string;
23
+ sourceUid?: string;
24
+ constructor(other?: Partial<ContactMongo>);
25
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { DeviceSyncState } from "../types.js";
3
+ /**
4
+ * Implementation of the `DeviceSyncState` interface for storage in a MongoDB database. If SQL is desired,
5
+ * please use `models.sql.DeviceSyncStateSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class DeviceSyncStateMongo extends BaseMongoEntity implements DeviceSyncState {
10
+ mailboxUid: string;
11
+ deviceId: string;
12
+ deviceType: string;
13
+ policyKey?: string;
14
+ folderSyncKeys: Record<string, string>;
15
+ lastSyncAt?: Date;
16
+ provisioned: boolean;
17
+ constructor(other?: Partial<DeviceSyncStateMongo>);
18
+ }
@@ -0,0 +1,18 @@
1
+ import { RecoverableBaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Folder, FolderType } from "../types.js";
3
+ /**
4
+ * Implementation of the `Folder` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.FolderSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class FolderMongo extends RecoverableBaseMongoEntity implements Folder {
10
+ mailboxUid: string;
11
+ name: string;
12
+ type: FolderType;
13
+ parentFolderUid?: string;
14
+ unreadCount: number;
15
+ totalCount: number;
16
+ syncKeyVersion: number;
17
+ constructor(other?: Partial<FolderMongo>);
18
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { IngestQueueEntry, IngestStatus } from "../types.js";
3
+ /**
4
+ * Implementation of the `IngestQueueEntry` interface for storage in a MongoDB database. If SQL is desired,
5
+ * please use `models.sql.IngestQueueEntrySQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class IngestQueueEntryMongo extends BaseMongoEntity implements IngestQueueEntry {
10
+ mailboxUid: string;
11
+ envelopeFrom: string;
12
+ envelopeTo: string[];
13
+ rawBlobKey: string;
14
+ status: IngestStatus;
15
+ errorMessage?: string;
16
+ constructor(other?: Partial<IngestQueueEntryMongo>);
17
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Mailbox } from "../types.js";
3
+ /**
4
+ * Implementation of the `Mailbox` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.MailboxSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class MailboxMongo extends BaseMongoEntity implements Mailbox {
10
+ ownerUserUid?: string;
11
+ primarySmtpAddress: string;
12
+ aliasAddresses: string[];
13
+ displayName: string;
14
+ timezone: string;
15
+ quotaBytes: number;
16
+ usedBytes: number;
17
+ constructor(other?: Partial<MailboxMongo>);
18
+ }
@@ -0,0 +1,29 @@
1
+ import { RecoverableBaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Message, MessageFlags, MessageImportance, Recipient } from "../types.js";
3
+ /**
4
+ * Implementation of the `Message` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.MessageSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class MessageMongo extends RecoverableBaseMongoEntity implements Message {
10
+ folderUid: string;
11
+ mailboxUid: string;
12
+ messageId: string;
13
+ subject: string;
14
+ from: Recipient;
15
+ recipients: Recipient[];
16
+ sentDate: Date;
17
+ receivedDate: Date;
18
+ bodyBlobKey: string;
19
+ sanitizedHtmlBlobKey?: string;
20
+ bodyPreview: string;
21
+ flags: MessageFlags;
22
+ importance: MessageImportance;
23
+ inReplyTo?: string;
24
+ references: string[];
25
+ hasAttachments: boolean;
26
+ scanResultUid?: string;
27
+ searchIndexedAt?: Date;
28
+ constructor(other?: Partial<MessageMongo>);
29
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Note } from "../types.js";
3
+ /**
4
+ * Implementation of the `Note` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.NoteSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class NoteMongo extends BaseMongoEntity implements Note {
10
+ mailboxUid: string;
11
+ folderUid: string;
12
+ title: string;
13
+ body: string;
14
+ color?: string;
15
+ constructor(other?: Partial<NoteMongo>);
16
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { QuarantineEntry, QuarantineReason } from "../types.js";
3
+ /**
4
+ * Implementation of the `QuarantineEntry` interface for storage in a MongoDB database. If SQL is desired,
5
+ * please use `models.sql.QuarantineEntrySQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class QuarantineEntryMongo extends BaseMongoEntity implements QuarantineEntry {
10
+ mailboxUid: string;
11
+ originalMessageUid?: string;
12
+ reason: QuarantineReason;
13
+ scanResultUid: string;
14
+ rawBlobKey: string;
15
+ releasedAt?: Date;
16
+ releasedByUserUid?: string;
17
+ constructor(other?: Partial<QuarantineEntryMongo>);
18
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { AvVerdict, ScanResult, ScanTargetType, SpamVerdict } from "../types.js";
3
+ /**
4
+ * Implementation of the `ScanResult` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.ScanResultSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class ScanResultMongo extends BaseMongoEntity implements ScanResult {
10
+ targetType: ScanTargetType;
11
+ targetUid: string;
12
+ spamScore: number;
13
+ spamVerdict: SpamVerdict;
14
+ spamSymbols: string[];
15
+ avVerdict: AvVerdict;
16
+ avSignatureName?: string;
17
+ scannedAt: Date;
18
+ providerVersions: {
19
+ spam?: string;
20
+ av?: string;
21
+ };
22
+ constructor(other?: Partial<ScanResultMongo>);
23
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseMongoEntity } from "@rapidrest/service-core";
2
+ import { SearchIndexState } from "../types.js";
3
+ /**
4
+ * Implementation of the `SearchIndexState` interface for storage in a MongoDB database. If SQL is desired,
5
+ * please use `models.sql.SearchIndexStateSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class SearchIndexStateMongo extends BaseMongoEntity implements SearchIndexState {
10
+ entityType: string;
11
+ entityUid: string;
12
+ provider: string;
13
+ indexedAt: Date;
14
+ contentHash: string;
15
+ constructor(other?: Partial<SearchIndexStateMongo>);
16
+ }
@@ -0,0 +1,19 @@
1
+ import { RecoverableBaseMongoEntity } from "@rapidrest/service-core";
2
+ import { Task, TaskPriority } from "../types.js";
3
+ /**
4
+ * Implementation of the `Task` interface for storage in a MongoDB database. If SQL is desired, please use
5
+ * `models.sql.TaskSQL` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class TaskMongo extends RecoverableBaseMongoEntity implements Task {
10
+ mailboxUid: string;
11
+ folderUid: string;
12
+ title: string;
13
+ body?: string;
14
+ dueDate?: Date;
15
+ completed: boolean;
16
+ priority: TaskPriority;
17
+ reminderDate?: Date;
18
+ constructor(other?: Partial<TaskMongo>);
19
+ }
@@ -0,0 +1,15 @@
1
+ export * from "./AttachmentMongo.js";
2
+ export * from "./CalendarEventMongo.js";
3
+ export * from "./CalendarShareLinkMongo.js";
4
+ export * from "./ContactMongo.js";
5
+ export * from "./ContactListMongo.js";
6
+ export * from "./DeviceSyncStateMongo.js";
7
+ export * from "./FolderMongo.js";
8
+ export * from "./IngestQueueEntryMongo.js";
9
+ export * from "./MailboxMongo.js";
10
+ export * from "./MessageMongo.js";
11
+ export * from "./NoteMongo.js";
12
+ export * from "./QuarantineEntryMongo.js";
13
+ export * from "./ScanResultMongo.js";
14
+ export * from "./SearchIndexStateMongo.js";
15
+ export * from "./TaskMongo.js";
@@ -0,0 +1 @@
1
+ export * from "./mongo/index.js";
@@ -0,0 +1,22 @@
1
+ import { BaseEntity } from "@rapidrest/service-core";
2
+ import { Attachment } from "../types.js";
3
+ /**
4
+ * Implementation of the `Attachment` interface for storage in a SQL database. If MongoDB is desired, please use
5
+ * `models.mongo.AttachmentMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class AttachmentSQL extends BaseEntity implements Attachment {
10
+ messageUid: string;
11
+ folderUid: string;
12
+ mailboxUid: string;
13
+ filename: string;
14
+ mimeType: string;
15
+ sizeBytes: number;
16
+ blobKey: string;
17
+ contentId?: string;
18
+ isInline: boolean;
19
+ extractedTextBlobKey?: string;
20
+ scanResultUid?: string;
21
+ constructor(other?: Partial<AttachmentSQL>);
22
+ }
@@ -0,0 +1,28 @@
1
+ import { RecoverableBaseEntity } from "@rapidrest/service-core";
2
+ import { Attendee, BusyStatus, CalendarEvent, CalendarEventStatus, Recipient, RecurrenceRule } from "../types.js";
3
+ /**
4
+ * Implementation of the `CalendarEvent` interface for storage in a SQL database. If MongoDB is desired, please
5
+ * use `models.mongo.CalendarEventMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class CalendarEventSQL extends RecoverableBaseEntity implements CalendarEvent {
10
+ folderUid: string;
11
+ mailboxUid: string;
12
+ title: string;
13
+ location?: string;
14
+ startDate: Date;
15
+ endDate: Date;
16
+ allDay: boolean;
17
+ timezone: string;
18
+ organizer: Recipient;
19
+ attendees: Attendee[];
20
+ recurrenceRule?: RecurrenceRule;
21
+ recurrenceId?: Date;
22
+ status: CalendarEventStatus;
23
+ busyStatus: BusyStatus;
24
+ reminderMinutesBeforeStart?: number;
25
+ icalUid: string;
26
+ sequence: number;
27
+ constructor(other?: Partial<CalendarEventSQL>);
28
+ }
@@ -0,0 +1,16 @@
1
+ import { BaseEntity } from "@rapidrest/service-core";
2
+ import { CalendarShareLink } from "../types.js";
3
+ /**
4
+ * Implementation of the `CalendarShareLink` interface for storage in a SQL database. If MongoDB is desired,
5
+ * please use `models.mongo.CalendarShareLinkMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class CalendarShareLinkSQL extends BaseEntity implements CalendarShareLink {
10
+ token: string;
11
+ folderUid: string;
12
+ permittedActions: string[];
13
+ expiresAt?: Date;
14
+ createdByUserUid: string;
15
+ constructor(other?: Partial<CalendarShareLinkSQL>);
16
+ }
@@ -0,0 +1,13 @@
1
+ import { BaseEntity } from "@rapidrest/service-core";
2
+ import { ContactList } from "../types.js";
3
+ /**
4
+ * Implementation of the `ContactList` interface for storage in a SQL database. If MongoDB is desired, please use
5
+ * `models.mongo.ContactListMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class ContactListSQL extends BaseEntity implements ContactList {
10
+ mailboxUid: string;
11
+ name: string;
12
+ constructor(other?: Partial<ContactListSQL>);
13
+ }
@@ -0,0 +1,25 @@
1
+ import { RecoverableBaseEntity } from "@rapidrest/service-core";
2
+ import { Contact, ContactEmail, ContactPhone, ContactPostalAddress } from "../types.js";
3
+ /**
4
+ * Implementation of the `Contact` interface for storage in a SQL database. If MongoDB is desired, please use
5
+ * `models.mongo.ContactMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class ContactSQL extends RecoverableBaseEntity implements Contact {
10
+ mailboxUid: string;
11
+ folderUid: string;
12
+ contactListUid?: string;
13
+ displayName: string;
14
+ givenName?: string;
15
+ surname?: string;
16
+ emails: ContactEmail[];
17
+ phones: ContactPhone[];
18
+ addresses: ContactPostalAddress[];
19
+ company?: string;
20
+ jobTitle?: string;
21
+ notes?: string;
22
+ photoBlobKey?: string;
23
+ sourceUid?: string;
24
+ constructor(other?: Partial<ContactSQL>);
25
+ }
@@ -0,0 +1,18 @@
1
+ import { BaseEntity } from "@rapidrest/service-core";
2
+ import { DeviceSyncState } from "../types.js";
3
+ /**
4
+ * Implementation of the `DeviceSyncState` interface for storage in a SQL database. If MongoDB is desired,
5
+ * please use `models.mongo.DeviceSyncStateMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class DeviceSyncStateSQL extends BaseEntity implements DeviceSyncState {
10
+ mailboxUid: string;
11
+ deviceId: string;
12
+ deviceType: string;
13
+ policyKey?: string;
14
+ folderSyncKeys: Record<string, string>;
15
+ lastSyncAt?: Date;
16
+ provisioned: boolean;
17
+ constructor(other?: Partial<DeviceSyncStateSQL>);
18
+ }
@@ -0,0 +1,18 @@
1
+ import { RecoverableBaseEntity } from "@rapidrest/service-core";
2
+ import { Folder, FolderType } from "../types.js";
3
+ /**
4
+ * Implementation of the `Folder` interface for storage in a SQL database. If MongoDB is desired, please use
5
+ * `models.mongo.FolderMongo` instead.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class FolderSQL extends RecoverableBaseEntity implements Folder {
10
+ mailboxUid: string;
11
+ name: string;
12
+ type: FolderType;
13
+ parentFolderUid?: string;
14
+ unreadCount: number;
15
+ totalCount: number;
16
+ syncKeyVersion: number;
17
+ constructor(other?: Partial<FolderSQL>);
18
+ }