@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.
- package/README.md +354 -0
- package/dist/hooks/ServiceProvider.d.ts +15 -0
- package/dist/hooks/ServiceProvider.d.ts.map +1 -0
- package/dist/hooks/ServiceProvider.js +21 -0
- package/dist/hooks/ServiceProvider.js.map +1 -0
- package/dist/hooks/addresses/index.d.ts +2 -0
- package/dist/hooks/addresses/index.d.ts.map +1 -0
- package/dist/hooks/addresses/index.js +2 -0
- package/dist/hooks/addresses/index.js.map +1 -0
- package/dist/hooks/addresses/useWildduckGetAddresses.d.ts +232 -0
- package/dist/hooks/addresses/useWildduckGetAddresses.d.ts.map +1 -0
- package/dist/hooks/addresses/useWildduckGetAddresses.js +34 -0
- package/dist/hooks/addresses/useWildduckGetAddresses.js.map +1 -0
- package/dist/hooks/autoreply/index.d.ts +4 -0
- package/dist/hooks/autoreply/index.d.ts.map +1 -0
- package/dist/hooks/autoreply/index.js +4 -0
- package/dist/hooks/autoreply/index.js.map +1 -0
- package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts +13 -0
- package/dist/hooks/autoreply/useWildduckDeleteAutoreply.d.ts.map +1 -0
- package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js +46 -0
- package/dist/hooks/autoreply/useWildduckDeleteAutoreply.js.map +1 -0
- package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts +172 -0
- package/dist/hooks/autoreply/useWildduckGetAutoreply.d.ts.map +1 -0
- package/dist/hooks/autoreply/useWildduckGetAutoreply.js +39 -0
- package/dist/hooks/autoreply/useWildduckGetAutoreply.js.map +1 -0
- package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts +13 -0
- package/dist/hooks/autoreply/useWildduckUpdateAutoreply.d.ts.map +1 -0
- package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js +46 -0
- package/dist/hooks/autoreply/useWildduckUpdateAutoreply.js.map +1 -0
- package/dist/hooks/index.d.ts +19 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +16 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/mailboxes/index.d.ts +6 -0
- package/dist/hooks/mailboxes/index.d.ts.map +1 -0
- package/dist/hooks/mailboxes/index.js +6 -0
- package/dist/hooks/mailboxes/index.js.map +1 -0
- package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts +13 -0
- package/dist/hooks/mailboxes/useWildduckCreateMailbox.d.ts.map +1 -0
- package/dist/hooks/mailboxes/useWildduckCreateMailbox.js +43 -0
- package/dist/hooks/mailboxes/useWildduckCreateMailbox.js.map +1 -0
- package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts +13 -0
- package/dist/hooks/mailboxes/useWildduckDeleteMailbox.d.ts.map +1 -0
- package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js +48 -0
- package/dist/hooks/mailboxes/useWildduckDeleteMailbox.js.map +1 -0
- package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts +173 -0
- package/dist/hooks/mailboxes/useWildduckGetMailbox.d.ts.map +1 -0
- package/dist/hooks/mailboxes/useWildduckGetMailbox.js +47 -0
- package/dist/hooks/mailboxes/useWildduckGetMailbox.js.map +1 -0
- package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts +233 -0
- package/dist/hooks/mailboxes/useWildduckGetMailboxes.d.ts.map +1 -0
- package/dist/hooks/mailboxes/useWildduckGetMailboxes.js +34 -0
- package/dist/hooks/mailboxes/useWildduckGetMailboxes.js.map +1 -0
- package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts +13 -0
- package/dist/hooks/mailboxes/useWildduckUpdateMailbox.d.ts.map +1 -0
- package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js +48 -0
- package/dist/hooks/mailboxes/useWildduckUpdateMailbox.js.map +1 -0
- package/dist/hooks/messages/index.d.ts +12 -0
- package/dist/hooks/messages/index.d.ts.map +1 -0
- package/dist/hooks/messages/index.js +12 -0
- package/dist/hooks/messages/index.js.map +1 -0
- package/dist/hooks/messages/useWildduckDeleteMessage.d.ts +13 -0
- package/dist/hooks/messages/useWildduckDeleteMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckDeleteMessage.js +48 -0
- package/dist/hooks/messages/useWildduckDeleteMessage.js.map +1 -0
- package/dist/hooks/messages/useWildduckForwardMessage.d.ts +13 -0
- package/dist/hooks/messages/useWildduckForwardMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckForwardMessage.js +51 -0
- package/dist/hooks/messages/useWildduckForwardMessage.js.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessage.d.ts +653 -0
- package/dist/hooks/messages/useWildduckGetMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessage.js +37 -0
- package/dist/hooks/messages/useWildduckGetMessage.js.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts +13 -0
- package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessageAttachment.js +40 -0
- package/dist/hooks/messages/useWildduckGetMessageAttachment.js.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessageSource.d.ts +12 -0
- package/dist/hooks/messages/useWildduckGetMessageSource.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessageSource.js +35 -0
- package/dist/hooks/messages/useWildduckGetMessageSource.js.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessages.d.ts +11 -0
- package/dist/hooks/messages/useWildduckGetMessages.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckGetMessages.js +18 -0
- package/dist/hooks/messages/useWildduckGetMessages.js.map +1 -0
- package/dist/hooks/messages/useWildduckSearchMessages.d.ts +12 -0
- package/dist/hooks/messages/useWildduckSearchMessages.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckSearchMessages.js +46 -0
- package/dist/hooks/messages/useWildduckSearchMessages.js.map +1 -0
- package/dist/hooks/messages/useWildduckSendMessage.d.ts +13 -0
- package/dist/hooks/messages/useWildduckSendMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckSendMessage.js +48 -0
- package/dist/hooks/messages/useWildduckSendMessage.js.map +1 -0
- package/dist/hooks/messages/useWildduckSubmitDraft.d.ts +13 -0
- package/dist/hooks/messages/useWildduckSubmitDraft.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckSubmitDraft.js +44 -0
- package/dist/hooks/messages/useWildduckSubmitDraft.js.map +1 -0
- package/dist/hooks/messages/useWildduckUpdateMessage.d.ts +13 -0
- package/dist/hooks/messages/useWildduckUpdateMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckUpdateMessage.js +53 -0
- package/dist/hooks/messages/useWildduckUpdateMessage.js.map +1 -0
- package/dist/hooks/messages/useWildduckUploadMessage.d.ts +13 -0
- package/dist/hooks/messages/useWildduckUploadMessage.d.ts.map +1 -0
- package/dist/hooks/messages/useWildduckUploadMessage.js +51 -0
- package/dist/hooks/messages/useWildduckUploadMessage.js.map +1 -0
- package/dist/hooks/mocks.d.ts +354 -0
- package/dist/hooks/mocks.d.ts.map +1 -0
- package/dist/hooks/mocks.js +404 -0
- package/dist/hooks/mocks.js.map +1 -0
- package/dist/hooks/query-config.d.ts +9 -0
- package/dist/hooks/query-config.d.ts.map +1 -0
- package/dist/hooks/query-config.js +9 -0
- package/dist/hooks/query-config.js.map +1 -0
- package/dist/hooks/query-keys.d.ts +31 -0
- package/dist/hooks/query-keys.d.ts.map +1 -0
- package/dist/hooks/query-keys.js +40 -0
- package/dist/hooks/query-keys.js.map +1 -0
- package/dist/hooks/useServices.d.ts +14 -0
- package/dist/hooks/useServices.d.ts.map +1 -0
- package/dist/hooks/useServices.js +36 -0
- package/dist/hooks/useServices.js.map +1 -0
- package/dist/hooks/useWildduckAddresses.d.ts +67 -0
- package/dist/hooks/useWildduckAddresses.d.ts.map +1 -0
- package/dist/hooks/useWildduckAddresses.js +313 -0
- package/dist/hooks/useWildduckAddresses.js.map +1 -0
- package/dist/hooks/useWildduckAuth.d.ts +28 -0
- package/dist/hooks/useWildduckAuth.d.ts.map +1 -0
- package/dist/hooks/useWildduckAuth.js +249 -0
- package/dist/hooks/useWildduckAuth.js.map +1 -0
- package/dist/hooks/useWildduckFilters.d.ts +89 -0
- package/dist/hooks/useWildduckFilters.d.ts.map +1 -0
- package/dist/hooks/useWildduckFilters.js +209 -0
- package/dist/hooks/useWildduckFilters.js.map +1 -0
- package/dist/hooks/useWildduckHealth.d.ts +45 -0
- package/dist/hooks/useWildduckHealth.d.ts.map +1 -0
- package/dist/hooks/useWildduckHealth.js +110 -0
- package/dist/hooks/useWildduckHealth.js.map +1 -0
- package/dist/hooks/useWildduckMailboxes.d.ts +29 -0
- package/dist/hooks/useWildduckMailboxes.d.ts.map +1 -0
- package/dist/hooks/useWildduckMailboxes.js +195 -0
- package/dist/hooks/useWildduckMailboxes.js.map +1 -0
- package/dist/hooks/useWildduckMessages.d.ts +76 -0
- package/dist/hooks/useWildduckMessages.d.ts.map +1 -0
- package/dist/hooks/useWildduckMessages.js +264 -0
- package/dist/hooks/useWildduckMessages.js.map +1 -0
- package/dist/hooks/useWildduckQueries.d.ts +50 -0
- package/dist/hooks/useWildduckQueries.d.ts.map +1 -0
- package/dist/hooks/useWildduckQueries.js +640 -0
- package/dist/hooks/useWildduckQueries.js.map +1 -0
- package/dist/hooks/useWildduckSettings.d.ts +22 -0
- package/dist/hooks/useWildduckSettings.d.ts.map +1 -0
- package/dist/hooks/useWildduckSettings.js +153 -0
- package/dist/hooks/useWildduckSettings.js.map +1 -0
- package/dist/hooks/useWildduckUsers.d.ts +31 -0
- package/dist/hooks/useWildduckUsers.d.ts.map +1 -0
- package/dist/hooks/useWildduckUsers.js +114 -0
- package/dist/hooks/useWildduckUsers.js.map +1 -0
- package/dist/hooks/users/index.d.ts +12 -0
- package/dist/hooks/users/index.d.ts.map +1 -0
- package/dist/hooks/users/index.js +12 -0
- package/dist/hooks/users/index.js.map +1 -0
- package/dist/hooks/users/useWildduckCreateUser.d.ts +13 -0
- package/dist/hooks/users/useWildduckCreateUser.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckCreateUser.js +44 -0
- package/dist/hooks/users/useWildduckCreateUser.js.map +1 -0
- package/dist/hooks/users/useWildduckDeleteUser.d.ts +13 -0
- package/dist/hooks/users/useWildduckDeleteUser.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckDeleteUser.js +44 -0
- package/dist/hooks/users/useWildduckDeleteUser.js.map +1 -0
- package/dist/hooks/users/useWildduckGetUser.d.ts +397 -0
- package/dist/hooks/users/useWildduckGetUser.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckGetUser.js +45 -0
- package/dist/hooks/users/useWildduckGetUser.js.map +1 -0
- package/dist/hooks/users/useWildduckUpdateUser.d.ts +13 -0
- package/dist/hooks/users/useWildduckUpdateUser.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUpdateUser.js +44 -0
- package/dist/hooks/users/useWildduckUpdateUser.js.map +1 -0
- package/dist/hooks/users/useWildduckUser2FA.d.ts +25 -0
- package/dist/hooks/users/useWildduckUser2FA.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUser2FA.js +70 -0
- package/dist/hooks/users/useWildduckUser2FA.js.map +1 -0
- package/dist/hooks/users/useWildduckUserEncryption.d.ts +40 -0
- package/dist/hooks/users/useWildduckUserEncryption.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserEncryption.js +94 -0
- package/dist/hooks/users/useWildduckUserEncryption.js.map +1 -0
- package/dist/hooks/users/useWildduckUserForwarding.d.ts +44 -0
- package/dist/hooks/users/useWildduckUserForwarding.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserForwarding.js +122 -0
- package/dist/hooks/users/useWildduckUserForwarding.js.map +1 -0
- package/dist/hooks/users/useWildduckUserLimits.d.ts +63 -0
- package/dist/hooks/users/useWildduckUserLimits.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserLimits.js +60 -0
- package/dist/hooks/users/useWildduckUserLimits.js.map +1 -0
- package/dist/hooks/users/useWildduckUserProfile.d.ts +78 -0
- package/dist/hooks/users/useWildduckUserProfile.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserProfile.js +139 -0
- package/dist/hooks/users/useWildduckUserProfile.js.map +1 -0
- package/dist/hooks/users/useWildduckUserQuota.d.ts +31 -0
- package/dist/hooks/users/useWildduckUserQuota.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserQuota.js +66 -0
- package/dist/hooks/users/useWildduckUserQuota.js.map +1 -0
- package/dist/hooks/users/useWildduckUserSpam.d.ts +54 -0
- package/dist/hooks/users/useWildduckUserSpam.d.ts.map +1 -0
- package/dist/hooks/users/useWildduckUserSpam.js +137 -0
- package/dist/hooks/users/useWildduckUserSpam.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/network/index.d.ts +2 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +2 -0
- package/dist/network/index.js.map +1 -0
- package/dist/network/wildduck-client.d.ts +54 -0
- package/dist/network/wildduck-client.d.ts.map +1 -0
- package/dist/network/wildduck-client.js +572 -0
- package/dist/network/wildduck-client.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/advanced-settings.d.ts +36 -0
- package/dist/utils/advanced-settings.d.ts.map +1 -0
- package/dist/utils/advanced-settings.js +99 -0
- package/dist/utils/advanced-settings.js.map +1 -0
- package/dist/utils/autoreply.d.ts +34 -0
- package/dist/utils/autoreply.d.ts.map +1 -0
- package/dist/utils/autoreply.js +39 -0
- package/dist/utils/autoreply.js.map +1 -0
- package/dist/utils/client.d.ts +4 -0
- package/dist/utils/client.d.ts.map +1 -0
- package/dist/utils/client.js +11 -0
- package/dist/utils/client.js.map +1 -0
- package/dist/utils/filters.d.ts +26 -0
- package/dist/utils/filters.d.ts.map +1 -0
- package/dist/utils/filters.js +50 -0
- package/dist/utils/filters.js.map +1 -0
- package/dist/utils/forwarding.d.ts +12 -0
- package/dist/utils/forwarding.d.ts.map +1 -0
- package/dist/utils/forwarding.js +29 -0
- package/dist/utils/forwarding.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/spam-settings.d.ts +21 -0
- package/dist/utils/spam-settings.d.ts.map +1 -0
- package/dist/utils/spam-settings.js +53 -0
- package/dist/utils/spam-settings.js.map +1 -0
- package/dist/utils/user-settings.d.ts +30 -0
- package/dist/utils/user-settings.d.ts.map +1 -0
- package/dist/utils/user-settings.js +21 -0
- package/dist/utils/user-settings.js.map +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getAdvancedSettings(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}`);
|
|
5
|
+
return {
|
|
6
|
+
success: response.data.success,
|
|
7
|
+
uploadSentMessages: response.data.uploadSentMessages,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export async function updateUploadSentMessages(config, userId, uploadSentMessages, sess, ip) {
|
|
11
|
+
const client = createWildduckClient(config);
|
|
12
|
+
const response = await client.put(`/users/${userId}`, {
|
|
13
|
+
uploadSentMessages,
|
|
14
|
+
sess,
|
|
15
|
+
ip,
|
|
16
|
+
});
|
|
17
|
+
return response.data;
|
|
18
|
+
}
|
|
19
|
+
export async function getSMTPRelay(config, userId) {
|
|
20
|
+
const client = createWildduckClient(config);
|
|
21
|
+
try {
|
|
22
|
+
const response = await client.get(`/users/${userId}`);
|
|
23
|
+
const mtaRelay = response.data.mtaRelay;
|
|
24
|
+
if (!mtaRelay) {
|
|
25
|
+
return { enabled: false };
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const url = new URL(mtaRelay);
|
|
29
|
+
const secure = url.protocol === "smtps:";
|
|
30
|
+
const port = url.port ? parseInt(url.port) : secure ? 465 : 587;
|
|
31
|
+
return {
|
|
32
|
+
enabled: true,
|
|
33
|
+
host: url.hostname,
|
|
34
|
+
port,
|
|
35
|
+
secure,
|
|
36
|
+
...(url.username && {
|
|
37
|
+
auth: {
|
|
38
|
+
user: decodeURIComponent(url.username),
|
|
39
|
+
pass: decodeURIComponent(url.password || ""),
|
|
40
|
+
},
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (parseError) {
|
|
45
|
+
console.error("Failed to parse mtaRelay URL:", mtaRelay, parseError);
|
|
46
|
+
return { enabled: false };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error("Failed to get SMTP relay settings:", error);
|
|
51
|
+
return { enabled: false };
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export async function updateSMTPRelay(config, userId, settings, sess, ip) {
|
|
55
|
+
const client = createWildduckClient(config);
|
|
56
|
+
let mtaRelay = undefined;
|
|
57
|
+
if (settings.enabled && settings.host && settings.port) {
|
|
58
|
+
const protocol = settings.secure ? "smtps" : "smtp";
|
|
59
|
+
const port = settings.port;
|
|
60
|
+
if (settings.auth && settings.auth.user) {
|
|
61
|
+
const user = encodeURIComponent(settings.auth.user);
|
|
62
|
+
const pass = encodeURIComponent(settings.auth.pass || "");
|
|
63
|
+
mtaRelay = `${protocol}://${user}:${pass}@${settings.host}:${port}`;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
mtaRelay = `${protocol}://${settings.host}:${port}`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
mtaRelay = "";
|
|
71
|
+
}
|
|
72
|
+
const response = await client.put(`/users/${userId}`, {
|
|
73
|
+
mtaRelay,
|
|
74
|
+
sess,
|
|
75
|
+
ip,
|
|
76
|
+
});
|
|
77
|
+
return response.data;
|
|
78
|
+
}
|
|
79
|
+
export async function enableSMTPRelay(config, userId, relay, sess, ip) {
|
|
80
|
+
return updateSMTPRelay(config, userId, {
|
|
81
|
+
enabled: true,
|
|
82
|
+
...relay,
|
|
83
|
+
}, sess, ip);
|
|
84
|
+
}
|
|
85
|
+
export async function disableSMTPRelay(config, userId, sess, ip) {
|
|
86
|
+
return updateSMTPRelay(config, userId, {
|
|
87
|
+
enabled: false,
|
|
88
|
+
}, sess, ip);
|
|
89
|
+
}
|
|
90
|
+
export async function deleteSMTPRelay(config, userId, sess, ip) {
|
|
91
|
+
const client = createWildduckClient(config);
|
|
92
|
+
const response = await client.put(`/users/${userId}`, {
|
|
93
|
+
mtaRelay: "",
|
|
94
|
+
sess,
|
|
95
|
+
ip,
|
|
96
|
+
});
|
|
97
|
+
return response.data;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=advanced-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-settings.js","sourceRoot":"","sources":["../../src/utils/advanced-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { AutoReplySettings, WildduckConfig } from "@sudobility/types";
|
|
2
|
+
export interface UpdateAutoReplyParams {
|
|
3
|
+
status?: boolean;
|
|
4
|
+
name?: string;
|
|
5
|
+
subject?: string;
|
|
6
|
+
text?: string;
|
|
7
|
+
html?: string;
|
|
8
|
+
start?: string;
|
|
9
|
+
end?: string;
|
|
10
|
+
sess?: string;
|
|
11
|
+
ip?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function getAutoReply(config: WildduckConfig, userId: string): Promise<AutoReplySettings>;
|
|
14
|
+
export declare function updateAutoReply(config: WildduckConfig, userId: string, params: UpdateAutoReplyParams): Promise<{
|
|
15
|
+
success: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function enableAutoReply(config: WildduckConfig, userId: string, message: {
|
|
18
|
+
subject: string;
|
|
19
|
+
text: string;
|
|
20
|
+
html?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
}, schedule?: {
|
|
23
|
+
start?: string;
|
|
24
|
+
end?: string;
|
|
25
|
+
}, sess?: string, ip?: string): Promise<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
export declare function disableAutoReply(config: WildduckConfig, userId: string, sess?: string, ip?: string): Promise<{
|
|
29
|
+
success: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
export declare function deleteAutoReply(config: WildduckConfig, userId: string, sess?: string, ip?: string): Promise<{
|
|
32
|
+
success: boolean;
|
|
33
|
+
}>;
|
|
34
|
+
//# sourceMappingURL=autoreply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoreply.d.ts","sourceRoot":"","sources":["../../src/utils/autoreply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAM3E,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAMD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CAI5B;AAaD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAI/B;AAMD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IACP,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,EACD,QAAQ,CAAC,EAAE;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAS/B;AAMD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAK/B;AAMD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAM/B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getAutoReply(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}/autoreply`);
|
|
5
|
+
return response.data;
|
|
6
|
+
}
|
|
7
|
+
export async function updateAutoReply(config, userId, params) {
|
|
8
|
+
const client = createWildduckClient(config);
|
|
9
|
+
const response = await client.put(`/users/${userId}/autoreply`, params);
|
|
10
|
+
return response.data;
|
|
11
|
+
}
|
|
12
|
+
export async function enableAutoReply(config, userId, message, schedule, sess, ip) {
|
|
13
|
+
const params = {
|
|
14
|
+
status: true,
|
|
15
|
+
...message,
|
|
16
|
+
...schedule,
|
|
17
|
+
};
|
|
18
|
+
if (sess)
|
|
19
|
+
params.sess = sess;
|
|
20
|
+
if (ip)
|
|
21
|
+
params.ip = ip;
|
|
22
|
+
return updateAutoReply(config, userId, params);
|
|
23
|
+
}
|
|
24
|
+
export async function disableAutoReply(config, userId, sess, ip) {
|
|
25
|
+
const params = { status: false };
|
|
26
|
+
if (sess)
|
|
27
|
+
params.sess = sess;
|
|
28
|
+
if (ip)
|
|
29
|
+
params.ip = ip;
|
|
30
|
+
return updateAutoReply(config, userId, params);
|
|
31
|
+
}
|
|
32
|
+
export async function deleteAutoReply(config, userId, sess, ip) {
|
|
33
|
+
const client = createWildduckClient(config);
|
|
34
|
+
const response = await client.delete(`/users/${userId}/autoreply`, {
|
|
35
|
+
data: { sess, ip },
|
|
36
|
+
});
|
|
37
|
+
return response.data;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=autoreply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoreply.js","sourceRoot":"","sources":["../../src/utils/autoreply.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAqBhD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,MAAc;IAEd,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,YAAY,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,MAAc,EACd,MAA6B;IAE7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,MAAc,EACd,OAKC,EACD,QAGC,EACD,IAAa,EACb,EAAW;IAEX,MAAM,MAAM,GAAQ;QAClB,MAAM,EAAE,IAAI;QACZ,GAAG,OAAO;QACV,GAAG,QAAQ;KACZ,CAAC;IACF,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAc,EACd,IAAa,EACb,EAAW;IAEX,MAAM,MAAM,GAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtC,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,MAAc,EACd,IAAa,EACb,EAAW;IAEX,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAM,UAAU,MAAM,YAAY,EAAE;QACtE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;KACZ,CAAC,CAAC;IACV,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,GACrB,UAAU,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,CAQjC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
export function createWildduckClient(config) {
|
|
3
|
+
return axios.create({
|
|
4
|
+
baseURL: config.backendUrl,
|
|
5
|
+
headers: {
|
|
6
|
+
Authorization: `Bearer ${config.apiToken}`,
|
|
7
|
+
"Content-Type": "application/json",
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,UAAU,oBAAoB,CAClC,MAAsB;IAEtB,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC,UAAU;QAC1B,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE;YAC1C,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Optional } from "@sudobility/types";
|
|
2
|
+
import type { EmailFilter, FilterAction, FilterQuery, FilterResponse, WildduckConfig } from "@sudobility/types";
|
|
3
|
+
export interface FilterParams {
|
|
4
|
+
name: string;
|
|
5
|
+
query: FilterQuery;
|
|
6
|
+
action: FilterAction;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
sess?: string;
|
|
9
|
+
ip?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function getFilters(config: WildduckConfig, userId: string): Promise<EmailFilter[]>;
|
|
12
|
+
export declare function getFilter(config: WildduckConfig, userId: string, filterId: string): Promise<Optional<EmailFilter>>;
|
|
13
|
+
export declare function createFilter(config: WildduckConfig, userId: string, params: FilterParams): Promise<FilterResponse>;
|
|
14
|
+
export declare function updateFilter(config: WildduckConfig, userId: string, filterId: string, params: Partial<FilterParams>): Promise<{
|
|
15
|
+
success: boolean;
|
|
16
|
+
}>;
|
|
17
|
+
export declare function deleteFilter(config: WildduckConfig, userId: string, filterId: string, sess?: string, ip?: string): Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function enableFilter(config: WildduckConfig, userId: string, filterId: string, sess?: string, ip?: string): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
export declare function disableFilter(config: WildduckConfig, userId: string, filterId: string, sess?: string, ip?: string): Promise<{
|
|
24
|
+
success: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/utils/filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAMD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC,CAIxB;AAMD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAUhC;AAMD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAIzB;AAMD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAO/B;AAMD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAS/B;AAMD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAK/B;AAMD,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAK/B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getFilters(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}/filters`);
|
|
5
|
+
return response.data.results || [];
|
|
6
|
+
}
|
|
7
|
+
export async function getFilter(config, userId, filterId) {
|
|
8
|
+
const client = createWildduckClient(config);
|
|
9
|
+
try {
|
|
10
|
+
const response = await client.get(`/users/${userId}/filters/${filterId}`);
|
|
11
|
+
return response.data;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export async function createFilter(config, userId, params) {
|
|
18
|
+
const client = createWildduckClient(config);
|
|
19
|
+
const response = await client.post(`/users/${userId}/filters`, params);
|
|
20
|
+
return response.data;
|
|
21
|
+
}
|
|
22
|
+
export async function updateFilter(config, userId, filterId, params) {
|
|
23
|
+
const client = createWildduckClient(config);
|
|
24
|
+
const response = await client.put(`/users/${userId}/filters/${filterId}`, params);
|
|
25
|
+
return response.data;
|
|
26
|
+
}
|
|
27
|
+
export async function deleteFilter(config, userId, filterId, sess, ip) {
|
|
28
|
+
const client = createWildduckClient(config);
|
|
29
|
+
const response = await client.delete(`/users/${userId}/filters/${filterId}`, {
|
|
30
|
+
data: { sess, ip },
|
|
31
|
+
});
|
|
32
|
+
return response.data;
|
|
33
|
+
}
|
|
34
|
+
export async function enableFilter(config, userId, filterId, sess, ip) {
|
|
35
|
+
const params = { disabled: false };
|
|
36
|
+
if (sess)
|
|
37
|
+
params.sess = sess;
|
|
38
|
+
if (ip)
|
|
39
|
+
params.ip = ip;
|
|
40
|
+
return updateFilter(config, userId, filterId, params);
|
|
41
|
+
}
|
|
42
|
+
export async function disableFilter(config, userId, filterId, sess, ip) {
|
|
43
|
+
const params = { disabled: true };
|
|
44
|
+
if (sess)
|
|
45
|
+
params.sess = sess;
|
|
46
|
+
if (ip)
|
|
47
|
+
params.ip = ip;
|
|
48
|
+
return updateFilter(config, userId, filterId, params);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/utils/filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ForwardingTarget, WildduckConfig } from "@sudobility/types";
|
|
2
|
+
export declare function getForwardingTargets(config: WildduckConfig, userId: string): Promise<ForwardingTarget[]>;
|
|
3
|
+
export declare function updateForwardingTargets(config: WildduckConfig, userId: string, targets: ForwardingTarget[], sess?: string, ip?: string): Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function addForwardingTarget(config: WildduckConfig, userId: string, target: ForwardingTarget, sess?: string, ip?: string): Promise<{
|
|
7
|
+
success: boolean;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function removeForwardingTarget(config: WildduckConfig, userId: string, target: ForwardingTarget, sess?: string, ip?: string): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=forwarding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forwarding.d.ts","sourceRoot":"","sources":["../../src/utils/forwarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAO1E,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAI7B;AAMD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B;AAMD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAU/B;AAMD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAI/B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getForwardingTargets(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}`);
|
|
5
|
+
return response.data.targets || [];
|
|
6
|
+
}
|
|
7
|
+
export async function updateForwardingTargets(config, userId, targets, sess, ip) {
|
|
8
|
+
const client = createWildduckClient(config);
|
|
9
|
+
const response = await client.put(`/users/${userId}`, {
|
|
10
|
+
targets,
|
|
11
|
+
sess,
|
|
12
|
+
ip,
|
|
13
|
+
});
|
|
14
|
+
return response.data;
|
|
15
|
+
}
|
|
16
|
+
export async function addForwardingTarget(config, userId, target, sess, ip) {
|
|
17
|
+
const currentTargets = await getForwardingTargets(config, userId);
|
|
18
|
+
if (currentTargets.includes(target)) {
|
|
19
|
+
return { success: true };
|
|
20
|
+
}
|
|
21
|
+
const updatedTargets = [...currentTargets, target];
|
|
22
|
+
return updateForwardingTargets(config, userId, updatedTargets, sess, ip);
|
|
23
|
+
}
|
|
24
|
+
export async function removeForwardingTarget(config, userId, target, sess, ip) {
|
|
25
|
+
const currentTargets = await getForwardingTargets(config, userId);
|
|
26
|
+
const updatedTargets = currentTargets.filter((t) => t !== target);
|
|
27
|
+
return updateForwardingTargets(config, userId, updatedTargets, sess, ip);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=forwarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forwarding.js","sourceRoot":"","sources":["../../src/utils/forwarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAc;IAEd,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AACrC,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAsB,EACtB,MAAc,EACd,OAA2B,EAC3B,IAAa,EACb,EAAW;IAEX,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,EAAE,EAAE;QACzD,OAAO;QACP,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAsB,EACtB,MAAc,EACd,MAAwB,EACxB,IAAa,EACb,EAAW;IAEX,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAGlE,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAsB,EACtB,MAAc,EACd,MAAwB,EACxB,IAAa,EACb,EAAW;IAEX,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;IAClE,OAAO,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { getUserInfo, updateUserName, updateUserSettings, } from "./user-settings";
|
|
2
|
+
export { getForwardingTargets, updateForwardingTargets, addForwardingTarget, removeForwardingTarget, } from "./forwarding";
|
|
3
|
+
export { getSpamSettings, updateSpamLevel, updateFromWhitelist, addToFromWhitelist, removeFromWhitelist, updateSpamSettings, } from "./spam-settings";
|
|
4
|
+
export { getAutoReply, updateAutoReply, enableAutoReply, disableAutoReply, deleteAutoReply, UpdateAutoReplyParams, } from "./autoreply";
|
|
5
|
+
export { getFilters, getFilter, createFilter, updateFilter, deleteFilter, enableFilter, disableFilter, FilterParams, } from "./filters";
|
|
6
|
+
export { getAdvancedSettings, updateUploadSentMessages, getSMTPRelay, updateSMTPRelay, enableSMTPRelay, disableSMTPRelay, deleteSMTPRelay, } from "./advanced-settings";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,GACb,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { getUserInfo, updateUserName, updateUserSettings, } from "./user-settings";
|
|
2
|
+
export { getForwardingTargets, updateForwardingTargets, addForwardingTarget, removeForwardingTarget, } from "./forwarding";
|
|
3
|
+
export { getSpamSettings, updateSpamLevel, updateFromWhitelist, addToFromWhitelist, removeFromWhitelist, updateSpamSettings, } from "./spam-settings";
|
|
4
|
+
export { getAutoReply, updateAutoReply, enableAutoReply, disableAutoReply, deleteAutoReply, } from "./autoreply";
|
|
5
|
+
export { getFilters, getFilter, createFilter, updateFilter, deleteFilter, enableFilter, disableFilter, } from "./filters";
|
|
6
|
+
export { getAdvancedSettings, updateUploadSentMessages, getSMTPRelay, updateSMTPRelay, enableSMTPRelay, disableSMTPRelay, deleteSMTPRelay, } from "./advanced-settings";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,GAEd,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SpamSettings, WildduckConfig } from "@sudobility/types";
|
|
2
|
+
export declare function getSpamSettings(config: WildduckConfig, userId: string): Promise<SpamSettings>;
|
|
3
|
+
export declare function updateSpamLevel(config: WildduckConfig, userId: string, spamLevel: number, sess?: string, ip?: string): Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function updateFromWhitelist(config: WildduckConfig, userId: string, fromWhitelist: string[], sess?: string, ip?: string): Promise<{
|
|
7
|
+
success: boolean;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function addToFromWhitelist(config: WildduckConfig, userId: string, emailOrDomain: string, sess?: string, ip?: string): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function removeFromWhitelist(config: WildduckConfig, userId: string, emailOrDomain: string, sess?: string, ip?: string): Promise<{
|
|
13
|
+
success: boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function updateSpamSettings(config: WildduckConfig, userId: string, settings: {
|
|
16
|
+
spamLevel?: number;
|
|
17
|
+
fromWhitelist?: string[];
|
|
18
|
+
}, sess?: string, ip?: string): Promise<{
|
|
19
|
+
success: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
//# sourceMappingURL=spam-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spam-settings.d.ts","sourceRoot":"","sources":["../../src/utils/spam-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOtE,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAQvB;AAOD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B;AAOD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EAAE,EACvB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B;AAMD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAW/B;AAMD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAO/B;AAMD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,EACD,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getSpamSettings(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}`);
|
|
5
|
+
return {
|
|
6
|
+
success: response.data.success,
|
|
7
|
+
spamLevel: response.data.spamLevel,
|
|
8
|
+
fromWhitelist: response.data.fromWhitelist || [],
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export async function updateSpamLevel(config, userId, spamLevel, sess, ip) {
|
|
12
|
+
const client = createWildduckClient(config);
|
|
13
|
+
const response = await client.put(`/users/${userId}`, {
|
|
14
|
+
spamLevel,
|
|
15
|
+
sess,
|
|
16
|
+
ip,
|
|
17
|
+
});
|
|
18
|
+
return response.data;
|
|
19
|
+
}
|
|
20
|
+
export async function updateFromWhitelist(config, userId, fromWhitelist, sess, ip) {
|
|
21
|
+
const client = createWildduckClient(config);
|
|
22
|
+
const response = await client.put(`/users/${userId}`, {
|
|
23
|
+
fromWhitelist,
|
|
24
|
+
sess,
|
|
25
|
+
ip,
|
|
26
|
+
});
|
|
27
|
+
return response.data;
|
|
28
|
+
}
|
|
29
|
+
export async function addToFromWhitelist(config, userId, emailOrDomain, sess, ip) {
|
|
30
|
+
const settings = await getSpamSettings(config, userId);
|
|
31
|
+
const currentWhitelist = settings.fromWhitelist || [];
|
|
32
|
+
if (currentWhitelist.includes(emailOrDomain)) {
|
|
33
|
+
return { success: true };
|
|
34
|
+
}
|
|
35
|
+
const updatedWhitelist = [...currentWhitelist, emailOrDomain];
|
|
36
|
+
return updateFromWhitelist(config, userId, updatedWhitelist, sess, ip);
|
|
37
|
+
}
|
|
38
|
+
export async function removeFromWhitelist(config, userId, emailOrDomain, sess, ip) {
|
|
39
|
+
const settings = await getSpamSettings(config, userId);
|
|
40
|
+
const currentWhitelist = settings.fromWhitelist || [];
|
|
41
|
+
const updatedWhitelist = currentWhitelist.filter((item) => item !== emailOrDomain);
|
|
42
|
+
return updateFromWhitelist(config, userId, updatedWhitelist, sess, ip);
|
|
43
|
+
}
|
|
44
|
+
export async function updateSpamSettings(config, userId, settings, sess, ip) {
|
|
45
|
+
const client = createWildduckClient(config);
|
|
46
|
+
const response = await client.put(`/users/${userId}`, {
|
|
47
|
+
...settings,
|
|
48
|
+
sess,
|
|
49
|
+
ip,
|
|
50
|
+
});
|
|
51
|
+
return response.data;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=spam-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spam-settings.js","sourceRoot":"","sources":["../../src/utils/spam-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { UserInfo, WildduckConfig } from "@sudobility/types";
|
|
2
|
+
export declare function getUserInfo(config: WildduckConfig, userId: string): Promise<UserInfo>;
|
|
3
|
+
export declare function updateUserName(config: WildduckConfig, userId: string, name: string, sess?: string, ip?: string): Promise<{
|
|
4
|
+
success: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function updateUserSettings(config: WildduckConfig, userId: string, settings: {
|
|
7
|
+
name?: string;
|
|
8
|
+
language?: string;
|
|
9
|
+
retention?: number;
|
|
10
|
+
quota?: number;
|
|
11
|
+
recipients?: number;
|
|
12
|
+
forwards?: number;
|
|
13
|
+
filters?: number;
|
|
14
|
+
imapMaxUpload?: number;
|
|
15
|
+
imapMaxDownload?: number;
|
|
16
|
+
pop3MaxDownload?: number;
|
|
17
|
+
pop3MaxMessages?: number;
|
|
18
|
+
imapMaxConnections?: number;
|
|
19
|
+
receivedMax?: number;
|
|
20
|
+
disable2fa?: boolean;
|
|
21
|
+
tags?: string[];
|
|
22
|
+
disabledScopes?: string[];
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
suspended?: boolean;
|
|
25
|
+
sess?: string;
|
|
26
|
+
ip?: string;
|
|
27
|
+
}): Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
//# sourceMappingURL=user-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings.d.ts","sourceRoot":"","sources":["../../src/utils/user-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOlE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC,CAInB;AAMD,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ/B;AAMD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GACA,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAI/B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createWildduckClient } from "./client";
|
|
2
|
+
export async function getUserInfo(config, userId) {
|
|
3
|
+
const client = createWildduckClient(config);
|
|
4
|
+
const response = await client.get(`/users/${userId}`);
|
|
5
|
+
return response.data;
|
|
6
|
+
}
|
|
7
|
+
export async function updateUserName(config, userId, name, sess, ip) {
|
|
8
|
+
const client = createWildduckClient(config);
|
|
9
|
+
const response = await client.put(`/users/${userId}`, {
|
|
10
|
+
name,
|
|
11
|
+
sess,
|
|
12
|
+
ip,
|
|
13
|
+
});
|
|
14
|
+
return response.data;
|
|
15
|
+
}
|
|
16
|
+
export async function updateUserSettings(config, userId, settings) {
|
|
17
|
+
const client = createWildduckClient(config);
|
|
18
|
+
const response = await client.put(`/users/${userId}`, settings);
|
|
19
|
+
return response.data;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=user-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings.js","sourceRoot":"","sources":["../../src/utils/user-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAsB,EACtB,MAAc;IAEd,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAW,UAAU,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAsB,EACtB,MAAc,EACd,IAAY,EACZ,IAAa,EACb,EAAW;IAEX,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,EAAE,EAAE;QACzD,IAAI;QACJ,IAAI;QACJ,EAAE;KACH,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAsB,EACtB,MAAc,EACd,QAqBC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAM,UAAU,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sudobility/wildduck_client",
|
|
3
|
+
"version": "0.0.14",
|
|
4
|
+
"description": "React and React Native compatible client library for WildDuck email API with TypeScript support",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/**/*"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc -p tsconfig.build.json",
|
|
13
|
+
"build:watch": "tsc --watch",
|
|
14
|
+
"clean": "rm -rf dist",
|
|
15
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
16
|
+
"test": "vitest",
|
|
17
|
+
"test:run": "vitest run",
|
|
18
|
+
"test:coverage": "vitest run --coverage",
|
|
19
|
+
"test:watch": "vitest --watch",
|
|
20
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
21
|
+
"test:integration:watch": "vitest --config vitest.integration.config.ts",
|
|
22
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
23
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix",
|
|
24
|
+
"format": "prettier --write src/**/*.ts",
|
|
25
|
+
"format:check": "prettier --check src/**/*.ts",
|
|
26
|
+
"typecheck": "tsc --noEmit",
|
|
27
|
+
"typecheck:watch": "tsc --noEmit --watch",
|
|
28
|
+
"check-all": "npm run lint && npm run typecheck && npm run test:run"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"wildduck",
|
|
32
|
+
"email",
|
|
33
|
+
"client",
|
|
34
|
+
"react",
|
|
35
|
+
"react-native",
|
|
36
|
+
"typescript",
|
|
37
|
+
"0xmail"
|
|
38
|
+
],
|
|
39
|
+
"author": "0xmail.box team",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"react": "^19.2.0",
|
|
43
|
+
"@tanstack/react-query": "^5.90.2",
|
|
44
|
+
"@sudobility/di": "^1.4.5",
|
|
45
|
+
"@sudobility/types": "^1.8.21",
|
|
46
|
+
"axios": "^1.12.2"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@sudobility/di": "^1.4.5",
|
|
50
|
+
"@sudobility/types": "^1.8.21",
|
|
51
|
+
"@tanstack/react-query": "^5.90.2",
|
|
52
|
+
"axios": "^1.12.2",
|
|
53
|
+
"@testing-library/react": "^16.3.0",
|
|
54
|
+
"@types/node": "^24.7.0",
|
|
55
|
+
"@types/react": "^19.2.2",
|
|
56
|
+
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
57
|
+
"@typescript-eslint/parser": "^8.46.0",
|
|
58
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
59
|
+
"eslint": "^9.37.0",
|
|
60
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
62
|
+
"eslint-plugin-react": "^7.37.5",
|
|
63
|
+
"eslint-plugin-react-hooks": "^6.1.1",
|
|
64
|
+
"happy-dom": "^19.0.2",
|
|
65
|
+
"prettier": "^3.6.2",
|
|
66
|
+
"typescript": "^5.9.3",
|
|
67
|
+
"viem": "^2.38.0",
|
|
68
|
+
"vite": "^7.1.9",
|
|
69
|
+
"vitest": "^3.2.4"
|
|
70
|
+
},
|
|
71
|
+
"repository": {
|
|
72
|
+
"type": "git",
|
|
73
|
+
"url": "https://github.com/0xmail/wildduck_client.git"
|
|
74
|
+
},
|
|
75
|
+
"bugs": {
|
|
76
|
+
"url": "https://github.com/0xmail/wildduck_client/issues"
|
|
77
|
+
},
|
|
78
|
+
"homepage": "https://github.com/0xmail/wildduck_client#readme",
|
|
79
|
+
"publishConfig": {
|
|
80
|
+
"access": "restricted"
|
|
81
|
+
}
|
|
82
|
+
}
|