@sudobility/wildduck_client 1.4.0 → 1.4.2
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/dist/hooks/addresses/useWildduckGetAddresses.js +2 -2
- package/dist/hooks/addresses/useWildduckGetAddresses.js.map +1 -1
- package/dist/hooks/messages/useWildduckDeleteMessage.js +2 -2
- package/dist/hooks/messages/useWildduckDeleteMessage.js.map +1 -1
- package/dist/hooks/messages/useWildduckForwardMessage.js +2 -2
- package/dist/hooks/messages/useWildduckForwardMessage.js.map +1 -1
- package/dist/hooks/messages/useWildduckGetMessage.js +2 -2
- package/dist/hooks/messages/useWildduckGetMessage.js.map +1 -1
- package/dist/hooks/messages/useWildduckGetMessageAttachment.js +2 -2
- package/dist/hooks/messages/useWildduckGetMessageAttachment.js.map +1 -1
- package/dist/hooks/messages/useWildduckGetMessageSource.js +2 -2
- package/dist/hooks/messages/useWildduckGetMessageSource.js.map +1 -1
- package/dist/hooks/messages/useWildduckGetMessages.js +2 -2
- package/dist/hooks/messages/useWildduckGetMessages.js.map +1 -1
- package/dist/hooks/messages/useWildduckSearchMessages.d.ts +0 -1
- package/dist/hooks/messages/useWildduckSearchMessages.d.ts.map +1 -1
- package/dist/hooks/messages/useWildduckSearchMessages.js +9 -25
- package/dist/hooks/messages/useWildduckSearchMessages.js.map +1 -1
- package/dist/hooks/messages/useWildduckSendMessage.js +2 -2
- package/dist/hooks/messages/useWildduckSendMessage.js.map +1 -1
- package/dist/hooks/messages/useWildduckSubmitDraft.js +2 -2
- package/dist/hooks/messages/useWildduckSubmitDraft.js.map +1 -1
- package/dist/hooks/messages/useWildduckUpdateMessage.js +2 -2
- package/dist/hooks/messages/useWildduckUpdateMessage.js.map +1 -1
- package/dist/hooks/messages/useWildduckUploadMessage.js +2 -2
- package/dist/hooks/messages/useWildduckUploadMessage.js.map +1 -1
- package/dist/hooks/useWildduckAddresses.d.ts +6 -6
- package/dist/hooks/useWildduckAddresses.d.ts.map +1 -1
- package/dist/hooks/useWildduckAddresses.js +45 -71
- package/dist/hooks/useWildduckAddresses.js.map +1 -1
- package/dist/hooks/useWildduckAuth.d.ts.map +1 -1
- package/dist/hooks/useWildduckAuth.js +22 -67
- package/dist/hooks/useWildduckAuth.js.map +1 -1
- package/dist/hooks/useWildduckAutoReply.d.ts +3 -3
- package/dist/hooks/useWildduckAutoReply.d.ts.map +1 -1
- package/dist/hooks/useWildduckAutoReply.js +20 -42
- package/dist/hooks/useWildduckAutoReply.js.map +1 -1
- package/dist/hooks/useWildduckFilters.d.ts +7 -7
- package/dist/hooks/useWildduckFilters.d.ts.map +1 -1
- package/dist/hooks/useWildduckFilters.js +24 -73
- package/dist/hooks/useWildduckFilters.js.map +1 -1
- package/dist/hooks/useWildduckMailboxes.d.ts +5 -5
- package/dist/hooks/useWildduckMailboxes.d.ts.map +1 -1
- package/dist/hooks/useWildduckMailboxes.js +61 -83
- package/dist/hooks/useWildduckMailboxes.js.map +1 -1
- package/dist/hooks/useWildduckMessages.d.ts +8 -8
- package/dist/hooks/useWildduckMessages.d.ts.map +1 -1
- package/dist/hooks/useWildduckMessages.js +83 -83
- package/dist/hooks/useWildduckMessages.js.map +1 -1
- package/dist/hooks/useWildduckQueries.d.ts +2 -2
- package/dist/hooks/useWildduckQueries.d.ts.map +1 -1
- package/dist/hooks/useWildduckQueries.js +32 -130
- package/dist/hooks/useWildduckQueries.js.map +1 -1
- package/dist/hooks/useWildduckSettings.d.ts.map +1 -1
- package/dist/hooks/useWildduckSettings.js +12 -32
- package/dist/hooks/useWildduckSettings.js.map +1 -1
- package/dist/hooks/useWildduckUsers.d.ts +2 -2
- package/dist/hooks/useWildduckUsers.d.ts.map +1 -1
- package/dist/hooks/useWildduckUsers.js +13 -41
- package/dist/hooks/useWildduckUsers.js.map +1 -1
- package/dist/hooks/users/useWildduckCreateUser.js +2 -2
- package/dist/hooks/users/useWildduckCreateUser.js.map +1 -1
- package/dist/hooks/users/useWildduckDeleteUser.js +2 -2
- package/dist/hooks/users/useWildduckDeleteUser.js.map +1 -1
- package/dist/hooks/users/useWildduckGetUser.js +2 -2
- package/dist/hooks/users/useWildduckGetUser.js.map +1 -1
- package/dist/hooks/users/useWildduckUpdateUser.js +2 -2
- package/dist/hooks/users/useWildduckUpdateUser.js.map +1 -1
- package/dist/hooks/users/useWildduckUser2FA.d.ts +2 -2
- package/dist/hooks/users/useWildduckUser2FA.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUser2FA.js.map +1 -1
- package/dist/hooks/users/useWildduckUserEncryption.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserEncryption.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserEncryption.js.map +1 -1
- package/dist/hooks/users/useWildduckUserForwarding.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserForwarding.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserForwarding.js.map +1 -1
- package/dist/hooks/users/useWildduckUserLimits.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserLimits.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserLimits.js.map +1 -1
- package/dist/hooks/users/useWildduckUserProfile.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserProfile.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserProfile.js.map +1 -1
- package/dist/hooks/users/useWildduckUserQuota.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserQuota.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserQuota.js.map +1 -1
- package/dist/hooks/users/useWildduckUserSpam.d.ts +2 -2
- package/dist/hooks/users/useWildduckUserSpam.d.ts.map +1 -1
- package/dist/hooks/users/useWildduckUserSpam.js.map +1 -1
- package/dist/network/wildduck-client.d.ts +60 -11
- package/dist/network/wildduck-client.d.ts.map +1 -1
- package/dist/network/wildduck-client.js +155 -65
- package/dist/network/wildduck-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWildduckAutoReply.js","sourceRoot":"","sources":["../../src/hooks/useWildduckAutoReply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useWildduckAutoReply.js","sourceRoot":"","sources":["../../src/hooks/useWildduckAutoReply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQ7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AA0C5D,MAAM,oBAAoB,GAAG,CAC3B,aAA4B,EAC5B,MAAsB,EACtB,gBAA4C,EAC5C,WAAoB,KAAK,EACG,EAAE;IAC9B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAGrC,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM,IAAI,IAAI,CAAC;IAGhD,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,IAAI,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,EAC/C,CAAC,aAAa,EAAE,MAAM,CAAC,CACxB,CAAC;IAGF,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EACH,gBAAkC,EACE,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAG/D,WAAW,CAAC,YAAY,CACtB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC/C,aAAa,CACd,CAAC;YAEF,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC;YACjE,OAAO,CAAC,KAAK,CACX,iDAAiD,EACjD,YAAY,CACb,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EACD,CAAC,GAAG,EAAE,WAAW,CAAC,CACnB,CAAC;IAGF,MAAM,eAAe,GAAG,MAAM;QAC5B,CAAC,CAAC,WAAW,CAAC,YAAY,CAA4B;YAClD,oBAAoB;YACpB,MAAM;SACP,CAAC,IAAI,IAAI;QACZ,CAAC,CAAC,IAAI,CAAC;IAGT,MAAM,cAAc,GAAG,WAAW,CAAC;QACjC,WAAW,EAAE;YACX,2BAA2B;YAC3B,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU;SAChD;QACD,UAAU,EAAE,KAAK,EAAE,EACjB,gBAAgB,EAChB,MAAM,GAIP,EAAiC,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAErE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC;gBACpE,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,YAAY,CACb,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE;YAEhC,MAAM,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;IAGH,MAAM,cAAc,GAAG,WAAW,CAAC;QACjC,WAAW,EAAE;YACX,2BAA2B;YAC3B,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,UAAU;SAChD;QACD,UAAU,EAAE,KAAK,EACf,gBAAkC,EACH,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC;gBACpE,OAAO,CAAC,KAAK,CACX,oDAAoD,EACpD,YAAY,CACb,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;YAEvC,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;KACF,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAmB,EAAE;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAGrC,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;IACvE,MAAM,KAAK,GACT,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC;IAEzE,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EACH,gBAAkC,EAClC,MAAgC,EAChC,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,EAC7D,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,KAAK,EAAE,gBAAkC,EAAE,EAAE,CAC3C,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAC9C,CAAC,cAAc,CAAC,CACjB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAErC,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QAEL,SAAS,EAAE,eAAe;QAC1B,SAAS;QACT,KAAK;QAGL,YAAY;QACZ,OAAO;QAGP,eAAe;QACf,UAAU,EAAE,cAAc,CAAC,SAAS;QACpC,WAAW,EAAE,cAAc,CAAC,KAAK;QAGjC,eAAe;QACf,UAAU,EAAE,cAAc,CAAC,SAAS;QACpC,WAAW,EAAE,cAAc,CAAC,KAAK;QAGjC,UAAU;KACX,CAAC,EACF;QACE,eAAe;QACf,SAAS;QACT,KAAK;QACL,YAAY;QACZ,OAAO;QACP,eAAe;QACf,cAAc,CAAC,SAAS;QACxB,cAAc,CAAC,KAAK;QACpB,eAAe;QACf,cAAc,CAAC,SAAS;QACxB,cAAc,CAAC,KAAK;QACpB,UAAU;KACX,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAmC,CAAC"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type { NetworkClient, Optional, WildduckConfig, WildduckCreateFilterRequest, WildduckFilterListItem, WildduckUpdateFilterRequest } from "@sudobility/types";
|
|
1
|
+
import type { NetworkClient, Optional, WildduckConfig, WildduckCreateFilterRequest, WildduckFilterListItem, WildduckUpdateFilterRequest, WildduckUserAuth } from "@sudobility/types";
|
|
2
2
|
interface UseWildduckFiltersReturn {
|
|
3
3
|
isLoading: boolean;
|
|
4
4
|
error: Optional<string>;
|
|
5
5
|
filters: WildduckFilterListItem[];
|
|
6
|
-
getFilters: (
|
|
7
|
-
getFilter: (
|
|
8
|
-
createFilter: (
|
|
6
|
+
getFilters: (wildduckUserAuth: WildduckUserAuth) => Promise<WildduckFilterListItem[]>;
|
|
7
|
+
getFilter: (wildduckUserAuth: WildduckUserAuth, filterId: string) => Promise<WildduckFilterListItem>;
|
|
8
|
+
createFilter: (wildduckUserAuth: WildduckUserAuth, params: WildduckCreateFilterRequest) => Promise<{
|
|
9
9
|
success: boolean;
|
|
10
10
|
id: string;
|
|
11
11
|
}>;
|
|
12
|
-
updateFilter: (
|
|
12
|
+
updateFilter: (wildduckUserAuth: WildduckUserAuth, filterId: string, params: WildduckUpdateFilterRequest) => Promise<{
|
|
13
13
|
success: boolean;
|
|
14
14
|
}>;
|
|
15
|
-
deleteFilter: (
|
|
15
|
+
deleteFilter: (wildduckUserAuth: WildduckUserAuth, filterId: string) => Promise<{
|
|
16
16
|
success: boolean;
|
|
17
17
|
}>;
|
|
18
18
|
clearError: () => void;
|
|
19
|
-
refresh: (
|
|
19
|
+
refresh: (wildduckUserAuth: WildduckUserAuth) => Promise<void>;
|
|
20
20
|
}
|
|
21
21
|
declare const useWildduckFilters: (networkClient: NetworkClient, config: WildduckConfig, devMode?: boolean) => UseWildduckFiltersReturn;
|
|
22
22
|
export { useWildduckFilters, type UseWildduckFiltersReturn };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWildduckFilters.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckFilters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"useWildduckFilters.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckFilters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,2BAA2B,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAI3B,UAAU,wBAAwB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,UAAU,EAAE,CACV,gBAAgB,EAAE,gBAAgB,KAC/B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACvC,SAAS,EAAE,CACT,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,YAAY,EAAE,CACZ,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,2BAA2B,KAChC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,YAAY,EAAE,CACZ,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,2BAA2B,KAChC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC,YAAY,EAAE,CACZ,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AASD,QAAA,MAAM,kBAAkB,GACtB,eAAe,aAAa,EAC5B,QAAQ,cAAc,EACtB,UAAS,OAAe,KACvB,wBA6NF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,CAAC"}
|
|
@@ -1,27 +1,20 @@
|
|
|
1
1
|
import { useCallback, useMemo, useState } from "react";
|
|
2
2
|
import { WildduckMockData } from "./mocks";
|
|
3
|
+
import { WildduckClient } from "../network/wildduck-client";
|
|
3
4
|
const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
4
5
|
const [isLoading, setIsLoading] = useState(false);
|
|
5
6
|
const [error, setError] = useState(null);
|
|
6
7
|
const [filters, setFilters] = useState([]);
|
|
7
|
-
const
|
|
8
|
-
return {
|
|
9
|
-
"Content-Type": "application/json",
|
|
10
|
-
Accept: "application/json",
|
|
11
|
-
};
|
|
12
|
-
}, []);
|
|
8
|
+
const api = useMemo(() => new WildduckClient(networkClient, config), [networkClient, config]);
|
|
13
9
|
const clearError = useCallback(() => {
|
|
14
10
|
setError(null);
|
|
15
11
|
}, []);
|
|
16
|
-
const getFilters = useCallback(async (
|
|
12
|
+
const getFilters = useCallback(async (wildduckUserAuth) => {
|
|
17
13
|
setIsLoading(true);
|
|
18
14
|
setError(null);
|
|
19
15
|
try {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const response = await networkClient.request(`${apiUrl}/users/${userId}/filters`, { method: "GET", headers });
|
|
23
|
-
const filterList = response.data.results ||
|
|
24
|
-
[];
|
|
16
|
+
const response = await api.getFilters(wildduckUserAuth);
|
|
17
|
+
const filterList = response.results || [];
|
|
25
18
|
setFilters(filterList);
|
|
26
19
|
return filterList;
|
|
27
20
|
}
|
|
@@ -42,21 +35,13 @@ const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
|
42
35
|
finally {
|
|
43
36
|
setIsLoading(false);
|
|
44
37
|
}
|
|
45
|
-
}, [
|
|
46
|
-
|
|
47
|
-
buildHeaders,
|
|
48
|
-
config.cloudflareWorkerUrl,
|
|
49
|
-
config.backendUrl,
|
|
50
|
-
devMode,
|
|
51
|
-
]);
|
|
52
|
-
const getFilter = useCallback(async (userId, filterId) => {
|
|
38
|
+
}, [api, devMode]);
|
|
39
|
+
const getFilter = useCallback(async (wildduckUserAuth, filterId) => {
|
|
53
40
|
setIsLoading(true);
|
|
54
41
|
setError(null);
|
|
55
42
|
try {
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
const response = await networkClient.request(`${apiUrl}/users/${userId}/filters/${filterId}`, { method: "GET", headers });
|
|
59
|
-
return response.data;
|
|
43
|
+
const response = await api.getFilter(wildduckUserAuth, filterId);
|
|
44
|
+
return response;
|
|
60
45
|
}
|
|
61
46
|
catch (err) {
|
|
62
47
|
if (devMode) {
|
|
@@ -71,25 +56,13 @@ const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
|
71
56
|
finally {
|
|
72
57
|
setIsLoading(false);
|
|
73
58
|
}
|
|
74
|
-
}, [
|
|
75
|
-
|
|
76
|
-
buildHeaders,
|
|
77
|
-
config.cloudflareWorkerUrl,
|
|
78
|
-
config.backendUrl,
|
|
79
|
-
devMode,
|
|
80
|
-
]);
|
|
81
|
-
const createFilter = useCallback(async (userId, params) => {
|
|
59
|
+
}, [api, devMode]);
|
|
60
|
+
const createFilter = useCallback(async (wildduckUserAuth, params) => {
|
|
82
61
|
setIsLoading(true);
|
|
83
62
|
setError(null);
|
|
84
63
|
try {
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
const response = await networkClient.request(`${apiUrl}/users/${userId}/filters`, {
|
|
88
|
-
method: "POST",
|
|
89
|
-
headers,
|
|
90
|
-
body: JSON.stringify(params),
|
|
91
|
-
});
|
|
92
|
-
return response.data;
|
|
64
|
+
const response = await api.createFilter(wildduckUserAuth, params);
|
|
65
|
+
return response;
|
|
93
66
|
}
|
|
94
67
|
catch (err) {
|
|
95
68
|
if (devMode) {
|
|
@@ -103,21 +76,13 @@ const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
|
103
76
|
finally {
|
|
104
77
|
setIsLoading(false);
|
|
105
78
|
}
|
|
106
|
-
}, [
|
|
107
|
-
|
|
108
|
-
buildHeaders,
|
|
109
|
-
config.cloudflareWorkerUrl,
|
|
110
|
-
config.backendUrl,
|
|
111
|
-
devMode,
|
|
112
|
-
]);
|
|
113
|
-
const updateFilter = useCallback(async (userId, filterId, params) => {
|
|
79
|
+
}, [api, devMode]);
|
|
80
|
+
const updateFilter = useCallback(async (wildduckUserAuth, filterId, params) => {
|
|
114
81
|
setIsLoading(true);
|
|
115
82
|
setError(null);
|
|
116
83
|
try {
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
const response = await networkClient.request(`${apiUrl}/users/${userId}/filters/${filterId}`, { method: "PUT", headers, body: JSON.stringify(params) });
|
|
120
|
-
return response.data;
|
|
84
|
+
const response = await api.updateFilter(wildduckUserAuth, filterId, params);
|
|
85
|
+
return response;
|
|
121
86
|
}
|
|
122
87
|
catch (err) {
|
|
123
88
|
if (devMode) {
|
|
@@ -131,21 +96,13 @@ const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
|
131
96
|
finally {
|
|
132
97
|
setIsLoading(false);
|
|
133
98
|
}
|
|
134
|
-
}, [
|
|
135
|
-
|
|
136
|
-
buildHeaders,
|
|
137
|
-
config.cloudflareWorkerUrl,
|
|
138
|
-
config.backendUrl,
|
|
139
|
-
devMode,
|
|
140
|
-
]);
|
|
141
|
-
const deleteFilter = useCallback(async (userId, filterId) => {
|
|
99
|
+
}, [api, devMode]);
|
|
100
|
+
const deleteFilter = useCallback(async (wildduckUserAuth, filterId) => {
|
|
142
101
|
setIsLoading(true);
|
|
143
102
|
setError(null);
|
|
144
103
|
try {
|
|
145
|
-
const
|
|
146
|
-
|
|
147
|
-
const response = await networkClient.request(`${apiUrl}/users/${userId}/filters/${filterId}`, { method: "DELETE", headers });
|
|
148
|
-
return response.data;
|
|
104
|
+
const response = await api.deleteFilter(wildduckUserAuth, filterId);
|
|
105
|
+
return response;
|
|
149
106
|
}
|
|
150
107
|
catch (err) {
|
|
151
108
|
if (devMode) {
|
|
@@ -159,15 +116,9 @@ const useWildduckFilters = (networkClient, config, devMode = false) => {
|
|
|
159
116
|
finally {
|
|
160
117
|
setIsLoading(false);
|
|
161
118
|
}
|
|
162
|
-
}, [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
config.cloudflareWorkerUrl,
|
|
166
|
-
config.backendUrl,
|
|
167
|
-
devMode,
|
|
168
|
-
]);
|
|
169
|
-
const refresh = useCallback(async (userId) => {
|
|
170
|
-
await getFilters(userId);
|
|
119
|
+
}, [api, devMode]);
|
|
120
|
+
const refresh = useCallback(async (wildduckUserAuth) => {
|
|
121
|
+
await getFilters(wildduckUserAuth);
|
|
171
122
|
}, [getFilters]);
|
|
172
123
|
return useMemo(() => ({
|
|
173
124
|
isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWildduckFilters.js","sourceRoot":"","sources":["../../src/hooks/useWildduckFilters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useWildduckFilters.js","sourceRoot":"","sources":["../../src/hooks/useWildduckFilters.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,21 @@ interface UseWildduckMailboxesReturn {
|
|
|
4
4
|
mailboxes: WildduckMailbox[];
|
|
5
5
|
isLoading: boolean;
|
|
6
6
|
error: Optional<string>;
|
|
7
|
-
getMailboxes: (
|
|
8
|
-
getMailbox: (
|
|
7
|
+
getMailboxes: (wildduckUserAuth: WildduckUserAuth, options?: Omit<GetMailboxesRequest, "sess" | "ip">) => Promise<WildduckMailbox[]>;
|
|
8
|
+
getMailbox: (wildduckUserAuth: WildduckUserAuth, mailboxId: string) => Promise<WildduckMailbox>;
|
|
9
9
|
refresh: () => Promise<void>;
|
|
10
|
-
createMailbox: (
|
|
10
|
+
createMailbox: (wildduckUserAuth: WildduckUserAuth, params: Omit<CreateMailboxRequest, "sess" | "ip">) => Promise<{
|
|
11
11
|
success: boolean;
|
|
12
12
|
id: string;
|
|
13
13
|
}>;
|
|
14
14
|
isCreating: boolean;
|
|
15
15
|
createError: Optional<Error>;
|
|
16
|
-
updateMailbox: (
|
|
16
|
+
updateMailbox: (wildduckUserAuth: WildduckUserAuth, mailboxId: string, params: Omit<UpdateMailboxRequest, "sess" | "ip">) => Promise<{
|
|
17
17
|
success: boolean;
|
|
18
18
|
}>;
|
|
19
19
|
isUpdating: boolean;
|
|
20
20
|
updateError: Optional<Error>;
|
|
21
|
-
deleteMailbox: (
|
|
21
|
+
deleteMailbox: (wildduckUserAuth: WildduckUserAuth, mailboxId: string) => Promise<{
|
|
22
22
|
success: boolean;
|
|
23
23
|
}>;
|
|
24
24
|
isDeleting: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWildduckMailboxes.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckMailboxes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"useWildduckMailboxes.d.ts","sourceRoot":"","sources":["../../src/hooks/useWildduckMailboxes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAG3B,UAAU,0BAA0B;IAElC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAGxB,YAAY,EAAE,CACZ,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC,KAC/C,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAChC,UAAU,EAAE,CACV,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7B,aAAa,EAAE,CACb,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC,KAC9C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7B,aAAa,EAAE,CACb,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC,KAC9C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE7B,aAAa,EAAE,CACb,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,MAAM,KACd,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAG7B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAYD,QAAA,MAAM,oBAAoB,GACxB,eAAe,aAAa,EAC5B,QAAQ,cAAc,EACtB,kBAAkB,QAAQ,CAAC,gBAAgB,CAAC,EAC5C,WAAU,OAAe,KACxB,0BA+VF,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,CAAC"}
|
|
@@ -1,37 +1,25 @@
|
|
|
1
1
|
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
|
2
2
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import { WildduckClient } from "../network/wildduck-client";
|
|
3
4
|
const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode = false) => {
|
|
4
5
|
const queryClient = useQueryClient();
|
|
5
6
|
const hasFetchedRef = useRef(false);
|
|
7
|
+
const api = useMemo(() => new WildduckClient(networkClient, config), [networkClient, config]);
|
|
6
8
|
const userId = wildduckUserAuth?.userId || null;
|
|
7
|
-
const
|
|
8
|
-
return {
|
|
9
|
-
"Content-Type": "application/json",
|
|
10
|
-
Accept: "application/json",
|
|
11
|
-
};
|
|
12
|
-
}, []);
|
|
13
|
-
const getMailboxes = useCallback(async (userId, options = {}) => {
|
|
9
|
+
const getMailboxes = useCallback(async (wildduckUserAuth, options = {}) => {
|
|
14
10
|
try {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (options.
|
|
19
|
-
|
|
20
|
-
if (options.
|
|
21
|
-
|
|
22
|
-
if (options.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
queryParams.append("sizes", "true");
|
|
26
|
-
const query = queryParams.toString();
|
|
27
|
-
const endpoint = `/users/${userId}/mailboxes${query ? `?${query}` : ""}`;
|
|
28
|
-
const response = await networkClient.request(`${apiUrl}${endpoint}`, {
|
|
29
|
-
method: "GET",
|
|
30
|
-
headers,
|
|
31
|
-
});
|
|
32
|
-
const mailboxData = response.data;
|
|
11
|
+
const getMailboxesOptions = {};
|
|
12
|
+
if (options.specialUse !== undefined)
|
|
13
|
+
getMailboxesOptions.specialUse = options.specialUse;
|
|
14
|
+
if (options.showHidden !== undefined)
|
|
15
|
+
getMailboxesOptions.showHidden = options.showHidden;
|
|
16
|
+
if (options.counters !== undefined)
|
|
17
|
+
getMailboxesOptions.counters = options.counters;
|
|
18
|
+
if (options.sizes !== undefined)
|
|
19
|
+
getMailboxesOptions.sizes = options.sizes;
|
|
20
|
+
const mailboxData = await api.getMailboxes(wildduckUserAuth, getMailboxesOptions);
|
|
33
21
|
const mailboxList = mailboxData.results || [];
|
|
34
|
-
queryClient.setQueryData(["wildduck-mailboxes", userId], mailboxList);
|
|
22
|
+
queryClient.setQueryData(["wildduck-mailboxes", wildduckUserAuth.userId], mailboxList);
|
|
35
23
|
return mailboxList;
|
|
36
24
|
}
|
|
37
25
|
catch (err) {
|
|
@@ -39,17 +27,13 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
39
27
|
console.error("[useWildduckMailboxes] Failed to get mailboxes:", errorMessage);
|
|
40
28
|
throw new Error(errorMessage);
|
|
41
29
|
}
|
|
42
|
-
}, [
|
|
43
|
-
const getMailbox = useCallback(async (
|
|
30
|
+
}, [api, wildduckUserAuth, queryClient]);
|
|
31
|
+
const getMailbox = useCallback(async (wildduckUserAuth, mailboxId) => {
|
|
44
32
|
try {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
method: "GET",
|
|
50
|
-
headers,
|
|
51
|
-
});
|
|
52
|
-
const mailboxData = response.data;
|
|
33
|
+
if (!wildduckUserAuth) {
|
|
34
|
+
throw new Error("User not authenticated");
|
|
35
|
+
}
|
|
36
|
+
const mailboxData = await api.getMailbox(wildduckUserAuth, mailboxId);
|
|
53
37
|
if (!mailboxData.results || mailboxData.results.length === 0) {
|
|
54
38
|
throw new Error("Mailbox not found");
|
|
55
39
|
}
|
|
@@ -65,7 +49,7 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
65
49
|
console.error("[useWildduckMailboxes] Failed to get mailbox:", errorMessage);
|
|
66
50
|
throw new Error(errorMessage);
|
|
67
51
|
}
|
|
68
|
-
}, [
|
|
52
|
+
}, [api, wildduckUserAuth, queryClient]);
|
|
69
53
|
const cachedMailboxes = userId
|
|
70
54
|
? queryClient.getQueryData([
|
|
71
55
|
"wildduck-mailboxes",
|
|
@@ -73,14 +57,14 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
73
57
|
]) || []
|
|
74
58
|
: [];
|
|
75
59
|
useEffect(() => {
|
|
76
|
-
if (
|
|
60
|
+
if (wildduckUserAuth && !hasFetchedRef.current) {
|
|
77
61
|
const cached = queryClient.getQueryData([
|
|
78
62
|
"wildduck-mailboxes",
|
|
79
|
-
userId,
|
|
63
|
+
wildduckUserAuth.userId,
|
|
80
64
|
]);
|
|
81
65
|
if (!cached || cached.length === 0) {
|
|
82
66
|
hasFetchedRef.current = true;
|
|
83
|
-
getMailboxes(
|
|
67
|
+
getMailboxes(wildduckUserAuth, {
|
|
84
68
|
counters: true,
|
|
85
69
|
specialUse: false,
|
|
86
70
|
showHidden: false,
|
|
@@ -91,26 +75,19 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
91
75
|
});
|
|
92
76
|
}
|
|
93
77
|
}
|
|
94
|
-
}, [
|
|
78
|
+
}, [wildduckUserAuth, getMailboxes, queryClient]);
|
|
95
79
|
const createMutation = useMutation({
|
|
96
80
|
mutationKey: [
|
|
97
81
|
"wildduck-create-mailbox",
|
|
98
82
|
config.cloudflareWorkerUrl || config.backendUrl,
|
|
99
83
|
],
|
|
100
|
-
mutationFn: async ({
|
|
84
|
+
mutationFn: async ({ params, }) => {
|
|
101
85
|
try {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
body: JSON.stringify({
|
|
108
|
-
path: params.path,
|
|
109
|
-
hidden: params.hidden,
|
|
110
|
-
retention: params.retention,
|
|
111
|
-
}),
|
|
112
|
-
});
|
|
113
|
-
return response.data;
|
|
86
|
+
if (!wildduckUserAuth) {
|
|
87
|
+
throw new Error("User not authenticated");
|
|
88
|
+
}
|
|
89
|
+
await api.createMailbox(wildduckUserAuth, params);
|
|
90
|
+
return { success: true, id: "" };
|
|
114
91
|
}
|
|
115
92
|
catch (err) {
|
|
116
93
|
const errorMessage = err instanceof Error ? err.message : "Failed to create mailbox";
|
|
@@ -118,8 +95,10 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
118
95
|
throw new Error(errorMessage);
|
|
119
96
|
}
|
|
120
97
|
},
|
|
121
|
-
onSuccess: async (
|
|
122
|
-
|
|
98
|
+
onSuccess: async () => {
|
|
99
|
+
if (wildduckUserAuth) {
|
|
100
|
+
await getMailboxes(wildduckUserAuth, { counters: true });
|
|
101
|
+
}
|
|
123
102
|
},
|
|
124
103
|
});
|
|
125
104
|
const updateMutation = useMutation({
|
|
@@ -127,16 +106,13 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
127
106
|
"wildduck-update-mailbox",
|
|
128
107
|
config.cloudflareWorkerUrl || config.backendUrl,
|
|
129
108
|
],
|
|
130
|
-
mutationFn: async ({
|
|
109
|
+
mutationFn: async ({ mailboxId, params, }) => {
|
|
131
110
|
try {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
body: JSON.stringify(params),
|
|
138
|
-
});
|
|
139
|
-
return response.data;
|
|
111
|
+
if (!wildduckUserAuth) {
|
|
112
|
+
throw new Error("User not authenticated");
|
|
113
|
+
}
|
|
114
|
+
const response = await api.updateMailbox(wildduckUserAuth, mailboxId, params);
|
|
115
|
+
return { success: response.success };
|
|
140
116
|
}
|
|
141
117
|
catch (err) {
|
|
142
118
|
const errorMessage = err instanceof Error ? err.message : "Failed to update mailbox";
|
|
@@ -144,8 +120,10 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
144
120
|
throw new Error(errorMessage);
|
|
145
121
|
}
|
|
146
122
|
},
|
|
147
|
-
onSuccess: async (
|
|
148
|
-
|
|
123
|
+
onSuccess: async () => {
|
|
124
|
+
if (wildduckUserAuth) {
|
|
125
|
+
await getMailboxes(wildduckUserAuth, { counters: true });
|
|
126
|
+
}
|
|
149
127
|
},
|
|
150
128
|
});
|
|
151
129
|
const deleteMutation = useMutation({
|
|
@@ -153,15 +131,13 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
153
131
|
"wildduck-delete-mailbox",
|
|
154
132
|
config.cloudflareWorkerUrl || config.backendUrl,
|
|
155
133
|
],
|
|
156
|
-
mutationFn: async ({
|
|
134
|
+
mutationFn: async ({ mailboxId, }) => {
|
|
157
135
|
try {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
});
|
|
164
|
-
return response.data;
|
|
136
|
+
if (!wildduckUserAuth) {
|
|
137
|
+
throw new Error("User not authenticated");
|
|
138
|
+
}
|
|
139
|
+
const response = await api.deleteMailbox(wildduckUserAuth, mailboxId);
|
|
140
|
+
return { success: response.success };
|
|
165
141
|
}
|
|
166
142
|
catch (err) {
|
|
167
143
|
const errorMessage = err instanceof Error ? err.message : "Failed to delete mailbox";
|
|
@@ -169,16 +145,18 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
169
145
|
throw new Error(errorMessage);
|
|
170
146
|
}
|
|
171
147
|
},
|
|
172
|
-
onSuccess: async (
|
|
173
|
-
|
|
148
|
+
onSuccess: async () => {
|
|
149
|
+
if (wildduckUserAuth) {
|
|
150
|
+
await getMailboxes(wildduckUserAuth, { counters: true });
|
|
151
|
+
}
|
|
174
152
|
},
|
|
175
153
|
});
|
|
176
154
|
const refresh = useCallback(async () => {
|
|
177
|
-
if (!
|
|
155
|
+
if (!wildduckUserAuth) {
|
|
178
156
|
throw new Error("Cannot refresh: user not authenticated");
|
|
179
157
|
}
|
|
180
|
-
await getMailboxes(
|
|
181
|
-
}, [
|
|
158
|
+
await getMailboxes(wildduckUserAuth, { counters: true });
|
|
159
|
+
}, [wildduckUserAuth, getMailboxes]);
|
|
182
160
|
const isLoading = createMutation.isPending ||
|
|
183
161
|
updateMutation.isPending ||
|
|
184
162
|
deleteMutation.isPending;
|
|
@@ -186,9 +164,9 @@ const useWildduckMailboxes = (networkClient, config, wildduckUserAuth, _devMode
|
|
|
186
164
|
updateMutation.error?.message ||
|
|
187
165
|
deleteMutation.error?.message ||
|
|
188
166
|
null;
|
|
189
|
-
const createMailbox = useCallback(async (
|
|
190
|
-
const updateMailbox = useCallback(async (
|
|
191
|
-
const deleteMailbox = useCallback(async (
|
|
167
|
+
const createMailbox = useCallback(async (_wildduckUserAuth, params) => createMutation.mutateAsync({ params }), [createMutation]);
|
|
168
|
+
const updateMailbox = useCallback(async (_wildduckUserAuth, mailboxId, params) => updateMutation.mutateAsync({ mailboxId, params }), [updateMutation]);
|
|
169
|
+
const deleteMailbox = useCallback(async (_wildduckUserAuth, mailboxId) => deleteMutation.mutateAsync({ mailboxId }), [deleteMutation]);
|
|
192
170
|
const clearError = useCallback(() => {
|
|
193
171
|
createMutation.reset();
|
|
194
172
|
updateMutation.reset();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWildduckMailboxes.js","sourceRoot":"","sources":["../../src/hooks/useWildduckMailboxes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useWildduckMailboxes.js","sourceRoot":"","sources":["../../src/hooks/useWildduckMailboxes.ts"],"names":[],"mappings":"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"}
|