@sudobility/wildduck_client 0.0.14

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 (254) hide show
  1. package/README.md +354 -0
  2. package/dist/hooks/ServiceProvider.d.ts +15 -0
  3. package/dist/hooks/ServiceProvider.d.ts.map +1 -0
  4. package/dist/hooks/ServiceProvider.js +21 -0
  5. package/dist/hooks/ServiceProvider.js.map +1 -0
  6. package/dist/hooks/addresses/index.d.ts +2 -0
  7. package/dist/hooks/addresses/index.d.ts.map +1 -0
  8. package/dist/hooks/addresses/index.js +2 -0
  9. package/dist/hooks/addresses/index.js.map +1 -0
  10. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts +232 -0
  11. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts.map +1 -0
  12. package/dist/hooks/addresses/useWildduckGetAddresses.js +34 -0
  13. package/dist/hooks/addresses/useWildduckGetAddresses.js.map +1 -0
  14. package/dist/hooks/autoreply/index.d.ts +4 -0
  15. package/dist/hooks/autoreply/index.d.ts.map +1 -0
  16. package/dist/hooks/autoreply/index.js +4 -0
  17. package/dist/hooks/autoreply/index.js.map +1 -0
  18. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts +13 -0
  19. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts.map +1 -0
  20. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js +46 -0
  21. package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js.map +1 -0
  22. package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts +172 -0
  23. package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts.map +1 -0
  24. package/dist/hooks/autoreply/useWildduckGetAutoreply.js +39 -0
  25. package/dist/hooks/autoreply/useWildduckGetAutoreply.js.map +1 -0
  26. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts +13 -0
  27. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts.map +1 -0
  28. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js +46 -0
  29. package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js.map +1 -0
  30. package/dist/hooks/index.d.ts +19 -0
  31. package/dist/hooks/index.d.ts.map +1 -0
  32. package/dist/hooks/index.js +16 -0
  33. package/dist/hooks/index.js.map +1 -0
  34. package/dist/hooks/mailboxes/index.d.ts +6 -0
  35. package/dist/hooks/mailboxes/index.d.ts.map +1 -0
  36. package/dist/hooks/mailboxes/index.js +6 -0
  37. package/dist/hooks/mailboxes/index.js.map +1 -0
  38. package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts +13 -0
  39. package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts.map +1 -0
  40. package/dist/hooks/mailboxes/useWildduckCreateMailbox.js +43 -0
  41. package/dist/hooks/mailboxes/useWildduckCreateMailbox.js.map +1 -0
  42. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts +13 -0
  43. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts.map +1 -0
  44. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js +48 -0
  45. package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js.map +1 -0
  46. package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts +173 -0
  47. package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts.map +1 -0
  48. package/dist/hooks/mailboxes/useWildduckGetMailbox.js +47 -0
  49. package/dist/hooks/mailboxes/useWildduckGetMailbox.js.map +1 -0
  50. package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts +233 -0
  51. package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts.map +1 -0
  52. package/dist/hooks/mailboxes/useWildduckGetMailboxes.js +34 -0
  53. package/dist/hooks/mailboxes/useWildduckGetMailboxes.js.map +1 -0
  54. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts +13 -0
  55. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts.map +1 -0
  56. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js +48 -0
  57. package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js.map +1 -0
  58. package/dist/hooks/messages/index.d.ts +12 -0
  59. package/dist/hooks/messages/index.d.ts.map +1 -0
  60. package/dist/hooks/messages/index.js +12 -0
  61. package/dist/hooks/messages/index.js.map +1 -0
  62. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts +13 -0
  63. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts.map +1 -0
  64. package/dist/hooks/messages/useWildduckDeleteMessage.js +48 -0
  65. package/dist/hooks/messages/useWildduckDeleteMessage.js.map +1 -0
  66. package/dist/hooks/messages/useWildduckForwardMessage.d.ts +13 -0
  67. package/dist/hooks/messages/useWildduckForwardMessage.d.ts.map +1 -0
  68. package/dist/hooks/messages/useWildduckForwardMessage.js +51 -0
  69. package/dist/hooks/messages/useWildduckForwardMessage.js.map +1 -0
  70. package/dist/hooks/messages/useWildduckGetMessage.d.ts +653 -0
  71. package/dist/hooks/messages/useWildduckGetMessage.d.ts.map +1 -0
  72. package/dist/hooks/messages/useWildduckGetMessage.js +37 -0
  73. package/dist/hooks/messages/useWildduckGetMessage.js.map +1 -0
  74. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts +13 -0
  75. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts.map +1 -0
  76. package/dist/hooks/messages/useWildduckGetMessageAttachment.js +40 -0
  77. package/dist/hooks/messages/useWildduckGetMessageAttachment.js.map +1 -0
  78. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts +12 -0
  79. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts.map +1 -0
  80. package/dist/hooks/messages/useWildduckGetMessageSource.js +35 -0
  81. package/dist/hooks/messages/useWildduckGetMessageSource.js.map +1 -0
  82. package/dist/hooks/messages/useWildduckGetMessages.d.ts +11 -0
  83. package/dist/hooks/messages/useWildduckGetMessages.d.ts.map +1 -0
  84. package/dist/hooks/messages/useWildduckGetMessages.js +18 -0
  85. package/dist/hooks/messages/useWildduckGetMessages.js.map +1 -0
  86. package/dist/hooks/messages/useWildduckSearchMessages.d.ts +12 -0
  87. package/dist/hooks/messages/useWildduckSearchMessages.d.ts.map +1 -0
  88. package/dist/hooks/messages/useWildduckSearchMessages.js +46 -0
  89. package/dist/hooks/messages/useWildduckSearchMessages.js.map +1 -0
  90. package/dist/hooks/messages/useWildduckSendMessage.d.ts +13 -0
  91. package/dist/hooks/messages/useWildduckSendMessage.d.ts.map +1 -0
  92. package/dist/hooks/messages/useWildduckSendMessage.js +48 -0
  93. package/dist/hooks/messages/useWildduckSendMessage.js.map +1 -0
  94. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts +13 -0
  95. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts.map +1 -0
  96. package/dist/hooks/messages/useWildduckSubmitDraft.js +44 -0
  97. package/dist/hooks/messages/useWildduckSubmitDraft.js.map +1 -0
  98. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts +13 -0
  99. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts.map +1 -0
  100. package/dist/hooks/messages/useWildduckUpdateMessage.js +53 -0
  101. package/dist/hooks/messages/useWildduckUpdateMessage.js.map +1 -0
  102. package/dist/hooks/messages/useWildduckUploadMessage.d.ts +13 -0
  103. package/dist/hooks/messages/useWildduckUploadMessage.d.ts.map +1 -0
  104. package/dist/hooks/messages/useWildduckUploadMessage.js +51 -0
  105. package/dist/hooks/messages/useWildduckUploadMessage.js.map +1 -0
  106. package/dist/hooks/mocks.d.ts +354 -0
  107. package/dist/hooks/mocks.d.ts.map +1 -0
  108. package/dist/hooks/mocks.js +404 -0
  109. package/dist/hooks/mocks.js.map +1 -0
  110. package/dist/hooks/query-config.d.ts +9 -0
  111. package/dist/hooks/query-config.d.ts.map +1 -0
  112. package/dist/hooks/query-config.js +9 -0
  113. package/dist/hooks/query-config.js.map +1 -0
  114. package/dist/hooks/query-keys.d.ts +31 -0
  115. package/dist/hooks/query-keys.d.ts.map +1 -0
  116. package/dist/hooks/query-keys.js +40 -0
  117. package/dist/hooks/query-keys.js.map +1 -0
  118. package/dist/hooks/useServices.d.ts +14 -0
  119. package/dist/hooks/useServices.d.ts.map +1 -0
  120. package/dist/hooks/useServices.js +36 -0
  121. package/dist/hooks/useServices.js.map +1 -0
  122. package/dist/hooks/useWildduckAddresses.d.ts +67 -0
  123. package/dist/hooks/useWildduckAddresses.d.ts.map +1 -0
  124. package/dist/hooks/useWildduckAddresses.js +313 -0
  125. package/dist/hooks/useWildduckAddresses.js.map +1 -0
  126. package/dist/hooks/useWildduckAuth.d.ts +28 -0
  127. package/dist/hooks/useWildduckAuth.d.ts.map +1 -0
  128. package/dist/hooks/useWildduckAuth.js +249 -0
  129. package/dist/hooks/useWildduckAuth.js.map +1 -0
  130. package/dist/hooks/useWildduckFilters.d.ts +89 -0
  131. package/dist/hooks/useWildduckFilters.d.ts.map +1 -0
  132. package/dist/hooks/useWildduckFilters.js +209 -0
  133. package/dist/hooks/useWildduckFilters.js.map +1 -0
  134. package/dist/hooks/useWildduckHealth.d.ts +45 -0
  135. package/dist/hooks/useWildduckHealth.d.ts.map +1 -0
  136. package/dist/hooks/useWildduckHealth.js +110 -0
  137. package/dist/hooks/useWildduckHealth.js.map +1 -0
  138. package/dist/hooks/useWildduckMailboxes.d.ts +29 -0
  139. package/dist/hooks/useWildduckMailboxes.d.ts.map +1 -0
  140. package/dist/hooks/useWildduckMailboxes.js +195 -0
  141. package/dist/hooks/useWildduckMailboxes.js.map +1 -0
  142. package/dist/hooks/useWildduckMessages.d.ts +76 -0
  143. package/dist/hooks/useWildduckMessages.d.ts.map +1 -0
  144. package/dist/hooks/useWildduckMessages.js +264 -0
  145. package/dist/hooks/useWildduckMessages.js.map +1 -0
  146. package/dist/hooks/useWildduckQueries.d.ts +50 -0
  147. package/dist/hooks/useWildduckQueries.d.ts.map +1 -0
  148. package/dist/hooks/useWildduckQueries.js +640 -0
  149. package/dist/hooks/useWildduckQueries.js.map +1 -0
  150. package/dist/hooks/useWildduckSettings.d.ts +22 -0
  151. package/dist/hooks/useWildduckSettings.d.ts.map +1 -0
  152. package/dist/hooks/useWildduckSettings.js +153 -0
  153. package/dist/hooks/useWildduckSettings.js.map +1 -0
  154. package/dist/hooks/useWildduckUsers.d.ts +31 -0
  155. package/dist/hooks/useWildduckUsers.d.ts.map +1 -0
  156. package/dist/hooks/useWildduckUsers.js +114 -0
  157. package/dist/hooks/useWildduckUsers.js.map +1 -0
  158. package/dist/hooks/users/index.d.ts +12 -0
  159. package/dist/hooks/users/index.d.ts.map +1 -0
  160. package/dist/hooks/users/index.js +12 -0
  161. package/dist/hooks/users/index.js.map +1 -0
  162. package/dist/hooks/users/useWildduckCreateUser.d.ts +13 -0
  163. package/dist/hooks/users/useWildduckCreateUser.d.ts.map +1 -0
  164. package/dist/hooks/users/useWildduckCreateUser.js +44 -0
  165. package/dist/hooks/users/useWildduckCreateUser.js.map +1 -0
  166. package/dist/hooks/users/useWildduckDeleteUser.d.ts +13 -0
  167. package/dist/hooks/users/useWildduckDeleteUser.d.ts.map +1 -0
  168. package/dist/hooks/users/useWildduckDeleteUser.js +44 -0
  169. package/dist/hooks/users/useWildduckDeleteUser.js.map +1 -0
  170. package/dist/hooks/users/useWildduckGetUser.d.ts +397 -0
  171. package/dist/hooks/users/useWildduckGetUser.d.ts.map +1 -0
  172. package/dist/hooks/users/useWildduckGetUser.js +45 -0
  173. package/dist/hooks/users/useWildduckGetUser.js.map +1 -0
  174. package/dist/hooks/users/useWildduckUpdateUser.d.ts +13 -0
  175. package/dist/hooks/users/useWildduckUpdateUser.d.ts.map +1 -0
  176. package/dist/hooks/users/useWildduckUpdateUser.js +44 -0
  177. package/dist/hooks/users/useWildduckUpdateUser.js.map +1 -0
  178. package/dist/hooks/users/useWildduckUser2FA.d.ts +25 -0
  179. package/dist/hooks/users/useWildduckUser2FA.d.ts.map +1 -0
  180. package/dist/hooks/users/useWildduckUser2FA.js +70 -0
  181. package/dist/hooks/users/useWildduckUser2FA.js.map +1 -0
  182. package/dist/hooks/users/useWildduckUserEncryption.d.ts +40 -0
  183. package/dist/hooks/users/useWildduckUserEncryption.d.ts.map +1 -0
  184. package/dist/hooks/users/useWildduckUserEncryption.js +94 -0
  185. package/dist/hooks/users/useWildduckUserEncryption.js.map +1 -0
  186. package/dist/hooks/users/useWildduckUserForwarding.d.ts +44 -0
  187. package/dist/hooks/users/useWildduckUserForwarding.d.ts.map +1 -0
  188. package/dist/hooks/users/useWildduckUserForwarding.js +122 -0
  189. package/dist/hooks/users/useWildduckUserForwarding.js.map +1 -0
  190. package/dist/hooks/users/useWildduckUserLimits.d.ts +63 -0
  191. package/dist/hooks/users/useWildduckUserLimits.d.ts.map +1 -0
  192. package/dist/hooks/users/useWildduckUserLimits.js +60 -0
  193. package/dist/hooks/users/useWildduckUserLimits.js.map +1 -0
  194. package/dist/hooks/users/useWildduckUserProfile.d.ts +78 -0
  195. package/dist/hooks/users/useWildduckUserProfile.d.ts.map +1 -0
  196. package/dist/hooks/users/useWildduckUserProfile.js +139 -0
  197. package/dist/hooks/users/useWildduckUserProfile.js.map +1 -0
  198. package/dist/hooks/users/useWildduckUserQuota.d.ts +31 -0
  199. package/dist/hooks/users/useWildduckUserQuota.d.ts.map +1 -0
  200. package/dist/hooks/users/useWildduckUserQuota.js +66 -0
  201. package/dist/hooks/users/useWildduckUserQuota.js.map +1 -0
  202. package/dist/hooks/users/useWildduckUserSpam.d.ts +54 -0
  203. package/dist/hooks/users/useWildduckUserSpam.d.ts.map +1 -0
  204. package/dist/hooks/users/useWildduckUserSpam.js +137 -0
  205. package/dist/hooks/users/useWildduckUserSpam.js.map +1 -0
  206. package/dist/index.d.ts +7 -0
  207. package/dist/index.d.ts.map +1 -0
  208. package/dist/index.js +7 -0
  209. package/dist/index.js.map +1 -0
  210. package/dist/network/index.d.ts +2 -0
  211. package/dist/network/index.d.ts.map +1 -0
  212. package/dist/network/index.js +2 -0
  213. package/dist/network/index.js.map +1 -0
  214. package/dist/network/wildduck-client.d.ts +54 -0
  215. package/dist/network/wildduck-client.d.ts.map +1 -0
  216. package/dist/network/wildduck-client.js +572 -0
  217. package/dist/network/wildduck-client.js.map +1 -0
  218. package/dist/types/index.d.ts +2 -0
  219. package/dist/types/index.d.ts.map +1 -0
  220. package/dist/types/index.js +2 -0
  221. package/dist/types/index.js.map +1 -0
  222. package/dist/utils/advanced-settings.d.ts +36 -0
  223. package/dist/utils/advanced-settings.d.ts.map +1 -0
  224. package/dist/utils/advanced-settings.js +99 -0
  225. package/dist/utils/advanced-settings.js.map +1 -0
  226. package/dist/utils/autoreply.d.ts +34 -0
  227. package/dist/utils/autoreply.d.ts.map +1 -0
  228. package/dist/utils/autoreply.js +39 -0
  229. package/dist/utils/autoreply.js.map +1 -0
  230. package/dist/utils/client.d.ts +4 -0
  231. package/dist/utils/client.d.ts.map +1 -0
  232. package/dist/utils/client.js +11 -0
  233. package/dist/utils/client.js.map +1 -0
  234. package/dist/utils/filters.d.ts +26 -0
  235. package/dist/utils/filters.d.ts.map +1 -0
  236. package/dist/utils/filters.js +50 -0
  237. package/dist/utils/filters.js.map +1 -0
  238. package/dist/utils/forwarding.d.ts +12 -0
  239. package/dist/utils/forwarding.d.ts.map +1 -0
  240. package/dist/utils/forwarding.js +29 -0
  241. package/dist/utils/forwarding.js.map +1 -0
  242. package/dist/utils/index.d.ts +7 -0
  243. package/dist/utils/index.d.ts.map +1 -0
  244. package/dist/utils/index.js +7 -0
  245. package/dist/utils/index.js.map +1 -0
  246. package/dist/utils/spam-settings.d.ts +21 -0
  247. package/dist/utils/spam-settings.d.ts.map +1 -0
  248. package/dist/utils/spam-settings.js +53 -0
  249. package/dist/utils/spam-settings.js.map +1 -0
  250. package/dist/utils/user-settings.d.ts +30 -0
  251. package/dist/utils/user-settings.d.ts.map +1 -0
  252. package/dist/utils/user-settings.js +21 -0
  253. package/dist/utils/user-settings.js.map +1 -0
  254. package/package.json +82 -0
@@ -0,0 +1,195 @@
1
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
2
+ import { useCallback, useEffect, useMemo } from "react";
3
+ import axios from "axios";
4
+ const useWildduckMailboxes = (config, authData, _devMode = false) => {
5
+ const queryClient = useQueryClient();
6
+ const userId = authData?.id || null;
7
+ const buildHeaders = () => {
8
+ const headers = {
9
+ "Content-Type": "application/json",
10
+ Accept: "application/json",
11
+ };
12
+ if (config.cloudflareWorkerUrl) {
13
+ headers["Authorization"] = `Bearer ${config.apiToken}`;
14
+ headers["X-App-Source"] = "0xmail-box";
15
+ }
16
+ else {
17
+ headers["X-Access-Token"] = config.apiToken;
18
+ }
19
+ return headers;
20
+ };
21
+ const getMailboxes = useCallback(async (userId, options = {}) => {
22
+ try {
23
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
24
+ const headers = buildHeaders();
25
+ const queryParams = new URLSearchParams();
26
+ if (options.specialUse)
27
+ queryParams.append("specialUse", "true");
28
+ if (options.showHidden)
29
+ queryParams.append("showHidden", "true");
30
+ if (options.counters)
31
+ queryParams.append("counters", "true");
32
+ if (options.sizes)
33
+ queryParams.append("sizes", "true");
34
+ const query = queryParams.toString();
35
+ const endpoint = `/users/${userId}/mailboxes${query ? `?${query}` : ""}`;
36
+ const response = await axios.get(`${apiUrl}${endpoint}`, { headers });
37
+ const mailboxData = response.data;
38
+ const mailboxList = mailboxData.results || [];
39
+ queryClient.setQueryData(["wildduck-mailboxes", userId], mailboxList);
40
+ return mailboxList;
41
+ }
42
+ catch (err) {
43
+ const errorMessage = err instanceof Error ? err.message : "Failed to get mailboxes";
44
+ console.error("[useWildduckMailboxes] Failed to get mailboxes:", errorMessage);
45
+ throw new Error(errorMessage);
46
+ }
47
+ }, [config.cloudflareWorkerUrl, config.backendUrl, buildHeaders, queryClient]);
48
+ const cachedMailboxes = userId
49
+ ? queryClient.getQueryData([
50
+ "wildduck-mailboxes",
51
+ userId,
52
+ ]) || []
53
+ : [];
54
+ useEffect(() => {
55
+ if (userId && cachedMailboxes.length === 0) {
56
+ getMailboxes(userId, {
57
+ counters: true,
58
+ specialUse: false,
59
+ showHidden: false,
60
+ sizes: false,
61
+ }).catch((error) => {
62
+ console.error("[useWildduckMailboxes] Auto-fetch failed:", error);
63
+ });
64
+ }
65
+ }, [userId]);
66
+ const createMutation = useMutation({
67
+ mutationKey: [
68
+ "wildduck-create-mailbox",
69
+ config.cloudflareWorkerUrl || config.backendUrl,
70
+ ],
71
+ mutationFn: async ({ userId, params, }) => {
72
+ try {
73
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
74
+ const headers = buildHeaders();
75
+ const response = await axios.post(`${apiUrl}/users/${userId}/mailboxes`, {
76
+ path: params.path,
77
+ hidden: params.hidden,
78
+ retention: params.retention,
79
+ }, { headers });
80
+ return response.data;
81
+ }
82
+ catch (err) {
83
+ const errorMessage = err instanceof Error ? err.message : "Failed to create mailbox";
84
+ console.error("[useWildduckMailboxes] Failed to create mailbox:", errorMessage);
85
+ throw new Error(errorMessage);
86
+ }
87
+ },
88
+ onSuccess: (_, variables) => {
89
+ queryClient.invalidateQueries({
90
+ queryKey: ["wildduck-mailboxes", variables.userId],
91
+ });
92
+ },
93
+ });
94
+ const updateMutation = useMutation({
95
+ mutationKey: [
96
+ "wildduck-update-mailbox",
97
+ config.cloudflareWorkerUrl || config.backendUrl,
98
+ ],
99
+ mutationFn: async ({ userId, mailboxId, params, }) => {
100
+ try {
101
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
102
+ const headers = buildHeaders();
103
+ const response = await axios.put(`${apiUrl}/users/${userId}/mailboxes/${mailboxId}`, params, { headers });
104
+ return response.data;
105
+ }
106
+ catch (err) {
107
+ const errorMessage = err instanceof Error ? err.message : "Failed to update mailbox";
108
+ console.error("[useWildduckMailboxes] Failed to update mailbox:", errorMessage);
109
+ throw new Error(errorMessage);
110
+ }
111
+ },
112
+ onSuccess: (_, variables) => {
113
+ queryClient.invalidateQueries({
114
+ queryKey: ["wildduck-mailboxes", variables.userId],
115
+ });
116
+ },
117
+ });
118
+ const deleteMutation = useMutation({
119
+ mutationKey: [
120
+ "wildduck-delete-mailbox",
121
+ config.cloudflareWorkerUrl || config.backendUrl,
122
+ ],
123
+ mutationFn: async ({ userId, mailboxId, }) => {
124
+ try {
125
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
126
+ const headers = buildHeaders();
127
+ const response = await axios.delete(`${apiUrl}/users/${userId}/mailboxes/${mailboxId}`, { headers });
128
+ return response.data;
129
+ }
130
+ catch (err) {
131
+ const errorMessage = err instanceof Error ? err.message : "Failed to delete mailbox";
132
+ console.error("[useWildduckMailboxes] Failed to delete mailbox:", errorMessage);
133
+ throw new Error(errorMessage);
134
+ }
135
+ },
136
+ onSuccess: (_, variables) => {
137
+ queryClient.invalidateQueries({
138
+ queryKey: ["wildduck-mailboxes", variables.userId],
139
+ });
140
+ },
141
+ });
142
+ const refresh = useCallback(async (userId) => {
143
+ await getMailboxes(userId, { counters: true });
144
+ }, [getMailboxes]);
145
+ const isLoading = createMutation.isPending ||
146
+ updateMutation.isPending ||
147
+ deleteMutation.isPending;
148
+ const error = createMutation.error?.message ||
149
+ updateMutation.error?.message ||
150
+ deleteMutation.error?.message ||
151
+ null;
152
+ const createMailbox = useCallback(async (userId, params) => createMutation.mutateAsync({ userId, params }), [createMutation]);
153
+ const updateMailbox = useCallback(async (userId, mailboxId, params) => updateMutation.mutateAsync({ userId, mailboxId, params }), [updateMutation]);
154
+ const deleteMailbox = useCallback(async (userId, mailboxId) => deleteMutation.mutateAsync({ userId, mailboxId }), [deleteMutation]);
155
+ const clearError = useCallback(() => {
156
+ createMutation.reset();
157
+ updateMutation.reset();
158
+ deleteMutation.reset();
159
+ }, [createMutation, updateMutation, deleteMutation]);
160
+ return useMemo(() => ({
161
+ mailboxes: cachedMailboxes,
162
+ isLoading,
163
+ error,
164
+ getMailboxes,
165
+ refresh,
166
+ createMailbox,
167
+ isCreating: createMutation.isPending,
168
+ createError: createMutation.error,
169
+ updateMailbox,
170
+ isUpdating: updateMutation.isPending,
171
+ updateError: updateMutation.error,
172
+ deleteMailbox,
173
+ isDeleting: deleteMutation.isPending,
174
+ deleteError: deleteMutation.error,
175
+ clearError,
176
+ }), [
177
+ cachedMailboxes,
178
+ isLoading,
179
+ error,
180
+ getMailboxes,
181
+ refresh,
182
+ createMailbox,
183
+ createMutation.isPending,
184
+ createMutation.error,
185
+ updateMailbox,
186
+ updateMutation.isPending,
187
+ updateMutation.error,
188
+ deleteMailbox,
189
+ deleteMutation.isPending,
190
+ deleteMutation.error,
191
+ clearError,
192
+ ]);
193
+ };
194
+ export { useWildduckMailboxes };
195
+ //# sourceMappingURL=useWildduckMailboxes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWildduckMailboxes.js","sourceRoot":"","sources":["../../src/hooks/useWildduckMailboxes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import type { Optional } from "@sudobility/types";
2
+ import type { WildduckConfig, WildduckMessage, WildduckMessageResponse } from "@sudobility/types";
3
+ interface GetMessagesOptions {
4
+ limit?: number;
5
+ page?: number;
6
+ order?: "asc" | "desc";
7
+ search?: string;
8
+ thread?: string;
9
+ }
10
+ interface SendMessageParams {
11
+ from?: string;
12
+ to: Array<{
13
+ name?: string;
14
+ address: string;
15
+ }>;
16
+ cc?: Array<{
17
+ name?: string;
18
+ address: string;
19
+ }>;
20
+ bcc?: Array<{
21
+ name?: string;
22
+ address: string;
23
+ }>;
24
+ subject: string;
25
+ text?: string;
26
+ html?: string;
27
+ attachments?: Array<{
28
+ filename: string;
29
+ content: string | Buffer;
30
+ contentType?: string;
31
+ }>;
32
+ inReplyTo?: string;
33
+ references?: string[];
34
+ }
35
+ interface UpdateMessageParams {
36
+ seen?: boolean;
37
+ flagged?: boolean;
38
+ deleted?: boolean;
39
+ mailbox?: string;
40
+ }
41
+ interface UseWildduckMessagesReturn {
42
+ messages: WildduckMessage[];
43
+ totalMessages: number;
44
+ currentPage: number;
45
+ isLoading: boolean;
46
+ error: Optional<string>;
47
+ getMessages: (userId: string, mailboxId: string, options?: GetMessagesOptions) => Promise<WildduckMessage[]>;
48
+ getMessage: (userId: string, messageId: string) => Promise<WildduckMessageResponse>;
49
+ searchMessages: (userId: string, query: string, options?: GetMessagesOptions) => Promise<WildduckMessage[]>;
50
+ refresh: () => Promise<void>;
51
+ sendMessage: (userId: string, params: SendMessageParams) => Promise<{
52
+ success: boolean;
53
+ id: string;
54
+ }>;
55
+ isSending: boolean;
56
+ sendError: Optional<Error>;
57
+ updateMessage: (userId: string, messageId: string, params: UpdateMessageParams) => Promise<{
58
+ success: boolean;
59
+ }>;
60
+ isUpdating: boolean;
61
+ updateError: Optional<Error>;
62
+ deleteMessage: (userId: string, messageId: string) => Promise<{
63
+ success: boolean;
64
+ }>;
65
+ isDeleting: boolean;
66
+ deleteError: Optional<Error>;
67
+ moveMessage: (userId: string, messageId: string, targetMailbox: string) => Promise<{
68
+ success: boolean;
69
+ }>;
70
+ isMoving: boolean;
71
+ moveError: Optional<Error>;
72
+ clearError: () => void;
73
+ }
74
+ declare const useWildduckMessages: (config: WildduckConfig, _devMode?: boolean) => UseWildduckMessagesReturn;
75
+ export { useWildduckMessages, type GetMessagesOptions, type SendMessageParams, type UpdateMessageParams, type UseWildduckMessagesReturn, };
76
+ //# sourceMappingURL=useWildduckMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWildduckMessages.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckMessages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,264 @@
1
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
2
+ import axios from "axios";
3
+ import { useCallback, useMemo, useState } from "react";
4
+ const useWildduckMessages = (config, _devMode = false) => {
5
+ const queryClient = useQueryClient();
6
+ const [messages, setMessages] = useState([]);
7
+ const [totalMessages, setTotalMessages] = useState(0);
8
+ const [currentPage, setCurrentPage] = useState(1);
9
+ const [lastFetchParams, setLastFetchParams] = useState(null);
10
+ const buildHeaders = () => {
11
+ const headers = {
12
+ "Content-Type": "application/json",
13
+ Accept: "application/json",
14
+ };
15
+ if (config.cloudflareWorkerUrl) {
16
+ headers["Authorization"] = `Bearer ${config.apiToken}`;
17
+ headers["X-App-Source"] = "0xmail-box";
18
+ }
19
+ else {
20
+ headers["X-Access-Token"] = config.apiToken;
21
+ }
22
+ return headers;
23
+ };
24
+ const getMessages = useCallback(async (userId, mailboxId, options = {}) => {
25
+ try {
26
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
27
+ const headers = buildHeaders();
28
+ const queryParams = new URLSearchParams();
29
+ if (options.limit)
30
+ queryParams.append("limit", options.limit.toString());
31
+ if (options.page)
32
+ queryParams.append("page", options.page.toString());
33
+ if (options.order)
34
+ queryParams.append("order", options.order);
35
+ const query = queryParams.toString();
36
+ const endpoint = `/users/${userId}/mailboxes/${mailboxId}/messages${query ? `?${query}` : ""}`;
37
+ const response = await axios.get(`${apiUrl}${endpoint}`, { headers });
38
+ const messageData = response.data;
39
+ const messageList = messageData.results || [];
40
+ setMessages(messageList);
41
+ setTotalMessages(messageData.total || 0);
42
+ setCurrentPage(messageData.page || 1);
43
+ setLastFetchParams({ userId, mailboxId, options });
44
+ queryClient.setQueryData(["wildduck-messages", userId, mailboxId], messageList);
45
+ return messageList;
46
+ }
47
+ catch (err) {
48
+ const errorMessage = err instanceof Error ? err.message : "Failed to get messages";
49
+ setMessages([]);
50
+ setTotalMessages(0);
51
+ throw new Error(errorMessage);
52
+ }
53
+ }, [config.cloudflareWorkerUrl, config.backendUrl, buildHeaders, queryClient]);
54
+ const getMessage = useCallback(async (userId, messageId) => {
55
+ try {
56
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
57
+ const headers = buildHeaders();
58
+ const response = await axios.get(`${apiUrl}/users/${userId}/messages/${messageId}`, { headers });
59
+ const messageData = response.data;
60
+ queryClient.setQueryData(["wildduck-message", userId, messageId], messageData);
61
+ return messageData;
62
+ }
63
+ catch (err) {
64
+ const errorMessage = err instanceof Error ? err.message : "Failed to get message";
65
+ throw new Error(errorMessage);
66
+ }
67
+ }, [config.cloudflareWorkerUrl, config.backendUrl, buildHeaders, queryClient]);
68
+ const searchMessages = useCallback(async (userId, query, options = {}) => {
69
+ try {
70
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
71
+ const headers = buildHeaders();
72
+ const response = await axios.get(`${apiUrl}/users/${userId}/search?q=${encodeURIComponent(query)}&limit=${options.limit || 50}&page=${options.page || 1}`, { headers });
73
+ const searchResponse = response.data;
74
+ const messageList = searchResponse.results || [];
75
+ setMessages(messageList);
76
+ setTotalMessages(searchResponse.total || 0);
77
+ setCurrentPage(searchResponse.page || 1);
78
+ return messageList;
79
+ }
80
+ catch (err) {
81
+ const errorMessage = err instanceof Error ? err.message : "Failed to search messages";
82
+ setMessages([]);
83
+ setTotalMessages(0);
84
+ throw new Error(errorMessage);
85
+ }
86
+ }, [config.cloudflareWorkerUrl, config.backendUrl, buildHeaders]);
87
+ const sendMutation = useMutation({
88
+ mutationKey: [
89
+ "wildduck-send-message",
90
+ config.cloudflareWorkerUrl || config.backendUrl,
91
+ ],
92
+ mutationFn: async ({ userId, params, }) => {
93
+ try {
94
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
95
+ const headers = buildHeaders();
96
+ const response = await axios.post(`${apiUrl}/users/${userId}/submit`, params, { headers });
97
+ return response.data;
98
+ }
99
+ catch (err) {
100
+ const errorMessage = err instanceof Error ? err.message : "Failed to send message";
101
+ throw new Error(errorMessage);
102
+ }
103
+ },
104
+ onSuccess: (_, variables) => {
105
+ queryClient.invalidateQueries({
106
+ queryKey: ["wildduck-messages", variables.userId],
107
+ });
108
+ },
109
+ });
110
+ const updateMutation = useMutation({
111
+ mutationKey: [
112
+ "wildduck-update-message",
113
+ config.cloudflareWorkerUrl || config.backendUrl,
114
+ ],
115
+ mutationFn: async ({ userId, messageId, params, }) => {
116
+ try {
117
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
118
+ const headers = buildHeaders();
119
+ const response = await axios.put(`${apiUrl}/users/${userId}/messages/${messageId}`, params, { headers });
120
+ return response.data;
121
+ }
122
+ catch (err) {
123
+ const errorMessage = err instanceof Error ? err.message : "Failed to update message";
124
+ throw new Error(errorMessage);
125
+ }
126
+ },
127
+ onSuccess: (_, variables) => {
128
+ queryClient.invalidateQueries({
129
+ queryKey: ["wildduck-message", variables.userId, variables.messageId],
130
+ });
131
+ queryClient.invalidateQueries({
132
+ queryKey: ["wildduck-messages", variables.userId],
133
+ });
134
+ },
135
+ });
136
+ const deleteMutation = useMutation({
137
+ mutationKey: [
138
+ "wildduck-delete-message",
139
+ config.cloudflareWorkerUrl || config.backendUrl,
140
+ ],
141
+ mutationFn: async ({ userId, messageId, }) => {
142
+ try {
143
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
144
+ const headers = buildHeaders();
145
+ const response = await axios.delete(`${apiUrl}/users/${userId}/messages/${messageId}`, { headers });
146
+ return response.data;
147
+ }
148
+ catch (err) {
149
+ const errorMessage = err instanceof Error ? err.message : "Failed to delete message";
150
+ throw new Error(errorMessage);
151
+ }
152
+ },
153
+ onSuccess: (_, variables) => {
154
+ queryClient.invalidateQueries({
155
+ queryKey: ["wildduck-message", variables.userId, variables.messageId],
156
+ });
157
+ queryClient.invalidateQueries({
158
+ queryKey: ["wildduck-messages", variables.userId],
159
+ });
160
+ },
161
+ });
162
+ const moveMutation = useMutation({
163
+ mutationKey: [
164
+ "wildduck-move-message",
165
+ config.cloudflareWorkerUrl || config.backendUrl,
166
+ ],
167
+ mutationFn: async ({ userId, messageId, targetMailbox, }) => {
168
+ try {
169
+ const apiUrl = config.cloudflareWorkerUrl || config.backendUrl;
170
+ const headers = buildHeaders();
171
+ const response = await axios.put(`${apiUrl}/users/${userId}/messages/${messageId}/move`, { mailbox: targetMailbox }, { headers });
172
+ return response.data;
173
+ }
174
+ catch (err) {
175
+ const errorMessage = err instanceof Error ? err.message : "Failed to move message";
176
+ throw new Error(errorMessage);
177
+ }
178
+ },
179
+ onSuccess: (_, variables) => {
180
+ queryClient.invalidateQueries({
181
+ queryKey: ["wildduck-message", variables.userId, variables.messageId],
182
+ });
183
+ queryClient.invalidateQueries({
184
+ queryKey: ["wildduck-messages", variables.userId],
185
+ });
186
+ queryClient.invalidateQueries({
187
+ queryKey: ["wildduck-mailboxes", variables.userId],
188
+ });
189
+ },
190
+ });
191
+ const refresh = useCallback(async () => {
192
+ if (lastFetchParams) {
193
+ await getMessages(lastFetchParams.userId, lastFetchParams.mailboxId, lastFetchParams.options);
194
+ }
195
+ }, [lastFetchParams, getMessages]);
196
+ const isLoading = sendMutation.isPending ||
197
+ updateMutation.isPending ||
198
+ deleteMutation.isPending ||
199
+ moveMutation.isPending;
200
+ const error = sendMutation.error?.message ||
201
+ updateMutation.error?.message ||
202
+ deleteMutation.error?.message ||
203
+ moveMutation.error?.message ||
204
+ null;
205
+ const sendMessage = useCallback(async (userId, params) => sendMutation.mutateAsync({ userId, params }), [sendMutation]);
206
+ const updateMessage = useCallback(async (userId, messageId, params) => updateMutation.mutateAsync({ userId, messageId, params }), [updateMutation]);
207
+ const deleteMessage = useCallback(async (userId, messageId) => deleteMutation.mutateAsync({ userId, messageId }), [deleteMutation]);
208
+ const moveMessage = useCallback(async (userId, messageId, targetMailbox) => moveMutation.mutateAsync({ userId, messageId, targetMailbox }), [moveMutation]);
209
+ const clearError = useCallback(() => {
210
+ sendMutation.reset();
211
+ updateMutation.reset();
212
+ deleteMutation.reset();
213
+ moveMutation.reset();
214
+ }, [sendMutation, updateMutation, deleteMutation, moveMutation]);
215
+ return useMemo(() => ({
216
+ messages,
217
+ totalMessages,
218
+ currentPage,
219
+ isLoading,
220
+ error,
221
+ getMessages,
222
+ getMessage,
223
+ searchMessages,
224
+ refresh,
225
+ sendMessage,
226
+ isSending: sendMutation.isPending,
227
+ sendError: sendMutation.error,
228
+ updateMessage,
229
+ isUpdating: updateMutation.isPending,
230
+ updateError: updateMutation.error,
231
+ deleteMessage,
232
+ isDeleting: deleteMutation.isPending,
233
+ deleteError: deleteMutation.error,
234
+ moveMessage,
235
+ isMoving: moveMutation.isPending,
236
+ moveError: moveMutation.error,
237
+ clearError,
238
+ }), [
239
+ messages,
240
+ totalMessages,
241
+ currentPage,
242
+ isLoading,
243
+ error,
244
+ getMessages,
245
+ getMessage,
246
+ searchMessages,
247
+ refresh,
248
+ sendMessage,
249
+ sendMutation.isPending,
250
+ sendMutation.error,
251
+ updateMessage,
252
+ updateMutation.isPending,
253
+ updateMutation.error,
254
+ deleteMessage,
255
+ deleteMutation.isPending,
256
+ deleteMutation.error,
257
+ moveMessage,
258
+ moveMutation.isPending,
259
+ moveMutation.error,
260
+ clearError,
261
+ ]);
262
+ };
263
+ export { useWildduckMessages, };
264
+ //# sourceMappingURL=useWildduckMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWildduckMessages.js","sourceRoot":"","sources":["../../src/hooks/useWildduckMessages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { UseQueryOptions, UseQueryResult } from "@tanstack/react-query";
2
+ import type { WildduckAddress, WildduckConfig, WildduckMailboxResponse, WildduckMessage, WildduckMessagesResponse, WildduckUser } from "@sudobility/types";
3
+ interface WildduckHealthResponse {
4
+ status: string;
5
+ version: string;
6
+ uptime: number;
7
+ }
8
+ interface WildduckUsersResponse {
9
+ success: boolean;
10
+ results: WildduckUser[];
11
+ error?: string;
12
+ }
13
+ interface WildduckUserSettings {
14
+ [key: string]: unknown;
15
+ }
16
+ interface WildduckFilter {
17
+ id: string;
18
+ name: string;
19
+ query: object;
20
+ action: object;
21
+ disabled: boolean;
22
+ created: string;
23
+ }
24
+ interface WildduckAuthStatusResponse {
25
+ success: boolean;
26
+ user?: {
27
+ id: string;
28
+ username: string;
29
+ address?: string;
30
+ };
31
+ authenticated: boolean;
32
+ }
33
+ declare const useWildduckHealth: (config: WildduckConfig, devMode?: boolean, options?: UseQueryOptions<WildduckHealthResponse>) => UseQueryResult<WildduckHealthResponse>;
34
+ declare const useWildduckUsersList: (config: WildduckConfig, devMode?: boolean, filters?: Record<string, unknown>, options?: UseQueryOptions<WildduckUsersResponse>) => UseQueryResult<WildduckUsersResponse>;
35
+ declare const useWildduckUser: (config: WildduckConfig, userId: string, devMode?: boolean, options?: UseQueryOptions<WildduckUser>) => UseQueryResult<WildduckUser>;
36
+ declare const useWildduckUserAddresses: (config: WildduckConfig, userId: string, devMode?: boolean, options?: UseQueryOptions<WildduckAddress[]>) => UseQueryResult<WildduckAddress[]>;
37
+ declare const useWildduckUserMessages: (config: WildduckConfig, userId: string, mailboxId: string, devMode?: boolean, filters?: Record<string, unknown>, options?: UseQueryOptions<WildduckMessagesResponse>) => UseQueryResult<WildduckMessagesResponse>;
38
+ declare const useWildduckMessage: (config: WildduckConfig, userId: string, messageId: string, devMode?: boolean, options?: UseQueryOptions<WildduckMessage>) => UseQueryResult<WildduckMessage>;
39
+ declare const useWildduckUserFilters: (config: WildduckConfig, userId: string, devMode?: boolean, options?: UseQueryOptions<WildduckFilter[]>) => UseQueryResult<WildduckFilter[]>;
40
+ declare const useWildduckUserSettings: (config: WildduckConfig, userId: string, devMode?: boolean, options?: UseQueryOptions<WildduckUserSettings>) => UseQueryResult<WildduckUserSettings>;
41
+ declare const useWildduckUserMailboxes: (config: WildduckConfig, userId: string, devMode?: boolean, options?: {
42
+ specialUse?: boolean;
43
+ showHidden?: boolean;
44
+ counters?: boolean;
45
+ sizes?: boolean;
46
+ }, queryOptions?: UseQueryOptions<WildduckMailboxResponse>) => UseQueryResult<WildduckMailboxResponse>;
47
+ declare const useWildduckAuthStatus: (config: WildduckConfig, token?: string, devMode?: boolean, queryOptions?: UseQueryOptions<WildduckAuthStatusResponse>) => UseQueryResult<WildduckAuthStatusResponse>;
48
+ declare const useWildduckSearchMessages: (config: WildduckConfig, userId: string, mailboxId: string, query: string, devMode?: boolean, searchOptions?: Record<string, unknown>, queryOptions?: UseQueryOptions<WildduckMessagesResponse>) => UseQueryResult<WildduckMessagesResponse>;
49
+ export { useWildduckHealth, useWildduckUsersList, useWildduckUser, useWildduckUserAddresses, useWildduckUserMessages, useWildduckMessage, useWildduckUserFilters, useWildduckUserSettings, useWildduckUserMailboxes, useWildduckAuthStatus, useWildduckSearchMessages, type WildduckHealthResponse, type WildduckUserSettings, type WildduckFilter, type WildduckAuthStatusResponse, };
50
+ //# sourceMappingURL=useWildduckQueries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWildduckQueries.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckQueries.ts"],"names":[],"mappings":"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"}