@hitchy/plugin-auth 0.3.5 → 0.3.7

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 (67) hide show
  1. package/package.json +15 -15
  2. package/.gitlab-ci.yml +0 -69
  3. package/coverage/base.css +0 -224
  4. package/coverage/block-navigation.js +0 -87
  5. package/coverage/favicon.png +0 -0
  6. package/coverage/index.html +0 -236
  7. package/coverage/plugin-auth/api/controller/index.html +0 -116
  8. package/coverage/plugin-auth/api/controller/user.js.html +0 -373
  9. package/coverage/plugin-auth/api/model/authorization/index.html +0 -116
  10. package/coverage/plugin-auth/api/model/authorization/rule.js.html +0 -232
  11. package/coverage/plugin-auth/api/model/index.html +0 -146
  12. package/coverage/plugin-auth/api/model/role.js.html +0 -205
  13. package/coverage/plugin-auth/api/model/user-to-role.js.html +0 -172
  14. package/coverage/plugin-auth/api/model/user.js.html +0 -757
  15. package/coverage/plugin-auth/api/policy/authentication.js.html +0 -784
  16. package/coverage/plugin-auth/api/policy/authorization.js.html +0 -187
  17. package/coverage/plugin-auth/api/policy/index.html +0 -146
  18. package/coverage/plugin-auth/api/policy/user.js.html +0 -484
  19. package/coverage/plugin-auth/api/service/auth/index.html +0 -116
  20. package/coverage/plugin-auth/api/service/auth/manager.js.html +0 -964
  21. package/coverage/plugin-auth/api/service/authentication/index.html +0 -131
  22. package/coverage/plugin-auth/api/service/authentication/passport.js.html +0 -298
  23. package/coverage/plugin-auth/api/service/authentication/strategies.js.html +0 -934
  24. package/coverage/plugin-auth/api/service/authorization/index.html +0 -146
  25. package/coverage/plugin-auth/api/service/authorization/node.js.html +0 -949
  26. package/coverage/plugin-auth/api/service/authorization/policy-generator.js.html +0 -391
  27. package/coverage/plugin-auth/api/service/authorization/tree.js.html +0 -988
  28. package/coverage/plugin-auth/config/auth.js.html +0 -145
  29. package/coverage/plugin-auth/config/index.html +0 -116
  30. package/coverage/plugin-auth/index.html +0 -116
  31. package/coverage/plugin-auth/index.js.html +0 -388
  32. package/coverage/prettify.css +0 -1
  33. package/coverage/prettify.js +0 -2
  34. package/coverage/sort-arrow-sprite.png +0 -0
  35. package/coverage/sorter.js +0 -196
  36. package/coverage/tmp/coverage-2884-1653923449663-0.json +0 -1
  37. package/docs/.vuepress/config.js +0 -55
  38. package/docs/.vuepress/styles/palette.styl +0 -4
  39. package/docs/api/config.md +0 -180
  40. package/docs/api/controller/readme.md +0 -10
  41. package/docs/api/controller/user.md +0 -44
  42. package/docs/api/model/authorization-rule.md +0 -38
  43. package/docs/api/model/readme.md +0 -13
  44. package/docs/api/model/role.md +0 -22
  45. package/docs/api/model/user-to-role.md +0 -26
  46. package/docs/api/model/user.md +0 -50
  47. package/docs/api/policy/authentication.md +0 -44
  48. package/docs/api/policy/authorization.md +0 -27
  49. package/docs/api/policy/readme.md +0 -12
  50. package/docs/api/policy/user.md +0 -22
  51. package/docs/api/readme.md +0 -52
  52. package/docs/api/routing.md +0 -101
  53. package/docs/api/service/auth-manager.md +0 -86
  54. package/docs/api/service/authentication-passport.md +0 -21
  55. package/docs/api/service/authentication-strategies.md +0 -22
  56. package/docs/api/service/authorization-node.md +0 -102
  57. package/docs/api/service/authorization-policy-generator.md +0 -66
  58. package/docs/api/service/authorization-tree.md +0 -123
  59. package/docs/api/service/readme.md +0 -15
  60. package/docs/guides/getting-started.md +0 -69
  61. package/docs/guides/idp-login.png +0 -0
  62. package/docs/guides/idp-saml-cert.png +0 -0
  63. package/docs/guides/openid-connect.md +0 -164
  64. package/docs/guides/readme.md +0 -12
  65. package/docs/guides/saml.md +0 -161
  66. package/docs/introduction.md +0 -78
  67. package/docs/readme.md +0 -11
@@ -1,484 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for plugin-auth/api/policy/user.js</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">plugin-auth/api/policy</a> user.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">30.07% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>40/133</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'>2/2</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">25% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>1/4</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">30.07% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>40/133</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 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>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
200
- <span class="cline-any cline-yes">1x</span>
201
- <span class="cline-any cline-yes">1x</span>
202
- <span class="cline-any cline-yes">19x</span>
203
- <span class="cline-any cline-yes">19x</span>
204
- <span class="cline-any cline-yes">19x</span>
205
- <span class="cline-any cline-yes">19x</span>
206
- <span class="cline-any cline-yes">19x</span>
207
- <span class="cline-any cline-yes">19x</span>
208
- <span class="cline-any cline-yes">19x</span>
209
- <span class="cline-any cline-yes">19x</span>
210
- <span class="cline-any cline-yes">19x</span>
211
- <span class="cline-any cline-yes">19x</span>
212
- <span class="cline-any cline-yes">19x</span>
213
- <span class="cline-any cline-yes">19x</span>
214
- <span class="cline-any cline-yes">19x</span>
215
- <span class="cline-any cline-no">&nbsp;</span>
216
- <span class="cline-any cline-no">&nbsp;</span>
217
- <span class="cline-any cline-no">&nbsp;</span>
218
- <span class="cline-any cline-no">&nbsp;</span>
219
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
223
- <span class="cline-any cline-no">&nbsp;</span>
224
- <span class="cline-any cline-no">&nbsp;</span>
225
- <span class="cline-any cline-yes">19x</span>
226
- <span class="cline-any cline-yes">19x</span>
227
- <span class="cline-any cline-yes">19x</span>
228
- <span class="cline-any cline-yes">19x</span>
229
- <span class="cline-any cline-yes">19x</span>
230
- <span class="cline-any cline-yes">19x</span>
231
- <span class="cline-any cline-yes">19x</span>
232
- <span class="cline-any cline-yes">19x</span>
233
- <span class="cline-any cline-yes">19x</span>
234
- <span class="cline-any cline-yes">19x</span>
235
- <span class="cline-any cline-yes">19x</span>
236
- <span class="cline-any cline-no">&nbsp;</span>
237
- <span class="cline-any cline-no">&nbsp;</span>
238
- <span class="cline-any cline-no">&nbsp;</span>
239
- <span class="cline-any cline-no">&nbsp;</span>
240
- <span class="cline-any cline-no">&nbsp;</span>
241
- <span class="cline-any cline-no">&nbsp;</span>
242
- <span class="cline-any cline-no">&nbsp;</span>
243
- <span class="cline-any cline-no">&nbsp;</span>
244
- <span class="cline-any cline-no">&nbsp;</span>
245
- <span class="cline-any cline-no">&nbsp;</span>
246
- <span class="cline-any cline-yes">19x</span>
247
- <span class="cline-any cline-yes">19x</span>
248
- <span class="cline-any cline-yes">19x</span>
249
- <span class="cline-any cline-yes">19x</span>
250
- <span class="cline-any cline-yes">19x</span>
251
- <span class="cline-any cline-yes">19x</span>
252
- <span class="cline-any cline-yes">19x</span>
253
- <span class="cline-any cline-yes">19x</span>
254
- <span class="cline-any cline-yes">19x</span>
255
- <span class="cline-any cline-yes">19x</span>
256
- <span class="cline-any cline-yes">19x</span>
257
- <span class="cline-any cline-no">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
- <span class="cline-any cline-no">&nbsp;</span>
260
- <span class="cline-any cline-no">&nbsp;</span>
261
- <span class="cline-any cline-no">&nbsp;</span>
262
- <span class="cline-any cline-no">&nbsp;</span>
263
- <span class="cline-any cline-no">&nbsp;</span>
264
- <span class="cline-any cline-no">&nbsp;</span>
265
- <span class="cline-any cline-no">&nbsp;</span>
266
- <span class="cline-any cline-no">&nbsp;</span>
267
- <span class="cline-any cline-no">&nbsp;</span>
268
- <span class="cline-any cline-no">&nbsp;</span>
269
- <span class="cline-any cline-no">&nbsp;</span>
270
- <span class="cline-any cline-no">&nbsp;</span>
271
- <span class="cline-any cline-no">&nbsp;</span>
272
- <span class="cline-any cline-no">&nbsp;</span>
273
- <span class="cline-any cline-no">&nbsp;</span>
274
- <span class="cline-any cline-no">&nbsp;</span>
275
- <span class="cline-any cline-no">&nbsp;</span>
276
- <span class="cline-any cline-no">&nbsp;</span>
277
- <span class="cline-any cline-no">&nbsp;</span>
278
- <span class="cline-any cline-no">&nbsp;</span>
279
- <span class="cline-any cline-no">&nbsp;</span>
280
- <span class="cline-any cline-no">&nbsp;</span>
281
- <span class="cline-any cline-no">&nbsp;</span>
282
- <span class="cline-any cline-no">&nbsp;</span>
283
- <span class="cline-any cline-no">&nbsp;</span>
284
- <span class="cline-any cline-no">&nbsp;</span>
285
- <span class="cline-any cline-no">&nbsp;</span>
286
- <span class="cline-any cline-no">&nbsp;</span>
287
- <span class="cline-any cline-no">&nbsp;</span>
288
- <span class="cline-any cline-no">&nbsp;</span>
289
- <span class="cline-any cline-no">&nbsp;</span>
290
- <span class="cline-any cline-no">&nbsp;</span>
291
- <span class="cline-any cline-no">&nbsp;</span>
292
- <span class="cline-any cline-no">&nbsp;</span>
293
- <span class="cline-any cline-no">&nbsp;</span>
294
- <span class="cline-any cline-no">&nbsp;</span>
295
- <span class="cline-any cline-no">&nbsp;</span>
296
- <span class="cline-any cline-no">&nbsp;</span>
297
- <span class="cline-any cline-no">&nbsp;</span>
298
- <span class="cline-any cline-no">&nbsp;</span>
299
- <span class="cline-any cline-no">&nbsp;</span>
300
- <span class="cline-any cline-no">&nbsp;</span>
301
- <span class="cline-any cline-no">&nbsp;</span>
302
- <span class="cline-any cline-no">&nbsp;</span>
303
- <span class="cline-any cline-no">&nbsp;</span>
304
- <span class="cline-any cline-no">&nbsp;</span>
305
- <span class="cline-any cline-no">&nbsp;</span>
306
- <span class="cline-any cline-no">&nbsp;</span>
307
- <span class="cline-any cline-no">&nbsp;</span>
308
- <span class="cline-any cline-no">&nbsp;</span>
309
- <span class="cline-any cline-no">&nbsp;</span>
310
- <span class="cline-any cline-no">&nbsp;</span>
311
- <span class="cline-any cline-no">&nbsp;</span>
312
- <span class="cline-any cline-no">&nbsp;</span>
313
- <span class="cline-any cline-no">&nbsp;</span>
314
- <span class="cline-any cline-no">&nbsp;</span>
315
- <span class="cline-any cline-no">&nbsp;</span>
316
- <span class="cline-any cline-no">&nbsp;</span>
317
- <span class="cline-any cline-no">&nbsp;</span>
318
- <span class="cline-any cline-no">&nbsp;</span>
319
- <span class="cline-any cline-no">&nbsp;</span>
320
- <span class="cline-any cline-no">&nbsp;</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-no">&nbsp;</span>
323
- <span class="cline-any cline-no">&nbsp;</span>
324
- <span class="cline-any cline-no">&nbsp;</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-no">&nbsp;</span>
328
- <span class="cline-any cline-no">&nbsp;</span>
329
- <span class="cline-any cline-no">&nbsp;</span>
330
- <span class="cline-any cline-yes">19x</span>
331
- <span class="cline-any cline-yes">1x</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
333
- &nbsp;
334
- module.exports = function() {
335
- const api = this;
336
- const { models } = api.runtime;
337
- &nbsp;
338
- return {
339
- /**
340
- * Tests if current request is addressing current user.
341
- *
342
- * @param {Hitchy.Core.IncomingMessage} req request descriptor
343
- * @param {Hitchy.Core.ServerResponse} res response manager
344
- * @param {Hitchy.Core.ContinuationHandler} next invoke to continue request handling
345
- * @returns {void}
346
- */
347
- mustBeMe: <span class="fstat-no" title="function not covered" >( req, res, next ) =&gt; {</span>
348
- <span class="cstat-no" title="statement not covered" > const { uuid } = req.user || {};</span>
349
- <span class="cstat-no" title="statement not covered" ></span>
350
- <span class="cstat-no" title="statement not covered" > if ( uuid &amp;&amp; uuid === req.params.uuid ) {</span>
351
- <span class="cstat-no" title="statement not covered" > next();</span>
352
- <span class="cstat-no" title="statement not covered" > return;</span>
353
- <span class="cstat-no" title="statement not covered" > }</span>
354
- <span class="cstat-no" title="statement not covered" ></span>
355
- <span class="cstat-no" title="statement not covered" > res.status( 403 ).json( {</span>
356
- <span class="cstat-no" title="statement not covered" > error: "access forbidden: this isn't you"</span>
357
- <span class="cstat-no" title="statement not covered" > } );</span>
358
- },
359
- &nbsp;
360
- /**
361
- * Tests if current request is addressing anything but current user.
362
- *
363
- * @param {Hitchy.Core.IncomingMessage} req request descriptor
364
- * @param {Hitchy.Core.ServerResponse} res response manager
365
- * @param {Hitchy.Core.ContinuationHandler} next invoke to continue request handling
366
- * @returns {void}
367
- */
368
- mustNotBeMe: <span class="fstat-no" title="function not covered" >( req, res, next ) =&gt; {</span>
369
- <span class="cstat-no" title="statement not covered" > const { uuid } = req.user || {};</span>
370
- <span class="cstat-no" title="statement not covered" ></span>
371
- <span class="cstat-no" title="statement not covered" > if ( !uuid || uuid !== req.params.uuid ) {</span>
372
- <span class="cstat-no" title="statement not covered" > next();</span>
373
- <span class="cstat-no" title="statement not covered" > return;</span>
374
- <span class="cstat-no" title="statement not covered" > }</span>
375
- <span class="cstat-no" title="statement not covered" ></span>
376
- <span class="cstat-no" title="statement not covered" > res.status( 403 ).json( {</span>
377
- <span class="cstat-no" title="statement not covered" > error: "access forbidden: this is you"</span>
378
- <span class="cstat-no" title="statement not covered" > } );</span>
379
- },
380
- &nbsp;
381
- /**
382
- * Integrates passport and server-side session with provided request.
383
- *
384
- * @param {Hitchy.Core.IncomingMessage} req request descriptor
385
- * @param {Hitchy.Core.ServerResponse} res response manager
386
- * @param {Hitchy.Core.ContinuationHandler} next invoke to continue request handling
387
- * @returns {void}
388
- */
389
- changePassword: <span class="fstat-no" title="function not covered" >async( req, res, next ) =&gt; {</span>
390
- <span class="cstat-no" title="statement not covered" > const currentUser = req.user;</span>
391
- <span class="cstat-no" title="statement not covered" ></span>
392
- <span class="cstat-no" title="statement not covered" > if ( !currentUser ) {</span>
393
- <span class="cstat-no" title="statement not covered" > res</span>
394
- <span class="cstat-no" title="statement not covered" > .status( 403 )</span>
395
- <span class="cstat-no" title="statement not covered" > .json( {</span>
396
- <span class="cstat-no" title="statement not covered" > error: "access forbidden: authentication as user is required",</span>
397
- <span class="cstat-no" title="statement not covered" > } );</span>
398
- <span class="cstat-no" title="statement not covered" ></span>
399
- <span class="cstat-no" title="statement not covered" > next( new Error( "authentication required" ) );</span>
400
- <span class="cstat-no" title="statement not covered" > return;</span>
401
- <span class="cstat-no" title="statement not covered" > }</span>
402
- <span class="cstat-no" title="statement not covered" ></span>
403
- <span class="cstat-no" title="statement not covered" > const { currentPassword, nextPassword } = await new Promise( resolve =&gt; {</span>
404
- <span class="cstat-no" title="statement not covered" > switch ( req.method ) {</span>
405
- <span class="cstat-no" title="statement not covered" > case "PATCH" :</span>
406
- <span class="cstat-no" title="statement not covered" > case "POST" :</span>
407
- <span class="cstat-no" title="statement not covered" > return req.fetchBody().then( body =&gt; {</span>
408
- <span class="cstat-no" title="statement not covered" > resolve( {</span>
409
- <span class="cstat-no" title="statement not covered" > currentPassword: body.current,</span>
410
- <span class="cstat-no" title="statement not covered" > nextPassword: body.next,</span>
411
- <span class="cstat-no" title="statement not covered" > } );</span>
412
- <span class="cstat-no" title="statement not covered" > } );</span>
413
- <span class="cstat-no" title="statement not covered" ></span>
414
- <span class="cstat-no" title="statement not covered" > default :</span>
415
- <span class="cstat-no" title="statement not covered" > return {};</span>
416
- <span class="cstat-no" title="statement not covered" > }</span>
417
- <span class="cstat-no" title="statement not covered" > } );</span>
418
- <span class="cstat-no" title="statement not covered" ></span>
419
- <span class="cstat-no" title="statement not covered" > if ( !currentPassword ) {</span>
420
- <span class="cstat-no" title="statement not covered" > res</span>
421
- <span class="cstat-no" title="statement not covered" > .status( 400 )</span>
422
- <span class="cstat-no" title="statement not covered" > .json( {</span>
423
- <span class="cstat-no" title="statement not covered" > error: "current password is missing",</span>
424
- <span class="cstat-no" title="statement not covered" > } );</span>
425
- <span class="cstat-no" title="statement not covered" ></span>
426
- <span class="cstat-no" title="statement not covered" > next( new Error( "current password must be provided" ) );</span>
427
- <span class="cstat-no" title="statement not covered" > return;</span>
428
- <span class="cstat-no" title="statement not covered" > }</span>
429
- <span class="cstat-no" title="statement not covered" ></span>
430
- <span class="cstat-no" title="statement not covered" > if ( !nextPassword ) {</span>
431
- <span class="cstat-no" title="statement not covered" > res</span>
432
- <span class="cstat-no" title="statement not covered" > .status( 400 )</span>
433
- <span class="cstat-no" title="statement not covered" > .json( {</span>
434
- <span class="cstat-no" title="statement not covered" > error: "next password is missing",</span>
435
- <span class="cstat-no" title="statement not covered" > } );</span>
436
- <span class="cstat-no" title="statement not covered" ></span>
437
- <span class="cstat-no" title="statement not covered" > next( new Error( "next password must be provided" ) );</span>
438
- <span class="cstat-no" title="statement not covered" > return;</span>
439
- <span class="cstat-no" title="statement not covered" > }</span>
440
- <span class="cstat-no" title="statement not covered" ></span>
441
- <span class="cstat-no" title="statement not covered" > const { User } = models;</span>
442
- <span class="cstat-no" title="statement not covered" > const { uuid } = currentUser;</span>
443
- <span class="cstat-no" title="statement not covered" > const user = new User( uuid );</span>
444
- <span class="cstat-no" title="statement not covered" ></span>
445
- <span class="cstat-no" title="statement not covered" > const validPassword = await user.verifyPassword( currentPassword );</span>
446
- <span class="cstat-no" title="statement not covered" ></span>
447
- <span class="cstat-no" title="statement not covered" > if ( !validPassword ) {</span>
448
- <span class="cstat-no" title="statement not covered" > res</span>
449
- <span class="cstat-no" title="statement not covered" > .status( 403 )</span>
450
- <span class="cstat-no" title="statement not covered" > .json( {</span>
451
- <span class="cstat-no" title="statement not covered" > error: "access forbidden: wrong password",</span>
452
- <span class="cstat-no" title="statement not covered" > } );</span>
453
- <span class="cstat-no" title="statement not covered" ></span>
454
- <span class="cstat-no" title="statement not covered" > next( new Error( "wrong password" ) );</span>
455
- <span class="cstat-no" title="statement not covered" > return;</span>
456
- <span class="cstat-no" title="statement not covered" > }</span>
457
- <span class="cstat-no" title="statement not covered" ></span>
458
- <span class="cstat-no" title="statement not covered" > await user.setPassword( nextPassword );</span>
459
- <span class="cstat-no" title="statement not covered" > await user.save();</span>
460
- <span class="cstat-no" title="statement not covered" ></span>
461
- <span class="cstat-no" title="statement not covered" > next();</span>
462
- <span class="cstat-no" title="statement not covered" > }</span>
463
- };
464
- };
465
- &nbsp;</pre></td></tr></table></pre>
466
-
467
- <div class='push'></div><!-- for sticky footer -->
468
- </div><!-- /wrapper -->
469
- <div class='footer quiet pad2 space-top1 center small'>
470
- Code coverage generated by
471
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
472
- at Mon May 30 2022 17:10:50 GMT+0200 (Mitteleuropäische Sommerzeit)
473
- </div>
474
- <script src="../../../prettify.js"></script>
475
- <script>
476
- window.onload = function () {
477
- prettyPrint();
478
- };
479
- </script>
480
- <script src="../../../sorter.js"></script>
481
- <script src="../../../block-navigation.js"></script>
482
- </body>
483
- </html>
484
-
@@ -1,116 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for plugin-auth/api/service/auth</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> plugin-auth/api/service/auth</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">96.24% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>282/293</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">86.95% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>60/69</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'>10/10</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">96.24% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>282/293</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
- <div class="pad1">
66
- <table class="coverage-summary">
67
- <thead>
68
- <tr>
69
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
- </tr>
80
- </thead>
81
- <tbody><tr>
82
- <td class="file high" data-value="manager.js"><a href="manager.js.html">manager.js</a></td>
83
- <td data-value="96.24" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
85
- </td>
86
- <td data-value="96.24" class="pct high">96.24%</td>
87
- <td data-value="293" class="abs high">282/293</td>
88
- <td data-value="86.95" class="pct high">86.95%</td>
89
- <td data-value="69" class="abs high">60/69</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="10" class="abs high">10/10</td>
92
- <td data-value="96.24" class="pct high">96.24%</td>
93
- <td data-value="293" class="abs high">282/293</td>
94
- </tr>
95
-
96
- </tbody>
97
- </table>
98
- </div>
99
- <div class='push'></div><!-- for sticky footer -->
100
- </div><!-- /wrapper -->
101
- <div class='footer quiet pad2 space-top1 center small'>
102
- Code coverage generated by
103
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Mon May 30 2022 17:10:50 GMT+0200 (Mitteleuropäische Sommerzeit)
105
- </div>
106
- <script src="../../../../prettify.js"></script>
107
- <script>
108
- window.onload = function () {
109
- prettyPrint();
110
- };
111
- </script>
112
- <script src="../../../../sorter.js"></script>
113
- <script src="../../../../block-navigation.js"></script>
114
- </body>
115
- </html>
116
-