@knocklabs/client 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.11.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 2161d3f: Make id and displayName required in MsTeamsTeam and MsTeamsChannel types
8
+ - 2161d3f: Add `ms_teams_team_id` to MsTeamsChannelConnection type
9
+ - 1ba1393: add TeamsKit hooks for teams and channels
10
+ - b4b5c02: add getTeams and getChannels to MsTeamsClient
11
+
3
12
  ## 0.11.1
4
13
 
5
14
  ### Patch Changes
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var o=(s,e,t)=>e in s?c(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var a=(s,e,t)=>o(s,typeof e!="symbol"?e+"":e,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../objects/constants.js");class i{constructor(e){a(this,"instance");this.instance=e}async authCheck({tenant:e,knockChannelId:t}){const r=await this.instance.client().makeRequest({method:"GET",url:`/v1/providers/ms-teams/${t}/auth_check`,params:{ms_teams_tenant_object:{object_id:e,collection:n.TENANT_OBJECT_COLLECTION},channel_id:t}});return this.handleResponse(r)}async revokeAccessToken({tenant:e,knockChannelId:t}){const r=await this.instance.client().makeRequest({method:"PUT",url:`/v1/providers/ms-teams/${t}/revoke_access`,params:{ms_teams_tenant_object:{object_id:e,collection:n.TENANT_OBJECT_COLLECTION},channel_id:t}});return this.handleResponse(r)}handleResponse(e){var t,r;if(e.statusCode==="error"){if(((r=(t=e.error)==null?void 0:t.response)==null?void 0:r.status)<500)return e.error||e.body;throw new Error(e.error||e.body)}return e.body}}exports.default=i;
1
+ "use strict";var l=Object.defineProperty;var u=(n,e,t)=>e in n?l(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var c=(n,e,t)=>u(n,typeof e!="symbol"?e+"":e,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("../objects/constants.js");class m{constructor(e){c(this,"instance");this.instance=e}async authCheck({tenant:e,knockChannelId:t}){const s=await this.instance.client().makeRequest({method:"GET",url:`/v1/providers/ms-teams/${t}/auth_check`,params:{ms_teams_tenant_object:{object_id:e,collection:r.TENANT_OBJECT_COLLECTION},channel_id:t}});return this.handleResponse(s)}async getTeams(e){const{knockChannelId:t,tenant:s}=e,a=e.queryOptions||{},o=await this.instance.client().makeRequest({method:"GET",url:`/v1/providers/ms-teams/${t}/teams`,params:{ms_teams_tenant_object:{object_id:s,collection:r.TENANT_OBJECT_COLLECTION},query_options:{$filter:a.$filter,$select:a.$select,$top:a.$top,$skiptoken:a.$skiptoken}}});return this.handleResponse(o)}async getChannels(e){const{knockChannelId:t,teamId:s,tenant:a}=e,o=e.queryOptions||{},i=await this.instance.client().makeRequest({method:"GET",url:`/v1/providers/ms-teams/${t}/channels`,params:{ms_teams_tenant_object:{object_id:a,collection:r.TENANT_OBJECT_COLLECTION},team_id:s,query_options:{$filter:o.$filter,$select:o.$select}}});return this.handleResponse(i)}async revokeAccessToken({tenant:e,knockChannelId:t}){const s=await this.instance.client().makeRequest({method:"PUT",url:`/v1/providers/ms-teams/${t}/revoke_access`,params:{ms_teams_tenant_object:{object_id:e,collection:r.TENANT_OBJECT_COLLECTION},channel_id:t}});return this.handleResponse(s)}handleResponse(e){var t,s;if(e.statusCode==="error"){if(((s=(t=e.error)==null?void 0:t.response)==null?void 0:s.status)<500)return e.error||e.body;throw new Error(e.error||e.body)}return e.body}}exports.default=m;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/clients/ms-teams/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { AuthCheckInput, RevokeAccessTokenInput } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport { TENANT_OBJECT_COLLECTION } from \"../objects/constants\";\n\nclass MsTeamsClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async authCheck({ tenant: tenantId, knockChannelId }: AuthCheckInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/auth_check`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n async revokeAccessToken({\n tenant: tenantId,\n knockChannelId,\n }: RevokeAccessTokenInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/providers/ms-teams/${knockChannelId}/revoke_access`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body;\n }\n}\n\nexport default MsTeamsClient;\n"],"names":["MsTeamsClient","instance","__publicField","tenantId","knockChannelId","result","TENANT_OBJECT_COLLECTION","response","_b","_a"],"mappings":"2TAKA,MAAMA,CAAc,CAGlB,YAAYC,EAAiB,CAFrBC,EAAA,iBAGN,KAAK,SAAWD,CAClB,CAEA,MAAM,UAAU,CAAE,OAAQE,EAAU,eAAAC,GAAkC,CACpE,MAAMC,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,cAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,WAAYF,CACd,CAAA,CACD,EAEM,OAAA,KAAK,eAAeC,CAAM,CACnC,CAEA,MAAM,kBAAkB,CACtB,OAAQF,EACR,eAAAC,CAAA,EACyB,CACzB,MAAMC,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,iBAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,WAAYF,CACd,CAAA,CACD,EAEM,OAAA,KAAK,eAAeC,CAAM,CACnC,CAEQ,eAAeE,EAAuB,SACxC,GAAAA,EAAS,aAAe,QAAS,CACnC,KAAIC,GAAAC,EAAAF,EAAS,QAAT,YAAAE,EAAgB,WAAhB,YAAAD,EAA0B,QAAS,IAC9B,OAAAD,EAAS,OAASA,EAAS,KAEpC,MAAM,IAAI,MAAMA,EAAS,OAASA,EAAS,IAAI,CACjD,CAEA,OAAOA,EAAS,IAClB,CACF"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/clients/ms-teams/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { AuthCheckInput, RevokeAccessTokenInput } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport { TENANT_OBJECT_COLLECTION } from \"../objects/constants\";\n\nimport {\n GetMsTeamsChannelsInput,\n GetMsTeamsChannelsResponse,\n GetMsTeamsTeamsInput,\n GetMsTeamsTeamsResponse,\n} from \"./interfaces\";\n\nclass MsTeamsClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async authCheck({ tenant: tenantId, knockChannelId }: AuthCheckInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/auth_check`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n async getTeams(\n input: GetMsTeamsTeamsInput,\n ): Promise<GetMsTeamsTeamsResponse> {\n const { knockChannelId, tenant: tenantId } = input;\n const queryOptions = input.queryOptions || {};\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/teams`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n query_options: {\n $filter: queryOptions.$filter,\n $select: queryOptions.$select,\n $top: queryOptions.$top,\n $skiptoken: queryOptions.$skiptoken,\n },\n },\n });\n\n return this.handleResponse(result);\n }\n\n async getChannels(\n input: GetMsTeamsChannelsInput,\n ): Promise<GetMsTeamsChannelsResponse> {\n const { knockChannelId, teamId, tenant: tenantId } = input;\n const queryOptions = input.queryOptions || {};\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/channels`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n team_id: teamId,\n query_options: {\n $filter: queryOptions.$filter,\n $select: queryOptions.$select,\n },\n },\n });\n\n return this.handleResponse(result);\n }\n\n async revokeAccessToken({\n tenant: tenantId,\n knockChannelId,\n }: RevokeAccessTokenInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/providers/ms-teams/${knockChannelId}/revoke_access`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body;\n }\n}\n\nexport default MsTeamsClient;\n"],"names":["MsTeamsClient","instance","__publicField","tenantId","knockChannelId","result","TENANT_OBJECT_COLLECTION","input","queryOptions","teamId","response","_b","_a"],"mappings":"2TAYA,MAAMA,CAAc,CAGlB,YAAYC,EAAiB,CAFrBC,EAAA,iBAGN,KAAK,SAAWD,CAClB,CAEA,MAAM,UAAU,CAAE,OAAQE,EAAU,eAAAC,GAAkC,CACpE,MAAMC,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,cAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,WAAYF,CACd,CAAA,CACD,EAEM,OAAA,KAAK,eAAeC,CAAM,CACnC,CAEA,MAAM,SACJE,EACkC,CAClC,KAAM,CAAE,eAAAH,EAAgB,OAAQD,CAAA,EAAaI,EACvCC,EAAeD,EAAM,cAAgB,GAErCF,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,SAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,cAAe,CACb,QAASE,EAAa,QACtB,QAASA,EAAa,QACtB,KAAMA,EAAa,KACnB,WAAYA,EAAa,UAC3B,CACF,CAAA,CACD,EAEM,OAAA,KAAK,eAAeH,CAAM,CACnC,CAEA,MAAM,YACJE,EACqC,CACrC,KAAM,CAAE,eAAAH,EAAgB,OAAAK,EAAQ,OAAQN,GAAaI,EAC/CC,EAAeD,EAAM,cAAgB,GAErCF,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,YAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,QAASG,EACT,cAAe,CACb,QAASD,EAAa,QACtB,QAASA,EAAa,OACxB,CACF,CAAA,CACD,EAEM,OAAA,KAAK,eAAeH,CAAM,CACnC,CAEA,MAAM,kBAAkB,CACtB,OAAQF,EACR,eAAAC,CAAA,EACyB,CACzB,MAAMC,EAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY,CACtD,OAAQ,MACR,IAAK,0BAA0BD,CAAc,iBAC7C,OAAQ,CACN,uBAAwB,CACtB,UAAWD,EACX,WAAYG,EAAA,wBACd,EACA,WAAYF,CACd,CAAA,CACD,EAEM,OAAA,KAAK,eAAeC,CAAM,CACnC,CAEQ,eAAeK,EAAuB,SACxC,GAAAA,EAAS,aAAe,QAAS,CACnC,KAAIC,GAAAC,EAAAF,EAAS,QAAT,YAAAE,EAAgB,WAAhB,YAAAD,EAA0B,QAAS,IAC9B,OAAAD,EAAS,OAASA,EAAS,KAEpC,MAAM,IAAI,MAAMA,EAAS,OAASA,EAAS,IAAI,CACjD,CAEA,OAAOA,EAAS,IAClB,CACF"}
@@ -1,54 +1,91 @@
1
- var c = Object.defineProperty;
2
- var o = (s, t, e) => t in s ? c(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var r = (s, t, e) => o(s, typeof t != "symbol" ? t + "" : t, e);
4
- import { TENANT_OBJECT_COLLECTION as n } from "../objects/constants.mjs";
5
- class l {
6
- constructor(t) {
7
- r(this, "instance");
8
- this.instance = t;
1
+ var l = Object.defineProperty;
2
+ var m = (n, e, t) => e in n ? l(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var c = (n, e, t) => m(n, typeof e != "symbol" ? e + "" : e, t);
4
+ import { TENANT_OBJECT_COLLECTION as r } from "../objects/constants.mjs";
5
+ class h {
6
+ constructor(e) {
7
+ c(this, "instance");
8
+ this.instance = e;
9
9
  }
10
- async authCheck({ tenant: t, knockChannelId: e }) {
11
- const a = await this.instance.client().makeRequest({
10
+ async authCheck({ tenant: e, knockChannelId: t }) {
11
+ const s = await this.instance.client().makeRequest({
12
12
  method: "GET",
13
- url: `/v1/providers/ms-teams/${e}/auth_check`,
13
+ url: `/v1/providers/ms-teams/${t}/auth_check`,
14
14
  params: {
15
15
  ms_teams_tenant_object: {
16
- object_id: t,
17
- collection: n
16
+ object_id: e,
17
+ collection: r
18
18
  },
19
- channel_id: e
19
+ channel_id: t
20
20
  }
21
21
  });
22
- return this.handleResponse(a);
22
+ return this.handleResponse(s);
23
+ }
24
+ async getTeams(e) {
25
+ const { knockChannelId: t, tenant: s } = e, a = e.queryOptions || {}, o = await this.instance.client().makeRequest({
26
+ method: "GET",
27
+ url: `/v1/providers/ms-teams/${t}/teams`,
28
+ params: {
29
+ ms_teams_tenant_object: {
30
+ object_id: s,
31
+ collection: r
32
+ },
33
+ query_options: {
34
+ $filter: a.$filter,
35
+ $select: a.$select,
36
+ $top: a.$top,
37
+ $skiptoken: a.$skiptoken
38
+ }
39
+ }
40
+ });
41
+ return this.handleResponse(o);
42
+ }
43
+ async getChannels(e) {
44
+ const { knockChannelId: t, teamId: s, tenant: a } = e, o = e.queryOptions || {}, i = await this.instance.client().makeRequest({
45
+ method: "GET",
46
+ url: `/v1/providers/ms-teams/${t}/channels`,
47
+ params: {
48
+ ms_teams_tenant_object: {
49
+ object_id: a,
50
+ collection: r
51
+ },
52
+ team_id: s,
53
+ query_options: {
54
+ $filter: o.$filter,
55
+ $select: o.$select
56
+ }
57
+ }
58
+ });
59
+ return this.handleResponse(i);
23
60
  }
24
61
  async revokeAccessToken({
25
- tenant: t,
26
- knockChannelId: e
62
+ tenant: e,
63
+ knockChannelId: t
27
64
  }) {
28
- const a = await this.instance.client().makeRequest({
65
+ const s = await this.instance.client().makeRequest({
29
66
  method: "PUT",
30
- url: `/v1/providers/ms-teams/${e}/revoke_access`,
67
+ url: `/v1/providers/ms-teams/${t}/revoke_access`,
31
68
  params: {
32
69
  ms_teams_tenant_object: {
33
- object_id: t,
34
- collection: n
70
+ object_id: e,
71
+ collection: r
35
72
  },
36
- channel_id: e
73
+ channel_id: t
37
74
  }
38
75
  });
39
- return this.handleResponse(a);
76
+ return this.handleResponse(s);
40
77
  }
41
- handleResponse(t) {
42
- var e, a;
43
- if (t.statusCode === "error") {
44
- if (((a = (e = t.error) == null ? void 0 : e.response) == null ? void 0 : a.status) < 500)
45
- return t.error || t.body;
46
- throw new Error(t.error || t.body);
78
+ handleResponse(e) {
79
+ var t, s;
80
+ if (e.statusCode === "error") {
81
+ if (((s = (t = e.error) == null ? void 0 : t.response) == null ? void 0 : s.status) < 500)
82
+ return e.error || e.body;
83
+ throw new Error(e.error || e.body);
47
84
  }
48
- return t.body;
85
+ return e.body;
49
86
  }
50
87
  }
51
88
  export {
52
- l as default
89
+ h as default
53
90
  };
54
91
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../src/clients/ms-teams/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { AuthCheckInput, RevokeAccessTokenInput } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport { TENANT_OBJECT_COLLECTION } from \"../objects/constants\";\n\nclass MsTeamsClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async authCheck({ tenant: tenantId, knockChannelId }: AuthCheckInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/auth_check`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n async revokeAccessToken({\n tenant: tenantId,\n knockChannelId,\n }: RevokeAccessTokenInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/providers/ms-teams/${knockChannelId}/revoke_access`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body;\n }\n}\n\nexport default MsTeamsClient;\n"],"names":["MsTeamsClient","instance","__publicField","tenantId","knockChannelId","result","TENANT_OBJECT_COLLECTION","response","_b","_a"],"mappings":";;;;AAKA,MAAMA,EAAc;AAAA,EAGlB,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EAEA,MAAM,UAAU,EAAE,QAAQE,GAAU,gBAAAC,KAAkC;AACpE,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,YAAYF;AAAA,MACd;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeC,CAAM;AAAA,EACnC;AAAA,EAEA,MAAM,kBAAkB;AAAA,IACtB,QAAQF;AAAA,IACR,gBAAAC;AAAA,EAAA,GACyB;AACzB,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,YAAYF;AAAA,MACd;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeC,CAAM;AAAA,EACnC;AAAA,EAEQ,eAAeE,GAAuB;;AACxC,QAAAA,EAAS,eAAe,SAAS;AACnC,YAAIC,KAAAC,IAAAF,EAAS,UAAT,gBAAAE,EAAgB,aAAhB,gBAAAD,EAA0B,UAAS;AAC9B,eAAAD,EAAS,SAASA,EAAS;AAEpC,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAAA,IACjD;AAEA,WAAOA,EAAS;AAAA,EAClB;AACF;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/clients/ms-teams/index.ts"],"sourcesContent":["import { ApiResponse } from \"../../api\";\nimport { AuthCheckInput, RevokeAccessTokenInput } from \"../../interfaces\";\nimport Knock from \"../../knock\";\nimport { TENANT_OBJECT_COLLECTION } from \"../objects/constants\";\n\nimport {\n GetMsTeamsChannelsInput,\n GetMsTeamsChannelsResponse,\n GetMsTeamsTeamsInput,\n GetMsTeamsTeamsResponse,\n} from \"./interfaces\";\n\nclass MsTeamsClient {\n private instance: Knock;\n\n constructor(instance: Knock) {\n this.instance = instance;\n }\n\n async authCheck({ tenant: tenantId, knockChannelId }: AuthCheckInput) {\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/auth_check`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n async getTeams(\n input: GetMsTeamsTeamsInput,\n ): Promise<GetMsTeamsTeamsResponse> {\n const { knockChannelId, tenant: tenantId } = input;\n const queryOptions = input.queryOptions || {};\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/teams`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n query_options: {\n $filter: queryOptions.$filter,\n $select: queryOptions.$select,\n $top: queryOptions.$top,\n $skiptoken: queryOptions.$skiptoken,\n },\n },\n });\n\n return this.handleResponse(result);\n }\n\n async getChannels(\n input: GetMsTeamsChannelsInput,\n ): Promise<GetMsTeamsChannelsResponse> {\n const { knockChannelId, teamId, tenant: tenantId } = input;\n const queryOptions = input.queryOptions || {};\n\n const result = await this.instance.client().makeRequest({\n method: \"GET\",\n url: `/v1/providers/ms-teams/${knockChannelId}/channels`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n team_id: teamId,\n query_options: {\n $filter: queryOptions.$filter,\n $select: queryOptions.$select,\n },\n },\n });\n\n return this.handleResponse(result);\n }\n\n async revokeAccessToken({\n tenant: tenantId,\n knockChannelId,\n }: RevokeAccessTokenInput) {\n const result = await this.instance.client().makeRequest({\n method: \"PUT\",\n url: `/v1/providers/ms-teams/${knockChannelId}/revoke_access`,\n params: {\n ms_teams_tenant_object: {\n object_id: tenantId,\n collection: TENANT_OBJECT_COLLECTION,\n },\n channel_id: knockChannelId,\n },\n });\n\n return this.handleResponse(result);\n }\n\n private handleResponse(response: ApiResponse) {\n if (response.statusCode === \"error\") {\n if (response.error?.response?.status < 500) {\n return response.error || response.body;\n }\n throw new Error(response.error || response.body);\n }\n\n return response.body;\n }\n}\n\nexport default MsTeamsClient;\n"],"names":["MsTeamsClient","instance","__publicField","tenantId","knockChannelId","result","TENANT_OBJECT_COLLECTION","input","queryOptions","teamId","response","_b","_a"],"mappings":";;;;AAYA,MAAMA,EAAc;AAAA,EAGlB,YAAYC,GAAiB;AAFrB,IAAAC,EAAA;AAGN,SAAK,WAAWD;AAAA,EAClB;AAAA,EAEA,MAAM,UAAU,EAAE,QAAQE,GAAU,gBAAAC,KAAkC;AACpE,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,YAAYF;AAAA,MACd;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeC,CAAM;AAAA,EACnC;AAAA,EAEA,MAAM,SACJE,GACkC;AAClC,UAAM,EAAE,gBAAAH,GAAgB,QAAQD,EAAA,IAAaI,GACvCC,IAAeD,EAAM,gBAAgB,IAErCF,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,eAAe;AAAA,UACb,SAASE,EAAa;AAAA,UACtB,SAASA,EAAa;AAAA,UACtB,MAAMA,EAAa;AAAA,UACnB,YAAYA,EAAa;AAAA,QAC3B;AAAA,MACF;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeH,CAAM;AAAA,EACnC;AAAA,EAEA,MAAM,YACJE,GACqC;AACrC,UAAM,EAAE,gBAAAH,GAAgB,QAAAK,GAAQ,QAAQN,MAAaI,GAC/CC,IAAeD,EAAM,gBAAgB,IAErCF,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,SAASG;AAAA,QACT,eAAe;AAAA,UACb,SAASD,EAAa;AAAA,UACtB,SAASA,EAAa;AAAA,QACxB;AAAA,MACF;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeH,CAAM;AAAA,EACnC;AAAA,EAEA,MAAM,kBAAkB;AAAA,IACtB,QAAQF;AAAA,IACR,gBAAAC;AAAA,EAAA,GACyB;AACzB,UAAMC,IAAS,MAAM,KAAK,SAAS,OAAA,EAAS,YAAY;AAAA,MACtD,QAAQ;AAAA,MACR,KAAK,0BAA0BD,CAAc;AAAA,MAC7C,QAAQ;AAAA,QACN,wBAAwB;AAAA,UACtB,WAAWD;AAAA,UACX,YAAYG;AAAA,QACd;AAAA,QACA,YAAYF;AAAA,MACd;AAAA,IAAA,CACD;AAEM,WAAA,KAAK,eAAeC,CAAM;AAAA,EACnC;AAAA,EAEQ,eAAeK,GAAuB;;AACxC,QAAAA,EAAS,eAAe,SAAS;AACnC,YAAIC,KAAAC,IAAAF,EAAS,UAAT,gBAAAE,EAAgB,aAAhB,gBAAAD,EAA0B,UAAS;AAC9B,eAAAD,EAAS,SAASA,EAAS;AAEpC,YAAM,IAAI,MAAMA,EAAS,SAASA,EAAS,IAAI;AAAA,IACjD;AAEA,WAAOA,EAAS;AAAA,EAClB;AACF;"}
@@ -1,9 +1,12 @@
1
1
  import { AuthCheckInput, RevokeAccessTokenInput } from '../../interfaces';
2
2
  import { default as Knock } from '../../knock';
3
+ import { GetMsTeamsChannelsInput, GetMsTeamsChannelsResponse, GetMsTeamsTeamsInput, GetMsTeamsTeamsResponse } from './interfaces';
3
4
  declare class MsTeamsClient {
4
5
  private instance;
5
6
  constructor(instance: Knock);
6
7
  authCheck({ tenant: tenantId, knockChannelId }: AuthCheckInput): Promise<any>;
8
+ getTeams(input: GetMsTeamsTeamsInput): Promise<GetMsTeamsTeamsResponse>;
9
+ getChannels(input: GetMsTeamsChannelsInput): Promise<GetMsTeamsChannelsResponse>;
7
10
  revokeAccessToken({ tenant: tenantId, knockChannelId, }: RevokeAccessTokenInput): Promise<any>;
8
11
  private handleResponse;
9
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/ms-teams/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,MAAM,aAAa,CAAC;AAGhC,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAIrB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,cAAc;IAgB9D,iBAAiB,CAAC,EACtB,MAAM,EAAE,QAAQ,EAChB,cAAc,GACf,EAAE,sBAAsB;IAgBzB,OAAO,CAAC,cAAc;CAUvB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/clients/ms-teams/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,KAAK,MAAM,aAAa,CAAC;AAGhC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAEtB,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,KAAK;IAIrB,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,cAAc;IAgB9D,QAAQ,CACZ,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,uBAAuB,CAAC;IAwB7B,WAAW,CACf,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,0BAA0B,CAAC;IAuBhC,iBAAiB,CAAC,EACtB,MAAM,EAAE,QAAQ,EAChB,cAAc,GACf,EAAE,sBAAsB;IAgBzB,OAAO,CAAC,cAAc;CAUvB;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,49 @@
1
+ export type MsTeamsChannelConnection = {
2
+ ms_teams_tenant_id?: string;
3
+ ms_teams_team_id?: string;
4
+ ms_teams_channel_id?: string;
5
+ ms_teams_user_id?: null;
6
+ incoming_webhook?: {
7
+ url: string;
8
+ };
9
+ };
10
+ export type GetMsTeamsTeamsInput = {
11
+ tenant: string;
12
+ knockChannelId: string;
13
+ queryOptions?: {
14
+ $filter?: string;
15
+ $select?: string;
16
+ $top?: number;
17
+ $skiptoken?: string;
18
+ };
19
+ };
20
+ export type GetMsTeamsChannelsInput = {
21
+ tenant: string;
22
+ knockChannelId: string;
23
+ teamId: string;
24
+ queryOptions?: {
25
+ $filter?: string;
26
+ $select?: string;
27
+ };
28
+ };
29
+ export type GetMsTeamsTeamsResponse = {
30
+ ms_teams_teams: MsTeamsTeam[];
31
+ skip_token: string | null;
32
+ };
33
+ export type GetMsTeamsChannelsResponse = {
34
+ ms_teams_channels: MsTeamsChannel[];
35
+ };
36
+ export type MsTeamsTeam = {
37
+ id: string;
38
+ displayName: string;
39
+ description?: string;
40
+ };
41
+ export type MsTeamsChannel = {
42
+ id: string;
43
+ displayName: string;
44
+ description?: string;
45
+ membershipType?: string;
46
+ isArchived?: boolean;
47
+ createdDateTime?: string;
48
+ };
49
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/clients/ms-teams/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,iBAAiB,EAAE,cAAc,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}
@@ -9,6 +9,7 @@ export * from './clients/preferences/interfaces';
9
9
  export * from './clients/slack';
10
10
  export * from './clients/slack/interfaces';
11
11
  export * from './clients/ms-teams';
12
+ export * from './clients/ms-teams/interfaces';
12
13
  export * from './clients/users';
13
14
  export * from './clients/users/interfaces';
14
15
  export * from './clients/messages';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAEhC,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAEhC,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knocklabs/client",
3
- "version": "0.11.1",
3
+ "version": "0.11.2",
4
4
  "description": "The clientside library for interacting with Knock",
5
5
  "homepage": "https://github.com/knocklabs/javascript/tree/main/packages/client",
6
6
  "author": "@knocklabs",
@@ -53,7 +53,7 @@
53
53
  "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
54
54
  "@babel/plugin-transform-runtime": "^7.25.4",
55
55
  "@babel/preset-env": "^7.26.0",
56
- "@babel/preset-typescript": "^7.16.7",
56
+ "@babel/preset-typescript": "^7.26.0",
57
57
  "@types/jsonwebtoken": "^9.0.5",
58
58
  "@typescript-eslint/eslint-plugin": "^8.19.1",
59
59
  "@typescript-eslint/parser": "^8.16.0",
@@ -3,6 +3,13 @@ import { AuthCheckInput, RevokeAccessTokenInput } from "../../interfaces";
3
3
  import Knock from "../../knock";
4
4
  import { TENANT_OBJECT_COLLECTION } from "../objects/constants";
5
5
 
6
+ import {
7
+ GetMsTeamsChannelsInput,
8
+ GetMsTeamsChannelsResponse,
9
+ GetMsTeamsTeamsInput,
10
+ GetMsTeamsTeamsResponse,
11
+ } from "./interfaces";
12
+
6
13
  class MsTeamsClient {
7
14
  private instance: Knock;
8
15
 
@@ -26,6 +33,57 @@ class MsTeamsClient {
26
33
  return this.handleResponse(result);
27
34
  }
28
35
 
36
+ async getTeams(
37
+ input: GetMsTeamsTeamsInput,
38
+ ): Promise<GetMsTeamsTeamsResponse> {
39
+ const { knockChannelId, tenant: tenantId } = input;
40
+ const queryOptions = input.queryOptions || {};
41
+
42
+ const result = await this.instance.client().makeRequest({
43
+ method: "GET",
44
+ url: `/v1/providers/ms-teams/${knockChannelId}/teams`,
45
+ params: {
46
+ ms_teams_tenant_object: {
47
+ object_id: tenantId,
48
+ collection: TENANT_OBJECT_COLLECTION,
49
+ },
50
+ query_options: {
51
+ $filter: queryOptions.$filter,
52
+ $select: queryOptions.$select,
53
+ $top: queryOptions.$top,
54
+ $skiptoken: queryOptions.$skiptoken,
55
+ },
56
+ },
57
+ });
58
+
59
+ return this.handleResponse(result);
60
+ }
61
+
62
+ async getChannels(
63
+ input: GetMsTeamsChannelsInput,
64
+ ): Promise<GetMsTeamsChannelsResponse> {
65
+ const { knockChannelId, teamId, tenant: tenantId } = input;
66
+ const queryOptions = input.queryOptions || {};
67
+
68
+ const result = await this.instance.client().makeRequest({
69
+ method: "GET",
70
+ url: `/v1/providers/ms-teams/${knockChannelId}/channels`,
71
+ params: {
72
+ ms_teams_tenant_object: {
73
+ object_id: tenantId,
74
+ collection: TENANT_OBJECT_COLLECTION,
75
+ },
76
+ team_id: teamId,
77
+ query_options: {
78
+ $filter: queryOptions.$filter,
79
+ $select: queryOptions.$select,
80
+ },
81
+ },
82
+ });
83
+
84
+ return this.handleResponse(result);
85
+ }
86
+
29
87
  async revokeAccessToken({
30
88
  tenant: tenantId,
31
89
  knockChannelId,
@@ -0,0 +1,54 @@
1
+ export type MsTeamsChannelConnection = {
2
+ ms_teams_tenant_id?: string;
3
+ ms_teams_team_id?: string;
4
+ ms_teams_channel_id?: string;
5
+ ms_teams_user_id?: null;
6
+ incoming_webhook?: {
7
+ url: string;
8
+ };
9
+ };
10
+
11
+ export type GetMsTeamsTeamsInput = {
12
+ tenant: string;
13
+ knockChannelId: string;
14
+ queryOptions?: {
15
+ $filter?: string;
16
+ $select?: string;
17
+ $top?: number;
18
+ $skiptoken?: string;
19
+ };
20
+ };
21
+
22
+ export type GetMsTeamsChannelsInput = {
23
+ tenant: string;
24
+ knockChannelId: string;
25
+ teamId: string;
26
+ queryOptions?: {
27
+ $filter?: string;
28
+ $select?: string;
29
+ };
30
+ };
31
+
32
+ export type GetMsTeamsTeamsResponse = {
33
+ ms_teams_teams: MsTeamsTeam[];
34
+ skip_token: string | null;
35
+ };
36
+
37
+ export type GetMsTeamsChannelsResponse = {
38
+ ms_teams_channels: MsTeamsChannel[];
39
+ };
40
+
41
+ export type MsTeamsTeam = {
42
+ id: string;
43
+ displayName: string;
44
+ description?: string;
45
+ };
46
+
47
+ export type MsTeamsChannel = {
48
+ id: string;
49
+ displayName: string;
50
+ description?: string;
51
+ membershipType?: string;
52
+ isArchived?: boolean;
53
+ createdDateTime?: string;
54
+ };
package/src/index.ts CHANGED
@@ -10,6 +10,7 @@ export * from "./clients/preferences/interfaces";
10
10
  export * from "./clients/slack";
11
11
  export * from "./clients/slack/interfaces";
12
12
  export * from "./clients/ms-teams";
13
+ export * from "./clients/ms-teams/interfaces";
13
14
  export * from "./clients/users";
14
15
  export * from "./clients/users/interfaces";
15
16
  export * from "./clients/messages";