@rapidmx/activesync 1.0.0-beta.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 (195) hide show
  1. package/LICENSE +382 -0
  2. package/README.md +57 -0
  3. package/dist/lib/BaseDeviceSyncStateRoute.js +90 -0
  4. package/dist/lib/BaseDeviceSyncStateRoute.js.map +1 -0
  5. package/dist/lib/BaseEasRoute.js +213 -0
  6. package/dist/lib/BaseEasRoute.js.map +1 -0
  7. package/dist/lib/CompactDateTime.js +43 -0
  8. package/dist/lib/CompactDateTime.js.map +1 -0
  9. package/dist/lib/EasCommandHandler.js +2 -0
  10. package/dist/lib/EasCommandHandler.js.map +1 -0
  11. package/dist/lib/EasSyncKeyUtils.js +119 -0
  12. package/dist/lib/EasSyncKeyUtils.js.map +1 -0
  13. package/dist/lib/adapters/CalendarSyncAdapter.js +255 -0
  14. package/dist/lib/adapters/CalendarSyncAdapter.js.map +1 -0
  15. package/dist/lib/adapters/ContactsSyncAdapter.js +164 -0
  16. package/dist/lib/adapters/ContactsSyncAdapter.js.map +1 -0
  17. package/dist/lib/adapters/EasCollectionSyncAdapter.js +2 -0
  18. package/dist/lib/adapters/EasCollectionSyncAdapter.js.map +1 -0
  19. package/dist/lib/adapters/EmailSyncAdapter.js +230 -0
  20. package/dist/lib/adapters/EmailSyncAdapter.js.map +1 -0
  21. package/dist/lib/adapters/TasksSyncAdapter.js +100 -0
  22. package/dist/lib/adapters/TasksSyncAdapter.js.map +1 -0
  23. package/dist/lib/codec/WbxmlCodePages.js +706 -0
  24. package/dist/lib/codec/WbxmlCodePages.js.map +1 -0
  25. package/dist/lib/codec/WbxmlDecoder.js +154 -0
  26. package/dist/lib/codec/WbxmlDecoder.js.map +1 -0
  27. package/dist/lib/codec/WbxmlElement.js +31 -0
  28. package/dist/lib/codec/WbxmlElement.js.map +1 -0
  29. package/dist/lib/codec/WbxmlEncoder.js +88 -0
  30. package/dist/lib/codec/WbxmlEncoder.js.map +1 -0
  31. package/dist/lib/commands/ComposeMailCommand.js +187 -0
  32. package/dist/lib/commands/ComposeMailCommand.js.map +1 -0
  33. package/dist/lib/commands/FolderSyncCommand.js +150 -0
  34. package/dist/lib/commands/FolderSyncCommand.js.map +1 -0
  35. package/dist/lib/commands/GetItemEstimateCommand.js +149 -0
  36. package/dist/lib/commands/GetItemEstimateCommand.js.map +1 -0
  37. package/dist/lib/commands/ItemOperationsCommand.js +337 -0
  38. package/dist/lib/commands/ItemOperationsCommand.js.map +1 -0
  39. package/dist/lib/commands/MeetingResponseCommand.js +120 -0
  40. package/dist/lib/commands/MeetingResponseCommand.js.map +1 -0
  41. package/dist/lib/commands/MoveItemsCommand.js +103 -0
  42. package/dist/lib/commands/MoveItemsCommand.js.map +1 -0
  43. package/dist/lib/commands/PingCommand.js +145 -0
  44. package/dist/lib/commands/PingCommand.js.map +1 -0
  45. package/dist/lib/commands/ProvisionCommand.js +164 -0
  46. package/dist/lib/commands/ProvisionCommand.js.map +1 -0
  47. package/dist/lib/commands/ResolveRecipientsCommand.js +124 -0
  48. package/dist/lib/commands/ResolveRecipientsCommand.js.map +1 -0
  49. package/dist/lib/commands/SearchCommand.js +137 -0
  50. package/dist/lib/commands/SearchCommand.js.map +1 -0
  51. package/dist/lib/commands/SendMailCommand.js +18 -0
  52. package/dist/lib/commands/SendMailCommand.js.map +1 -0
  53. package/dist/lib/commands/SettingsCommand.js +138 -0
  54. package/dist/lib/commands/SettingsCommand.js.map +1 -0
  55. package/dist/lib/commands/SmartForwardCommand.js +22 -0
  56. package/dist/lib/commands/SmartForwardCommand.js.map +1 -0
  57. package/dist/lib/commands/SmartReplyCommand.js +22 -0
  58. package/dist/lib/commands/SmartReplyCommand.js.map +1 -0
  59. package/dist/lib/commands/SyncCommand.js +406 -0
  60. package/dist/lib/commands/SyncCommand.js.map +1 -0
  61. package/dist/lib/commands/mongo/FolderSyncCommandMongo.js +16 -0
  62. package/dist/lib/commands/mongo/FolderSyncCommandMongo.js.map +1 -0
  63. package/dist/lib/commands/mongo/GetItemEstimateCommandMongo.js +21 -0
  64. package/dist/lib/commands/mongo/GetItemEstimateCommandMongo.js.map +1 -0
  65. package/dist/lib/commands/mongo/ItemOperationsCommandMongo.js +18 -0
  66. package/dist/lib/commands/mongo/ItemOperationsCommandMongo.js.map +1 -0
  67. package/dist/lib/commands/mongo/MeetingResponseCommandMongo.js +17 -0
  68. package/dist/lib/commands/mongo/MeetingResponseCommandMongo.js.map +1 -0
  69. package/dist/lib/commands/mongo/MoveItemsCommandMongo.js +17 -0
  70. package/dist/lib/commands/mongo/MoveItemsCommandMongo.js.map +1 -0
  71. package/dist/lib/commands/mongo/ResolveRecipientsCommandMongo.js +20 -0
  72. package/dist/lib/commands/mongo/ResolveRecipientsCommandMongo.js.map +1 -0
  73. package/dist/lib/commands/mongo/SearchCommandMongo.js +20 -0
  74. package/dist/lib/commands/mongo/SearchCommandMongo.js.map +1 -0
  75. package/dist/lib/commands/mongo/SendMailCommandMongo.js +17 -0
  76. package/dist/lib/commands/mongo/SendMailCommandMongo.js.map +1 -0
  77. package/dist/lib/commands/mongo/SettingsCommandMongo.js +16 -0
  78. package/dist/lib/commands/mongo/SettingsCommandMongo.js.map +1 -0
  79. package/dist/lib/commands/mongo/SmartForwardCommandMongo.js +17 -0
  80. package/dist/lib/commands/mongo/SmartForwardCommandMongo.js.map +1 -0
  81. package/dist/lib/commands/mongo/SmartReplyCommandMongo.js +17 -0
  82. package/dist/lib/commands/mongo/SmartReplyCommandMongo.js.map +1 -0
  83. package/dist/lib/commands/mongo/SyncCommandMongo.js +26 -0
  84. package/dist/lib/commands/mongo/SyncCommandMongo.js.map +1 -0
  85. package/dist/lib/commands/mongo/index.js +14 -0
  86. package/dist/lib/commands/mongo/index.js.map +1 -0
  87. package/dist/lib/commands/sql/FolderSyncCommandSQL.js +16 -0
  88. package/dist/lib/commands/sql/FolderSyncCommandSQL.js.map +1 -0
  89. package/dist/lib/commands/sql/GetItemEstimateCommandSQL.js +21 -0
  90. package/dist/lib/commands/sql/GetItemEstimateCommandSQL.js.map +1 -0
  91. package/dist/lib/commands/sql/ItemOperationsCommandSQL.js +18 -0
  92. package/dist/lib/commands/sql/ItemOperationsCommandSQL.js.map +1 -0
  93. package/dist/lib/commands/sql/MeetingResponseCommandSQL.js +17 -0
  94. package/dist/lib/commands/sql/MeetingResponseCommandSQL.js.map +1 -0
  95. package/dist/lib/commands/sql/MoveItemsCommandSQL.js +17 -0
  96. package/dist/lib/commands/sql/MoveItemsCommandSQL.js.map +1 -0
  97. package/dist/lib/commands/sql/ResolveRecipientsCommandSQL.js +20 -0
  98. package/dist/lib/commands/sql/ResolveRecipientsCommandSQL.js.map +1 -0
  99. package/dist/lib/commands/sql/SearchCommandSQL.js +20 -0
  100. package/dist/lib/commands/sql/SearchCommandSQL.js.map +1 -0
  101. package/dist/lib/commands/sql/SendMailCommandSQL.js +17 -0
  102. package/dist/lib/commands/sql/SendMailCommandSQL.js.map +1 -0
  103. package/dist/lib/commands/sql/SettingsCommandSQL.js +16 -0
  104. package/dist/lib/commands/sql/SettingsCommandSQL.js.map +1 -0
  105. package/dist/lib/commands/sql/SmartForwardCommandSQL.js +17 -0
  106. package/dist/lib/commands/sql/SmartForwardCommandSQL.js.map +1 -0
  107. package/dist/lib/commands/sql/SmartReplyCommandSQL.js +17 -0
  108. package/dist/lib/commands/sql/SmartReplyCommandSQL.js.map +1 -0
  109. package/dist/lib/commands/sql/SyncCommandSQL.js +26 -0
  110. package/dist/lib/commands/sql/SyncCommandSQL.js.map +1 -0
  111. package/dist/lib/commands/sql/index.js +14 -0
  112. package/dist/lib/commands/sql/index.js.map +1 -0
  113. package/dist/lib/index.js +56 -0
  114. package/dist/lib/index.js.map +1 -0
  115. package/dist/lib/mongo/DeviceSyncStateRouteMongo.js +16 -0
  116. package/dist/lib/mongo/DeviceSyncStateRouteMongo.js.map +1 -0
  117. package/dist/lib/mongo/EasRouteMongo.js +51 -0
  118. package/dist/lib/mongo/EasRouteMongo.js.map +1 -0
  119. package/dist/lib/mongo/index.js +8 -0
  120. package/dist/lib/mongo/index.js.map +1 -0
  121. package/dist/lib/mongo.js +6 -0
  122. package/dist/lib/mongo.js.map +1 -0
  123. package/dist/lib/sql/DeviceSyncStateRouteSQL.js +16 -0
  124. package/dist/lib/sql/DeviceSyncStateRouteSQL.js.map +1 -0
  125. package/dist/lib/sql/EasRouteSQL.js +50 -0
  126. package/dist/lib/sql/EasRouteSQL.js.map +1 -0
  127. package/dist/lib/sql/index.js +8 -0
  128. package/dist/lib/sql/index.js.map +1 -0
  129. package/dist/lib/sql.js +6 -0
  130. package/dist/lib/sql.js.map +1 -0
  131. package/dist/types/BaseDeviceSyncStateRoute.d.ts +34 -0
  132. package/dist/types/BaseEasRoute.d.ts +64 -0
  133. package/dist/types/CompactDateTime.d.ts +22 -0
  134. package/dist/types/EasCommandHandler.d.ts +59 -0
  135. package/dist/types/EasSyncKeyUtils.d.ts +89 -0
  136. package/dist/types/adapters/CalendarSyncAdapter.d.ts +52 -0
  137. package/dist/types/adapters/ContactsSyncAdapter.d.ts +33 -0
  138. package/dist/types/adapters/EasCollectionSyncAdapter.d.ts +52 -0
  139. package/dist/types/adapters/EmailSyncAdapter.d.ts +53 -0
  140. package/dist/types/adapters/TasksSyncAdapter.d.ts +32 -0
  141. package/dist/types/codec/WbxmlCodePages.d.ts +45 -0
  142. package/dist/types/codec/WbxmlDecoder.d.ts +33 -0
  143. package/dist/types/codec/WbxmlElement.d.ts +43 -0
  144. package/dist/types/codec/WbxmlEncoder.d.ts +20 -0
  145. package/dist/types/commands/ComposeMailCommand.d.ts +50 -0
  146. package/dist/types/commands/FolderSyncCommand.d.ts +25 -0
  147. package/dist/types/commands/GetItemEstimateCommand.d.ts +43 -0
  148. package/dist/types/commands/ItemOperationsCommand.d.ts +72 -0
  149. package/dist/types/commands/MeetingResponseCommand.d.ts +32 -0
  150. package/dist/types/commands/MoveItemsCommand.d.ts +29 -0
  151. package/dist/types/commands/PingCommand.d.ts +33 -0
  152. package/dist/types/commands/ProvisionCommand.d.ts +54 -0
  153. package/dist/types/commands/ResolveRecipientsCommand.d.ts +34 -0
  154. package/dist/types/commands/SearchCommand.d.ts +39 -0
  155. package/dist/types/commands/SendMailCommand.d.ts +10 -0
  156. package/dist/types/commands/SettingsCommand.d.ts +37 -0
  157. package/dist/types/commands/SmartForwardCommand.d.ts +17 -0
  158. package/dist/types/commands/SmartReplyCommand.d.ts +17 -0
  159. package/dist/types/commands/SyncCommand.d.ts +100 -0
  160. package/dist/types/commands/mongo/FolderSyncCommandMongo.d.ts +8 -0
  161. package/dist/types/commands/mongo/GetItemEstimateCommandMongo.d.ts +7 -0
  162. package/dist/types/commands/mongo/ItemOperationsCommandMongo.d.ts +9 -0
  163. package/dist/types/commands/mongo/MeetingResponseCommandMongo.d.ts +8 -0
  164. package/dist/types/commands/mongo/MoveItemsCommandMongo.d.ts +8 -0
  165. package/dist/types/commands/mongo/ResolveRecipientsCommandMongo.d.ts +8 -0
  166. package/dist/types/commands/mongo/SearchCommandMongo.d.ts +8 -0
  167. package/dist/types/commands/mongo/SendMailCommandMongo.d.ts +8 -0
  168. package/dist/types/commands/mongo/SettingsCommandMongo.d.ts +7 -0
  169. package/dist/types/commands/mongo/SmartForwardCommandMongo.d.ts +8 -0
  170. package/dist/types/commands/mongo/SmartReplyCommandMongo.d.ts +8 -0
  171. package/dist/types/commands/mongo/SyncCommandMongo.d.ts +8 -0
  172. package/dist/types/commands/mongo/index.d.ts +9 -0
  173. package/dist/types/commands/sql/FolderSyncCommandSQL.d.ts +8 -0
  174. package/dist/types/commands/sql/GetItemEstimateCommandSQL.d.ts +7 -0
  175. package/dist/types/commands/sql/ItemOperationsCommandSQL.d.ts +9 -0
  176. package/dist/types/commands/sql/MeetingResponseCommandSQL.d.ts +8 -0
  177. package/dist/types/commands/sql/MoveItemsCommandSQL.d.ts +8 -0
  178. package/dist/types/commands/sql/ResolveRecipientsCommandSQL.d.ts +8 -0
  179. package/dist/types/commands/sql/SearchCommandSQL.d.ts +8 -0
  180. package/dist/types/commands/sql/SendMailCommandSQL.d.ts +8 -0
  181. package/dist/types/commands/sql/SettingsCommandSQL.d.ts +7 -0
  182. package/dist/types/commands/sql/SmartForwardCommandSQL.d.ts +8 -0
  183. package/dist/types/commands/sql/SmartReplyCommandSQL.d.ts +8 -0
  184. package/dist/types/commands/sql/SyncCommandSQL.d.ts +8 -0
  185. package/dist/types/commands/sql/index.d.ts +9 -0
  186. package/dist/types/index.d.ts +51 -0
  187. package/dist/types/mongo/DeviceSyncStateRouteMongo.d.ts +8 -0
  188. package/dist/types/mongo/EasRouteMongo.d.ts +14 -0
  189. package/dist/types/mongo/index.d.ts +3 -0
  190. package/dist/types/mongo.d.ts +1 -0
  191. package/dist/types/sql/DeviceSyncStateRouteSQL.d.ts +8 -0
  192. package/dist/types/sql/EasRouteSQL.d.ts +13 -0
  193. package/dist/types/sql/index.d.ts +3 -0
  194. package/dist/types/sql.d.ts +1 -0
  195. package/package.json +94 -0
@@ -0,0 +1,7 @@
1
+ import { GetItemEstimateCommand, type EstimateCollectionBinding } from "../GetItemEstimateCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class GetItemEstimateCommandSQL extends GetItemEstimateCommand {
6
+ protected collectionBindings: Record<string, EstimateCollectionBinding>;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { ItemOperationsCommand } from "../ItemOperationsCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class ItemOperationsCommandSQL extends ItemOperationsCommand {
6
+ protected folderClass: any;
7
+ protected messageClass: any;
8
+ protected attachmentClass: any;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { MeetingResponseCommand } from "../MeetingResponseCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class MeetingResponseCommandSQL extends MeetingResponseCommand {
6
+ protected calendarEventClass: any;
7
+ protected mailboxClass: any;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { MoveItemsCommand } from "../MoveItemsCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class MoveItemsCommandSQL extends MoveItemsCommand {
6
+ protected messageClass: any;
7
+ protected folderClass: any;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { ResolveRecipientsCommand } from "../ResolveRecipientsCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class ResolveRecipientsCommandSQL extends ResolveRecipientsCommand {
6
+ protected contactClass: any;
7
+ protected likePattern(escaped: string): string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { SearchCommand } from "../SearchCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SearchCommandSQL extends SearchCommand {
6
+ protected contactClass: any;
7
+ protected likePattern(escaped: string): string;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { SendMailCommand } from "../SendMailCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SendMailCommandSQL extends SendMailCommand {
6
+ protected folderClass: any;
7
+ protected messageClass: any;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { SettingsCommand } from "../SettingsCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SettingsCommandSQL extends SettingsCommand {
6
+ protected mailboxClass: any;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { SmartForwardCommand } from "../SmartForwardCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SmartForwardCommandSQL extends SmartForwardCommand {
6
+ protected folderClass: any;
7
+ protected messageClass: any;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { SmartReplyCommand } from "../SmartReplyCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SmartReplyCommandSQL extends SmartReplyCommand {
6
+ protected folderClass: any;
7
+ protected messageClass: any;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { SyncCommand, type SyncCollectionBinding } from "../SyncCommand.js";
2
+ /**
3
+ * @author Jean-Philippe Steinmetz
4
+ */
5
+ export declare class SyncCommandSQL extends SyncCommand {
6
+ protected mailboxClass: any;
7
+ protected collectionBindings: Record<string, SyncCollectionBinding<any>>;
8
+ }
@@ -0,0 +1,9 @@
1
+ export * from "./FolderSyncCommandSQL.js";
2
+ export * from "./SyncCommandSQL.js";
3
+ export * from "./SendMailCommandSQL.js";
4
+ export * from "./SmartForwardCommandSQL.js";
5
+ export * from "./SmartReplyCommandSQL.js";
6
+ export * from "./ItemOperationsCommandSQL.js";
7
+ export * from "./SearchCommandSQL.js";
8
+ export * from "./MeetingResponseCommandSQL.js";
9
+ export * from "./SettingsCommandSQL.js";
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Exchange ActiveSync protocol compatibility (Phase 2 of this library's roadmap): a WBXML codec, JWT-secured
3
+ * transport (`BaseEasRoute`, reusing the framework's existing `@Auth(["jwt"])` strategy - no EAS-specific auth
4
+ * code of its own), and the pragmatic command subset agreed in the architecture plan - `Provision`,
5
+ * `FolderSync`, `Sync` (`Email`/`Contacts`/`Calendar`/`Tasks`), `SendMail`/`SmartForward`/`SmartReply`,
6
+ * `ItemOperations`, `Ping`, `Search` (GAL), `MeetingResponse`, and `Settings`.
7
+ *
8
+ * This module exports only the backend-agnostic surface: the codec, the abstract route/command base classes,
9
+ * the shared sync-cursor/date-format utilities, and the `Sync` collection adapters. The concrete Mongo/SQL
10
+ * classes a deployment actually instantiates (`EasRouteMongo`/`EasRouteSQL` and each command's Mongo/SQL
11
+ * variant) are exported from this package's `./mongo`/`./sql` subpaths instead, alongside every other
12
+ * entity/route/job this library defines - see `MongoConnection`/`ConnectionManager` usage elsewhere in this
13
+ * library's own README for that convention.
14
+ *
15
+ * A deployment mounts EAS at the protocol's well-known path with a trivial one-line subclass, the same pattern
16
+ * `push/MailPushRoute.ts`'s doc comment describes for `BasePushRoute`:
17
+ * ```ts
18
+ * import { EasRouteMongo } from "@rapidrest/mail/mongo";
19
+ * import { RouteDecorators } from "@rapidrest/service-core";
20
+ * const { Route } = RouteDecorators;
21
+ *
22
+ * @Route("/Microsoft-Server-ActiveSync")
23
+ * export class MyEasRoute extends EasRouteMongo {}
24
+ * ```
25
+ */
26
+ export * from "./codec/WbxmlCodePages.js";
27
+ export * from "./codec/WbxmlElement.js";
28
+ export * from "./codec/WbxmlEncoder.js";
29
+ export * from "./codec/WbxmlDecoder.js";
30
+ export * from "./BaseEasRoute.js";
31
+ export * from "./BaseDeviceSyncStateRoute.js";
32
+ export * from "./EasCommandHandler.js";
33
+ export * from "./EasSyncKeyUtils.js";
34
+ export * from "./CompactDateTime.js";
35
+ export * from "./commands/ProvisionCommand.js";
36
+ export * from "./commands/FolderSyncCommand.js";
37
+ export * from "./commands/SyncCommand.js";
38
+ export * from "./commands/ComposeMailCommand.js";
39
+ export * from "./commands/SendMailCommand.js";
40
+ export * from "./commands/SmartForwardCommand.js";
41
+ export * from "./commands/SmartReplyCommand.js";
42
+ export * from "./commands/PingCommand.js";
43
+ export * from "./commands/ItemOperationsCommand.js";
44
+ export * from "./commands/SearchCommand.js";
45
+ export * from "./commands/MeetingResponseCommand.js";
46
+ export * from "./commands/SettingsCommand.js";
47
+ export * from "./adapters/EasCollectionSyncAdapter.js";
48
+ export * from "./adapters/EmailSyncAdapter.js";
49
+ export * from "./adapters/ContactsSyncAdapter.js";
50
+ export * from "./adapters/CalendarSyncAdapter.js";
51
+ export * from "./adapters/TasksSyncAdapter.js";
@@ -0,0 +1,8 @@
1
+ import { DeviceSyncStateMongo } from "@rapidmx/restapi/mongo";
2
+ import { BaseDeviceSyncStateRoute } from "../BaseDeviceSyncStateRoute.js";
3
+ /**
4
+ * @author Jean-Philippe Steinmetz
5
+ */
6
+ export declare class DeviceSyncStateRouteMongo extends BaseDeviceSyncStateRoute<DeviceSyncStateMongo> {
7
+ protected deviceSyncStateClass: any;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { DeviceSyncStateMongo, MailboxMongo } from "@rapidmx/restapi/mongo";
2
+ import { BaseEasRoute } from "../BaseEasRoute.js";
3
+ /**
4
+ * Mongo-backed concrete `BaseEasRoute`. A deployment mounts this at the well-known EAS path via its own
5
+ * trivial `@Route("/Microsoft-Server-ActiveSync")` subclass, following the same pattern
6
+ * `push/MailPushRoute.ts`'s doc comment describes for `BasePushRoute`.
7
+ *
8
+ * @author Jean-Philippe Steinmetz
9
+ */
10
+ export declare class EasRouteMongo extends BaseEasRoute<DeviceSyncStateMongo, MailboxMongo> {
11
+ protected deviceSyncStateClass: any;
12
+ protected mailboxClass: any;
13
+ protected commandHandlerClasses: any[];
14
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./EasRouteMongo.js";
2
+ export * from "./DeviceSyncStateRouteMongo.js";
3
+ export * from "../commands/mongo/index.js";
@@ -0,0 +1 @@
1
+ export * from "./mongo/index.js";
@@ -0,0 +1,8 @@
1
+ import { DeviceSyncStateSQL } from "@rapidmx/restapi/sql";
2
+ import { BaseDeviceSyncStateRoute } from "../BaseDeviceSyncStateRoute.js";
3
+ /**
4
+ * @author Jean-Philippe Steinmetz
5
+ */
6
+ export declare class DeviceSyncStateRouteSQL extends BaseDeviceSyncStateRoute<DeviceSyncStateSQL> {
7
+ protected deviceSyncStateClass: any;
8
+ }
@@ -0,0 +1,13 @@
1
+ import { DeviceSyncStateSQL, MailboxSQL } from "@rapidmx/restapi/sql";
2
+ import { BaseEasRoute } from "../BaseEasRoute.js";
3
+ /**
4
+ * SQL-backed concrete `BaseEasRoute`. See `EasRouteMongo.ts`'s doc comment - the same mounting pattern
5
+ * applies here.
6
+ *
7
+ * @author Jean-Philippe Steinmetz
8
+ */
9
+ export declare class EasRouteSQL extends BaseEasRoute<DeviceSyncStateSQL, MailboxSQL> {
10
+ protected deviceSyncStateClass: any;
11
+ protected mailboxClass: any;
12
+ protected commandHandlerClasses: any[];
13
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./EasRouteSQL.js";
2
+ export * from "./DeviceSyncStateRouteSQL.js";
3
+ export * from "../commands/sql/index.js";
@@ -0,0 +1 @@
1
+ export * from "./sql/index.js";
package/package.json ADDED
@@ -0,0 +1,94 @@
1
+ {
2
+ "name": "@rapidmx/activesync",
3
+ "version": "1.0.0-beta.0",
4
+ "description": "Exchange ActiveSync (EAS) protocol support for RapidMX.",
5
+ "repository": "https://github.com/RapidMX/activesync.git",
6
+ "author": "RapidREST <rapidrests@gmail.com>",
7
+ "license": "MPL-2.0",
8
+ "contributors": [
9
+ "Jean-Philippe Steinmetz"
10
+ ],
11
+ "scripts": {
12
+ "build": "yarn lint && rimraf dist && tsc",
13
+ "lint": "eslint ./src ./test",
14
+ "local-audit": "yarn install && yarn npm audit -A -R \"$@\"",
15
+ "checkup": "yarn dlx @yarnpkg/doctor \"$@\"",
16
+ "dependency-check": "yarn dlx depcheck \"$@\"",
17
+ "report-coverage": "cat ./coverage/lcov.info | coveralls",
18
+ "test": "vitest run",
19
+ "test:prod": "npm run lint && vitest run --coverage",
20
+ "test:watch": "vitest",
21
+ "release": "rapidrest release"
22
+ },
23
+ "peerDependencies": {
24
+ "@rapidmx/restapi": "0.3.x",
25
+ "@rapidrest/core": "5.x",
26
+ "@rapidrest/service-core": "1.x"
27
+ },
28
+ "dependencies": {
29
+ "mailparser": "^3.9.23"
30
+ },
31
+ "devDependencies": {
32
+ "@rapidmx/restapi": "^0.3.1",
33
+ "@rapidrest/cli": "^1.0.1",
34
+ "@rapidrest/core": "^5.2.2",
35
+ "@rapidrest/service-core": "^1.7.2",
36
+ "@swc/core": "^1.16.2",
37
+ "@types/mailparser": "^3.4.6",
38
+ "@types/nconf": "^0.10.7",
39
+ "@types/node": "^26.5.0",
40
+ "@typescript-eslint/eslint-plugin": "^8.70.0",
41
+ "@typescript-eslint/parser": "^8.70.0",
42
+ "@vitest/coverage-v8": "^5.0.0",
43
+ "better-sqlite3": "^13.0.3",
44
+ "eslint": "^10.10.0",
45
+ "eslint-config-prettier": "^10.1.8",
46
+ "eslint-plugin-import": "^2.32.0",
47
+ "eslint-plugin-jsdoc": "^64.3.6",
48
+ "globals": "^17.12.0",
49
+ "lodash-es": "^4.18.1",
50
+ "mongodb": "^7.6.0",
51
+ "mongodb-memory-server": "^11.2.0",
52
+ "nconf": "^0.13.0",
53
+ "openapi3-ts": "^4.6.1",
54
+ "prom-client": "^15.1.3",
55
+ "redis": "^6.2.1",
56
+ "reflect-metadata": "^0.2.2",
57
+ "rimraf": "^6.1.3",
58
+ "ts-node": "^10.9.2",
59
+ "tsx": "^4.23.13",
60
+ "typeorm": "^1.1.1",
61
+ "typescript": "^6.0.3",
62
+ "unplugin-swc": "^1.6.0",
63
+ "vite": "^8.2.2",
64
+ "vitest": "^5.0.0",
65
+ "winston": "^3.19.0"
66
+ },
67
+ "packageManager": "yarn@4.5.3",
68
+ "engines": {
69
+ "node": ">=24.0.0"
70
+ },
71
+ "publishConfig": {
72
+ "registry": "https://registry.npmjs.org/"
73
+ },
74
+ "type": "module",
75
+ "main": "dist/lib/index.js",
76
+ "exports": {
77
+ ".": {
78
+ "import": "./dist/lib/index.js",
79
+ "types": "./dist/types/index.d.ts"
80
+ },
81
+ "./mongo": {
82
+ "import": "./dist/lib/mongo.js",
83
+ "types": "./dist/types/mongo.d.ts"
84
+ },
85
+ "./sql": {
86
+ "import": "./dist/lib/sql.js",
87
+ "types": "./dist/types/sql.d.ts"
88
+ }
89
+ },
90
+ "typings": "dist/types/index.d.ts",
91
+ "files": [
92
+ "dist"
93
+ ]
94
+ }