@creator.co/wapi 1.7.1-alpha3 → 1.7.1-alpha4

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 (73) hide show
  1. package/dist/package-lock.json +2 -2
  2. package/dist/package.json +1 -1
  3. package/package.json +1 -1
  4. package/coverage/clover.xml +0 -1088
  5. package/coverage/coverage/coverage.txt +0 -40
  6. package/coverage/coverage-final.json +0 -37
  7. package/coverage/coverage-summary.json +0 -38
  8. package/coverage/coverage.txt +0 -59
  9. package/coverage/lcov-report/base.css +0 -224
  10. package/coverage/lcov-report/block-navigation.js +0 -87
  11. package/coverage/lcov-report/favicon.png +0 -0
  12. package/coverage/lcov-report/index.html +0 -371
  13. package/coverage/lcov-report/prettify.css +0 -1
  14. package/coverage/lcov-report/prettify.js +0 -2
  15. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  16. package/coverage/lcov-report/sorter.js +0 -196
  17. package/coverage/lcov-report/src/API/Request.ts.html +0 -727
  18. package/coverage/lcov-report/src/API/Response.ts.html +0 -1189
  19. package/coverage/lcov-report/src/API/Utils.ts.html +0 -313
  20. package/coverage/lcov-report/src/API/index.html +0 -131
  21. package/coverage/lcov-report/src/BaseEvent/EventProcessor.ts.html +0 -496
  22. package/coverage/lcov-report/src/BaseEvent/Process.ts.html +0 -346
  23. package/coverage/lcov-report/src/BaseEvent/Transaction.ts.html +0 -1015
  24. package/coverage/lcov-report/src/BaseEvent/index.html +0 -146
  25. package/coverage/lcov-report/src/Cache/Redis.ts.html +0 -367
  26. package/coverage/lcov-report/src/Cache/index.html +0 -116
  27. package/coverage/lcov-report/src/Config/Configuration.ts.html +0 -700
  28. package/coverage/lcov-report/src/Config/EnvironmentVar.ts.html +0 -526
  29. package/coverage/lcov-report/src/Config/index.html +0 -131
  30. package/coverage/lcov-report/src/Crypto/Crypto.ts.html +0 -352
  31. package/coverage/lcov-report/src/Crypto/JWT.ts.html +0 -337
  32. package/coverage/lcov-report/src/Crypto/index.html +0 -131
  33. package/coverage/lcov-report/src/Database/Database.ts.html +0 -151
  34. package/coverage/lcov-report/src/Database/DatabaseManager.ts.html +0 -289
  35. package/coverage/lcov-report/src/Database/DatabaseTransaction.ts.html +0 -595
  36. package/coverage/lcov-report/src/Database/index.html +0 -161
  37. package/coverage/lcov-report/src/Database/index.ts.html +0 -169
  38. package/coverage/lcov-report/src/Database/integrations/knex/KnexDatabase.ts.html +0 -283
  39. package/coverage/lcov-report/src/Database/integrations/knex/KnexTransaction.ts.html +0 -337
  40. package/coverage/lcov-report/src/Database/integrations/knex/index.html +0 -131
  41. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyDatabase.ts.html +0 -376
  42. package/coverage/lcov-report/src/Database/integrations/kysely/KyselyTransaction.ts.html +0 -601
  43. package/coverage/lcov-report/src/Database/integrations/kysely/index.html +0 -131
  44. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresDatabase.ts.html +0 -250
  45. package/coverage/lcov-report/src/Database/integrations/pgsql/PostgresTransaction.ts.html +0 -346
  46. package/coverage/lcov-report/src/Database/integrations/pgsql/index.html +0 -131
  47. package/coverage/lcov-report/src/Database/types.d.ts.html +0 -232
  48. package/coverage/lcov-report/src/Globals.ts.html +0 -394
  49. package/coverage/lcov-report/src/Logger/Logger.ts.html +0 -1138
  50. package/coverage/lcov-report/src/Logger/index.html +0 -116
  51. package/coverage/lcov-report/src/Mailer/Mailer.ts.html +0 -754
  52. package/coverage/lcov-report/src/Mailer/index.html +0 -116
  53. package/coverage/lcov-report/src/Publisher/Publisher.ts.html +0 -460
  54. package/coverage/lcov-report/src/Publisher/index.html +0 -116
  55. package/coverage/lcov-report/src/Server/RouteResolver.ts.html +0 -442
  56. package/coverage/lcov-report/src/Server/Router.ts.html +0 -616
  57. package/coverage/lcov-report/src/Server/index.html +0 -131
  58. package/coverage/lcov-report/src/Server/lib/ContainerServer.ts.html +0 -280
  59. package/coverage/lcov-report/src/Server/lib/Server.ts.html +0 -403
  60. package/coverage/lcov-report/src/Server/lib/container/GenericHandler.ts.html +0 -331
  61. package/coverage/lcov-report/src/Server/lib/container/GenericHandlerEvent.ts.html +0 -547
  62. package/coverage/lcov-report/src/Server/lib/container/HealthHandler.ts.html +0 -118
  63. package/coverage/lcov-report/src/Server/lib/container/Proxy.ts.html +0 -619
  64. package/coverage/lcov-report/src/Server/lib/container/Utils.ts.html +0 -184
  65. package/coverage/lcov-report/src/Server/lib/container/index.html +0 -176
  66. package/coverage/lcov-report/src/Server/lib/index.html +0 -131
  67. package/coverage/lcov-report/src/Util/AsyncSingleton.ts.html +0 -343
  68. package/coverage/lcov-report/src/Util/Utils.ts.html +0 -313
  69. package/coverage/lcov-report/src/Util/index.html +0 -131
  70. package/coverage/lcov-report/src/Validation/Validator.ts.html +0 -217
  71. package/coverage/lcov-report/src/Validation/index.html +0 -116
  72. package/coverage/lcov-report/src/index.html +0 -116
  73. package/coverage/lcov.info +0 -2326
@@ -1,1015 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/BaseEvent/Transaction.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/BaseEvent</a> Transaction.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">92.1% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>70/76</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>36/36</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>12/12</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">91.42% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>64/70</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 high'></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>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">10x</span>
379
- <span class="cline-any cline-yes">10x</span>
380
- <span class="cline-any cline-yes">10x</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">10x</span>
389
- <span class="cline-any cline-yes">10x</span>
390
- <span class="cline-any cline-yes">10x</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-neutral">&nbsp;</span>
410
- <span class="cline-any cline-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-yes">10x</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">63x</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-neutral">&nbsp;</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-yes">63x</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-neutral">&nbsp;</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-neutral">&nbsp;</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-neutral">&nbsp;</span>
485
- <span class="cline-any cline-neutral">&nbsp;</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-neutral">&nbsp;</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-neutral">&nbsp;</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-neutral">&nbsp;</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-yes">63x</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-neutral">&nbsp;</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-yes">63x</span>
505
- <span class="cline-any cline-yes">63x</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-yes">63x</span>
508
- <span class="cline-any cline-neutral">&nbsp;</span>
509
- <span class="cline-any cline-yes">63x</span>
510
- <span class="cline-any cline-yes">63x</span>
511
- <span class="cline-any cline-neutral">&nbsp;</span>
512
- <span class="cline-any cline-yes">63x</span>
513
- <span class="cline-any cline-yes">63x</span>
514
- <span class="cline-any cline-neutral">&nbsp;</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-yes">63x</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-neutral">&nbsp;</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-neutral">&nbsp;</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-neutral">&nbsp;</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-yes">40x</span>
535
- <span class="cline-any cline-yes">40x</span>
536
- <span class="cline-any cline-yes">40x</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-neutral">&nbsp;</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-yes">39x</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-yes">29x</span>
543
- <span class="cline-any cline-neutral">&nbsp;</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-neutral">&nbsp;</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-neutral">&nbsp;</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-yes">40x</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-yes">40x</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-yes">40x</span>
562
- <span class="cline-any cline-yes">40x</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-yes">36x</span>
565
- <span class="cline-any cline-yes">26x</span>
566
- <span class="cline-any cline-yes">26x</span>
567
- <span class="cline-any cline-yes">10x</span>
568
- <span class="cline-any cline-yes">3x</span>
569
- <span class="cline-any cline-yes">3x</span>
570
- <span class="cline-any cline-yes">3x</span>
571
- <span class="cline-any cline-neutral">&nbsp;</span>
572
- <span class="cline-any cline-yes">7x</span>
573
- <span class="cline-any cline-neutral">&nbsp;</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-yes">7x</span>
577
- <span class="cline-any cline-yes">7x</span>
578
- <span class="cline-any cline-neutral">&nbsp;</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-yes">4x</span>
582
- <span class="cline-any cline-yes">4x</span>
583
- <span class="cline-any cline-neutral">&nbsp;</span>
584
- <span class="cline-any cline-yes">4x</span>
585
- <span class="cline-any cline-neutral">&nbsp;</span>
586
- <span class="cline-any cline-yes">3x</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-yes">3x</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-yes">39x</span>
593
- <span class="cline-any cline-neutral">&nbsp;</span>
594
- <span class="cline-any cline-neutral">&nbsp;</span>
595
- <span class="cline-any cline-neutral">&nbsp;</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-neutral">&nbsp;</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-neutral">&nbsp;</span>
602
- <span class="cline-any cline-neutral">&nbsp;</span>
603
- <span class="cline-any cline-yes">2x</span>
604
- <span class="cline-any cline-yes">2x</span>
605
- <span class="cline-any cline-yes">2x</span>
606
- <span class="cline-any cline-yes">2x</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-neutral">&nbsp;</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
616
- <span class="cline-any cline-neutral">&nbsp;</span>
617
- <span class="cline-any cline-yes">2x</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-neutral">&nbsp;</span>
620
- <span class="cline-any cline-neutral">&nbsp;</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span>
623
- <span class="cline-any cline-neutral">&nbsp;</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-neutral">&nbsp;</span>
627
- <span class="cline-any cline-yes">40x</span>
628
- <span class="cline-any cline-neutral">&nbsp;</span>
629
- <span class="cline-any cline-yes">40x</span>
630
- <span class="cline-any cline-yes">39x</span>
631
- <span class="cline-any cline-yes">2x</span>
632
- <span class="cline-any cline-yes">2x</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-no">&nbsp;</span>
636
- <span class="cline-any cline-no">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-yes">1x</span>
643
- <span class="cline-any cline-no">&nbsp;</span>
644
- <span class="cline-any cline-no">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-no">&nbsp;</span>
647
- <span class="cline-any cline-no">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-yes">1x</span>
651
- <span class="cline-any cline-yes">1x</span>
652
- <span class="cline-any cline-neutral">&nbsp;</span>
653
- <span class="cline-any cline-yes">1x</span>
654
- <span class="cline-any cline-neutral">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-neutral">&nbsp;</span>
663
- <span class="cline-any cline-neutral">&nbsp;</span>
664
- <span class="cline-any cline-yes">40x</span>
665
- <span class="cline-any cline-yes">40x</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-yes">1x</span>
668
- <span class="cline-any cline-yes">1x</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-yes">1x</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-yes">40x</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-yes">10x</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { APIGatewayEvent, Context, SQSEvent } from 'aws-lambda'
687
- &nbsp;
688
- import Request from '../API/Request'
689
- import Response, { ResponseErrorType } from '../API/Response'
690
- import { DatabaseManager } from '../Database/DatabaseManager'
691
- import { DatabaseTransaction } from '../Database/DatabaseTransaction'
692
- import type {
693
- DatabaseImplType,
694
- DatabaseTransactionType,
695
- DatabaseType,
696
- DbConfig,
697
- } from '../Database/types'
698
- import Globals from '../Globals'
699
- import Logger, { LoggerConfig } from '../Logger/Logger'
700
- import Publisher, { PublisherConfig } from '../Publisher/Publisher'
701
- &nbsp;
702
- /**
703
- * Defines a type for executing a transaction and returning a promise with the response.
704
- * @param {TransactionType} transaction - The transaction to execute.
705
- * @returns A promise that resolves to the response of the transaction.
706
- */
707
- export type TransactionExecution&lt;TransactionType, ResponseInnerType, MiscRespType = never&gt; = (
708
- transaction: TransactionType
709
- ) =&gt; Promise&lt;Response&lt;ResponseInnerType&gt; | Response&lt;ResponseErrorType&gt; | MiscRespType&gt;
710
- &nbsp;
711
- /**
712
- * Represents the configuration options for a transaction.
713
- * @typedef {Object} TransactionConfig
714
- * @property {boolean} [throwOnErrors] - Whether to throw an error if there are any errors during the transaction.
715
- * @property {boolean} [syncReturn] - Whether to return the result of the transaction synchronously.
716
- * @property {LoggerConfig} [logger] - The configuration options for the logger.
717
- * @property {PublisherConfig} [publisher] - The configuration options for the publisher.
718
- */
719
- export type TransactionConfig = {
720
- throwOnErrors?: boolean
721
- syncReturn?: boolean
722
- //
723
- logger?: LoggerConfig
724
- publisher?: PublisherConfig
725
- }
726
- &nbsp;
727
- /**
728
- * Represents a simple string dictionary with string values
729
- */
730
- export type StringMap = { [key: string]: string | null }
731
- &nbsp;
732
- /**
733
- * Represents a transaction object that handles the execution of a request and manages the response.
734
- * @template InputType - The type of the input data for the transaction.
735
- * @template ResponseInnerType - The type of the inner response data for the transaction.
736
- * @template MiscRespType - The type of miscellaneous response data for the transaction.
737
- */
738
- export default class Transaction&lt;
739
- InputType = never,
740
- ResponseInnerType = null,
741
- MiscRespType = never,
742
- PathParamsType = StringMap,
743
- QueryParamsType = StringMap,
744
- &gt; {
745
- /**
746
- * The instance of the DatabaseManager class used for managing the database.
747
- */
748
- private databaseManager: DatabaseManager = DatabaseManager.INSTANCE
749
- /**
750
- * An array of database transactions.
751
- * @type {DatabaseTransaction[]}
752
- */
753
- private transactions: DatabaseTransaction[] = []
754
- /**
755
- * Represents an event object.
756
- * @private
757
- * @type {any}
758
- */
759
- private event: any
760
- /**
761
- * The context object for the current instance.
762
- */
763
- private context: Context
764
- /**
765
- * The response object that can hold different types of responses.
766
- * @type {Response&lt;ResponseInnerType | ResponseErrorType&gt; | MiscRespType | null}
767
- */
768
- private response: Response&lt;ResponseInnerType | ResponseErrorType&gt; | MiscRespType
769
- /**
770
- * A private boolean variable indicating whether the return value of a synchronous operation
771
- * should be synchronized with the calling thread.
772
- */
773
- private syncReturn: boolean
774
- /**
775
- * A boolean flag indicating whether retroactive errors are enabled or not.
776
- * @private
777
- */
778
- private retrowErrors: boolean
779
- /**
780
- * A logger object used for logging messages, errors, and other information.
781
- * @readonly
782
- */
783
- public readonly logger: Logger
784
- /**
785
- * The request object for making a request of type InputType.
786
- * @readonly
787
- */
788
- public readonly request: Request&lt;InputType, PathParamsType, QueryParamsType&gt;
789
- /**
790
- * The publisher of the content.
791
- */
792
- public readonly publisher: Publisher
793
- /**
794
- * A function that acts as a response proxy for a given response object.
795
- * @param {Response&lt;ResponseInnerType&gt;} response - The response object to proxy.
796
- * @returns A promise that resolves to void.
797
- */
798
- public responseProxy: ((response: Response&lt;ResponseInnerType&gt;) =&gt; Promise&lt;void&gt;) | null
799
- &nbsp;
800
- /**
801
- * Constructs a new instance of the Transaction class.
802
- * @param {APIGatewayEvent | SQSEvent} event - The event object passed to the Lambda function.
803
- * @param {Context} context - The context object passed to the Lambda function.
804
- * @param {TransactionConfig} [config] - Optional configuration object for the transaction.
805
- * @returns None
806
- */
807
- constructor(event: APIGatewayEvent | SQSEvent, context: Context, config?: TransactionConfig) {
808
- const transactionId = context.awsRequestId
809
- ? context.awsRequestId
810
- : (&lt;APIGatewayEvent&gt;event).requestContext
811
- ? (&lt;APIGatewayEvent&gt;event).requestContext.requestId
812
- : 'unknown'
813
- // transaction ctx
814
- this.event = event
815
- this.context = context
816
- // when set, this will be called with the response context right before calling the context suceed/fail - useful for writing the resp for example.
817
- this.responseProxy = null
818
- // transaction flags
819
- this.syncReturn = !!config?.syncReturn
820
- this.retrowErrors = !!config?.throwOnErrors /* retrow internal errors */
821
- // components
822
- this.logger = new Logger(config?.logger, transactionId)
823
- this.request = new Request&lt;InputType, PathParamsType, QueryParamsType&gt;(
824
- this.event,
825
- this.context,
826
- this.logger
827
- )
828
- this.publisher = new Publisher(config?.publisher)
829
- }
830
- &nbsp;
831
- /**
832
- * Executes a transaction using the provided execution function and returns a promise
833
- * that resolves to the response or miscellaneous response.
834
- * @param {TransactionExecution&lt;Transaction&lt;InputType, ResponseInnerType, MiscRespType&gt;, ResponseInnerType, MiscRespType&gt;} executionFunc - The execution function to be executed.
835
- * @returns {Promise&lt;Response&lt;ResponseInnerType | ResponseErrorType&gt; | MiscRespType&gt;} - A promise that resolves to the response or miscellaneous response.
836
- */
837
- public async execute(
838
- executionFunc: TransactionExecution&lt;
839
- Transaction&lt;InputType, ResponseInnerType, MiscRespType, PathParamsType, QueryParamsType&gt;,
840
- ResponseInnerType,
841
- MiscRespType
842
- &gt;
843
- ): Promise&lt;Response&lt;ResponseInnerType | ResponseErrorType&gt; | MiscRespType | null&gt; {
844
- await this.executeLoggerFlush(async () =&gt; {
845
- await this.executeDBTransactions(async () =&gt; {
846
- return await this.iexecute(executionFunc)
847
- })
848
- })
849
- // return raw response if sync return is requested
850
- if (this.syncReturn) return this.response
851
- // allow request to async succeed through lambda context
852
- return null
853
- }
854
- &nbsp;
855
- /**
856
- * Executes a transaction using the provided execution function and handles the response.
857
- * @param {TransactionExecution&lt;Transaction&lt;InputType, ResponseInnerType, MiscRespType&gt;, ResponseInnerType, MiscRespType&gt;} executionFunc - The function to execute the transaction.
858
- * @returns {Promise&lt;boolean&gt;} - A promise that resolves to a boolean indicating whether the execution failed or not.
859
- */
860
- private async iexecute(
861
- executionFunc: TransactionExecution&lt;
862
- Transaction&lt;InputType, ResponseInnerType, MiscRespType, PathParamsType, QueryParamsType&gt;,
863
- ResponseInnerType,
864
- MiscRespType
865
- &gt;
866
- ): Promise&lt;boolean&gt; {
867
- let executionFailed = true //failed til we say no!
868
- //safe execution handler
869
- try {
870
- //Execute
871
- this.logger.debug('Starting main request code')
872
- this.response = await executionFunc(this)
873
- //Answer client
874
- if (this.response &amp;&amp; this.response instanceof Response) {
875
- await this.response.build(this.context, this, this.syncReturn)
876
- executionFailed = !!(this.response.getBody() &amp;&amp; this.response.getBody()['rollback'])
877
- } else if (this.syncReturn &amp;&amp; this.response) {
878
- this.logger.log('Sync return with different response object')
879
- this.logger.debug(this.response)
880
- executionFailed = false
881
- } else {
882
- this.response = this.getErrorResponse(
883
- Globals.ErrorResponseInvalidServerResponse,
884
- Globals.ErrorCode_APIError
885
- )
886
- await this.response.build(this.context, this, this.syncReturn)
887
- this.logger.error('Invalid response object from main request code.')
888
- }
889
- } catch (e) {
890
- /*EXECUTION FAIL*/
891
- this.logger.error('Exception when executing main request code.')
892
- this.logger.exception(e)
893
- //retrow?
894
- if (this.retrowErrors) throw e
895
- //envelope exception?
896
- this.response = this.getErrorResponse(
897
- Globals.ErrorResponseUnhandledError,
898
- Globals.ErrorCode_APIError
899
- )
900
- await this.response.build(this.context, this, this.syncReturn)
901
- }
902
- return executionFailed
903
- }
904
- &nbsp;
905
- /**
906
- * Retrieves a database transaction based on the provided database configuration.
907
- * @param {DbConfig&lt;S&gt;} config - The configuration object for the database.
908
- * @returns {Promise&lt;DatabaseTransactionType&lt;S, DBSchema&gt;&gt;} A promise that resolves to the database transaction.
909
- */
910
- public async getDbTransaction&lt;S extends DatabaseType, DBSchema&gt;(
911
- config: DbConfig&lt;S&gt;
912
- ): Promise&lt;DatabaseTransactionType&lt;S, DBSchema&gt;&gt; {
913
- const db = this.getDatabase&lt;S, DBSchema&gt;(config)
914
- const dbTrans = await db.transaction()
915
- this.transactions.push(dbTrans)
916
- return dbTrans as any
917
- }
918
- &nbsp;
919
- /**
920
- * Retrieves a database instance based on the provided configuration.
921
- * @param {DbConfig&lt;S&gt;} config - The configuration object specifying the type of database.
922
- * @returns {DatabaseImplType&lt;S, DBSchema&gt;} A database instance based on the provided configuration.
923
- */
924
- public getDatabase&lt;S extends DatabaseType, DBSchema&gt;(
925
- config: DbConfig&lt;S&gt;
926
- ): DatabaseImplType&lt;S, DBSchema&gt; {
927
- return this.databaseManager.create&lt;S, DBSchema&gt;(config)
928
- }
929
- &nbsp;
930
- /*
931
- * Executes a series of database transactions in a safe manner.
932
- * @param {Function} safeExecution - The function that contains the database transactions to be executed.
933
- * @returns None
934
- * @throws {Error} - If an exception occurs during the execution of the transactions and `retrowErrors` is true.
935
- */
936
- private async executeDBTransactions(safeExecution: () =&gt; Promise&lt;boolean&gt;): Promise&lt;void&gt; {
937
- try {
938
- // Execute
939
- const execFailed = await safeExecution()
940
- for (const transaction of [...this.transactions].reverse()) {
941
- try {
942
- await transaction[execFailed ? 'closeFailure' : 'closeSuccess']()
943
- } catch (e) {
944
- // TODO: should we keep committing transactions even if one fails?
945
- <span class="cstat-no" title="statement not covered" > this.logger.error('Exception when closing DB transactions after success.')</span>
946
- <span class="cstat-no" title="statement not covered" > this.logger.exception(e)</span>
947
- }
948
- }
949
- } catch (e) {
950
- /* this part of the code handle exceptions at transaction level,
951
- so probably a bug but we still handle such */
952
- for (const transaction of [...this.transactions].reverse()) {
953
- <span class="cstat-no" title="statement not covered" > try {</span>
954
- <span class="cstat-no" title="statement not covered" > await transaction.closeFailure()</span>
955
- } catch (e) {
956
- <span class="cstat-no" title="statement not covered" > this.logger.error('Exception when closing DB transactions after failure.')</span>
957
- <span class="cstat-no" title="statement not covered" > this.logger.exception(e)</span>
958
- }
959
- }
960
- this.logger.error('Exception when executing DB transactions.')
961
- this.logger.log(e.stack)
962
- //retrow?
963
- if (this.retrowErrors) throw e
964
- }
965
- }
966
- &nbsp;
967
- /**
968
- * Executes a logger flush operation with error handling and logging.
969
- * @param {Function} safeExecution - The function to execute safely.
970
- * @returns None
971
- * @throws {Error} - If `retrowErrors` is true and an error occurs during execution.
972
- */
973
- private async executeLoggerFlush(safeExecution): Promise&lt;void&gt; {
974
- try {
975
- await safeExecution()
976
- } catch (e) {
977
- this.logger.error('Exception when flushing logs.')
978
- this.logger.exception(e)
979
- //retrow?
980
- if (this.retrowErrors) throw e
981
- } finally {
982
- this.logger.debug('Transaction ended')
983
- }
984
- }
985
- &nbsp;
986
- /**
987
- * Returns an error response with the specified error message and error code.
988
- * @param {string} error - The error message.
989
- * @param {string} code - The error code.
990
- * @returns {Response&lt;ResponseErrorType&gt;} - The error response.
991
- */
992
- private getErrorResponse(error: string, code: string): Response&lt;ResponseErrorType&gt; {
993
- return Response.BadRequestResponseWithRollback(error, code)
994
- }
995
- }
996
- &nbsp;</pre></td></tr></table></pre>
997
-
998
- <div class='push'></div><!-- for sticky footer -->
999
- </div><!-- /wrapper -->
1000
- <div class='footer quiet pad2 space-top1 center small'>
1001
- Code coverage generated by
1002
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1003
- at 2024-04-29T19:32:33.683Z
1004
- </div>
1005
- <script src="../../prettify.js"></script>
1006
- <script>
1007
- window.onload = function () {
1008
- prettyPrint();
1009
- };
1010
- </script>
1011
- <script src="../../sorter.js"></script>
1012
- <script src="../../block-navigation.js"></script>
1013
- </body>
1014
- </html>
1015
-