@knocklabs/react-core 0.3.1 → 0.3.3
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/CHANGELOG.md +26 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/modules/core/utils.js +1 -1
- package/dist/cjs/modules/core/utils.js.map +1 -1
- package/dist/cjs/modules/i18n/languages/en.js +1 -1
- package/dist/cjs/modules/i18n/languages/en.js.map +1 -1
- package/dist/cjs/modules/i18n/languages/index.js.map +1 -1
- package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js +1 -1
- package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js.map +1 -1
- package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js +1 -1
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js.map +1 -1
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js.map +1 -0
- package/dist/cjs/modules/slack/context/KnockSlackProvider.js +1 -1
- package/dist/cjs/modules/slack/context/KnockSlackProvider.js.map +1 -1
- package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js +1 -1
- package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js.map +1 -1
- package/dist/cjs/modules/slack/hooks/useSlackAuth.js +1 -1
- package/dist/cjs/modules/slack/hooks/useSlackAuth.js.map +1 -1
- package/dist/cjs/modules/slack/hooks/useSlackChannels.js +1 -1
- package/dist/cjs/modules/slack/hooks/useSlackChannels.js.map +1 -1
- package/dist/cjs/modules/slack/hooks/useSlackConnectionStatus.js.map +1 -1
- package/dist/esm/index.mjs +36 -30
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/modules/core/utils.mjs +1 -1
- package/dist/esm/modules/core/utils.mjs.map +1 -1
- package/dist/esm/modules/i18n/languages/en.mjs +3 -0
- package/dist/esm/modules/i18n/languages/en.mjs.map +1 -1
- package/dist/esm/modules/i18n/languages/index.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs +23 -20
- package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs +78 -0
- package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs +4 -2
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs.map +1 -1
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs +41 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs +50 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs.map +1 -0
- package/dist/esm/modules/slack/context/KnockSlackProvider.mjs +27 -25
- package/dist/esm/modules/slack/context/KnockSlackProvider.mjs.map +1 -1
- package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs +58 -41
- package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs.map +1 -1
- package/dist/esm/modules/slack/hooks/useSlackAuth.mjs +18 -17
- package/dist/esm/modules/slack/hooks/useSlackAuth.mjs.map +1 -1
- package/dist/esm/modules/slack/hooks/useSlackChannels.mjs +13 -12
- package/dist/esm/modules/slack/hooks/useSlackChannels.mjs.map +1 -1
- package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs +6 -6
- package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts +5 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/modules/core/utils.d.ts +2 -2
- package/dist/types/modules/core/utils.d.ts.map +1 -1
- package/dist/types/modules/i18n/languages/en.d.ts.map +1 -1
- package/dist/types/modules/i18n/languages/index.d.ts +3 -0
- package/dist/types/modules/i18n/languages/index.d.ts.map +1 -1
- package/dist/types/modules/ms-teams/hooks/index.d.ts +3 -0
- package/dist/types/modules/ms-teams/hooks/index.d.ts.map +1 -1
- package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts +15 -0
- package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts +14 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts +13 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/index.d.ts +1 -0
- package/dist/types/modules/ms-teams/index.d.ts.map +1 -1
- package/dist/types/modules/ms-teams/interfaces.d.ts +11 -0
- package/dist/types/modules/ms-teams/interfaces.d.ts.map +1 -0
- package/dist/types/modules/slack/context/KnockSlackProvider.d.ts +12 -2
- package/dist/types/modules/slack/context/KnockSlackProvider.d.ts.map +1 -1
- package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts +6 -6
- package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts.map +1 -1
- package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts +1 -1
- package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts.map +1 -1
- package/dist/types/modules/slack/index.d.ts +1 -1
- package/dist/types/modules/slack/index.d.ts.map +1 -1
- package/dist/types/modules/slack/{constants.d.ts → interfaces.d.ts} +3 -5
- package/dist/types/modules/slack/interfaces.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +1 -0
- package/src/interfaces.ts +4 -0
- package/src/modules/core/utils.ts +3 -3
- package/src/modules/i18n/languages/en.ts +5 -0
- package/src/modules/i18n/languages/index.ts +3 -0
- package/src/modules/ms-teams/hooks/index.ts +3 -0
- package/src/modules/ms-teams/hooks/useConnectedMsTeamsChannels.ts +100 -0
- package/src/modules/ms-teams/hooks/useMsTeamsChannels.ts +53 -0
- package/src/modules/ms-teams/hooks/useMsTeamsTeams.ts +112 -0
- package/src/modules/ms-teams/index.ts +1 -0
- package/src/modules/ms-teams/interfaces.ts +11 -0
- package/src/modules/slack/context/KnockSlackProvider.tsx +25 -8
- package/src/modules/slack/hooks/useConnectedSlackChannels.ts +56 -61
- package/src/modules/slack/hooks/useSlackAuth.ts +5 -5
- package/src/modules/slack/hooks/useSlackChannels.ts +2 -2
- package/src/modules/slack/hooks/useSlackConnectionStatus.ts +3 -3
- package/src/modules/slack/index.ts +1 -1
- package/src/modules/slack/{constants.ts → interfaces.ts} +3 -4
- package/dist/types/modules/slack/constants.d.ts.map +0 -1
|
@@ -1,61 +1,78 @@
|
|
|
1
|
-
import { useKnockSlackClient as
|
|
2
|
-
import { useState as
|
|
1
|
+
import { useKnockSlackClient as S } from "../context/KnockSlackProvider.mjs";
|
|
2
|
+
import { useState as l } from "react";
|
|
3
3
|
import "../../i18n/context/KnockI18nProvider.mjs";
|
|
4
|
-
import { useTranslations as
|
|
4
|
+
import { useTranslations as g } from "../../i18n/hooks/useTranslations.mjs";
|
|
5
5
|
import "swr/infinite";
|
|
6
|
-
import { useKnockClient as
|
|
6
|
+
import { useKnockClient as E } from "../../core/context/KnockProvider.mjs";
|
|
7
7
|
import "@knocklabs/client";
|
|
8
8
|
import "zustand/shallow";
|
|
9
9
|
import "date-fns";
|
|
10
|
-
|
|
10
|
+
import D from "swr";
|
|
11
|
+
const N = "SLACK_CONNECTED_CHANNELS";
|
|
12
|
+
function j({
|
|
11
13
|
slackChannelsRecipientObject: {
|
|
12
|
-
objectId:
|
|
13
|
-
collection:
|
|
14
|
+
objectId: a,
|
|
15
|
+
collection: e
|
|
14
16
|
}
|
|
15
17
|
}) {
|
|
16
18
|
const {
|
|
17
|
-
t:
|
|
18
|
-
} =
|
|
19
|
-
connectionStatus:
|
|
20
|
-
knockSlackChannelId:
|
|
21
|
-
} =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
19
|
+
t: u
|
|
20
|
+
} = g(), s = E(), {
|
|
21
|
+
connectionStatus: d,
|
|
22
|
+
knockSlackChannelId: o
|
|
23
|
+
} = S(), [p, c] = l(null), [C, r] = l(!1), {
|
|
24
|
+
data: m,
|
|
25
|
+
mutate: h,
|
|
26
|
+
isValidating: f,
|
|
27
|
+
isLoading: k
|
|
28
|
+
} = D(
|
|
29
|
+
// Only fetch when Slack is connected
|
|
30
|
+
d === "connected" ? [N, o, e, a] : null,
|
|
31
|
+
async () => s.objects.getChannelData({
|
|
32
|
+
collection: e,
|
|
33
|
+
objectId: a,
|
|
34
|
+
channelId: o
|
|
35
|
+
}).then((t) => {
|
|
36
|
+
var n;
|
|
37
|
+
return ((n = t.data) == null ? void 0 : n.connections) ?? [];
|
|
38
|
+
}).catch(() => []),
|
|
39
|
+
{
|
|
40
|
+
onSuccess: () => {
|
|
41
|
+
c(null);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
return {
|
|
46
|
+
data: m ?? null,
|
|
47
|
+
updateConnectedChannels: async (t) => {
|
|
48
|
+
r(!0);
|
|
39
49
|
try {
|
|
40
|
-
await
|
|
41
|
-
objectId:
|
|
42
|
-
collection:
|
|
43
|
-
channelId:
|
|
50
|
+
await h(() => s.objects.setChannelData({
|
|
51
|
+
objectId: a,
|
|
52
|
+
collection: e,
|
|
53
|
+
channelId: o,
|
|
44
54
|
data: {
|
|
45
|
-
connections:
|
|
55
|
+
connections: t
|
|
46
56
|
}
|
|
47
|
-
})
|
|
57
|
+
}).then((n) => {
|
|
58
|
+
var i;
|
|
59
|
+
return ((i = n.data) == null ? void 0 : i.connections) ?? [];
|
|
60
|
+
}), {
|
|
61
|
+
populateCache: !0,
|
|
62
|
+
revalidate: !1,
|
|
63
|
+
optimisticData: t
|
|
64
|
+
});
|
|
48
65
|
} catch {
|
|
49
|
-
|
|
66
|
+
c(u("slackChannelSetError") || "");
|
|
50
67
|
}
|
|
51
|
-
|
|
68
|
+
r(!1);
|
|
52
69
|
},
|
|
53
|
-
updating:
|
|
54
|
-
loading:
|
|
55
|
-
error:
|
|
70
|
+
updating: C,
|
|
71
|
+
loading: k || f,
|
|
72
|
+
error: p
|
|
56
73
|
};
|
|
57
74
|
}
|
|
58
75
|
export {
|
|
59
|
-
|
|
76
|
+
j as default
|
|
60
77
|
};
|
|
61
78
|
//# sourceMappingURL=useConnectedSlackChannels.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConnectedSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useConnectedSlackChannels.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"useConnectedSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useConnectedSlackChannels.ts"],"sourcesContent":["import { useKnockSlackClient } from \"..\";\nimport { SlackChannelConnection } from \"@knocklabs/client\";\nimport { GenericData } from \"@knocklabs/types\";\nimport { useState } from \"react\";\nimport useSWR from \"swr\";\n\nimport { RecipientObject } from \"../../..\";\nimport { useKnockClient } from \"../../core\";\nimport { useTranslations } from \"../../i18n\";\n\nconst QUERY_KEY = \"SLACK_CONNECTED_CHANNELS\";\n\ntype UseConnectedSlackChannelsProps = {\n slackChannelsRecipientObject: RecipientObject;\n};\n\ntype UseConnectedSlackChannelsOutput = {\n data: SlackChannelConnection[] | null;\n updateConnectedChannels: (\n connectedChannels: SlackChannelConnection[],\n ) => Promise<void>;\n loading: boolean;\n error: string | null;\n updating: boolean;\n};\n\nfunction useConnectedSlackChannels({\n slackChannelsRecipientObject: { objectId, collection },\n}: UseConnectedSlackChannelsProps): UseConnectedSlackChannelsOutput {\n const { t } = useTranslations();\n const knock = useKnockClient();\n const { connectionStatus, knockSlackChannelId } = useKnockSlackClient();\n\n const [error, setError] = useState<string | null>(null);\n const [isUpdating, setIsUpdating] = useState(false);\n\n const {\n data: connectedChannels,\n mutate,\n isValidating,\n isLoading,\n } = useSWR<SlackChannelConnection[]>(\n // Only fetch when Slack is connected\n connectionStatus === \"connected\"\n ? [QUERY_KEY, knockSlackChannelId, collection, objectId]\n : null,\n async () => {\n return knock.objects\n .getChannelData({\n collection,\n objectId,\n channelId: knockSlackChannelId,\n })\n .then((res) => res.data?.connections ?? [])\n .catch(() => []);\n },\n {\n onSuccess: () => {\n setError(null);\n },\n },\n );\n\n const updateConnectedChannels = async (\n channelsToSendToKnock: SlackChannelConnection[],\n ) => {\n setIsUpdating(true);\n try {\n await mutate(\n () =>\n knock.objects\n .setChannelData({\n objectId,\n collection,\n channelId: knockSlackChannelId,\n data: { connections: channelsToSendToKnock },\n })\n .then((res) => (res as GenericData).data?.connections ?? []),\n {\n populateCache: true,\n revalidate: false,\n optimisticData: channelsToSendToKnock,\n },\n );\n } catch (_error) {\n setError(t(\"slackChannelSetError\") || \"\");\n }\n setIsUpdating(false);\n };\n\n return {\n data: connectedChannels ?? null,\n updateConnectedChannels,\n updating: isUpdating,\n loading: isLoading || isValidating,\n error,\n };\n}\n\nexport default useConnectedSlackChannels;\n"],"names":["QUERY_KEY","useConnectedSlackChannels","slackChannelsRecipientObject","objectId","collection","t","useTranslations","knock","useKnockClient","connectionStatus","knockSlackChannelId","useKnockSlackClient","error","setError","useState","isUpdating","setIsUpdating","data","connectedChannels","mutate","isValidating","isLoading","useSWR","objects","getChannelData","channelId","then","res","connections","catch","onSuccess","updateConnectedChannels","channelsToSendToKnock","setChannelData","populateCache","revalidate","optimisticData","updating","loading"],"mappings":";;;;;;;;;;AAUA,MAAMA,IAAY;AAgBlB,SAASC,EAA0B;AAAA,EACjCC,8BAA8B;AAAA,IAAEC,UAAAA;AAAAA,IAAUC,YAAAA;AAAAA,EAAW;AACvB,GAAoC;AAC5D,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxBC,IAAQC,KACR;AAAA,IAAEC,kBAAAA;AAAAA,IAAkBC,qBAAAA;AAAAA,MAAwBC,EAAoB,GAEhE,CAACC,GAAOC,CAAQ,IAAIC,EAAwB,IAAI,GAChD,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAK,GAE5C;AAAA,IACJG,MAAMC;AAAAA,IACNC,QAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,WAAAA;AAAAA,EAAAA,IACEC;AAAAA;AAAAA,IAEFb,MAAqB,cACjB,CAACT,GAAWU,GAAqBN,GAAYD,CAAQ,IACrD;AAAA,IACJ,YACSI,EAAMgB,QACVC,eAAe;AAAA,MACdpB,YAAAA;AAAAA,MACAD,UAAAA;AAAAA,MACAsB,WAAWf;AAAAA,IACZ,CAAA,EACAgB,KAAMC,CAAAA,MAAAA;;AAAQA,eAAAA,IAAAA,EAAIV,SAAJU,gBAAAA,EAAUC,gBAAe;KAAE,EACzCC,MAAM,MAAM,CAAE,CAAA;AAAA,IAEnB;AAAA,MACEC,WAAWA,MAAM;AACfjB,QAAAA,EAAS,IAAI;AAAA,MACf;AAAA,IACF;AAAA,EAAA;AA8BK,SAAA;AAAA,IACLI,MAAMC,KAAqB;AAAA,IAC3Ba,yBA7B8B,OAC9BC,MACG;AACHhB,MAAAA,EAAc,EAAI;AACd,UAAA;AACF,cAAMG,EACJ,MACEZ,EAAMgB,QACHU,eAAe;AAAA,UACd9B,UAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAqB,WAAWf;AAAAA,UACXO,MAAM;AAAA,YAAEW,aAAaI;AAAAA,UAAsB;AAAA,QAAA,CAC5C,EACAN,KAAMC,CAAAA,MAAAA;;AAASA,mBAAAA,IAAAA,EAAoBV,SAApBU,gBAAAA,EAA0BC,gBAAe,CAAA;AAAA,SAAE,GAC/D;AAAA,UACEM,eAAe;AAAA,UACfC,YAAY;AAAA,UACZC,gBAAgBJ;AAAAA,QAAAA,CAEpB;AAAA,cACe;AACN3B,QAAAA,EAAAA,EAAE,sBAAsB,KAAK,EAAE;AAAA,MAC1C;AACAW,MAAAA,EAAc,EAAK;AAAA,IAAA;AAAA,IAMnBqB,UAAUtB;AAAAA,IACVuB,SAASjB,KAAaD;AAAAA,IACtBR,OAAAA;AAAAA,EAAAA;AAEJ;"}
|
|
@@ -1,52 +1,53 @@
|
|
|
1
|
-
import { useKnockSlackClient as
|
|
1
|
+
import { useKnockSlackClient as p } from "../context/KnockSlackProvider.mjs";
|
|
2
2
|
import { useCallback as k } from "react";
|
|
3
3
|
import "../../i18n/context/KnockI18nProvider.mjs";
|
|
4
4
|
import "swr/infinite";
|
|
5
|
-
import { useKnockClient as
|
|
5
|
+
import { useKnockClient as h } from "../../core/context/KnockProvider.mjs";
|
|
6
6
|
import { TENANT_OBJECT_COLLECTION as _ } from "@knocklabs/client";
|
|
7
7
|
import "zustand/shallow";
|
|
8
8
|
import "date-fns";
|
|
9
|
+
import "swr";
|
|
9
10
|
const S = "https://slack.com/oauth/v2/authorize", u = ["chat:write", "chat:write.public", "channels:read", "groups:read"];
|
|
10
|
-
function
|
|
11
|
-
const e =
|
|
11
|
+
function K(a, s, r) {
|
|
12
|
+
const e = h(), {
|
|
12
13
|
setConnectionStatus: t,
|
|
13
14
|
knockSlackChannelId: o,
|
|
14
|
-
|
|
15
|
+
tenantId: n,
|
|
15
16
|
setActionLabel: i
|
|
16
|
-
} =
|
|
17
|
+
} = p(), l = r && r.length > 0 ? Array.from(new Set(u.concat(r))) : u, m = k(async () => {
|
|
17
18
|
i(null), t("disconnecting");
|
|
18
19
|
try {
|
|
19
|
-
const
|
|
20
|
-
tenant:
|
|
20
|
+
const c = await e.slack.revokeAccessToken({
|
|
21
|
+
tenant: n,
|
|
21
22
|
knockChannelId: o
|
|
22
23
|
});
|
|
23
|
-
t(
|
|
24
|
+
t(c === "ok" ? "disconnected" : "error");
|
|
24
25
|
} catch {
|
|
25
26
|
t("error");
|
|
26
27
|
}
|
|
27
|
-
}, [t, e.slack,
|
|
28
|
+
}, [t, e.slack, n, o, i]);
|
|
28
29
|
return {
|
|
29
30
|
buildSlackAuthUrl: k(() => {
|
|
30
|
-
const
|
|
31
|
+
const c = {
|
|
31
32
|
state: JSON.stringify({
|
|
32
|
-
redirect_url:
|
|
33
|
+
redirect_url: s,
|
|
33
34
|
access_token_object: {
|
|
34
|
-
object_id:
|
|
35
|
+
object_id: n,
|
|
35
36
|
collection: _
|
|
36
37
|
},
|
|
37
38
|
channel_id: o,
|
|
38
39
|
public_key: e.apiKey,
|
|
39
40
|
user_token: e.userToken
|
|
40
41
|
}),
|
|
41
|
-
client_id:
|
|
42
|
+
client_id: a,
|
|
42
43
|
scope: l.join(",")
|
|
43
44
|
};
|
|
44
|
-
return `${S}?${new URLSearchParams(
|
|
45
|
-
}, [
|
|
45
|
+
return `${S}?${new URLSearchParams(c)}`;
|
|
46
|
+
}, [s, n, o, e.apiKey, e.userToken, a, l]),
|
|
46
47
|
disconnectFromSlack: m
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
export {
|
|
50
|
-
|
|
51
|
+
K as default
|
|
51
52
|
};
|
|
52
53
|
//# sourceMappingURL=useSlackAuth.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlackAuth.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackAuth.ts"],"sourcesContent":["import { useKnockSlackClient } from \"..\";\nimport { TENANT_OBJECT_COLLECTION } from \"@knocklabs/client\";\nimport { useCallback } from \"react\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst SLACK_AUTHORIZE_URL = \"https://slack.com/oauth/v2/authorize\";\nconst DEFAULT_SLACK_SCOPES = [\n \"chat:write\",\n \"chat:write.public\",\n \"channels:read\",\n \"groups:read\",\n];\n\ntype UseSlackAuthOutput = {\n buildSlackAuthUrl: () => string;\n disconnectFromSlack: () => void;\n};\n\nfunction useSlackAuth(\n slackClientId: string,\n redirectUrl?: string,\n additionalScopes?: string[],\n): UseSlackAuthOutput {\n const knock = useKnockClient();\n const { setConnectionStatus, knockSlackChannelId,
|
|
1
|
+
{"version":3,"file":"useSlackAuth.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackAuth.ts"],"sourcesContent":["import { useKnockSlackClient } from \"..\";\nimport { TENANT_OBJECT_COLLECTION } from \"@knocklabs/client\";\nimport { useCallback } from \"react\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst SLACK_AUTHORIZE_URL = \"https://slack.com/oauth/v2/authorize\";\nconst DEFAULT_SLACK_SCOPES = [\n \"chat:write\",\n \"chat:write.public\",\n \"channels:read\",\n \"groups:read\",\n];\n\ntype UseSlackAuthOutput = {\n buildSlackAuthUrl: () => string;\n disconnectFromSlack: () => void;\n};\n\nfunction useSlackAuth(\n slackClientId: string,\n redirectUrl?: string,\n additionalScopes?: string[],\n): UseSlackAuthOutput {\n const knock = useKnockClient();\n const { setConnectionStatus, knockSlackChannelId, tenantId, setActionLabel } =\n useKnockSlackClient();\n\n const combinedScopes =\n additionalScopes && additionalScopes.length > 0\n ? Array.from(new Set(DEFAULT_SLACK_SCOPES.concat(additionalScopes)))\n : DEFAULT_SLACK_SCOPES;\n\n const disconnectFromSlack = useCallback(async () => {\n setActionLabel(null);\n setConnectionStatus(\"disconnecting\");\n try {\n const revoke = await knock.slack.revokeAccessToken({\n tenant: tenantId,\n knockChannelId: knockSlackChannelId,\n });\n\n if (revoke === \"ok\") {\n setConnectionStatus(\"disconnected\");\n } else {\n setConnectionStatus(\"error\");\n }\n } catch (_error) {\n setConnectionStatus(\"error\");\n }\n }, [\n setConnectionStatus,\n knock.slack,\n tenantId,\n knockSlackChannelId,\n setActionLabel,\n ]);\n\n const buildSlackAuthUrl = useCallback(() => {\n const rawParams = {\n state: JSON.stringify({\n redirect_url: redirectUrl,\n access_token_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockSlackChannelId,\n public_key: knock.apiKey,\n user_token: knock.userToken,\n }),\n client_id: slackClientId,\n scope: combinedScopes.join(\",\"),\n };\n return `${SLACK_AUTHORIZE_URL}?${new URLSearchParams(rawParams)}`;\n }, [\n redirectUrl,\n tenantId,\n knockSlackChannelId,\n knock.apiKey,\n knock.userToken,\n slackClientId,\n combinedScopes,\n ]);\n\n return {\n buildSlackAuthUrl,\n disconnectFromSlack,\n };\n}\n\nexport default useSlackAuth;\n"],"names":["SLACK_AUTHORIZE_URL","DEFAULT_SLACK_SCOPES","useSlackAuth","slackClientId","redirectUrl","additionalScopes","knock","useKnockClient","setConnectionStatus","knockSlackChannelId","tenantId","setActionLabel","useKnockSlackClient","combinedScopes","length","Array","from","Set","concat","disconnectFromSlack","useCallback","revoke","slack","revokeAccessToken","tenant","knockChannelId","buildSlackAuthUrl","rawParams","state","JSON","stringify","redirect_url","access_token_object","object_id","collection","TENANT_OBJECT_COLLECTION","channel_id","public_key","apiKey","user_token","userToken","client_id","scope","join","URLSearchParams"],"mappings":";;;;;;;;;AAMA,MAAMA,IAAsB,wCACtBC,IAAuB,CAC3B,cACA,qBACA,iBACA,aAAa;AAQf,SAASC,EACPC,GACAC,GACAC,GACoB;AACpB,QAAMC,IAAQC,KACR;AAAA,IAAEC,qBAAAA;AAAAA,IAAqBC,qBAAAA;AAAAA,IAAqBC,UAAAA;AAAAA,IAAUC,gBAAAA;AAAAA,MAC1DC,EAAoB,GAEhBC,IACJR,KAAoBA,EAAiBS,SAAS,IAC1CC,MAAMC,KAAK,IAAIC,IAAIhB,EAAqBiB,OAAOb,CAAgB,CAAC,CAAC,IACjEJ,GAEAkB,IAAsBC,EAAY,YAAY;AAClDT,IAAAA,EAAe,IAAI,GACnBH,EAAoB,eAAe;AAC/B,QAAA;AACF,YAAMa,IAAS,MAAMf,EAAMgB,MAAMC,kBAAkB;AAAA,QACjDC,QAAQd;AAAAA,QACRe,gBAAgBhB;AAAAA,MAAAA,CACjB;AAED,MACED,EADEa,MAAW,OACO,iBAEA,OAFc;AAAA,YAIrB;AACfb,MAAAA,EAAoB,OAAO;AAAA,IAC7B;AAAA,EAAA,GACC,CACDA,GACAF,EAAMgB,OACNZ,GACAD,GACAE,CAAc,CACf;AA4BM,SAAA;AAAA,IACLe,mBA3BwBN,EAAY,MAAM;AAC1C,YAAMO,IAAY;AAAA,QAChBC,OAAOC,KAAKC,UAAU;AAAA,UACpBC,cAAc3B;AAAAA,UACd4B,qBAAqB;AAAA,YACnBC,WAAWvB;AAAAA,YACXwB,YAAYC;AAAAA,UACd;AAAA,UACAC,YAAY3B;AAAAA,UACZ4B,YAAY/B,EAAMgC;AAAAA,UAClBC,YAAYjC,EAAMkC;AAAAA,QAAAA,CACnB;AAAA,QACDC,WAAWtC;AAAAA,QACXuC,OAAO7B,EAAe8B,KAAK,GAAG;AAAA,MAAA;AAEhC,aAAO,GAAG3C,CAAmB,IAAI,IAAI4C,gBAAgBjB,CAAS,CAAC;AAAA,IACjE,GAAG,CACDvB,GACAM,GACAD,GACAH,EAAMgC,QACNhC,EAAMkC,WACNrC,GACAU,CAAc,CACf;AAAA,IAICM,qBAAAA;AAAAA,EAAAA;AAEJ;"}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { useKnockSlackClient as
|
|
2
|
-
import { useMemo as
|
|
1
|
+
import { useKnockSlackClient as I } from "../context/KnockSlackProvider.mjs";
|
|
2
|
+
import { useMemo as L, useEffect as N } from "react";
|
|
3
3
|
import "../../i18n/context/KnockI18nProvider.mjs";
|
|
4
|
-
import
|
|
5
|
-
import { useKnockClient as
|
|
4
|
+
import g from "swr/infinite";
|
|
5
|
+
import { useKnockClient as A } from "../../core/context/KnockProvider.mjs";
|
|
6
6
|
import "@knocklabs/client";
|
|
7
7
|
import "zustand/shallow";
|
|
8
8
|
import "date-fns";
|
|
9
|
+
import "swr";
|
|
9
10
|
const P = 1e3, K = 200, M = "private_channel,public_channel", u = "SLACK_CHANNELS";
|
|
10
11
|
function z(n, e) {
|
|
11
12
|
return n === 0 ? [u, ""] : e && ["", null].includes(e.next_cursor) ? null : [u, e.next_cursor ?? ""];
|
|
12
13
|
}
|
|
13
|
-
function
|
|
14
|
+
function W({
|
|
14
15
|
queryOptions: n
|
|
15
16
|
}) {
|
|
16
17
|
var C, _;
|
|
17
|
-
const e =
|
|
18
|
+
const e = A(), {
|
|
18
19
|
knockSlackChannelId: S,
|
|
19
|
-
|
|
20
|
+
tenantId: d,
|
|
20
21
|
connectionStatus: a
|
|
21
|
-
} =
|
|
22
|
+
} = I(), x = (c) => e.slack.getChannels({
|
|
22
23
|
tenant: d,
|
|
23
24
|
knockChannelId: S,
|
|
24
25
|
queryOptions: {
|
|
@@ -35,10 +36,10 @@ function V({
|
|
|
35
36
|
size: m,
|
|
36
37
|
setSize: f,
|
|
37
38
|
mutate: E
|
|
38
|
-
} =
|
|
39
|
+
} = g(z, x, {
|
|
39
40
|
initialSize: 0
|
|
40
|
-
}), r = (t == null ? void 0 : t.length) || 0, h = r === 0 || t && ((C = t[r]) == null ? void 0 : C.next_cursor) && ((_ = t[r]) == null ? void 0 : _.next_cursor) !== "", s =
|
|
41
|
-
return
|
|
41
|
+
}), r = (t == null ? void 0 : t.length) || 0, h = r === 0 || t && ((C = t[r]) == null ? void 0 : C.next_cursor) && ((_ = t[r]) == null ? void 0 : _.next_cursor) !== "", s = L(() => (t ?? []).flatMap((c) => c == null ? void 0 : c.slack_channels).filter((c) => !!c), [t]), k = (n == null ? void 0 : n.maxCount) || P;
|
|
42
|
+
return N(() => {
|
|
42
43
|
a === "connected" && !i && h && !l && !o && s.length < k && f(m + 1);
|
|
43
44
|
}, [s.length, f, m, h, l, o, k, i, a]), {
|
|
44
45
|
data: s,
|
|
@@ -47,6 +48,6 @@ function V({
|
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
export {
|
|
50
|
-
|
|
51
|
+
W as default
|
|
51
52
|
};
|
|
52
53
|
//# sourceMappingURL=useSlackChannels.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackChannels.ts"],"sourcesContent":["import { SlackChannelQueryOptions, useKnockSlackClient } from \"..\";\nimport { GetSlackChannelsResponse, SlackChannel } from \"@knocklabs/client\";\nimport { useEffect, useMemo } from \"react\";\nimport useSWRInfinite from \"swr/infinite\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst MAX_COUNT = 1000;\nconst LIMIT_PER_PAGE = 200;\nconst CHANNEL_TYPES = \"private_channel,public_channel\";\n\nconst QUERY_KEY = \"SLACK_CHANNELS\";\n\ntype UseSlackChannelsProps = {\n queryOptions?: SlackChannelQueryOptions;\n};\n\ntype UseSlackChannelOutput = {\n data: SlackChannel[];\n isLoading: boolean;\n refetch: () => void;\n};\n\ntype QueryKey = [key: string, cursor: string] | null;\n\nfunction getQueryKey(\n pageIndex: number,\n previousPageData: GetSlackChannelsResponse,\n): QueryKey {\n // First page so just pass empty\n if (pageIndex === 0) {\n return [QUERY_KEY, \"\"];\n }\n\n // If there's no more data then return an empty next cursor\n if (previousPageData && [\"\", null].includes(previousPageData.next_cursor)) {\n return null;\n }\n\n // Next cursor exists so pass it\n return [QUERY_KEY, previousPageData.next_cursor ?? \"\"];\n}\n\nfunction useSlackChannels({\n queryOptions,\n}: UseSlackChannelsProps): UseSlackChannelOutput {\n const knock = useKnockClient();\n const { knockSlackChannelId,
|
|
1
|
+
{"version":3,"file":"useSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackChannels.ts"],"sourcesContent":["import { SlackChannelQueryOptions, useKnockSlackClient } from \"..\";\nimport { GetSlackChannelsResponse, SlackChannel } from \"@knocklabs/client\";\nimport { useEffect, useMemo } from \"react\";\nimport useSWRInfinite from \"swr/infinite\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst MAX_COUNT = 1000;\nconst LIMIT_PER_PAGE = 200;\nconst CHANNEL_TYPES = \"private_channel,public_channel\";\n\nconst QUERY_KEY = \"SLACK_CHANNELS\";\n\ntype UseSlackChannelsProps = {\n queryOptions?: SlackChannelQueryOptions;\n};\n\ntype UseSlackChannelOutput = {\n data: SlackChannel[];\n isLoading: boolean;\n refetch: () => void;\n};\n\ntype QueryKey = [key: string, cursor: string] | null;\n\nfunction getQueryKey(\n pageIndex: number,\n previousPageData: GetSlackChannelsResponse,\n): QueryKey {\n // First page so just pass empty\n if (pageIndex === 0) {\n return [QUERY_KEY, \"\"];\n }\n\n // If there's no more data then return an empty next cursor\n if (previousPageData && [\"\", null].includes(previousPageData.next_cursor)) {\n return null;\n }\n\n // Next cursor exists so pass it\n return [QUERY_KEY, previousPageData.next_cursor ?? \"\"];\n}\n\nfunction useSlackChannels({\n queryOptions,\n}: UseSlackChannelsProps): UseSlackChannelOutput {\n const knock = useKnockClient();\n const { knockSlackChannelId, tenantId, connectionStatus } =\n useKnockSlackClient();\n\n const fetchChannels = (queryKey: QueryKey) => {\n return knock.slack.getChannels({\n tenant: tenantId,\n knockChannelId: knockSlackChannelId,\n queryOptions: {\n ...queryOptions,\n cursor: queryKey ? queryKey[1] : \"\",\n limit: queryOptions?.limitPerPage || LIMIT_PER_PAGE,\n types: queryOptions?.types || CHANNEL_TYPES,\n },\n });\n };\n\n const { data, error, isLoading, isValidating, size, setSize, mutate } =\n useSWRInfinite<GetSlackChannelsResponse>(getQueryKey, fetchChannels, {\n initialSize: 0,\n });\n\n const currentPage = data?.length || 0;\n\n const hasNextPage =\n currentPage === 0 ||\n (data &&\n data[currentPage]?.next_cursor &&\n data[currentPage]?.next_cursor !== \"\");\n\n const slackChannels: SlackChannel[] = useMemo(\n () =>\n (data ?? [])\n .flatMap((page) => page?.slack_channels)\n .filter((channel) => !!channel),\n [data],\n );\n\n const maxCount = queryOptions?.maxCount || MAX_COUNT;\n\n useEffect(() => {\n if (\n connectionStatus === \"connected\" &&\n !error &&\n hasNextPage &&\n !isLoading &&\n !isValidating &&\n slackChannels.length < maxCount\n ) {\n // Fetch a page at a time until we have nothing else left to fetch\n // or we've already hit the max amount of channels to fetch\n setSize(size + 1);\n }\n }, [\n slackChannels.length,\n setSize,\n size,\n hasNextPage,\n isLoading,\n isValidating,\n maxCount,\n error,\n connectionStatus,\n ]);\n\n return {\n data: slackChannels,\n isLoading: isLoading || isValidating,\n refetch: () => mutate(),\n };\n}\n\nexport default useSlackChannels;\n"],"names":["MAX_COUNT","LIMIT_PER_PAGE","CHANNEL_TYPES","QUERY_KEY","getQueryKey","pageIndex","previousPageData","includes","next_cursor","useSlackChannels","queryOptions","knock","useKnockClient","knockSlackChannelId","tenantId","connectionStatus","useKnockSlackClient","fetchChannels","queryKey","slack","getChannels","tenant","knockChannelId","cursor","limit","limitPerPage","types","data","error","isLoading","isValidating","size","setSize","mutate","useSWRInfinite","initialSize","currentPage","length","hasNextPage","slackChannels","useMemo","flatMap","page","slack_channels","filter","channel","maxCount","useEffect","refetch"],"mappings":";;;;;;;;;AAOA,MAAMA,IAAY,KACZC,IAAiB,KACjBC,IAAgB,kCAEhBC,IAAY;AAclB,SAASC,EACPC,GACAC,GACU;AAEV,SAAID,MAAc,IACT,CAACF,GAAW,EAAE,IAInBG,KAAoB,CAAC,IAAI,IAAI,EAAEC,SAASD,EAAiBE,WAAW,IAC/D,OAIF,CAACL,GAAWG,EAAiBE,eAAe,EAAE;AACvD;AAEA,SAASC,EAAiB;AAAA,EACxBC,cAAAA;AACqB,GAA0B;;AAC/C,QAAMC,IAAQC,KACR;AAAA,IAAEC,qBAAAA;AAAAA,IAAqBC,UAAAA;AAAAA,IAAUC,kBAAAA;AAAAA,MACrCC,EAAoB,GAEhBC,IAAgBA,CAACC,MACdP,EAAMQ,MAAMC,YAAY;AAAA,IAC7BC,QAAQP;AAAAA,IACRQ,gBAAgBT;AAAAA,IAChBH,cAAc;AAAA,MACZ,GAAGA;AAAAA,MACHa,QAAQL,IAAWA,EAAS,CAAC,IAAI;AAAA,MACjCM,QAAOd,KAAAA,gBAAAA,EAAce,iBAAgBxB;AAAAA,MACrCyB,QAAOhB,KAAAA,gBAAAA,EAAcgB,UAASxB;AAAAA,IAChC;AAAA,EAAA,CACD,GAGG;AAAA,IAAEyB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,WAAAA;AAAAA,IAAWC,cAAAA;AAAAA,IAAcC,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAC3DC,EAAyC9B,GAAaa,GAAe;AAAA,IACnEkB,aAAa;AAAA,EAAA,CACd,GAEGC,KAAcT,KAAAA,gBAAAA,EAAMU,WAAU,GAE9BC,IACJF,MAAgB,KACfT,OACCA,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBnB,kBACnBmB,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBnB,iBAAgB,IAEjC+B,IAAgCC,EACpC,OACGb,KAAQ,IACNc,QAASC,CAASA,MAAAA,KAAAA,gBAAAA,EAAMC,cAAc,EACtCC,OAAQC,OAAY,CAAC,CAACA,CAAO,GAClC,CAAClB,CAAI,CACP,GAEMmB,KAAWpC,KAAAA,gBAAAA,EAAcoC,aAAY9C;AAE3C+C,SAAAA,EAAU,MAAM;AAEZhC,IAAAA,MAAqB,eACrB,CAACa,KACDU,KACA,CAACT,KACD,CAACC,KACDS,EAAcF,SAASS,KAIvBd,EAAQD,IAAO,CAAC;AAAA,EAEjB,GAAA,CACDQ,EAAcF,QACdL,GACAD,GACAO,GACAT,GACAC,GACAgB,GACAlB,GACAb,CAAgB,CACjB,GAEM;AAAA,IACLY,MAAMY;AAAAA,IACNV,WAAWA,KAAaC;AAAAA,IACxBkB,SAASA,MAAMf,EAAO;AAAA,EAAA;AAE1B;"}
|
|
@@ -8,10 +8,10 @@ const C = (o) => {
|
|
|
8
8
|
function y(o, e, c) {
|
|
9
9
|
const {
|
|
10
10
|
t: a
|
|
11
|
-
} = A(), [r, n] = s("connecting"), [
|
|
11
|
+
} = A(), [r, n] = s("connecting"), [b, i] = s(null), [d, m] = s(null);
|
|
12
12
|
return g(() => {
|
|
13
13
|
(async () => {
|
|
14
|
-
var u, l, f, k, S,
|
|
14
|
+
var u, l, f, k, S, h, p;
|
|
15
15
|
if (r === "connecting")
|
|
16
16
|
try {
|
|
17
17
|
const t = await o.slack.authCheck({
|
|
@@ -22,8 +22,8 @@ function y(o, e, c) {
|
|
|
22
22
|
return n("connected");
|
|
23
23
|
if (!((l = t.connection) != null && l.ok) || t.code === "ERR_BAD_REQUEST" && ((k = (f = t.response) == null ? void 0 : f.data) == null ? void 0 : k.message) === a("slackAccessTokenNotSet"))
|
|
24
24
|
return n("disconnected");
|
|
25
|
-
if (!((S = t.connection) != null && S.ok) && ((
|
|
26
|
-
const E = C((
|
|
25
|
+
if (!((S = t.connection) != null && S.ok) && ((h = t.connection) != null && h.error)) {
|
|
26
|
+
const E = C((p = t.connection) == null ? void 0 : p.error);
|
|
27
27
|
i(E), n("error");
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
@@ -35,9 +35,9 @@ function y(o, e, c) {
|
|
|
35
35
|
}, [r, c, e, o.slack, a]), {
|
|
36
36
|
connectionStatus: r,
|
|
37
37
|
setConnectionStatus: n,
|
|
38
|
-
errorLabel:
|
|
38
|
+
errorLabel: b,
|
|
39
39
|
setErrorLabel: i,
|
|
40
|
-
actionLabel:
|
|
40
|
+
actionLabel: d,
|
|
41
41
|
setActionLabel: m
|
|
42
42
|
};
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSlackConnectionStatus.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"sourcesContent":["import Knock from \"@knocklabs/client\";\nimport { useEffect, useState } from \"react\";\n\nimport { useTranslations } from \"../../i18n\";\n\nexport type ConnectionStatus =\n | \"connecting\"\n | \"connected\"\n | \"disconnected\"\n | \"error\"\n | \"disconnecting\";\n\ntype UseSlackConnectionStatusOutput = {\n connectionStatus: ConnectionStatus;\n setConnectionStatus: (status: ConnectionStatus) => void;\n errorLabel: string | null;\n setErrorLabel: (errorLabel: string) => void;\n actionLabel: string | null;\n setActionLabel: (actionLabel: string | null) => void;\n};\n\n/**\n * Transforms a slack error message into\n * a formatted one. Slack error messages: https://api.slack.com/methods/auth.test#errors\n *\n * Ex.: \"account_inactive\" -> \"Account inactive\"\n */\nconst formatSlackErrorMessage = (errorMessage: string) => {\n const firstLetter = errorMessage.substring(0, 1).toUpperCase();\n const rest = errorMessage.substring(1);\n return firstLetter?.concat(rest).replace(\"_\", \" \");\n};\n\nfunction useSlackConnectionStatus(\n knock: Knock,\n knockSlackChannelId: string,\n
|
|
1
|
+
{"version":3,"file":"useSlackConnectionStatus.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"sourcesContent":["import Knock from \"@knocklabs/client\";\nimport { useEffect, useState } from \"react\";\n\nimport { useTranslations } from \"../../i18n\";\n\nexport type ConnectionStatus =\n | \"connecting\"\n | \"connected\"\n | \"disconnected\"\n | \"error\"\n | \"disconnecting\";\n\ntype UseSlackConnectionStatusOutput = {\n connectionStatus: ConnectionStatus;\n setConnectionStatus: (status: ConnectionStatus) => void;\n errorLabel: string | null;\n setErrorLabel: (errorLabel: string) => void;\n actionLabel: string | null;\n setActionLabel: (actionLabel: string | null) => void;\n};\n\n/**\n * Transforms a slack error message into\n * a formatted one. Slack error messages: https://api.slack.com/methods/auth.test#errors\n *\n * Ex.: \"account_inactive\" -> \"Account inactive\"\n */\nconst formatSlackErrorMessage = (errorMessage: string) => {\n const firstLetter = errorMessage.substring(0, 1).toUpperCase();\n const rest = errorMessage.substring(1);\n return firstLetter?.concat(rest).replace(\"_\", \" \");\n};\n\nfunction useSlackConnectionStatus(\n knock: Knock,\n knockSlackChannelId: string,\n tenantId: string,\n): UseSlackConnectionStatusOutput {\n const { t } = useTranslations();\n const [connectionStatus, setConnectionStatus] =\n useState<ConnectionStatus>(\"connecting\");\n const [errorLabel, setErrorLabel] = useState<string | null>(null);\n const [actionLabel, setActionLabel] = useState<string | null>(null);\n\n useEffect(() => {\n const checkAuthStatus = async () => {\n if (connectionStatus !== \"connecting\") return;\n\n try {\n const authRes = await knock.slack.authCheck({\n tenant: tenantId,\n knockChannelId: knockSlackChannelId,\n });\n\n if (authRes.connection?.ok) {\n return setConnectionStatus(\"connected\");\n }\n\n if (!authRes.connection?.ok) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is a normal response for a tenant that doesn't have an access\n // token set on it, meaning it's not connected to Slack, so we\n // give it a \"disconnected\" status instead of an error status.\n if (\n authRes.code === \"ERR_BAD_REQUEST\" &&\n authRes.response?.data?.message === t(\"slackAccessTokenNotSet\")\n ) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is for an error coming directly from Slack.\n if (!authRes.connection?.ok && authRes.connection?.error) {\n const errorLabel = formatSlackErrorMessage(authRes.connection?.error);\n setErrorLabel(errorLabel);\n setConnectionStatus(\"error\");\n return;\n }\n\n // This is for any Knock errors that would require a reconnect.\n\n setConnectionStatus(\"error\");\n } catch (_error) {\n setConnectionStatus(\"error\");\n }\n };\n\n checkAuthStatus();\n }, [connectionStatus, tenantId, knockSlackChannelId, knock.slack, t]);\n\n return {\n connectionStatus,\n setConnectionStatus,\n errorLabel,\n setErrorLabel,\n actionLabel,\n setActionLabel,\n };\n}\n\nexport default useSlackConnectionStatus;\n"],"names":["formatSlackErrorMessage","errorMessage","firstLetter","substring","toUpperCase","rest","concat","replace","useSlackConnectionStatus","knock","knockSlackChannelId","tenantId","t","useTranslations","connectionStatus","setConnectionStatus","useState","errorLabel","setErrorLabel","actionLabel","setActionLabel","useEffect","authRes","slack","authCheck","tenant","knockChannelId","connection","ok","code","response","data","message","error"],"mappings":";;;AA2BA,MAAMA,IAA0BA,CAACC,MAAyB;AACxD,QAAMC,IAAcD,EAAaE,UAAU,GAAG,CAAC,EAAEC,eAC3CC,IAAOJ,EAAaE,UAAU,CAAC;AACrC,SAAOD,KAAAA,gBAAAA,EAAaI,OAAOD,GAAME,QAAQ,KAAK;AAChD;AAEA,SAASC,EACPC,GACAC,GACAC,GACgC;AAC1B,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxB,CAACC,GAAkBC,CAAmB,IAC1CC,EAA2B,YAAY,GACnC,CAACC,GAAYC,CAAa,IAAIF,EAAwB,IAAI,GAC1D,CAACG,GAAaC,CAAc,IAAIJ,EAAwB,IAAI;AAElEK,SAAAA,EAAU,MAAM;AA4CE,KA3CQ,YAAY;;AAClC,UAAIP,MAAqB;AAErB,YAAA;AACF,gBAAMQ,IAAU,MAAMb,EAAMc,MAAMC,UAAU;AAAA,YAC1CC,QAAQd;AAAAA,YACRe,gBAAgBhB;AAAAA,UAAAA,CACjB;AAEGY,eAAAA,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM;AACtB,mBAAOb,EAAoB,WAAW;AAWtCO,cARE,GAACA,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM,OAQvBN,EAAQO,SAAS,uBACjBP,KAAAA,IAAAA,EAAQQ,aAARR,gBAAAA,EAAkBS,SAAlBT,gBAAAA,EAAwBU,aAAYpB,EAAE,wBAAwB;AAE9D,mBAAOG,EAAoB,cAAc;AAI3C,cAAI,GAACO,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM,SAAMN,IAAAA,EAAQK,eAARL,QAAAA,EAAoBW,QAAO;AACxD,kBAAMhB,IAAajB,GAAwBsB,IAAAA,EAAQK,eAARL,gBAAAA,EAAoBW,KAAK;AACpEf,YAAAA,EAAcD,CAAU,GACxBF,EAAoB,OAAO;AAC3B;AAAA,UACF;AAIAA,UAAAA,EAAoB,OAAO;AAAA,gBACZ;AACfA,UAAAA,EAAoB,OAAO;AAAA,QAC7B;AAAA,IAAA;EAGc,GACf,CAACD,GAAkBH,GAAUD,GAAqBD,EAAMc,OAAOX,CAAC,CAAC,GAE7D;AAAA,IACLE,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAE,YAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,gBAAAA;AAAAA,EAAAA;AAEJ;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -8,9 +8,9 @@ export declare function formatTimestamp(ts: string, options?: FormatTimestampOpt
|
|
|
8
8
|
export declare function toSentenceCase(string: string): string;
|
|
9
9
|
export declare function renderNodeOrFallback(node: ReactNode, fallback: ReactNode): ReactNode;
|
|
10
10
|
export declare function feedProviderKey(userId: Knock["userId"], feedId: string, options?: FeedClientOptions): string;
|
|
11
|
-
export declare function slackProviderKey({ knockSlackChannelId,
|
|
11
|
+
export declare function slackProviderKey({ knockSlackChannelId, tenantId, connectionStatus, errorLabel, }: {
|
|
12
12
|
knockSlackChannelId: string;
|
|
13
|
-
|
|
13
|
+
tenantId: string;
|
|
14
14
|
connectionStatus: string;
|
|
15
15
|
errorLabel: string | null;
|
|
16
16
|
}): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE/D;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAA2B,UAYrC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,aAExE;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,UAYhC;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE/D;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAA2B,UAYrC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,aAExE;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,UAYhC;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,QAAA,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,QAAA,MAAM,EAAE,EAAE,WAqDT,CAAC;AAEF,eAAe,EAAE,CAAC"}
|
|
@@ -10,9 +10,12 @@ export interface Translations {
|
|
|
10
10
|
readonly unread: string;
|
|
11
11
|
readonly read: string;
|
|
12
12
|
readonly unseen: string;
|
|
13
|
+
readonly msTeamsChannelSetError: string;
|
|
13
14
|
readonly msTeamsConnect: string;
|
|
14
15
|
readonly msTeamsConnected: string;
|
|
15
16
|
readonly msTeamsConnecting: string;
|
|
17
|
+
readonly msTeamsConnectionErrorExists: string;
|
|
18
|
+
readonly msTeamsConnectionErrorOccurred: string;
|
|
16
19
|
readonly msTeamsConnectContainerDescription: string;
|
|
17
20
|
readonly msTeamsDisconnect: string;
|
|
18
21
|
readonly msTeamsDisconnecting: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,OAAO;;;CAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,OAAO;;;CAAa,CAAC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { default as useMsTeamsConnectionStatus } from './useMsTeamsConnectionStatus';
|
|
2
2
|
export { default as useMsTeamsAuth } from './useMsTeamsAuth';
|
|
3
|
+
export { default as useMsTeamsTeams } from './useMsTeamsTeams';
|
|
4
|
+
export { default as useMsTeamsChannels } from './useMsTeamsChannels';
|
|
5
|
+
export { default as useConnectedMsTeamsChannels } from './useConnectedMsTeamsChannels';
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MsTeamsChannelConnection } from '@knocklabs/client';
|
|
2
|
+
import { RecipientObject } from '../../..';
|
|
3
|
+
type UseConnectedMsTeamsChannelsProps = {
|
|
4
|
+
msTeamsChannelsRecipientObject: RecipientObject;
|
|
5
|
+
};
|
|
6
|
+
type UseConnectedMsTeamsChannelsOutput = {
|
|
7
|
+
data: MsTeamsChannelConnection[] | null;
|
|
8
|
+
updateConnectedChannels: (connectedChannels: MsTeamsChannelConnection[]) => Promise<void>;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
error: string | null;
|
|
11
|
+
updating: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare function useConnectedMsTeamsChannels({ msTeamsChannelsRecipientObject: { objectId, collection }, }: UseConnectedMsTeamsChannelsProps): UseConnectedMsTeamsChannelsOutput;
|
|
14
|
+
export default useConnectedMsTeamsChannels;
|
|
15
|
+
//# sourceMappingURL=useConnectedMsTeamsChannels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectedMsTeamsChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useConnectedMsTeamsChannels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAK7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,KAAK,gCAAgC,GAAG;IACtC,8BAA8B,EAAE,eAAe,CAAC;CACjD,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,IAAI,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,EAAE,CACvB,iBAAiB,EAAE,wBAAwB,EAAE,KAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,iBAAS,2BAA2B,CAAC,EACnC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GACzD,EAAE,gCAAgC,GAAG,iCAAiC,CAqEtE;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MsTeamsChannel } from '@knocklabs/client';
|
|
2
|
+
import { MsTeamsChannelQueryOptions } from '../interfaces';
|
|
3
|
+
type UseMsTeamsChannelsProps = {
|
|
4
|
+
teamId?: string;
|
|
5
|
+
queryOptions?: MsTeamsChannelQueryOptions;
|
|
6
|
+
};
|
|
7
|
+
type UseMsTeamsChannelsOutput = {
|
|
8
|
+
data: MsTeamsChannel[];
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
refetch: () => void;
|
|
11
|
+
};
|
|
12
|
+
declare function useMsTeamsChannels({ teamId, queryOptions, }: UseMsTeamsChannelsProps): UseMsTeamsChannelsOutput;
|
|
13
|
+
export default useMsTeamsChannels;
|
|
14
|
+
//# sourceMappingURL=useMsTeamsChannels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMsTeamsChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useMsTeamsChannels.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAI3D,KAAK,uBAAuB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,0BAA0B,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,YAAY,GACb,EAAE,uBAAuB,GAAG,wBAAwB,CA2BpD;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MsTeamsTeam } from '@knocklabs/client';
|
|
2
|
+
import { MsTeamsTeamQueryOptions } from '../interfaces';
|
|
3
|
+
type UseMsTeamsTeamsProps = {
|
|
4
|
+
queryOptions?: MsTeamsTeamQueryOptions;
|
|
5
|
+
};
|
|
6
|
+
type UseMsTeamsTeamsOutput = {
|
|
7
|
+
data: MsTeamsTeam[];
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
refetch: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare function useMsTeamsTeams({ queryOptions, }: UseMsTeamsTeamsProps): UseMsTeamsTeamsOutput;
|
|
12
|
+
export default useMsTeamsTeams;
|
|
13
|
+
//# sourceMappingURL=useMsTeamsTeams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMsTeamsTeams.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useMsTeamsTeams.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAMxD,KAAK,oBAAoB,GAAG;IAC1B,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAsBF,iBAAS,eAAe,CAAC,EACvB,YAAiB,GAClB,EAAE,oBAAoB,GAAG,qBAAqB,CAiE9C;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type MsTeamsTeamQueryOptions = {
|
|
2
|
+
maxCount?: number;
|
|
3
|
+
limitPerPage?: number;
|
|
4
|
+
filter?: string;
|
|
5
|
+
select?: string;
|
|
6
|
+
};
|
|
7
|
+
export type MsTeamsChannelQueryOptions = {
|
|
8
|
+
filter?: string;
|
|
9
|
+
select?: string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|