@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.
Files changed (104) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/modules/core/utils.js +1 -1
  4. package/dist/cjs/modules/core/utils.js.map +1 -1
  5. package/dist/cjs/modules/i18n/languages/en.js +1 -1
  6. package/dist/cjs/modules/i18n/languages/en.js.map +1 -1
  7. package/dist/cjs/modules/i18n/languages/index.js.map +1 -1
  8. package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js +1 -1
  9. package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js.map +1 -1
  10. package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js +2 -0
  11. package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js.map +1 -0
  12. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js +1 -1
  13. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js.map +1 -1
  14. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js +2 -0
  15. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js.map +1 -0
  16. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js +2 -0
  17. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js.map +1 -0
  18. package/dist/cjs/modules/slack/context/KnockSlackProvider.js +1 -1
  19. package/dist/cjs/modules/slack/context/KnockSlackProvider.js.map +1 -1
  20. package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js +1 -1
  21. package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js.map +1 -1
  22. package/dist/cjs/modules/slack/hooks/useSlackAuth.js +1 -1
  23. package/dist/cjs/modules/slack/hooks/useSlackAuth.js.map +1 -1
  24. package/dist/cjs/modules/slack/hooks/useSlackChannels.js +1 -1
  25. package/dist/cjs/modules/slack/hooks/useSlackChannels.js.map +1 -1
  26. package/dist/cjs/modules/slack/hooks/useSlackConnectionStatus.js.map +1 -1
  27. package/dist/esm/index.mjs +36 -30
  28. package/dist/esm/index.mjs.map +1 -1
  29. package/dist/esm/modules/core/utils.mjs +1 -1
  30. package/dist/esm/modules/core/utils.mjs.map +1 -1
  31. package/dist/esm/modules/i18n/languages/en.mjs +3 -0
  32. package/dist/esm/modules/i18n/languages/en.mjs.map +1 -1
  33. package/dist/esm/modules/i18n/languages/index.mjs.map +1 -1
  34. package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs +23 -20
  35. package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs.map +1 -1
  36. package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs +78 -0
  37. package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs.map +1 -0
  38. package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs +4 -2
  39. package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs.map +1 -1
  40. package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs +41 -0
  41. package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs.map +1 -0
  42. package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs +50 -0
  43. package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs.map +1 -0
  44. package/dist/esm/modules/slack/context/KnockSlackProvider.mjs +27 -25
  45. package/dist/esm/modules/slack/context/KnockSlackProvider.mjs.map +1 -1
  46. package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs +58 -41
  47. package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs.map +1 -1
  48. package/dist/esm/modules/slack/hooks/useSlackAuth.mjs +18 -17
  49. package/dist/esm/modules/slack/hooks/useSlackAuth.mjs.map +1 -1
  50. package/dist/esm/modules/slack/hooks/useSlackChannels.mjs +13 -12
  51. package/dist/esm/modules/slack/hooks/useSlackChannels.mjs.map +1 -1
  52. package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs +6 -6
  53. package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs.map +1 -1
  54. package/dist/types/index.d.ts +1 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/types/interfaces.d.ts +5 -0
  57. package/dist/types/interfaces.d.ts.map +1 -0
  58. package/dist/types/modules/core/utils.d.ts +2 -2
  59. package/dist/types/modules/core/utils.d.ts.map +1 -1
  60. package/dist/types/modules/i18n/languages/en.d.ts.map +1 -1
  61. package/dist/types/modules/i18n/languages/index.d.ts +3 -0
  62. package/dist/types/modules/i18n/languages/index.d.ts.map +1 -1
  63. package/dist/types/modules/ms-teams/hooks/index.d.ts +3 -0
  64. package/dist/types/modules/ms-teams/hooks/index.d.ts.map +1 -1
  65. package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts +15 -0
  66. package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts.map +1 -0
  67. package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts +14 -0
  68. package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts.map +1 -0
  69. package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts +13 -0
  70. package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts.map +1 -0
  71. package/dist/types/modules/ms-teams/index.d.ts +1 -0
  72. package/dist/types/modules/ms-teams/index.d.ts.map +1 -1
  73. package/dist/types/modules/ms-teams/interfaces.d.ts +11 -0
  74. package/dist/types/modules/ms-teams/interfaces.d.ts.map +1 -0
  75. package/dist/types/modules/slack/context/KnockSlackProvider.d.ts +12 -2
  76. package/dist/types/modules/slack/context/KnockSlackProvider.d.ts.map +1 -1
  77. package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts +6 -6
  78. package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts.map +1 -1
  79. package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts +1 -1
  80. package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts.map +1 -1
  81. package/dist/types/modules/slack/index.d.ts +1 -1
  82. package/dist/types/modules/slack/index.d.ts.map +1 -1
  83. package/dist/types/modules/slack/{constants.d.ts → interfaces.d.ts} +3 -5
  84. package/dist/types/modules/slack/interfaces.d.ts.map +1 -0
  85. package/package.json +3 -3
  86. package/src/index.ts +1 -0
  87. package/src/interfaces.ts +4 -0
  88. package/src/modules/core/utils.ts +3 -3
  89. package/src/modules/i18n/languages/en.ts +5 -0
  90. package/src/modules/i18n/languages/index.ts +3 -0
  91. package/src/modules/ms-teams/hooks/index.ts +3 -0
  92. package/src/modules/ms-teams/hooks/useConnectedMsTeamsChannels.ts +100 -0
  93. package/src/modules/ms-teams/hooks/useMsTeamsChannels.ts +53 -0
  94. package/src/modules/ms-teams/hooks/useMsTeamsTeams.ts +112 -0
  95. package/src/modules/ms-teams/index.ts +1 -0
  96. package/src/modules/ms-teams/interfaces.ts +11 -0
  97. package/src/modules/slack/context/KnockSlackProvider.tsx +25 -8
  98. package/src/modules/slack/hooks/useConnectedSlackChannels.ts +56 -61
  99. package/src/modules/slack/hooks/useSlackAuth.ts +5 -5
  100. package/src/modules/slack/hooks/useSlackChannels.ts +2 -2
  101. package/src/modules/slack/hooks/useSlackConnectionStatus.ts +3 -3
  102. package/src/modules/slack/index.ts +1 -1
  103. package/src/modules/slack/{constants.ts → interfaces.ts} +3 -4
  104. package/dist/types/modules/slack/constants.d.ts.map +0 -1
@@ -1,61 +1,78 @@
1
- import { useKnockSlackClient as b } from "../context/KnockSlackProvider.mjs";
2
- import { useState as t, useCallback as y, useEffect as E } from "react";
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 I } from "../../i18n/hooks/useTranslations.mjs";
4
+ import { useTranslations as g } from "../../i18n/hooks/useTranslations.mjs";
5
5
  import "swr/infinite";
6
- import { useKnockClient as j } from "../../core/context/KnockProvider.mjs";
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
- function _({
10
+ import D from "swr";
11
+ const N = "SLACK_CONNECTED_CHANNELS";
12
+ function j({
11
13
  slackChannelsRecipientObject: {
12
- objectId: e,
13
- collection: a
14
+ objectId: a,
15
+ collection: e
14
16
  }
15
17
  }) {
16
18
  const {
17
- t: g
18
- } = I(), o = j(), {
19
- connectionStatus: h,
20
- knockSlackChannelId: c
21
- } = b(), [s, l] = t(null), [i, d] = t(null), [r, C] = t(!1), [S, f] = t(!1), u = y(() => {
22
- C(!0), (async () => await o.objects.getChannelData({
23
- collection: a,
24
- objectId: e,
25
- channelId: c
26
- }))().then((n) => {
27
- var m, k;
28
- (m = n == null ? void 0 : n.data) != null && m.connections ? l((k = n == null ? void 0 : n.data) == null ? void 0 : k.connections) : l([]), d(null), C(!1);
29
- }).catch(() => {
30
- l([]), d(null), C(!1);
31
- });
32
- }, [a, o.objects, c, e]);
33
- return E(() => {
34
- h === "connected" && !s && !i && !r && u();
35
- }, [s, u, r, i, h]), {
36
- data: s,
37
- updateConnectedChannels: async (p) => {
38
- f(!0);
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 o.objects.setChannelData({
41
- objectId: e,
42
- collection: a,
43
- channelId: c,
50
+ await h(() => s.objects.setChannelData({
51
+ objectId: a,
52
+ collection: e,
53
+ channelId: o,
44
54
  data: {
45
- connections: p
55
+ connections: t
46
56
  }
47
- }), u();
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
- d(g("slackChannelSetError") || "");
66
+ c(u("slackChannelSetError") || "");
50
67
  }
51
- f(!1);
68
+ r(!1);
52
69
  },
53
- updating: S,
54
- loading: r,
55
- error: i
70
+ updating: C,
71
+ loading: k || f,
72
+ error: p
56
73
  };
57
74
  }
58
75
  export {
59
- _ as default
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 { ContainerObject, useKnockSlackClient } from \"..\";\nimport { SlackChannelConnection } from \"@knocklabs/client\";\nimport { useCallback, useEffect, useState } from \"react\";\n\nimport { useKnockClient } from \"../../core\";\nimport { useTranslations } from \"../../i18n\";\n\ntype UseSlackChannelsProps = {\n slackChannelsRecipientObject: ContainerObject;\n};\n\ntype UseSlackChannelOutput = {\n data: SlackChannelConnection[] | null;\n updateConnectedChannels: (\n connectedChannels: SlackChannelConnection[],\n ) => void;\n loading: boolean;\n error: string | null;\n updating: boolean;\n};\n\nfunction useConnectedSlackChannels({\n slackChannelsRecipientObject: { objectId, collection },\n}: UseSlackChannelsProps): UseSlackChannelOutput {\n const { t } = useTranslations();\n const knock = useKnockClient();\n const { connectionStatus, knockSlackChannelId } = useKnockSlackClient();\n const [connectedChannels, setConnectedChannels] = useState<\n null | SlackChannelConnection[]\n >(null);\n const [error, setError] = useState<string | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n\n const fetchAndSetConnectedChannels = useCallback(() => {\n setIsLoading(true);\n const getConnectedChannels = async () =>\n await knock.objects.getChannelData({\n collection,\n objectId,\n channelId: knockSlackChannelId,\n });\n\n getConnectedChannels()\n .then((res) => {\n if (res?.data?.connections) {\n setConnectedChannels(res?.data?.connections);\n } else {\n setConnectedChannels([]);\n }\n setError(null);\n setIsLoading(false);\n })\n .catch(() => {\n setConnectedChannels([]);\n setError(null);\n setIsLoading(false);\n });\n }, [collection, knock.objects, knockSlackChannelId, objectId]);\n\n useEffect(() => {\n if (\n connectionStatus === \"connected\" &&\n !connectedChannels &&\n !error &&\n !isLoading\n ) {\n fetchAndSetConnectedChannels();\n }\n }, [\n connectedChannels,\n fetchAndSetConnectedChannels,\n isLoading,\n error,\n connectionStatus,\n ]);\n\n const updateConnectedChannels = async (\n channelsToSendToKnock: SlackChannelConnection[],\n ) => {\n setIsUpdating(true);\n try {\n await knock.objects.setChannelData({\n objectId,\n collection,\n channelId: knockSlackChannelId,\n data: { connections: channelsToSendToKnock },\n });\n fetchAndSetConnectedChannels();\n } catch (_error) {\n setError(t(\"slackChannelSetError\") || \"\");\n }\n setIsUpdating(false);\n };\n\n return {\n data: connectedChannels,\n updateConnectedChannels,\n updating: isUpdating,\n loading: isLoading,\n error,\n };\n}\n\nexport default useConnectedSlackChannels;\n"],"names":["useConnectedSlackChannels","slackChannelsRecipientObject","objectId","collection","t","useTranslations","knock","useKnockClient","connectionStatus","knockSlackChannelId","useKnockSlackClient","connectedChannels","setConnectedChannels","useState","error","setError","isLoading","setIsLoading","isUpdating","setIsUpdating","fetchAndSetConnectedChannels","useCallback","objects","getChannelData","channelId","then","res","data","connections","catch","useEffect","updateConnectedChannels","channelsToSendToKnock","setChannelData","updating","loading"],"mappings":";;;;;;;;;AAqBA,SAASA,EAA0B;AAAA,EACjCC,8BAA8B;AAAA,IAAEC,UAAAA;AAAAA,IAAUC,YAAAA;AAAAA,EAAW;AAChC,GAA0B;AACzC,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxBC,IAAQC,KACR;AAAA,IAAEC,kBAAAA;AAAAA,IAAkBC,qBAAAA;AAAAA,MAAwBC,EAAoB,GAChE,CAACC,GAAmBC,CAAoB,IAAIC,EAEhD,IAAI,GACA,CAACC,GAAOC,CAAQ,IAAIF,EAAwB,IAAI,GAChD,CAACG,GAAWC,CAAY,IAAIJ,EAAS,EAAK,GAC1C,CAACK,GAAYC,CAAa,IAAIN,EAAS,EAAK,GAE5CO,IAA+BC,EAAY,MAAM;AACrDJ,IAAAA,EAAa,EAAI,IACY,YAC3B,MAAMX,EAAMgB,QAAQC,eAAe;AAAA,MACjCpB,YAAAA;AAAAA,MACAD,UAAAA;AAAAA,MACAsB,WAAWf;AAAAA,IAAAA,CACZ,GAEkB,EAClBgB,KAAMC,CAAQA,MAAA;;AACTA,OAAAA,IAAAA,KAAAA,gBAAAA,EAAKC,SAALD,QAAAA,EAAWE,cACQF,GAAAA,IAAAA,KAAAA,gBAAAA,EAAKC,SAALD,gBAAAA,EAAWE,WAAW,IAE3ChB,EAAqB,CAAE,CAAA,GAEzBG,EAAS,IAAI,GACbE,EAAa,EAAK;AAAA,IAAA,CACnB,EACAY,MAAM,MAAM;AACXjB,MAAAA,EAAqB,CAAE,CAAA,GACvBG,EAAS,IAAI,GACbE,EAAa,EAAK;AAAA,IAAA,CACnB;AAAA,EAAA,GACF,CAACd,GAAYG,EAAMgB,SAASb,GAAqBP,CAAQ,CAAC;AAE7D4B,SAAAA,EAAU,MAAM;AACd,IACEtB,MAAqB,eACrB,CAACG,KACD,CAACG,KACD,CAACE,KAE4BI;EAC/B,GACC,CACDT,GACAS,GACAJ,GACAF,GACAN,CAAgB,CACjB,GAoBM;AAAA,IACLmB,MAAMhB;AAAAA,IACNoB,yBApB8B,OAC9BC,MACG;AACHb,MAAAA,EAAc,EAAI;AACd,UAAA;AACIb,cAAAA,EAAMgB,QAAQW,eAAe;AAAA,UACjC/B,UAAAA;AAAAA,UACAC,YAAAA;AAAAA,UACAqB,WAAWf;AAAAA,UACXkB,MAAM;AAAA,YAAEC,aAAaI;AAAAA,UAAsB;AAAA,QAAA,CAC5C,GAC4BZ;cACd;AACNhB,QAAAA,EAAAA,EAAE,sBAAsB,KAAK,EAAE;AAAA,MAC1C;AACAe,MAAAA,EAAc,EAAK;AAAA,IAAA;AAAA,IAMnBe,UAAUhB;AAAAA,IACViB,SAASnB;AAAAA,IACTF,OAAAA;AAAAA,EAAAA;AAEJ;"}
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 h } from "../context/KnockSlackProvider.mjs";
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 p } from "../../core/context/KnockProvider.mjs";
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 E(s, a, r) {
11
- const e = p(), {
11
+ function K(a, s, r) {
12
+ const e = h(), {
12
13
  setConnectionStatus: t,
13
14
  knockSlackChannelId: o,
14
- tenant: c,
15
+ tenantId: n,
15
16
  setActionLabel: i
16
- } = h(), l = r && r.length > 0 ? Array.from(new Set(u.concat(r))) : u, m = k(async () => {
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 n = await e.slack.revokeAccessToken({
20
- tenant: c,
20
+ const c = await e.slack.revokeAccessToken({
21
+ tenant: n,
21
22
  knockChannelId: o
22
23
  });
23
- t(n === "ok" ? "disconnected" : "error");
24
+ t(c === "ok" ? "disconnected" : "error");
24
25
  } catch {
25
26
  t("error");
26
27
  }
27
- }, [t, e.slack, c, o, i]);
28
+ }, [t, e.slack, n, o, i]);
28
29
  return {
29
30
  buildSlackAuthUrl: k(() => {
30
- const n = {
31
+ const c = {
31
32
  state: JSON.stringify({
32
- redirect_url: a,
33
+ redirect_url: s,
33
34
  access_token_object: {
34
- object_id: c,
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: s,
42
+ client_id: a,
42
43
  scope: l.join(",")
43
44
  };
44
- return `${S}?${new URLSearchParams(n)}`;
45
- }, [a, c, o, e.apiKey, e.userToken, s, l]),
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
- E as default
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, tenant, 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,\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 tenant,\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: tenant,\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 tenant,\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","tenant","setActionLabel","useKnockSlackClient","combinedScopes","length","Array","from","Set","concat","disconnectFromSlack","useCallback","revoke","slack","revokeAccessToken","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,QAAAA;AAAAA,IAAQC,gBAAAA;AAAAA,MACxDC,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,QACjDb,QAAAA;AAAAA,QACAc,gBAAgBf;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,IACLc,mBA3BwBL,EAAY,MAAM;AAC1C,YAAMM,IAAY;AAAA,QAChBC,OAAOC,KAAKC,UAAU;AAAA,UACpBC,cAAc1B;AAAAA,UACd2B,qBAAqB;AAAA,YACnBC,WAAWtB;AAAAA,YACXuB,YAAYC;AAAAA,UACd;AAAA,UACAC,YAAY1B;AAAAA,UACZ2B,YAAY9B,EAAM+B;AAAAA,UAClBC,YAAYhC,EAAMiC;AAAAA,QAAAA,CACnB;AAAA,QACDC,WAAWrC;AAAAA,QACXsC,OAAO5B,EAAe6B,KAAK,GAAG;AAAA,MAAA;AAEhC,aAAO,GAAG1C,CAAmB,IAAI,IAAI2C,gBAAgBjB,CAAS,CAAC;AAAA,IACjE,GAAG,CACDtB,GACAM,GACAD,GACAH,EAAM+B,QACN/B,EAAMiC,WACNpC,GACAU,CAAc,CACf;AAAA,IAICM,qBAAAA;AAAAA,EAAAA;AAEJ;"}
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 L } from "../context/KnockSlackProvider.mjs";
2
- import { useMemo as N, useEffect as g } from "react";
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 A from "swr/infinite";
5
- import { useKnockClient as I } from "../../core/context/KnockProvider.mjs";
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 V({
14
+ function W({
14
15
  queryOptions: n
15
16
  }) {
16
17
  var C, _;
17
- const e = I(), {
18
+ const e = A(), {
18
19
  knockSlackChannelId: S,
19
- tenant: d,
20
+ tenantId: d,
20
21
  connectionStatus: a
21
- } = L(), x = (c) => e.slack.getChannels({
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
- } = A(z, x, {
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 = N(() => (t ?? []).flatMap((c) => c == null ? void 0 : c.slack_channels).filter((c) => !!c), [t]), k = (n == null ? void 0 : n.maxCount) || P;
41
- return g(() => {
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
- V as default
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, tenant, connectionStatus } =\n useKnockSlackClient();\n\n const fetchChannels = (queryKey: QueryKey) => {\n return knock.slack.getChannels({\n tenant,\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","tenant","connectionStatus","useKnockSlackClient","fetchChannels","queryKey","slack","getChannels","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,QAAAA;AAAAA,IAAQC,kBAAAA;AAAAA,MACnCC,EAAoB,GAEhBC,IAAgBA,CAACC,MACdP,EAAMQ,MAAMC,YAAY;AAAA,IAC7BN,QAAAA;AAAAA,IACAO,gBAAgBR;AAAAA,IAChBH,cAAc;AAAA,MACZ,GAAGA;AAAAA,MACHY,QAAQJ,IAAWA,EAAS,CAAC,IAAI;AAAA,MACjCK,QAAOb,KAAAA,gBAAAA,EAAcc,iBAAgBvB;AAAAA,MACrCwB,QAAOf,KAAAA,gBAAAA,EAAce,UAASvB;AAAAA,IAChC;AAAA,EAAA,CACD,GAGG;AAAA,IAAEwB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,WAAAA;AAAAA,IAAWC,cAAAA;AAAAA,IAAcC,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAC3DC,EAAyC7B,GAAaa,GAAe;AAAA,IACnEiB,aAAa;AAAA,EAAA,CACd,GAEGC,KAAcT,KAAAA,gBAAAA,EAAMU,WAAU,GAE9BC,IACJF,MAAgB,KACfT,OACCA,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBlB,kBACnBkB,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBlB,iBAAgB,IAEjC8B,IAAgCC,EACpC,OACGb,KAAQ,IACNc,QAASC,CAASA,MAAAA,KAAAA,gBAAAA,EAAMC,cAAc,EACtCC,OAAQC,OAAY,CAAC,CAACA,CAAO,GAClC,CAAClB,CAAI,CACP,GAEMmB,KAAWnC,KAAAA,gBAAAA,EAAcmC,aAAY7C;AAE3C8C,SAAAA,EAAU,MAAM;AAEZ/B,IAAAA,MAAqB,eACrB,CAACY,KACDU,KACA,CAACT,KACD,CAACC,KACDS,EAAcF,SAASS,KAIvBd,EAAQD,IAAO,CAAC;AAAA,EAEjB,GAAA,CACDQ,EAAcF,QACdL,GACAD,GACAO,GACAT,GACAC,GACAgB,GACAlB,GACAZ,CAAgB,CACjB,GAEM;AAAA,IACLW,MAAMY;AAAAA,IACNV,WAAWA,KAAaC;AAAAA,IACxBkB,SAASA,MAAMf,EAAO;AAAA,EAAA;AAE1B;"}
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"), [p, i] = s(null), [b, m] = s(null);
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, d, h;
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) && ((d = t.connection) != null && d.error)) {
26
- const E = C((h = t.connection) == null ? void 0 : h.error);
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: p,
38
+ errorLabel: b,
39
39
  setErrorLabel: i,
40
- actionLabel: b,
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 tenant: 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,\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, tenant, 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","tenant","t","useTranslations","connectionStatus","setConnectionStatus","useState","errorLabel","setErrorLabel","actionLabel","setActionLabel","useEffect","authRes","slack","authCheck","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,YAC1Cb,QAAAA;AAAAA,YACAc,gBAAgBf;AAAAA,UAAAA,CACjB;AAEGY,eAAAA,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK;AACtB,mBAAOZ,EAAoB,WAAW;AAWtCO,cARE,GAACA,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK,OAQvBL,EAAQM,SAAS,uBACjBN,KAAAA,IAAAA,EAAQO,aAARP,gBAAAA,EAAkBQ,SAAlBR,gBAAAA,EAAwBS,aAAYnB,EAAE,wBAAwB;AAE9D,mBAAOG,EAAoB,cAAc;AAI3C,cAAI,GAACO,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK,SAAML,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBU,QAAO;AACxD,kBAAMf,IAAajB,GAAwBsB,IAAAA,EAAQI,eAARJ,gBAAAA,EAAoBU,KAAK;AACpEd,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,GAAQD,GAAqBD,EAAMc,OAAOX,CAAC,CAAC,GAE3D;AAAA,IACLE,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAE,YAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,gBAAAA;AAAAA,EAAAA;AAEJ;"}
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;"}
@@ -3,4 +3,5 @@ export * from './modules/feed';
3
3
  export * from './modules/ms-teams';
4
4
  export * from './modules/slack';
5
5
  export * from './modules/i18n';
6
+ export * from './interfaces';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export type RecipientObject = {
2
+ objectId: string;
3
+ collection: string;
4
+ };
5
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -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, tenant, connectionStatus, errorLabel, }: {
11
+ export declare function slackProviderKey({ knockSlackChannelId, tenantId, connectionStatus, errorLabel, }: {
12
12
  knockSlackChannelId: string;
13
- tenant: string;
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,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,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
+ {"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,WAgDT,CAAC;AAEF,eAAe,EAAE,CAAC"}
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,3 +1,4 @@
1
1
  export * from './context';
2
2
  export * from './hooks';
3
+ export * from './interfaces';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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"}