@orchesty/connector-zendesk 1.0.0 → 1.0.1

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 (66) hide show
  1. package/dist/package.json +4 -1
  2. package/package.json +4 -1
  3. package/CHANGELOG.md +0 -7
  4. package/coverage/clover.xml +0 -241
  5. package/coverage/coverage-final.json +0 -11
  6. package/coverage/lcov-report/base.css +0 -224
  7. package/coverage/lcov-report/block-navigation.js +0 -87
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +0 -161
  10. package/coverage/lcov-report/prettify.css +0 -1
  11. package/coverage/lcov-report/prettify.js +0 -2
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +0 -210
  14. package/coverage/lcov-report/src/Batch/ZendeskCreateWebhookConnector.ts.html +0 -373
  15. package/coverage/lcov-report/src/Batch/ZendeskDeleteWebhookConnector.ts.html +0 -202
  16. package/coverage/lcov-report/src/Batch/ZendeskListTicketsBatch.ts.html +0 -337
  17. package/coverage/lcov-report/src/Batch/ZendeskListUsersBatch.ts.html +0 -247
  18. package/coverage/lcov-report/src/Batch/index.html +0 -161
  19. package/coverage/lcov-report/src/Connector/ZendeskCreateTicketConnector.ts.html +0 -319
  20. package/coverage/lcov-report/src/Connector/ZendeskCreateTriggerConnector.ts.html +0 -226
  21. package/coverage/lcov-report/src/Connector/ZendeskCreateUserConnector.ts.html +0 -265
  22. package/coverage/lcov-report/src/Connector/ZendeskDeleteTriggerConnector.ts.html +0 -223
  23. package/coverage/lcov-report/src/Connector/index.html +0 -161
  24. package/coverage/lcov-report/src/ZendeskApplication.ts.html +0 -448
  25. package/coverage/lcov-report/src/index.html +0 -116
  26. package/coverage/lcov-report/test/dataProvider.ts.html +0 -307
  27. package/coverage/lcov-report/test/index.html +0 -116
  28. package/coverage/lcov.info +0 -389
  29. package/jest.config.js +0 -13
  30. package/src/Batch/ZendeskCreateWebhookConnector.ts +0 -96
  31. package/src/Batch/ZendeskDeleteWebhookConnector.ts +0 -39
  32. package/src/Batch/ZendeskListTicketsBatch.ts +0 -84
  33. package/src/Batch/ZendeskListUsersBatch.ts +0 -54
  34. package/src/Batch/__tests__/Data/ZendeskListTicketsBatch/1-mock.json +0 -57
  35. package/src/Batch/__tests__/Data/ZendeskListTicketsBatch/input.json +0 -6
  36. package/src/Batch/__tests__/Data/ZendeskListTicketsBatch/mock.json +0 -106
  37. package/src/Batch/__tests__/Data/ZendeskListTicketsBatch/output.json +0 -18
  38. package/src/Batch/__tests__/Data/ZendeskListTicketsBatch/output1.json +0 -12
  39. package/src/Batch/__tests__/Data/ZendeskListUsersBatch/input.json +0 -6
  40. package/src/Batch/__tests__/Data/ZendeskListUsersBatch/mock.json +0 -161
  41. package/src/Batch/__tests__/Data/ZendeskListUsersBatch/output.json +0 -19
  42. package/src/Batch/__tests__/ZendeskListTicketsBatch.ts +0 -17
  43. package/src/Batch/__tests__/ZendeskListUsersBatch.ts +0 -17
  44. package/src/Connector/ZendeskCreateTicketConnector.ts +0 -78
  45. package/src/Connector/ZendeskCreateTriggerConnector.ts +0 -47
  46. package/src/Connector/ZendeskCreateUserConnector.ts +0 -60
  47. package/src/Connector/ZendeskDeleteTriggerConnector.ts +0 -46
  48. package/src/Connector/__tests__/Data/ZendeskCreateTicketConnector/input.json +0 -14
  49. package/src/Connector/__tests__/Data/ZendeskCreateTicketConnector/mock.json +0 -194
  50. package/src/Connector/__tests__/Data/ZendeskCreateTicketConnector/output.json +0 -194
  51. package/src/Connector/__tests__/Data/ZendeskCreateTriggerConnector/input.json +0 -11
  52. package/src/Connector/__tests__/Data/ZendeskCreateTriggerConnector/mock.json +0 -31
  53. package/src/Connector/__tests__/Data/ZendeskCreateTriggerConnector/output.json +0 -29
  54. package/src/Connector/__tests__/Data/ZendeskCreateUserConnector/input.json +0 -25
  55. package/src/Connector/__tests__/Data/ZendeskCreateUserConnector/mock.json +0 -45
  56. package/src/Connector/__tests__/Data/ZendeskCreateUserConnector/output.json +0 -44
  57. package/src/Connector/__tests__/ZendeskCreateTicketConnector.ts +0 -17
  58. package/src/Connector/__tests__/ZendeskCreateTriggerConnector.ts +0 -17
  59. package/src/Connector/__tests__/ZendeskCreateUserConnector.ts +0 -17
  60. package/src/ZendeskApplication.ts +0 -121
  61. package/src/types/trigger.types.ts +0 -19
  62. package/src/types/webhook.types.ts +0 -20
  63. package/test/dataProvider.ts +0 -74
  64. package/tsconfig.json +0 -8
  65. package/tsconfig.prod.json +0 -13
  66. package/tsconfig.prod.tsbuildinfo +0 -1
@@ -1,373 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/Batch/ZendeskCreateWebhookConnector.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/Batch</a> ZendeskCreateWebhookConnector.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">32% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>8/25</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/2</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">14.28% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/7</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">36.36% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>8/22</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-yes">5x</span>
165
- <span class="cline-any cline-yes">5x</span>
166
- <span class="cline-any cline-yes">5x</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-yes">5x</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">5x</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">5x</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">5x</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-no">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-no">&nbsp;</span>
190
- <span class="cline-any cline-no">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-no">&nbsp;</span>
193
- <span class="cline-any cline-no">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-no">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-no">&nbsp;</span>
205
- <span class="cline-any cline-no">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-no">&nbsp;</span>
221
- <span class="cline-any cline-no">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-no">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-no">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-no">&nbsp;</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-no">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Webhook from '@orchesty/nodejs-sdk/dist/lib/Application/Database/Webhook';
259
- import WebhookRepository from '@orchesty/nodejs-sdk/dist/lib/Application/Database/WebhookRepository';
260
- import ABatchNode from '@orchesty/nodejs-sdk/dist/lib/Batch/ABatchNode';
261
- import TopologyRunner from '@orchesty/nodejs-sdk/dist/lib/Topology/TopologyRunner';
262
- import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
263
- import BatchProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/BatchProcessDto';
264
- import ProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/ProcessDto';
265
- import crypto from 'crypto';
266
- import { ZendeskWebhook } from '../types/webhook.types';
267
- import ZendeskApplication from '../ZendeskApplication';
268
- &nbsp;
269
- export const ZENDESK_CREATE_WEBHOOK = 'zendesk-create-webhook';
270
- &nbsp;
271
- /* eslint-disable @typescript-eslint/naming-convention */
272
- /* eslint-disable no-await-in-loop */
273
- &nbsp;
274
- export default class ZendeskCreateWebhookConnector extends ABatchNode {
275
- &nbsp;
276
- public getName(): string {
277
- return ZENDESK_CREATE_WEBHOOK;
278
- }
279
- &nbsp;
280
- public <span class="fstat-no" title="function not covered" >async </span>processAction(
281
- dto: BatchProcessDto&lt;ZendeskCreateWebhookInput&gt;,
282
- ): Promise&lt;BatchProcessDto&gt; {
283
- const repo = <span class="cstat-no" title="statement not covered" >this.getDbClient().getRepository(Webhook) as WebhookRepository;</span>
284
- &nbsp;
285
- const app = <span class="cstat-no" title="statement not covered" >this.getApplication&lt;ZendeskApplication&gt;();</span>
286
- const appInstall = <span class="cstat-no" title="statement not covered" >await this.getApplicationInstallFromProcess(dto);</span>
287
- &nbsp;
288
- const registered = <span class="cstat-no" title="statement not covered" >await repo.findMany({ users: [appInstall.getUser()], apps: [appInstall.getName()] });</span>
289
- const all = <span class="cstat-no" title="statement not covered" >app.getWebhookSubscriptions().map(<span class="fstat-no" title="function not covered" >(s</span>ub) =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
290
- event: sub.getName(),
291
- token: this.getRandomToken(),
292
- node: sub.getNode(),
293
- name: sub.getName(),
294
- topology: sub.getTopology(),
295
- events: JSON.parse(sub.getParameters().events || '[]'),
296
- }));
297
- &nbsp;
298
- const unregistered = <span class="cstat-no" title="statement not covered" >all.filter(<span class="fstat-no" title="function not covered" >(w</span>h) =&gt; <span class="cstat-no" title="statement not covered" >!registered.find(<span class="fstat-no" title="function not covered" >(r</span>eg) =&gt; <span class="cstat-no" title="statement not covered" >reg.getName() === wh.event)</span>)</span>;</span>
299
- &nbsp;
300
- <span class="cstat-no" title="statement not covered" > for (const toRegister of unregistered) {</span>
301
- const reqBody = <span class="cstat-no" title="statement not covered" >{</span>
302
- webhook: {
303
- endpoint: TopologyRunner.getWebhookUrl(
304
- toRegister.topology,
305
- toRegister.node,
306
- toRegister.token,
307
- ),
308
- http_method: 'POST',
309
- name: toRegister.name,
310
- request_format: 'json',
311
- status: 'active',
312
- subscriptions: toRegister.events,
313
- },
314
- };
315
- &nbsp;
316
- const requestDto = <span class="cstat-no" title="statement not covered" >await app.getRequestDto(dto, appInstall, HttpMethods.POST, '/webhooks', reqBody);</span>
317
- const data = <span class="cstat-no" title="statement not covered" >(await this.getSender().send&lt;Response&gt;(requestDto)).getJsonBody();</span>
318
- &nbsp;
319
- <span class="cstat-no" title="statement not covered" > await repo.insert(</span>
320
- new Webhook()
321
- .setWebhookId(data.webhook.id)
322
- .setUser(appInstall.getUser())
323
- .setNode(toRegister.node)
324
- .setToken(toRegister.token)
325
- .setApplication(app.getName())
326
- .setTopology(toRegister.topology)
327
- .setName(data.webhook.name),
328
- );
329
- }
330
- &nbsp;
331
- <span class="cstat-no" title="statement not covered" > return dto;</span>
332
- }
333
- &nbsp;
334
- protected <span class="fstat-no" title="function not covered" >getData(</span>dto: ProcessDto&lt;ZendeskCreateWebhookInput&gt;): ZendeskCreateWebhookInput {
335
- <span class="cstat-no" title="statement not covered" > return dto.getJsonData();</span>
336
- }
337
- &nbsp;
338
- protected <span class="fstat-no" title="function not covered" >getRandomToken(</span>): string {
339
- <span class="cstat-no" title="statement not covered" > return crypto.randomBytes(64).toString('hex');</span>
340
- }
341
- &nbsp;
342
- }
343
- &nbsp;
344
- interface Response {
345
- webhook: ZendeskWebhook;
346
- }
347
- &nbsp;
348
- export interface ZendeskCreateWebhookInput {
349
- topology: string;
350
- node: string;
351
- name: string;
352
- events: string[];
353
- }
354
- &nbsp;</pre></td></tr></table></pre>
355
-
356
- <div class='push'></div><!-- for sticky footer -->
357
- </div><!-- /wrapper -->
358
- <div class='footer quiet pad2 space-top1 center small'>
359
- Code coverage generated by
360
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
361
- at 2026-01-15T09:45:34.250Z
362
- </div>
363
- <script src="../../prettify.js"></script>
364
- <script>
365
- window.onload = function () {
366
- prettyPrint();
367
- };
368
- </script>
369
- <script src="../../sorter.js"></script>
370
- <script src="../../block-navigation.js"></script>
371
- </body>
372
- </html>
373
-
@@ -1,202 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/Batch/ZendeskDeleteWebhookConnector.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">src/Batch</a> ZendeskDeleteWebhookConnector.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">34.78% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>8/23</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/6</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">50% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">34.78% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>8/23</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-yes">5x</span>
108
- <span class="cline-any cline-yes">5x</span>
109
- <span class="cline-any cline-yes">5x</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-yes">5x</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-yes">5x</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-yes">5x</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">5x</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-no">&nbsp;</span>
123
- <span class="cline-any cline-no">&nbsp;</span>
124
- <span class="cline-any cline-no">&nbsp;</span>
125
- <span class="cline-any cline-no">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-no">&nbsp;</span>
128
- <span class="cline-any cline-no">&nbsp;</span>
129
- <span class="cline-any cline-no">&nbsp;</span>
130
- <span class="cline-any cline-no">&nbsp;</span>
131
- <span class="cline-any cline-no">&nbsp;</span>
132
- <span class="cline-any cline-no">&nbsp;</span>
133
- <span class="cline-any cline-no">&nbsp;</span>
134
- <span class="cline-any cline-no">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-no">&nbsp;</span>
137
- <span class="cline-any cline-no">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-no">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Webhook from '@orchesty/nodejs-sdk/dist/lib/Application/Database/Webhook';
145
- import WebhookRepository from '@orchesty/nodejs-sdk/dist/lib/Application/Database/WebhookRepository';
146
- import ABatchNode from '@orchesty/nodejs-sdk/dist/lib/Batch/ABatchNode';
147
- import OnRepeatException from '@orchesty/nodejs-sdk/dist/lib/Exception/OnRepeatException';
148
- import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
149
- import BatchProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/BatchProcessDto';
150
- import { StatusCodes } from 'http-status-codes';
151
- &nbsp;
152
- export const ZENDESK_DELETE_WEBHOOK = 'zendesk-delete-webhook';
153
- &nbsp;
154
- export default class ZendeskDeleteWebhookConnector extends ABatchNode {
155
- &nbsp;
156
- public getName(): string {
157
- return ZENDESK_DELETE_WEBHOOK;
158
- }
159
- &nbsp;
160
- public <span class="fstat-no" title="function not covered" >async </span>processAction(dto: BatchProcessDto): Promise&lt;BatchProcessDto&gt; {
161
- const app = <span class="cstat-no" title="statement not covered" >this.getApplication();</span>
162
- const appInstall = <span class="cstat-no" title="statement not covered" >await this.getApplicationInstallFromProcess(dto, null);</span>
163
- const repo = <span class="cstat-no" title="statement not covered" >this.getDbClient().getRepository(Webhook) as WebhookRepository;</span>
164
- const webhook = <span class="cstat-no" title="statement not covered" >await repo.findOne({ users: [appInstall.getUser()], apps: [appInstall.getName()] });</span>
165
- &nbsp;
166
- <span class="cstat-no" title="statement not covered" > if (webhook) {</span>
167
- const url = <span class="cstat-no" title="statement not covered" >`/webhooks/${webhook.getWebhookId()}`;</span>
168
- const requestDto = <span class="cstat-no" title="statement not covered" >await app.getRequestDto(dto, appInstall, HttpMethods.DELETE, url);</span>
169
- const res = <span class="cstat-no" title="statement not covered" >await this.getSender().send(requestDto);</span>
170
- <span class="cstat-no" title="statement not covered" > if (res.getResponseCode() !== StatusCodes.OK &amp;&amp; res.getResponseCode() !== StatusCodes.NOT_FOUND) {</span>
171
- <span class="cstat-no" title="statement not covered" > webhook.setUnsubscribeFailed(true);</span>
172
- <span class="cstat-no" title="statement not covered" > await repo.update(webhook);</span>
173
- <span class="cstat-no" title="statement not covered" > throw new OnRepeatException(300, 12, res.getBody());</span>
174
- }
175
- <span class="cstat-no" title="statement not covered" > await repo.remove(webhook);</span>
176
- <span class="cstat-no" title="statement not covered" > dto.setBatchCursor('1', true);</span>
177
- }
178
- &nbsp;
179
- <span class="cstat-no" title="statement not covered" > return dto;</span>
180
- }
181
- &nbsp;
182
- }
183
- &nbsp;</pre></td></tr></table></pre>
184
-
185
- <div class='push'></div><!-- for sticky footer -->
186
- </div><!-- /wrapper -->
187
- <div class='footer quiet pad2 space-top1 center small'>
188
- Code coverage generated by
189
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at 2026-01-15T09:45:34.250Z
191
- </div>
192
- <script src="../../prettify.js"></script>
193
- <script>
194
- window.onload = function () {
195
- prettyPrint();
196
- };
197
- </script>
198
- <script src="../../sorter.js"></script>
199
- <script src="../../block-navigation.js"></script>
200
- </body>
201
- </html>
202
-