@budibase/worker 2.2.12-alpha.7 → 2.2.12-alpha.70

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 (126) hide show
  1. package/Dockerfile +1 -1
  2. package/coverage/clover.xml +379 -345
  3. package/coverage/coverage-final.json +12 -10
  4. package/coverage/lcov-report/index.html +44 -44
  5. package/coverage/lcov-report/src/api/controllers/global/auth.ts.html +1 -1
  6. package/coverage/lcov-report/src/api/controllers/global/configs.ts.html +4 -4
  7. package/coverage/lcov-report/src/api/controllers/global/email.ts.html +1 -1
  8. package/coverage/lcov-report/src/api/controllers/global/events.ts.html +136 -0
  9. package/coverage/lcov-report/src/api/controllers/global/index.html +34 -19
  10. package/coverage/lcov-report/src/api/controllers/global/license.ts.html +1 -1
  11. package/coverage/lcov-report/src/api/controllers/global/roles.ts.html +1 -1
  12. package/coverage/lcov-report/src/api/controllers/global/self.ts.html +1 -1
  13. package/coverage/lcov-report/src/api/controllers/global/templates.ts.html +1 -1
  14. package/coverage/lcov-report/src/api/controllers/global/users.ts.html +47 -8
  15. package/coverage/lcov-report/src/api/controllers/global/workspaces.ts.html +1 -1
  16. package/coverage/lcov-report/src/api/controllers/system/accounts.ts.html +1 -1
  17. package/coverage/lcov-report/src/api/controllers/system/environment.ts.html +1 -1
  18. package/coverage/lcov-report/src/api/controllers/system/index.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/system/migrations.ts.html +1 -1
  20. package/coverage/lcov-report/src/api/controllers/system/restore.ts.html +1 -1
  21. package/coverage/lcov-report/src/api/controllers/system/status.ts.html +1 -1
  22. package/coverage/lcov-report/src/api/controllers/system/tenants.ts.html +1 -1
  23. package/coverage/lcov-report/src/api/index.html +1 -1
  24. package/coverage/lcov-report/src/api/index.ts.html +16 -4
  25. package/coverage/lcov-report/src/api/routes/global/auth.ts.html +1 -1
  26. package/coverage/lcov-report/src/api/routes/global/configs.ts.html +7 -7
  27. package/coverage/lcov-report/src/api/routes/global/email.ts.html +1 -1
  28. package/coverage/lcov-report/src/api/routes/global/events.ts.html +109 -0
  29. package/coverage/lcov-report/src/api/routes/global/index.html +22 -7
  30. package/coverage/lcov-report/src/api/routes/global/license.ts.html +1 -1
  31. package/coverage/lcov-report/src/api/routes/global/roles.ts.html +1 -1
  32. package/coverage/lcov-report/src/api/routes/global/self.ts.html +1 -1
  33. package/coverage/lcov-report/src/api/routes/global/templates.ts.html +1 -1
  34. package/coverage/lcov-report/src/api/routes/global/users.ts.html +47 -5
  35. package/coverage/lcov-report/src/api/routes/global/workspaces.ts.html +1 -1
  36. package/coverage/lcov-report/src/api/routes/index.html +5 -5
  37. package/coverage/lcov-report/src/api/routes/index.ts.html +10 -4
  38. package/coverage/lcov-report/src/api/routes/system/accounts.ts.html +1 -1
  39. package/coverage/lcov-report/src/api/routes/system/environment.ts.html +1 -1
  40. package/coverage/lcov-report/src/api/routes/system/index.html +1 -1
  41. package/coverage/lcov-report/src/api/routes/system/migrations.ts.html +1 -1
  42. package/coverage/lcov-report/src/api/routes/system/restore.ts.html +1 -1
  43. package/coverage/lcov-report/src/api/routes/system/status.ts.html +1 -1
  44. package/coverage/lcov-report/src/api/routes/system/tenants.ts.html +1 -1
  45. package/coverage/lcov-report/src/api/routes/validation/index.html +1 -1
  46. package/coverage/lcov-report/src/api/routes/validation/index.ts.html +1 -1
  47. package/coverage/lcov-report/src/api/routes/validation/users.ts.html +1 -1
  48. package/coverage/lcov-report/src/constants/index.html +1 -1
  49. package/coverage/lcov-report/src/constants/index.ts.html +1 -1
  50. package/coverage/lcov-report/src/constants/templates/index.html +1 -1
  51. package/coverage/lcov-report/src/constants/templates/index.ts.html +1 -1
  52. package/coverage/lcov-report/src/db/index.html +1 -1
  53. package/coverage/lcov-report/src/db/index.ts.html +1 -1
  54. package/coverage/lcov-report/src/environment.ts.html +1 -1
  55. package/coverage/lcov-report/src/index.html +10 -10
  56. package/coverage/lcov-report/src/index.ts.html +10 -7
  57. package/coverage/lcov-report/src/middleware/cloudRestricted.ts.html +1 -1
  58. package/coverage/lcov-report/src/middleware/index.html +1 -1
  59. package/coverage/lcov-report/src/migrations/functions/globalInfoSyncUsers.ts.html +1 -1
  60. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  61. package/coverage/lcov-report/src/migrations/index.html +1 -1
  62. package/coverage/lcov-report/src/migrations/index.ts.html +1 -1
  63. package/coverage/lcov-report/src/sdk/accounts/accounts.ts.html +1 -1
  64. package/coverage/lcov-report/src/sdk/accounts/index.html +1 -1
  65. package/coverage/lcov-report/src/sdk/accounts/index.ts.html +1 -1
  66. package/coverage/lcov-report/src/sdk/index.html +1 -1
  67. package/coverage/lcov-report/src/sdk/index.ts.html +1 -1
  68. package/coverage/lcov-report/src/sdk/users/events.ts.html +34 -10
  69. package/coverage/lcov-report/src/sdk/users/index.html +19 -19
  70. package/coverage/lcov-report/src/sdk/users/index.ts.html +1 -1
  71. package/coverage/lcov-report/src/sdk/users/users.ts.html +11 -5
  72. package/coverage/lcov-report/src/tests/TestConfiguration.ts.html +1 -1
  73. package/coverage/lcov-report/src/tests/api/accounts.ts.html +1 -1
  74. package/coverage/lcov-report/src/tests/api/auth.ts.html +1 -1
  75. package/coverage/lcov-report/src/tests/api/base.ts.html +1 -1
  76. package/coverage/lcov-report/src/tests/api/configs.ts.html +1 -1
  77. package/coverage/lcov-report/src/tests/api/email.ts.html +1 -1
  78. package/coverage/lcov-report/src/tests/api/environment.ts.html +1 -1
  79. package/coverage/lcov-report/src/tests/api/groups.ts.html +1 -1
  80. package/coverage/lcov-report/src/tests/api/index.html +1 -1
  81. package/coverage/lcov-report/src/tests/api/index.ts.html +1 -1
  82. package/coverage/lcov-report/src/tests/api/license.ts.html +1 -1
  83. package/coverage/lcov-report/src/tests/api/migrations.ts.html +1 -1
  84. package/coverage/lcov-report/src/tests/api/restore.ts.html +1 -1
  85. package/coverage/lcov-report/src/tests/api/roles.ts.html +1 -1
  86. package/coverage/lcov-report/src/tests/api/self.ts.html +1 -1
  87. package/coverage/lcov-report/src/tests/api/status.ts.html +1 -1
  88. package/coverage/lcov-report/src/tests/api/templates.ts.html +1 -1
  89. package/coverage/lcov-report/src/tests/api/tenants.ts.html +1 -1
  90. package/coverage/lcov-report/src/tests/api/users.ts.html +5 -2
  91. package/coverage/lcov-report/src/tests/controllers.ts.html +1 -1
  92. package/coverage/lcov-report/src/tests/index.html +1 -1
  93. package/coverage/lcov-report/src/tests/index.ts.html +1 -1
  94. package/coverage/lcov-report/src/tests/mocks/email.ts.html +1 -1
  95. package/coverage/lcov-report/src/tests/mocks/index.html +1 -1
  96. package/coverage/lcov-report/src/tests/mocks/index.ts.html +1 -1
  97. package/coverage/lcov-report/src/tests/structures/configs.ts.html +1 -1
  98. package/coverage/lcov-report/src/tests/structures/groups.ts.html +1 -1
  99. package/coverage/lcov-report/src/tests/structures/index.html +1 -1
  100. package/coverage/lcov-report/src/tests/structures/index.ts.html +1 -1
  101. package/coverage/lcov-report/src/tests/structures/users.ts.html +1 -1
  102. package/coverage/lcov-report/src/utilities/appService.ts.html +36 -9
  103. package/coverage/lcov-report/src/utilities/email.ts.html +1 -1
  104. package/coverage/lcov-report/src/utilities/fileSystem.ts.html +1 -1
  105. package/coverage/lcov-report/src/utilities/index.html +11 -11
  106. package/coverage/lcov-report/src/utilities/index.ts.html +1 -1
  107. package/coverage/lcov-report/src/utilities/redis.ts.html +1 -1
  108. package/coverage/lcov-report/src/utilities/templates.ts.html +1 -1
  109. package/coverage/lcov-report/src/utilities/users.ts.html +1 -1
  110. package/coverage/lcov.info +658 -593
  111. package/package.json +6 -6
  112. package/scripts/dev/manage.js +2 -2
  113. package/src/api/controllers/global/configs.ts +1 -1
  114. package/src/api/controllers/global/events.ts +17 -0
  115. package/src/api/controllers/global/users.ts +13 -0
  116. package/src/api/index.ts +4 -0
  117. package/src/api/routes/global/configs.ts +6 -6
  118. package/src/api/routes/global/events.ts +8 -0
  119. package/src/api/routes/global/users.ts +14 -0
  120. package/src/api/routes/index.ts +2 -0
  121. package/src/index.ts +2 -1
  122. package/src/sdk/users/events.ts +8 -0
  123. package/src/sdk/users/users.ts +5 -3
  124. package/src/tests/api/users.ts +1 -0
  125. package/src/utilities/appService.ts +12 -3
  126. package/tsconfig.json +2 -1
@@ -229,7 +229,7 @@ export async function <span class="fstat-no" title="function not covered" >destr
229
229
  <div class='footer quiet pad2 space-top1 center small'>
230
230
  Code coverage generated by
231
231
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
232
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
233
233
  </div>
234
234
  <script src="../../../../prettify.js"></script>
235
235
  <script>
@@ -133,7 +133,7 @@ export const destroy = async (ctx: any) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
136
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  <script src="../../../../prettify.js"></script>
139
139
  <script>
@@ -109,7 +109,7 @@ export const fetch = async (ctx: BBContext) =&gt; {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../../../prettify.js"></script>
115
115
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
179
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
180
180
  </div>
181
181
  <script src="../../../../prettify.js"></script>
182
182
  <script>
@@ -109,7 +109,7 @@ export const fetchDefinitions = async (ctx: any) =&gt; {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../../../prettify.js"></script>
115
115
  <script>
@@ -109,7 +109,7 @@ export async function systemRestored(ctx: BBContext) {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../../../prettify.js"></script>
115
115
  <script>
@@ -118,7 +118,7 @@ export const fetch = async (ctx: BBContext) =&gt; {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
121
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  <script src="../../../../prettify.js"></script>
124
124
  <script>
@@ -139,7 +139,7 @@ export { _delete as delete }
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
142
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  <script src="../../../../prettify.js"></script>
145
145
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
104
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -229,7 +229,11 @@
229
229
  <a name='L164'></a><a href='#L164'>164</a>
230
230
  <a name='L165'></a><a href='#L165'>165</a>
231
231
  <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
233
237
  <span class="cline-any cline-yes">18x</span>
234
238
  <span class="cline-any cline-yes">18x</span>
235
239
  <span class="cline-any cline-yes">18x</span>
@@ -295,6 +299,10 @@
295
299
  <span class="cline-any cline-neutral">&nbsp;</span>
296
300
  <span class="cline-any cline-neutral">&nbsp;</span>
297
301
  <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
306
  <span class="cline-any cline-yes">18x</span>
299
307
  <span class="cline-any cline-neutral">&nbsp;</span>
300
308
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -390,8 +398,8 @@
390
398
  <span class="cline-any cline-neutral">&nbsp;</span>
391
399
  <span class="cline-any cline-neutral">&nbsp;</span>
392
400
  <span class="cline-any cline-yes">18x</span>
393
- <span class="cline-any cline-yes">288x</span>
394
- <span class="cline-any cline-yes">288x</span>
401
+ <span class="cline-any cline-yes">306x</span>
402
+ <span class="cline-any cline-yes">306x</span>
395
403
  <span class="cline-any cline-neutral">&nbsp;</span>
396
404
  <span class="cline-any cline-neutral">&nbsp;</span>
397
405
  <span class="cline-any cline-yes">18x</span>
@@ -459,6 +467,10 @@ const PUBLIC_ENDPOINTS = [
459
467
  route: "/api/system/restored",
460
468
  method: "POST",
461
469
  },
470
+ {
471
+ route: "/api/global/users/invite",
472
+ method: "GET",
473
+ },
462
474
  ]
463
475
  &nbsp;
464
476
  const NO_TENANCY_ENDPOINTS = [
@@ -568,7 +580,7 @@ export default router
568
580
  <div class='footer quiet pad2 space-top1 center small'>
569
581
  Code coverage generated by
570
582
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
571
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
583
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
572
584
  </div>
573
585
  <script src="../../prettify.js"></script>
574
586
  <script>
@@ -334,7 +334,7 @@ export default router
334
334
  <div class='footer quiet pad2 space-top1 center small'>
335
335
  Code coverage generated by
336
336
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
337
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
337
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
338
338
  </div>
339
339
  <script src="../../../../prettify.js"></script>
340
340
  <script>
@@ -347,8 +347,8 @@ function settingValidation() {
347
347
  function googleValidation() {
348
348
  // prettier-ignore
349
349
  return Joi.object({
350
- clientID: Joi.string().required(),
351
- clientSecret: Joi.string().required(),
350
+ clientID: Joi.when('activated', { is: true, then: Joi.string().required() }),
351
+ clientSecret: Joi.when('activated', { is: true, then: Joi.string().required() }),
352
352
  activated: Joi.boolean().required(),
353
353
  }).unknown(true)
354
354
  }
@@ -358,12 +358,12 @@ function oidcValidation() {
358
358
  return Joi.object({
359
359
  configs: Joi.array().items(
360
360
  Joi.object({
361
- clientID: Joi.string().required(),
362
- clientSecret: Joi.string().required(),
363
- configUrl: Joi.string().required(),
361
+ clientID: Joi.when('activated', { is: true, then: Joi.string().required() }),
362
+ clientSecret: Joi.when('activated', { is: true, then: Joi.string().required() }),
363
+ configUrl: Joi.when('activated', { is: true, then: Joi.string().required() }),
364
364
  logo: Joi.string().allow("", null),
365
365
  name: Joi.string().allow("", null),
366
- uuid: Joi.string().required(),
366
+ uuid: Joi.when('activated', { is: true, then: Joi.string().required() }),
367
367
  activated: Joi.boolean().required(),
368
368
  scopes: Joi.array().optional()
369
369
  })
@@ -442,7 +442,7 @@ export default router
442
442
  <div class='footer quiet pad2 space-top1 center small'>
443
443
  Code coverage generated by
444
444
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
445
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
446
446
  </div>
447
447
  <script src="../../../../prettify.js"></script>
448
448
  <script>
@@ -178,7 +178,7 @@ export default router
178
178
  <div class='footer quiet pad2 space-top1 center small'>
179
179
  Code coverage generated by
180
180
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
181
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
182
182
  </div>
183
183
  <script src="../../../../prettify.js"></script>
184
184
  <script>
@@ -0,0 +1,109 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api/routes/global/events.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/api/routes/global</a> events.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>6/6</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'>0/0</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'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>5/5</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 oninput="onInput()" 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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
75
+ <span class="cline-any cline-yes">18x</span>
76
+ <span class="cline-any cline-neutral">&nbsp;</span>
77
+ <span class="cline-any cline-yes">18x</span>
78
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
+ <span class="cline-any cline-yes">18x</span>
80
+ <span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-yes">18x</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Router from "@koa/router"
83
+ import * as controller from "../../controllers/global/events"
84
+ &nbsp;
85
+ const router: Router = new Router()
86
+ &nbsp;
87
+ router.post("/api/global/event/publish", controller.publish)
88
+ &nbsp;
89
+ export default router
90
+ &nbsp;</pre></td></tr></table></pre>
91
+
92
+ <div class='push'></div><!-- for sticky footer -->
93
+ </div><!-- /wrapper -->
94
+ <div class='footer quiet pad2 space-top1 center small'>
95
+ Code coverage generated by
96
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
97
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
98
+ </div>
99
+ <script src="../../../../prettify.js"></script>
100
+ <script>
101
+ window.onload = function () {
102
+ prettyPrint();
103
+ };
104
+ </script>
105
+ <script src="../../../../sorter.js"></script>
106
+ <script src="../../../../block-navigation.js"></script>
107
+ </body>
108
+ </html>
109
+
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>97/97</span>
28
+ <span class='fraction'>104/104</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>27/27</span>
42
+ <span class='fraction'>29/29</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>88/88</span>
49
+ <span class='fraction'>94/94</span>
50
50
  </div>
51
51
 
52
52
 
@@ -123,6 +123,21 @@
123
123
  <td data-value="9" class="abs high">9/9</td>
124
124
  </tr>
125
125
 
126
+ <tr>
127
+ <td class="file high" data-value="events.ts"><a href="events.ts.html">events.ts</a></td>
128
+ <td data-value="100" class="pic high">
129
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
+ </td>
131
+ <td data-value="100" class="pct high">100%</td>
132
+ <td data-value="6" class="abs high">6/6</td>
133
+ <td data-value="100" class="pct high">100%</td>
134
+ <td data-value="0" class="abs high">0/0</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="1" class="abs high">1/1</td>
137
+ <td data-value="100" class="pct high">100%</td>
138
+ <td data-value="5" class="abs high">5/5</td>
139
+ </tr>
140
+
126
141
  <tr>
127
142
  <td class="file high" data-value="license.ts"><a href="license.ts.html">license.ts</a></td>
128
143
  <td data-value="100" class="pic high">
@@ -189,13 +204,13 @@
189
204
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
205
  </td>
191
206
  <td data-value="100" class="pct high">100%</td>
192
- <td data-value="19" class="abs high">19/19</td>
207
+ <td data-value="20" class="abs high">20/20</td>
193
208
  <td data-value="100" class="pct high">100%</td>
194
209
  <td data-value="2" class="abs high">2/2</td>
195
210
  <td data-value="100" class="pct high">100%</td>
196
- <td data-value="6" class="abs high">6/6</td>
211
+ <td data-value="7" class="abs high">7/7</td>
197
212
  <td data-value="100" class="pct high">100%</td>
198
- <td data-value="18" class="abs high">18/18</td>
213
+ <td data-value="19" class="abs high">19/19</td>
199
214
  </tr>
200
215
 
201
216
  <tr>
@@ -221,7 +236,7 @@
221
236
  <div class='footer quiet pad2 space-top1 center small'>
222
237
  Code coverage generated by
223
238
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
224
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
239
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
225
240
  </div>
226
241
  <script src="../../../../prettify.js"></script>
227
242
  <script>
@@ -109,7 +109,7 @@ export default router
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
112
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
113
113
  </div>
114
114
  <script src="../../../../prettify.js"></script>
115
115
  <script>
@@ -118,7 +118,7 @@ export default router
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
121
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
122
122
  </div>
123
123
  <script src="../../../../prettify.js"></script>
124
124
  <script>
@@ -124,7 +124,7 @@ export default router
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
127
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  <script src="../../../../prettify.js"></script>
130
130
  <script>
@@ -181,7 +181,7 @@ export default router
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
184
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  <script src="../../../../prettify.js"></script>
187
187
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/19</span>
28
+ <span class='fraction'>20/20</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/6</span>
42
+ <span class='fraction'>7/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>18/18</span>
49
+ <span class='fraction'>19/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -179,7 +179,21 @@
179
179
  <a name='L114'></a><a href='#L114'>114</a>
180
180
  <a name='L115'></a><a href='#L115'>115</a>
181
181
  <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">18x</span>
183
197
  <span class="cline-any cline-yes">18x</span>
184
198
  <span class="cline-any cline-yes">18x</span>
185
199
  <span class="cline-any cline-yes">18x</span>
@@ -219,6 +233,13 @@
219
233
  <span class="cline-any cline-neutral">&nbsp;</span>
220
234
  <span class="cline-any cline-neutral">&nbsp;</span>
221
235
  <span class="cline-any cline-neutral">&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-yes">18x</span>
239
+ <span class="cline-any cline-neutral">&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>
222
243
  <span class="cline-any cline-yes">18x</span>
223
244
  <span class="cline-any cline-yes">23x</span>
224
245
  <span class="cline-any cline-yes">11x</span>
@@ -235,6 +256,8 @@
235
256
  <span class="cline-any cline-neutral">&nbsp;</span>
236
257
  <span class="cline-any cline-neutral">&nbsp;</span>
237
258
  <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
261
  <span class="cline-any cline-yes">18x</span>
239
262
  <span class="cline-any cline-neutral">&nbsp;</span>
240
263
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -294,6 +317,11 @@
294
317
  <span class="cline-any cline-neutral">&nbsp;</span>
295
318
  <span class="cline-any cline-neutral">&nbsp;</span>
296
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
325
  <span class="cline-any cline-yes">18x</span>
298
326
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import Router from "@koa/router"
299
327
  import * as controller from "../../controllers/global/users"
@@ -335,6 +363,13 @@ function buildInviteMultipleValidation() {
335
363
  ))
336
364
  }
337
365
  &nbsp;
366
+ function buildInviteLookupValidation() {
367
+ // prettier-ignore
368
+ return auth.joiValidator.params(Joi.object({
369
+ code: Joi.string().required()
370
+ }).unknown(true))
371
+ }
372
+ &nbsp;
338
373
  const createUserAdminOnly = (ctx: any, next: any) =&gt; {
339
374
  if (!ctx.request.body._id) {
340
375
  return auth.adminOnly(ctx, next)
@@ -348,6 +383,8 @@ function buildInviteAcceptValidation() {
348
383
  return auth.joiValidator.body(Joi.object({
349
384
  inviteCode: Joi.string().required(),
350
385
  password: Joi.string().required(),
386
+ firstName: Joi.string().required(),
387
+ lastName: Joi.string().optional(),
351
388
  }).required().unknown(true))
352
389
  }
353
390
  &nbsp;
@@ -388,6 +425,11 @@ router
388
425
  )
389
426
  &nbsp;
390
427
  // non-global endpoints
428
+ .get(
429
+ "/api/global/users/invite/:code",
430
+ buildInviteLookupValidation(),
431
+ controller.checkInvite
432
+ )
391
433
  .post(
392
434
  "/api/global/users/invite/accept",
393
435
  buildInviteAcceptValidation(),
@@ -418,7 +460,7 @@ export default router
418
460
  <div class='footer quiet pad2 space-top1 center small'>
419
461
  Code coverage generated by
420
462
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
421
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
463
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
422
464
  </div>
423
465
  <script src="../../../../prettify.js"></script>
424
466
  <script>
@@ -181,7 +181,7 @@ export default router
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
184
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
185
185
  </div>
186
186
  <script src="../../../../prettify.js"></script>
187
187
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>19/19</span>
28
+ <span class='fraction'>20/20</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>18/18</span>
49
+ <span class='fraction'>19/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="19" class="abs high">19/19</td>
87
+ <td data-value="20" class="abs high">20/20</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="0" class="abs high">0/0</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="1" class="abs high">1/1</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="18" class="abs high">18/18</td>
93
+ <td data-value="19" class="abs high">19/19</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Wed Jan 11 2023 10:33:10 GMT+0000 (Coordinated Universal Time)
104
+ at Fri Feb 03 2023 13:36:10 GMT+0000 (Coordinated Universal Time)
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>