@sudobility/wildduck_client 1.5.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/hooks/index.d.ts +5 -3
  2. package/dist/hooks/index.d.ts.map +1 -1
  3. package/dist/hooks/index.js +5 -3
  4. package/dist/hooks/index.js.map +1 -1
  5. package/dist/hooks/useWildduckMessage.d.ts +33 -0
  6. package/dist/hooks/useWildduckMessage.d.ts.map +1 -0
  7. package/dist/hooks/useWildduckMessage.js +299 -0
  8. package/dist/hooks/useWildduckMessage.js.map +1 -0
  9. package/dist/hooks/useWildduckMessages.d.ts +7 -1
  10. package/dist/hooks/useWildduckMessages.d.ts.map +1 -1
  11. package/dist/hooks/useWildduckMessages.js +59 -26
  12. package/dist/hooks/useWildduckMessages.js.map +1 -1
  13. package/dist/hooks/useWildduckSearch.d.ts +10 -0
  14. package/dist/hooks/useWildduckSearch.d.ts.map +1 -0
  15. package/dist/hooks/{messages/useWildduckSearchMessages.js → useWildduckSearch.js} +3 -3
  16. package/dist/hooks/useWildduckSearch.js.map +1 -0
  17. package/dist/hooks/useWildduckUser.d.ts +143 -0
  18. package/dist/hooks/useWildduckUser.d.ts.map +1 -0
  19. package/dist/hooks/useWildduckUser.js +353 -0
  20. package/dist/hooks/useWildduckUser.js.map +1 -0
  21. package/dist/hooks/useWildduckUsers.d.ts +5 -1
  22. package/dist/hooks/useWildduckUsers.d.ts.map +1 -1
  23. package/dist/hooks/useWildduckUsers.js +59 -3
  24. package/dist/hooks/useWildduckUsers.js.map +1 -1
  25. package/package.json +1 -1
  26. package/dist/hooks/addresses/index.d.ts +0 -2
  27. package/dist/hooks/addresses/index.d.ts.map +0 -1
  28. package/dist/hooks/addresses/index.js +0 -2
  29. package/dist/hooks/addresses/index.js.map +0 -1
  30. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts +0 -232
  31. package/dist/hooks/addresses/useWildduckGetAddresses.d.ts.map +0 -1
  32. package/dist/hooks/addresses/useWildduckGetAddresses.js +0 -36
  33. package/dist/hooks/addresses/useWildduckGetAddresses.js.map +0 -1
  34. package/dist/hooks/messages/index.d.ts +0 -12
  35. package/dist/hooks/messages/index.d.ts.map +0 -1
  36. package/dist/hooks/messages/index.js +0 -12
  37. package/dist/hooks/messages/index.js.map +0 -1
  38. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts +0 -13
  39. package/dist/hooks/messages/useWildduckDeleteMessage.d.ts.map +0 -1
  40. package/dist/hooks/messages/useWildduckDeleteMessage.js +0 -52
  41. package/dist/hooks/messages/useWildduckDeleteMessage.js.map +0 -1
  42. package/dist/hooks/messages/useWildduckForwardMessage.d.ts +0 -13
  43. package/dist/hooks/messages/useWildduckForwardMessage.d.ts.map +0 -1
  44. package/dist/hooks/messages/useWildduckForwardMessage.js +0 -51
  45. package/dist/hooks/messages/useWildduckForwardMessage.js.map +0 -1
  46. package/dist/hooks/messages/useWildduckGetMessage.d.ts +0 -654
  47. package/dist/hooks/messages/useWildduckGetMessage.d.ts.map +0 -1
  48. package/dist/hooks/messages/useWildduckGetMessage.js +0 -50
  49. package/dist/hooks/messages/useWildduckGetMessage.js.map +0 -1
  50. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts +0 -13
  51. package/dist/hooks/messages/useWildduckGetMessageAttachment.d.ts.map +0 -1
  52. package/dist/hooks/messages/useWildduckGetMessageAttachment.js +0 -51
  53. package/dist/hooks/messages/useWildduckGetMessageAttachment.js.map +0 -1
  54. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts +0 -12
  55. package/dist/hooks/messages/useWildduckGetMessageSource.d.ts.map +0 -1
  56. package/dist/hooks/messages/useWildduckGetMessageSource.js +0 -41
  57. package/dist/hooks/messages/useWildduckGetMessageSource.js.map +0 -1
  58. package/dist/hooks/messages/useWildduckGetMessages.d.ts +0 -11
  59. package/dist/hooks/messages/useWildduckGetMessages.d.ts.map +0 -1
  60. package/dist/hooks/messages/useWildduckGetMessages.js +0 -19
  61. package/dist/hooks/messages/useWildduckGetMessages.js.map +0 -1
  62. package/dist/hooks/messages/useWildduckSearchMessages.d.ts +0 -10
  63. package/dist/hooks/messages/useWildduckSearchMessages.d.ts.map +0 -1
  64. package/dist/hooks/messages/useWildduckSearchMessages.js.map +0 -1
  65. package/dist/hooks/messages/useWildduckSendMessage.d.ts +0 -13
  66. package/dist/hooks/messages/useWildduckSendMessage.d.ts.map +0 -1
  67. package/dist/hooks/messages/useWildduckSendMessage.js +0 -48
  68. package/dist/hooks/messages/useWildduckSendMessage.js.map +0 -1
  69. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts +0 -13
  70. package/dist/hooks/messages/useWildduckSubmitDraft.d.ts.map +0 -1
  71. package/dist/hooks/messages/useWildduckSubmitDraft.js +0 -48
  72. package/dist/hooks/messages/useWildduckSubmitDraft.js.map +0 -1
  73. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts +0 -13
  74. package/dist/hooks/messages/useWildduckUpdateMessage.d.ts.map +0 -1
  75. package/dist/hooks/messages/useWildduckUpdateMessage.js +0 -53
  76. package/dist/hooks/messages/useWildduckUpdateMessage.js.map +0 -1
  77. package/dist/hooks/messages/useWildduckUploadMessage.d.ts +0 -13
  78. package/dist/hooks/messages/useWildduckUploadMessage.d.ts.map +0 -1
  79. package/dist/hooks/messages/useWildduckUploadMessage.js +0 -55
  80. package/dist/hooks/messages/useWildduckUploadMessage.js.map +0 -1
  81. package/dist/hooks/users/index.d.ts +0 -12
  82. package/dist/hooks/users/index.d.ts.map +0 -1
  83. package/dist/hooks/users/index.js +0 -12
  84. package/dist/hooks/users/index.js.map +0 -1
  85. package/dist/hooks/users/useWildduckCreateUser.d.ts +0 -13
  86. package/dist/hooks/users/useWildduckCreateUser.d.ts.map +0 -1
  87. package/dist/hooks/users/useWildduckCreateUser.js +0 -47
  88. package/dist/hooks/users/useWildduckCreateUser.js.map +0 -1
  89. package/dist/hooks/users/useWildduckDeleteUser.d.ts +0 -13
  90. package/dist/hooks/users/useWildduckDeleteUser.d.ts.map +0 -1
  91. package/dist/hooks/users/useWildduckDeleteUser.js +0 -44
  92. package/dist/hooks/users/useWildduckDeleteUser.js.map +0 -1
  93. package/dist/hooks/users/useWildduckGetUser.d.ts +0 -397
  94. package/dist/hooks/users/useWildduckGetUser.d.ts.map +0 -1
  95. package/dist/hooks/users/useWildduckGetUser.js +0 -47
  96. package/dist/hooks/users/useWildduckGetUser.js.map +0 -1
  97. package/dist/hooks/users/useWildduckUpdateUser.d.ts +0 -13
  98. package/dist/hooks/users/useWildduckUpdateUser.d.ts.map +0 -1
  99. package/dist/hooks/users/useWildduckUpdateUser.js +0 -44
  100. package/dist/hooks/users/useWildduckUpdateUser.js.map +0 -1
  101. package/dist/hooks/users/useWildduckUser2FA.d.ts +0 -25
  102. package/dist/hooks/users/useWildduckUser2FA.d.ts.map +0 -1
  103. package/dist/hooks/users/useWildduckUser2FA.js +0 -72
  104. package/dist/hooks/users/useWildduckUser2FA.js.map +0 -1
  105. package/dist/hooks/users/useWildduckUserEncryption.d.ts +0 -40
  106. package/dist/hooks/users/useWildduckUserEncryption.d.ts.map +0 -1
  107. package/dist/hooks/users/useWildduckUserEncryption.js +0 -98
  108. package/dist/hooks/users/useWildduckUserEncryption.js.map +0 -1
  109. package/dist/hooks/users/useWildduckUserForwarding.d.ts +0 -44
  110. package/dist/hooks/users/useWildduckUserForwarding.d.ts.map +0 -1
  111. package/dist/hooks/users/useWildduckUserForwarding.js +0 -126
  112. package/dist/hooks/users/useWildduckUserForwarding.js.map +0 -1
  113. package/dist/hooks/users/useWildduckUserLimits.d.ts +0 -63
  114. package/dist/hooks/users/useWildduckUserLimits.d.ts.map +0 -1
  115. package/dist/hooks/users/useWildduckUserLimits.js +0 -62
  116. package/dist/hooks/users/useWildduckUserLimits.js.map +0 -1
  117. package/dist/hooks/users/useWildduckUserProfile.d.ts +0 -78
  118. package/dist/hooks/users/useWildduckUserProfile.d.ts.map +0 -1
  119. package/dist/hooks/users/useWildduckUserProfile.js +0 -141
  120. package/dist/hooks/users/useWildduckUserProfile.js.map +0 -1
  121. package/dist/hooks/users/useWildduckUserQuota.d.ts +0 -31
  122. package/dist/hooks/users/useWildduckUserQuota.d.ts.map +0 -1
  123. package/dist/hooks/users/useWildduckUserQuota.js +0 -69
  124. package/dist/hooks/users/useWildduckUserQuota.js.map +0 -1
  125. package/dist/hooks/users/useWildduckUserSpam.d.ts +0 -54
  126. package/dist/hooks/users/useWildduckUserSpam.d.ts.map +0 -1
  127. package/dist/hooks/users/useWildduckUserSpam.js +0 -146
  128. package/dist/hooks/users/useWildduckUserSpam.js.map +0 -1
@@ -1,72 +0,0 @@
1
- import { useCallback, useMemo } from "react";
2
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
- export const useWildduckUser2FA = (api, wildduckUserAuth) => {
4
- const queryClient = useQueryClient();
5
- const userId = wildduckUserAuth?.userId;
6
- const twoFAQueryFn = useCallback(async () => {
7
- if (!wildduckUserAuth) {
8
- console.error("User auth is required");
9
- return undefined;
10
- }
11
- const user = (await api.getUser(wildduckUserAuth));
12
- return {
13
- enabled2fa: user.enabled2fa || [],
14
- };
15
- }, [wildduckUserAuth, api]);
16
- const twoFAQuery = useQuery({
17
- queryKey: ["user", userId, "2fa"],
18
- queryFn: twoFAQueryFn,
19
- enabled: !!wildduckUserAuth,
20
- });
21
- const disable2FA = useMutation({
22
- mutationFn: async ({ wildduckUserAuth }) => {
23
- return await api.updateUser(wildduckUserAuth, { disable2fa: true });
24
- },
25
- onSuccess: (_, variables) => {
26
- queryClient.invalidateQueries({
27
- queryKey: ["user", variables.wildduckUserAuth.userId],
28
- });
29
- queryClient.invalidateQueries({
30
- queryKey: ["user", variables.wildduckUserAuth.userId, "2fa"],
31
- });
32
- },
33
- });
34
- const isEnabled = (twoFAQuery.data?.enabled2fa?.length ?? 0) > 0;
35
- const hasMethod = useCallback((method) => {
36
- return twoFAQuery.data?.enabled2fa?.includes(method) ?? false;
37
- }, [twoFAQuery.data?.enabled2fa]);
38
- const hasTOTP = hasMethod("totp");
39
- const hasU2F = hasMethod("u2f");
40
- const hasWebAuthn = hasMethod("webauthn");
41
- return useMemo(() => ({
42
- twoFA: twoFAQuery.data,
43
- enabled2fa: twoFAQuery.data?.enabled2fa || [],
44
- isEnabled,
45
- isLoading: twoFAQuery.isLoading,
46
- isError: twoFAQuery.isError,
47
- error: twoFAQuery.error,
48
- hasMethod,
49
- hasTOTP,
50
- hasU2F,
51
- hasWebAuthn,
52
- disable2FA: disable2FA.mutate,
53
- disable2FAAsync: disable2FA.mutateAsync,
54
- isDisabling: disable2FA.isPending,
55
- disableError: disable2FA.error,
56
- }), [
57
- twoFAQuery.data,
58
- isEnabled,
59
- twoFAQuery.isLoading,
60
- twoFAQuery.isError,
61
- twoFAQuery.error,
62
- hasMethod,
63
- hasTOTP,
64
- hasU2F,
65
- hasWebAuthn,
66
- disable2FA.mutate,
67
- disable2FA.mutateAsync,
68
- disable2FA.isPending,
69
- disable2FA.error,
70
- ]);
71
- };
72
- //# sourceMappingURL=useWildduckUser2FA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUser2FA.js","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUser2FA.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import type { WildduckClient } from "../../network/wildduck-client";
2
- import type { WildduckKeyInfo, WildduckUserAuth } from "@sudobility/types";
3
- export interface EncryptionSettings {
4
- encryptMessages: boolean;
5
- encryptForwarded: boolean;
6
- pubKey: string;
7
- keyInfo?: WildduckKeyInfo;
8
- }
9
- export interface UpdateEncryptionParams {
10
- wildduckUserAuth: WildduckUserAuth;
11
- encryptMessages?: boolean;
12
- encryptForwarded?: boolean;
13
- pubKey?: string;
14
- }
15
- export declare const useWildduckUserEncryption: (api: WildduckClient, wildduckUserAuth?: WildduckUserAuth) => {
16
- encryption: EncryptionSettings | undefined;
17
- isLoading: boolean;
18
- isError: boolean;
19
- error: Error | null;
20
- encryptMessages: boolean | undefined;
21
- encryptForwarded: boolean | undefined;
22
- pubKey: string | undefined;
23
- keyInfo: WildduckKeyInfo | undefined;
24
- updateEncryption: import("@tanstack/react-query").UseMutateFunction<import("@sudobility/types").WildduckSuccessResponse, Error, UpdateEncryptionParams, unknown>;
25
- updateEncryptionAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@sudobility/types").WildduckSuccessResponse, Error, UpdateEncryptionParams, unknown>;
26
- isUpdating: boolean;
27
- updatePubKey: import("@tanstack/react-query").UseMutateFunction<import("@sudobility/types").WildduckSuccessResponse, Error, {
28
- wildduckUserAuth: WildduckUserAuth;
29
- pubKey: string;
30
- }, unknown>;
31
- updatePubKeyAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@sudobility/types").WildduckSuccessResponse, Error, {
32
- wildduckUserAuth: WildduckUserAuth;
33
- pubKey: string;
34
- }, unknown>;
35
- isUpdatingKey: boolean;
36
- removePubKey: import("@tanstack/react-query").UseMutateFunction<import("@sudobility/types").WildduckSuccessResponse, Error, WildduckUserAuth, unknown>;
37
- removePubKeyAsync: import("@tanstack/react-query").UseMutateAsyncFunction<import("@sudobility/types").WildduckSuccessResponse, Error, WildduckUserAuth, unknown>;
38
- isRemovingKey: boolean;
39
- };
40
- //# sourceMappingURL=useWildduckUserEncryption.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserEncryption.d.ts","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserEncryption.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,yBAAyB,GACpC,KAAK,cAAc,EACnB,mBAAmB,gBAAgB;;;;;;;;;;;;;0BAoDb,gBAAgB;gBAC1B,MAAM;;;0BADI,gBAAgB;gBAC1B,MAAM;;;;;;CAwEnB,CAAC"}
@@ -1,98 +0,0 @@
1
- import { useCallback, useMemo } from "react";
2
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
3
- export const useWildduckUserEncryption = (api, wildduckUserAuth) => {
4
- const queryClient = useQueryClient();
5
- const userId = wildduckUserAuth?.userId;
6
- const encryptionQueryFn = useCallback(async () => {
7
- if (!wildduckUserAuth) {
8
- console.error("User auth is required");
9
- return undefined;
10
- }
11
- const user = (await api.getUser(wildduckUserAuth));
12
- return {
13
- encryptMessages: user.encryptMessages,
14
- encryptForwarded: user.encryptForwarded,
15
- pubKey: user.pubKey,
16
- keyInfo: user.keyInfo,
17
- };
18
- }, [wildduckUserAuth, api]);
19
- const encryptionQuery = useQuery({
20
- queryKey: ["user", userId, "encryption"],
21
- queryFn: encryptionQueryFn,
22
- enabled: !!wildduckUserAuth,
23
- });
24
- const updateEncryption = useMutation({
25
- mutationFn: async (params) => {
26
- const { wildduckUserAuth, ...settings } = params;
27
- return await api.updateUser(wildduckUserAuth, settings);
28
- },
29
- onSuccess: (_, variables) => {
30
- queryClient.invalidateQueries({
31
- queryKey: ["user", variables.wildduckUserAuth.userId],
32
- });
33
- queryClient.invalidateQueries({
34
- queryKey: ["user", variables.wildduckUserAuth.userId, "encryption"],
35
- });
36
- },
37
- });
38
- const updatePubKey = useMutation({
39
- mutationFn: async ({ wildduckUserAuth, pubKey, }) => {
40
- return await api.updateUser(wildduckUserAuth, { pubKey });
41
- },
42
- onSuccess: (_, variables) => {
43
- queryClient.invalidateQueries({
44
- queryKey: ["user", variables.wildduckUserAuth.userId],
45
- });
46
- queryClient.invalidateQueries({
47
- queryKey: ["user", variables.wildduckUserAuth.userId, "encryption"],
48
- });
49
- },
50
- });
51
- const removePubKey = useMutation({
52
- mutationFn: async (wildduckUserAuth) => {
53
- return await api.updateUser(wildduckUserAuth, { pubKey: "" });
54
- },
55
- onSuccess: (_, wildduckUserAuth) => {
56
- queryClient.invalidateQueries({
57
- queryKey: ["user", wildduckUserAuth.userId],
58
- });
59
- queryClient.invalidateQueries({
60
- queryKey: ["user", userId, "encryption"],
61
- });
62
- },
63
- });
64
- return useMemo(() => ({
65
- encryption: encryptionQuery.data,
66
- isLoading: encryptionQuery.isLoading,
67
- isError: encryptionQuery.isError,
68
- error: encryptionQuery.error,
69
- encryptMessages: encryptionQuery.data?.encryptMessages,
70
- encryptForwarded: encryptionQuery.data?.encryptForwarded,
71
- pubKey: encryptionQuery.data?.pubKey,
72
- keyInfo: encryptionQuery.data?.keyInfo,
73
- updateEncryption: updateEncryption.mutate,
74
- updateEncryptionAsync: updateEncryption.mutateAsync,
75
- isUpdating: updateEncryption.isPending,
76
- updatePubKey: updatePubKey.mutate,
77
- updatePubKeyAsync: updatePubKey.mutateAsync,
78
- isUpdatingKey: updatePubKey.isPending,
79
- removePubKey: removePubKey.mutate,
80
- removePubKeyAsync: removePubKey.mutateAsync,
81
- isRemovingKey: removePubKey.isPending,
82
- }), [
83
- encryptionQuery.data,
84
- encryptionQuery.isLoading,
85
- encryptionQuery.isError,
86
- encryptionQuery.error,
87
- updateEncryption.mutate,
88
- updateEncryption.mutateAsync,
89
- updateEncryption.isPending,
90
- updatePubKey.mutate,
91
- updatePubKey.mutateAsync,
92
- updatePubKey.isPending,
93
- removePubKey.mutate,
94
- removePubKey.mutateAsync,
95
- removePubKey.isPending,
96
- ]);
97
- };
98
- //# sourceMappingURL=useWildduckUserEncryption.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserEncryption.js","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserEncryption.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- import type { WildduckClient } from "../../network/wildduck-client";
2
- import type { WildduckUserAuth } from "@sudobility/types";
3
- export interface ForwardingSettings {
4
- targets: string[];
5
- mtaRelay?: string | undefined;
6
- }
7
- export interface UpdateForwardingParams {
8
- wildduckUserAuth: WildduckUserAuth;
9
- targets?: string[];
10
- mtaRelay?: string;
11
- }
12
- export declare const useWildduckUserForwarding: (api: WildduckClient, wildduckUserAuth?: WildduckUserAuth) => {
13
- forwarding: ForwardingSettings | undefined;
14
- targets: string[];
15
- mtaRelay: string | undefined;
16
- isLoading: boolean;
17
- isError: boolean;
18
- error: Error | null;
19
- updateForwarding: (params: UpdateForwardingParams) => void;
20
- updateForwardingAsync: (params: UpdateForwardingParams) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
21
- isUpdating: boolean;
22
- addTarget: (params: {
23
- wildduckUserAuth: WildduckUserAuth;
24
- target: string;
25
- }) => void;
26
- addTargetAsync: (params: {
27
- wildduckUserAuth: WildduckUserAuth;
28
- target: string;
29
- }) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
30
- isAddingTarget: boolean;
31
- removeTarget: (params: {
32
- wildduckUserAuth: WildduckUserAuth;
33
- target: string;
34
- }) => void;
35
- removeTargetAsync: (params: {
36
- wildduckUserAuth: WildduckUserAuth;
37
- target: string;
38
- }) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
39
- isRemovingTarget: boolean;
40
- clearTargets: (wildduckUserAuth: WildduckUserAuth) => void;
41
- clearTargetsAsync: (wildduckUserAuth: WildduckUserAuth) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
42
- isClearingTargets: boolean;
43
- };
44
- //# sourceMappingURL=useWildduckUserForwarding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserForwarding.d.ts","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserForwarding.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,eAAO,MAAM,yBAAyB,GACpC,KAAK,cAAc,EACnB,mBAAmB,gBAAgB;;;;;;;+BA8GxB,sBAAsB;oCAKhB,sBAAsB;;wBAM5B;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;6BAMhD;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;2BAM5D;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;gCAMhD;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;;qCAMlD,gBAAgB;0CAMV,gBAAgB;;CAmD5C,CAAC"}
@@ -1,126 +0,0 @@
1
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
2
- import { useCallback, useMemo } from "react";
3
- export const useWildduckUserForwarding = (api, wildduckUserAuth) => {
4
- const queryClient = useQueryClient();
5
- const userId = wildduckUserAuth?.userId;
6
- const forwardingQuery = useQuery({
7
- queryKey: ["user", userId, "forwarding"],
8
- queryFn: async () => {
9
- if (!wildduckUserAuth) {
10
- console.error("User auth is required");
11
- return undefined;
12
- }
13
- const user = (await api.getUser(wildduckUserAuth));
14
- return {
15
- targets: user.targets || [],
16
- mtaRelay: user.mtaRelay,
17
- };
18
- },
19
- enabled: !!wildduckUserAuth,
20
- });
21
- const updateForwarding = useMutation({
22
- mutationFn: async (params) => {
23
- const { wildduckUserAuth, ...settings } = params;
24
- return await api.updateUser(wildduckUserAuth, settings);
25
- },
26
- onSuccess: (_, variables) => {
27
- queryClient.invalidateQueries({
28
- queryKey: ["user", variables.wildduckUserAuth.userId],
29
- });
30
- queryClient.invalidateQueries({
31
- queryKey: ["user", variables.wildduckUserAuth.userId, "forwarding"],
32
- });
33
- },
34
- });
35
- const addTarget = useMutation({
36
- mutationFn: async ({ wildduckUserAuth, target, }) => {
37
- const user = (await api.getUser(wildduckUserAuth));
38
- const currentTargets = user.targets || [];
39
- const newTargets = [...currentTargets, target];
40
- return await api.updateUser(wildduckUserAuth, { targets: newTargets });
41
- },
42
- onSuccess: (_, variables) => {
43
- queryClient.invalidateQueries({
44
- queryKey: ["user", variables.wildduckUserAuth.userId],
45
- });
46
- queryClient.invalidateQueries({
47
- queryKey: ["user", variables.wildduckUserAuth.userId, "forwarding"],
48
- });
49
- },
50
- });
51
- const removeTarget = useMutation({
52
- mutationFn: async ({ wildduckUserAuth, target, }) => {
53
- const user = (await api.getUser(wildduckUserAuth));
54
- const currentTargets = user.targets || [];
55
- const newTargets = currentTargets.filter((t) => t !== target);
56
- return await api.updateUser(wildduckUserAuth, { targets: newTargets });
57
- },
58
- onSuccess: (_, variables) => {
59
- queryClient.invalidateQueries({
60
- queryKey: ["user", variables.wildduckUserAuth.userId],
61
- });
62
- queryClient.invalidateQueries({
63
- queryKey: ["user", variables.wildduckUserAuth.userId, "forwarding"],
64
- });
65
- },
66
- });
67
- const clearTargets = useMutation({
68
- mutationFn: async (wildduckUserAuth) => {
69
- return await api.updateUser(wildduckUserAuth, { targets: [] });
70
- },
71
- onSuccess: (_, wildduckUserAuth) => {
72
- queryClient.invalidateQueries({
73
- queryKey: ["user", wildduckUserAuth.userId],
74
- });
75
- queryClient.invalidateQueries({
76
- queryKey: ["user", wildduckUserAuth.userId, "forwarding"],
77
- });
78
- },
79
- });
80
- const handleUpdateForwarding = useCallback((params) => updateForwarding.mutate(params), [updateForwarding]);
81
- const handleUpdateForwardingAsync = useCallback(async (params) => updateForwarding.mutateAsync(params), [updateForwarding]);
82
- const handleAddTarget = useCallback((params) => addTarget.mutate(params), [addTarget]);
83
- const handleAddTargetAsync = useCallback(async (params) => addTarget.mutateAsync(params), [addTarget]);
84
- const handleRemoveTarget = useCallback((params) => removeTarget.mutate(params), [removeTarget]);
85
- const handleRemoveTargetAsync = useCallback(async (params) => removeTarget.mutateAsync(params), [removeTarget]);
86
- const handleClearTargets = useCallback((wildduckUserAuth) => clearTargets.mutate(wildduckUserAuth), [clearTargets]);
87
- const handleClearTargetsAsync = useCallback(async (wildduckUserAuth) => clearTargets.mutateAsync(wildduckUserAuth), [clearTargets]);
88
- return useMemo(() => ({
89
- forwarding: forwardingQuery.data,
90
- targets: forwardingQuery.data?.targets || [],
91
- mtaRelay: forwardingQuery.data?.mtaRelay,
92
- isLoading: forwardingQuery.isLoading,
93
- isError: forwardingQuery.isError,
94
- error: forwardingQuery.error,
95
- updateForwarding: handleUpdateForwarding,
96
- updateForwardingAsync: handleUpdateForwardingAsync,
97
- isUpdating: updateForwarding.isPending,
98
- addTarget: handleAddTarget,
99
- addTargetAsync: handleAddTargetAsync,
100
- isAddingTarget: addTarget.isPending,
101
- removeTarget: handleRemoveTarget,
102
- removeTargetAsync: handleRemoveTargetAsync,
103
- isRemovingTarget: removeTarget.isPending,
104
- clearTargets: handleClearTargets,
105
- clearTargetsAsync: handleClearTargetsAsync,
106
- isClearingTargets: clearTargets.isPending,
107
- }), [
108
- forwardingQuery.data,
109
- forwardingQuery.isLoading,
110
- forwardingQuery.isError,
111
- forwardingQuery.error,
112
- handleUpdateForwarding,
113
- handleUpdateForwardingAsync,
114
- updateForwarding.isPending,
115
- handleAddTarget,
116
- handleAddTargetAsync,
117
- addTarget.isPending,
118
- handleRemoveTarget,
119
- handleRemoveTargetAsync,
120
- removeTarget.isPending,
121
- handleClearTargets,
122
- handleClearTargetsAsync,
123
- clearTargets.isPending,
124
- ]);
125
- };
126
- //# sourceMappingURL=useWildduckUserForwarding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserForwarding.js","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserForwarding.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import type { WildduckClient } from "../../network/wildduck-client";
2
- import type { WildduckLimits, WildduckUserAuth } from "@sudobility/types";
3
- export interface UpdateWildduckLimitsParams {
4
- wildduckUserAuth: WildduckUserAuth;
5
- recipients?: number;
6
- forwards?: number;
7
- filters?: number;
8
- imapMaxUpload?: number;
9
- imapMaxDownload?: number;
10
- pop3MaxDownload?: number;
11
- pop3MaxMessages?: number;
12
- imapMaxConnections?: number;
13
- receivedMax?: number;
14
- }
15
- export declare const useWildduckUserLimits: (api: WildduckClient, wildduckUserAuth?: WildduckUserAuth) => {
16
- limits: WildduckLimits | undefined;
17
- isLoading: boolean;
18
- isError: boolean;
19
- error: Error | null;
20
- quota: {
21
- allowed: number;
22
- used: number;
23
- } | undefined;
24
- recipients: {
25
- allowed: number;
26
- used: number;
27
- ttl: number;
28
- } | undefined;
29
- forwards: {
30
- allowed: number;
31
- used: number;
32
- ttl: number;
33
- } | undefined;
34
- received: {
35
- allowed: number;
36
- used: number;
37
- ttl: number;
38
- } | undefined;
39
- imapUpload: {
40
- allowed: number;
41
- used: number;
42
- ttl: number;
43
- } | undefined;
44
- imapDownload: {
45
- allowed: number;
46
- used: number;
47
- ttl: number;
48
- } | undefined;
49
- pop3Download: {
50
- allowed: number;
51
- used: number;
52
- ttl: number;
53
- } | undefined;
54
- imapMaxConnections: {
55
- allowed: number;
56
- used: number;
57
- } | undefined;
58
- updateLimits: (params: UpdateWildduckLimitsParams) => void;
59
- updateLimitsAsync: (params: UpdateWildduckLimitsParams) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
60
- isUpdating: boolean;
61
- updateError: Error | null;
62
- };
63
- //# sourceMappingURL=useWildduckUserLimits.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserLimits.d.ts","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserLimits.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,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;CACtB;AAMD,eAAO,MAAM,qBAAqB,GAChC,KAAK,cAAc,EACnB,mBAAmB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAsCxB,0BAA0B;gCAKpB,0BAA0B;;;CAwC5C,CAAC"}
@@ -1,62 +0,0 @@
1
- import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
2
- import { useCallback, useMemo } from "react";
3
- export const useWildduckUserLimits = (api, wildduckUserAuth) => {
4
- const queryClient = useQueryClient();
5
- const userId = wildduckUserAuth?.userId;
6
- const limitsQuery = useQuery({
7
- queryKey: ["user", userId, "limits"],
8
- queryFn: async () => {
9
- if (!wildduckUserAuth) {
10
- console.error("User auth is required");
11
- return undefined;
12
- }
13
- const user = (await api.getUser(wildduckUserAuth));
14
- return user.limits;
15
- },
16
- enabled: !!wildduckUserAuth,
17
- });
18
- const updateLimits = useMutation({
19
- mutationFn: async (params) => {
20
- const { wildduckUserAuth, ...limits } = params;
21
- return await api.updateUser(wildduckUserAuth, limits);
22
- },
23
- onSuccess: (_, variables) => {
24
- queryClient.invalidateQueries({
25
- queryKey: ["user", variables.wildduckUserAuth.userId],
26
- });
27
- queryClient.invalidateQueries({
28
- queryKey: ["user", variables.wildduckUserAuth.userId, "limits"],
29
- });
30
- },
31
- });
32
- const handleUpdateLimits = useCallback((params) => updateLimits.mutate(params), [updateLimits]);
33
- const handleUpdateLimitsAsync = useCallback(async (params) => updateLimits.mutateAsync(params), [updateLimits]);
34
- return useMemo(() => ({
35
- limits: limitsQuery.data,
36
- isLoading: limitsQuery.isLoading,
37
- isError: limitsQuery.isError,
38
- error: limitsQuery.error,
39
- quota: limitsQuery.data?.quota,
40
- recipients: limitsQuery.data?.recipients,
41
- forwards: limitsQuery.data?.forwards,
42
- received: limitsQuery.data?.received,
43
- imapUpload: limitsQuery.data?.imapUpload,
44
- imapDownload: limitsQuery.data?.imapDownload,
45
- pop3Download: limitsQuery.data?.pop3Download,
46
- imapMaxConnections: limitsQuery.data?.imapMaxConnections,
47
- updateLimits: handleUpdateLimits,
48
- updateLimitsAsync: handleUpdateLimitsAsync,
49
- isUpdating: updateLimits.isPending,
50
- updateError: updateLimits.error,
51
- }), [
52
- limitsQuery.data,
53
- limitsQuery.isLoading,
54
- limitsQuery.isError,
55
- limitsQuery.error,
56
- handleUpdateLimits,
57
- handleUpdateLimitsAsync,
58
- updateLimits.isPending,
59
- updateLimits.error,
60
- ]);
61
- };
62
- //# sourceMappingURL=useWildduckUserLimits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserLimits.js","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserLimits.ts"],"names":[],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- import type { WildduckClient } from "../../network/wildduck-client";
2
- import type { WildduckUserAuth } from "@sudobility/types";
3
- export interface UserProfile {
4
- username: string;
5
- name: string;
6
- address: string;
7
- language?: string | undefined;
8
- retention?: number | undefined;
9
- uploadSentMessages?: boolean | undefined;
10
- tags: string[];
11
- metaData?: Record<string, unknown> | undefined;
12
- disabled: boolean;
13
- suspended: boolean;
14
- activated: boolean;
15
- hasPasswordSet: boolean;
16
- disabledScopes: string[];
17
- }
18
- export interface UpdateProfileParams {
19
- wildduckUserAuth: WildduckUserAuth;
20
- name?: string;
21
- language?: string;
22
- retention?: number;
23
- uploadSentMessages?: boolean;
24
- tags?: string[];
25
- metaData?: Record<string, unknown> | string;
26
- disabled?: boolean;
27
- suspended?: boolean;
28
- disabledScopes?: string[];
29
- }
30
- export interface UpdatePasswordParams {
31
- wildduckUserAuth: WildduckUserAuth;
32
- existingPassword?: string;
33
- password: string;
34
- hashedPassword?: boolean;
35
- allowUnsafe?: boolean;
36
- }
37
- export declare const useWildduckUserProfile: (api: WildduckClient, wildduckUserAuth?: WildduckUserAuth) => {
38
- profile: UserProfile | undefined;
39
- isLoading: boolean;
40
- isError: boolean;
41
- error: Error | null;
42
- username: string | undefined;
43
- name: string | undefined;
44
- address: string | undefined;
45
- language: string | undefined;
46
- tags: string[];
47
- disabled: boolean | undefined;
48
- suspended: boolean | undefined;
49
- activated: boolean | undefined;
50
- hasPasswordSet: boolean | undefined;
51
- updateProfile: (params: UpdateProfileParams) => void;
52
- updateProfileAsync: (params: UpdateProfileParams) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
53
- isUpdatingProfile: boolean;
54
- updatePassword: (params: UpdatePasswordParams) => void;
55
- updatePasswordAsync: (params: UpdatePasswordParams) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
56
- isUpdatingPassword: boolean;
57
- updateTags: (params: {
58
- wildduckUserAuth: WildduckUserAuth;
59
- tags: string[];
60
- }) => void;
61
- updateTagsAsync: (params: {
62
- wildduckUserAuth: WildduckUserAuth;
63
- tags: string[];
64
- }) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
65
- isUpdatingTags: boolean;
66
- setAccountStatus: (params: {
67
- wildduckUserAuth: WildduckUserAuth;
68
- disabled?: boolean;
69
- suspended?: boolean;
70
- }) => void;
71
- setAccountStatusAsync: (params: {
72
- wildduckUserAuth: WildduckUserAuth;
73
- disabled?: boolean;
74
- suspended?: boolean;
75
- }) => Promise<import("@sudobility/types").WildduckSuccessResponse>;
76
- isUpdatingStatus: boolean;
77
- };
78
- //# sourceMappingURL=useWildduckUserProfile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useWildduckUserProfile.d.ts","sourceRoot":"","sources":["../../../src/hooks/users/useWildduckUserProfile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,sBAAsB,GACjC,KAAK,cAAc,EACnB,mBAAmB,gBAAgB;;;;;;;;;;;;;;4BAgHxB,mBAAmB;iCAKb,mBAAmB;;6BAKzB,oBAAoB;kCAKd,oBAAoB;;yBAK1B;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;8BAMhD;QAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;;+BAM5D;QACP,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;oCAKc;QACb,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;;CA2DJ,CAAC"}