auth0-deploy-cli 7.21.0 → 7.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json +1 -0
- package/.nyc_output/processinfo/5210e060-a3b8-4e7f-9062-47807b58d0cd.json +1 -0
- package/.nyc_output/processinfo/{79967eba-48ff-4031-8011-aca37169a77a.json → 8c594b79-aa55-4e49-845c-8d88ca24c494.json} +1 -1
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +11 -1
- package/coverage/lcov-report/index.html +5 -5
- package/coverage/lcov.info +242 -241
- package/lib/tools/auth0/handlers/organizations.d.ts +3 -0
- package/lib/tools/auth0/handlers/organizations.js +4 -1
- package/lib/tools/auth0/handlers/organizations.js.map +1 -1
- package/lib/tools/auth0/handlers/themes.d.ts +6 -0
- package/lib/tools/auth0/handlers/themes.js +6 -0
- package/lib/tools/auth0/handlers/themes.js.map +1 -1
- package/package.json +1 -1
- package/.nyc_output/processinfo/16c9e62d-53da-4c19-ba42-9267b40f713d.json +0 -1
- package/.nyc_output/processinfo/8b142617-6824-4c2c-9f37-25748820eb7c.json +0 -1
- package/coverage/lcov-report/src/args.ts.html +0 -505
- package/coverage/lcov-report/src/commands/export.ts.html +0 -274
- package/coverage/lcov-report/src/commands/import.ts.html +0 -250
- package/coverage/lcov-report/src/commands/index.html +0 -131
- package/coverage/lcov-report/src/configFactory.ts.html +0 -175
- package/coverage/lcov-report/src/context/defaults.ts.html +0 -196
- package/coverage/lcov-report/src/context/directory/handlers/actions.ts.html +0 -433
- package/coverage/lcov-report/src/context/directory/handlers/attackProtection.ts.html +0 -334
- package/coverage/lcov-report/src/context/directory/handlers/branding.ts.html +0 -475
- package/coverage/lcov-report/src/context/directory/handlers/clientGrants.ts.html +0 -385
- package/coverage/lcov-report/src/context/directory/handlers/clients.ts.html +0 -340
- package/coverage/lcov-report/src/context/directory/handlers/connections.ts.html +0 -388
- package/coverage/lcov-report/src/context/directory/handlers/customDomains.ts.html +0 -232
- package/coverage/lcov-report/src/context/directory/handlers/databases.ts.html +0 -568
- package/coverage/lcov-report/src/context/directory/handlers/emailProvider.ts.html +0 -250
- package/coverage/lcov-report/src/context/directory/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorProviders.ts.html +0 -271
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactorTemplates.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianFactors.ts.html +0 -262
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/guardianPolicies.ts.html +0 -223
- package/coverage/lcov-report/src/context/directory/handlers/hooks.ts.html +0 -289
- package/coverage/lcov-report/src/context/directory/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/directory/handlers/index.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/logStreams.ts.html +0 -235
- package/coverage/lcov-report/src/context/directory/handlers/migrations.ts.html +0 -205
- package/coverage/lcov-report/src/context/directory/handlers/organizations.ts.html +0 -304
- package/coverage/lcov-report/src/context/directory/handlers/pages.ts.html +0 -379
- package/coverage/lcov-report/src/context/directory/handlers/prompts.ts.html +0 -331
- package/coverage/lcov-report/src/context/directory/handlers/resourceServers.ts.html +0 -247
- package/coverage/lcov-report/src/context/directory/handlers/roles.ts.html +0 -268
- package/coverage/lcov-report/src/context/directory/handlers/rules.ts.html +0 -277
- package/coverage/lcov-report/src/context/directory/handlers/rulesConfigs.ts.html +0 -208
- package/coverage/lcov-report/src/context/directory/handlers/tenant.ts.html +0 -298
- package/coverage/lcov-report/src/context/directory/handlers/themes.ts.html +0 -241
- package/coverage/lcov-report/src/context/directory/handlers/triggers.ts.html +0 -229
- package/coverage/lcov-report/src/context/directory/index.html +0 -116
- package/coverage/lcov-report/src/context/directory/index.ts.html +0 -490
- package/coverage/lcov-report/src/context/index.html +0 -131
- package/coverage/lcov-report/src/context/index.ts.html +0 -784
- package/coverage/lcov-report/src/context/yaml/handlers/actions.ts.html +0 -388
- package/coverage/lcov-report/src/context/yaml/handlers/attackProtection.ts.html +0 -193
- package/coverage/lcov-report/src/context/yaml/handlers/branding.ts.html +0 -376
- package/coverage/lcov-report/src/context/yaml/handlers/clientGrants.ts.html +0 -223
- package/coverage/lcov-report/src/context/yaml/handlers/clients.ts.html +0 -304
- package/coverage/lcov-report/src/context/yaml/handlers/connections.ts.html +0 -394
- package/coverage/lcov-report/src/context/yaml/handlers/customDomains.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/databases.ts.html +0 -352
- package/coverage/lcov-report/src/context/yaml/handlers/emailProvider.ts.html +0 -208
- package/coverage/lcov-report/src/context/yaml/handlers/emailTemplates.ts.html +0 -241
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorProviders.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactorTemplates.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianFactors.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -169
- package/coverage/lcov-report/src/context/yaml/handlers/guardianPolicies.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/hooks.ts.html +0 -280
- package/coverage/lcov-report/src/context/yaml/handlers/index.html +0 -551
- package/coverage/lcov-report/src/context/yaml/handlers/index.ts.html +0 -298
- package/coverage/lcov-report/src/context/yaml/handlers/logStreams.ts.html +0 -151
- package/coverage/lcov-report/src/context/yaml/handlers/migrations.ts.html +0 -145
- package/coverage/lcov-report/src/context/yaml/handlers/organizations.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/pages.ts.html +0 -265
- package/coverage/lcov-report/src/context/yaml/handlers/prompts.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/resourceServers.ts.html +0 -157
- package/coverage/lcov-report/src/context/yaml/handlers/roles.ts.html +0 -199
- package/coverage/lcov-report/src/context/yaml/handlers/rules.ts.html +0 -253
- package/coverage/lcov-report/src/context/yaml/handlers/rulesConfigs.ts.html +0 -181
- package/coverage/lcov-report/src/context/yaml/handlers/tenant.ts.html +0 -235
- package/coverage/lcov-report/src/context/yaml/handlers/themes.ts.html +0 -154
- package/coverage/lcov-report/src/context/yaml/handlers/triggers.ts.html +0 -172
- package/coverage/lcov-report/src/context/yaml/index.html +0 -116
- package/coverage/lcov-report/src/context/yaml/index.ts.html +0 -703
- package/coverage/lcov-report/src/index.html +0 -236
- package/coverage/lcov-report/src/index.ts.html +0 -361
- package/coverage/lcov-report/src/keywordPreservation.ts.html +0 -982
- package/coverage/lcov-report/src/logger.ts.html +0 -133
- package/coverage/lcov-report/src/readonly.ts.html +0 -343
- package/coverage/lcov-report/src/sessionDurationsToMinutes.ts.html +0 -154
- package/coverage/lcov-report/src/tools/auth0/client.ts.html +0 -604
- package/coverage/lcov-report/src/tools/auth0/handlers/actions.ts.html +0 -907
- package/coverage/lcov-report/src/tools/auth0/handlers/attackProtection.ts.html +0 -397
- package/coverage/lcov-report/src/tools/auth0/handlers/branding.ts.html +0 -430
- package/coverage/lcov-report/src/tools/auth0/handlers/clientGrants.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/clients.ts.html +0 -361
- package/coverage/lcov-report/src/tools/auth0/handlers/connections.ts.html +0 -598
- package/coverage/lcov-report/src/tools/auth0/handlers/customDomains.ts.html +0 -382
- package/coverage/lcov-report/src/tools/auth0/handlers/databases.ts.html +0 -436
- package/coverage/lcov-report/src/tools/auth0/handlers/default.ts.html +0 -1027
- package/coverage/lcov-report/src/tools/auth0/handlers/emailProvider.ts.html +0 -283
- package/coverage/lcov-report/src/tools/auth0/handlers/emailTemplates.ts.html +0 -343
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorProviders.ts.html +0 -301
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactorTemplates.ts.html +0 -265
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianFactors.ts.html +0 -241
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorMessageTypes.ts.html +0 -337
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.ts.html +0 -331
- package/coverage/lcov-report/src/tools/auth0/handlers/guardianPolicies.ts.html +0 -256
- package/coverage/lcov-report/src/tools/auth0/handlers/hooks.ts.html +0 -895
- package/coverage/lcov-report/src/tools/auth0/handlers/index.html +0 -566
- package/coverage/lcov-report/src/tools/auth0/handlers/index.ts.html +0 -295
- package/coverage/lcov-report/src/tools/auth0/handlers/logStreams.ts.html +0 -379
- package/coverage/lcov-report/src/tools/auth0/handlers/migrations.ts.html +0 -319
- package/coverage/lcov-report/src/tools/auth0/handlers/organizations.ts.html +0 -961
- package/coverage/lcov-report/src/tools/auth0/handlers/pages.ts.html +0 -544
- package/coverage/lcov-report/src/tools/auth0/handlers/prompts.ts.html +0 -946
- package/coverage/lcov-report/src/tools/auth0/handlers/resourceServers.ts.html +0 -433
- package/coverage/lcov-report/src/tools/auth0/handlers/roles.ts.html +0 -748
- package/coverage/lcov-report/src/tools/auth0/handlers/rules.ts.html +0 -826
- package/coverage/lcov-report/src/tools/auth0/handlers/rulesConfigs.ts.html +0 -289
- package/coverage/lcov-report/src/tools/auth0/handlers/tenant.ts.html +0 -556
- package/coverage/lcov-report/src/tools/auth0/handlers/themes.ts.html +0 -1885
- package/coverage/lcov-report/src/tools/auth0/handlers/triggers.ts.html +0 -439
- package/coverage/lcov-report/src/tools/auth0/index.html +0 -146
- package/coverage/lcov-report/src/tools/auth0/index.ts.html +0 -385
- package/coverage/lcov-report/src/tools/auth0/schema.ts.html +0 -184
- package/coverage/lcov-report/src/tools/calculateChanges.ts.html +0 -688
- package/coverage/lcov-report/src/tools/constants.ts.html +0 -613
- package/coverage/lcov-report/src/tools/deploy.ts.html +0 -193
- package/coverage/lcov-report/src/tools/index.html +0 -191
- package/coverage/lcov-report/src/tools/index.ts.html +0 -163
- package/coverage/lcov-report/src/tools/utils.ts.html +0 -916
- package/coverage/lcov-report/src/tools/validationError.ts.html +0 -127
- package/coverage/lcov-report/src/types.ts.html +0 -1201
- package/coverage/lcov-report/src/utils.ts.html +0 -706
- /package/.nyc_output/{16c9e62d-53da-4c19-ba42-9267b40f713d.json → 278104e6-6bb4-4dfb-94bf-3ef7f73e08b9.json} +0 -0
- /package/.nyc_output/{8b142617-6824-4c2c-9f37-25748820eb7c.json → 5210e060-a3b8-4e7f-9062-47807b58d0cd.json} +0 -0
|
@@ -1,1027 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/tools/auth0/handlers/default.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/tools/auth0/handlers</a> default.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">86.36% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>95/110</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">81.81% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>45/55</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">77.14% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>27/35</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">85.57% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>89/104</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>
|
|
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>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-yes">1x</span>
|
|
383
|
-
<span class="cline-any cline-neutral"> </span>
|
|
384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
387
|
-
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-neutral"> </span>
|
|
390
|
-
<span class="cline-any cline-yes">1x</span>
|
|
391
|
-
<span class="cline-any cline-yes">1x</span>
|
|
392
|
-
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-neutral"> </span>
|
|
394
|
-
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-yes">1x</span>
|
|
396
|
-
<span class="cline-any cline-yes">13x</span>
|
|
397
|
-
<span class="cline-any cline-yes">13x</span>
|
|
398
|
-
<span class="cline-any cline-yes">13x</span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
|
-
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">1x</span>
|
|
405
|
-
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-neutral"> </span>
|
|
407
|
-
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-neutral"> </span>
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-neutral"> </span>
|
|
414
|
-
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-neutral"> </span>
|
|
419
|
-
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-neutral"> </span>
|
|
423
|
-
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-neutral"> </span>
|
|
425
|
-
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-neutral"> </span>
|
|
428
|
-
<span class="cline-any cline-neutral"> </span>
|
|
429
|
-
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-neutral"> </span>
|
|
431
|
-
<span class="cline-any cline-neutral"> </span>
|
|
432
|
-
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-neutral"> </span>
|
|
434
|
-
<span class="cline-any cline-neutral"> </span>
|
|
435
|
-
<span class="cline-any cline-neutral"> </span>
|
|
436
|
-
<span class="cline-any cline-neutral"> </span>
|
|
437
|
-
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-neutral"> </span>
|
|
439
|
-
<span class="cline-any cline-neutral"> </span>
|
|
440
|
-
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-neutral"> </span>
|
|
443
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
444
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
445
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
446
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
447
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
448
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
449
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
450
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
451
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
452
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
453
|
-
<span class="cline-any cline-neutral"> </span>
|
|
454
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
455
|
-
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-neutral"> </span>
|
|
457
|
-
<span class="cline-any cline-neutral"> </span>
|
|
458
|
-
<span class="cline-any cline-neutral"> </span>
|
|
459
|
-
<span class="cline-any cline-neutral"> </span>
|
|
460
|
-
<span class="cline-any cline-neutral"> </span>
|
|
461
|
-
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
463
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
464
|
-
<span class="cline-any cline-yes">4000x</span>
|
|
465
|
-
<span class="cline-any cline-neutral"> </span>
|
|
466
|
-
<span class="cline-any cline-neutral"> </span>
|
|
467
|
-
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-yes">68x</span>
|
|
469
|
-
<span class="cline-any cline-yes">49x</span>
|
|
470
|
-
<span class="cline-any cline-yes">49x</span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-yes">19x</span>
|
|
473
|
-
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">24x</span>
|
|
477
|
-
<span class="cline-any cline-neutral"> </span>
|
|
478
|
-
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-yes">40x</span>
|
|
481
|
-
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-neutral"> </span>
|
|
484
|
-
<span class="cline-any cline-yes">69x</span>
|
|
485
|
-
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-yes">141x</span>
|
|
489
|
-
<span class="cline-any cline-neutral"> </span>
|
|
490
|
-
<span class="cline-any cline-neutral"> </span>
|
|
491
|
-
<span class="cline-any cline-neutral"> </span>
|
|
492
|
-
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-no"> </span>
|
|
494
|
-
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-neutral"> </span>
|
|
496
|
-
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">123x</span>
|
|
499
|
-
<span class="cline-any cline-yes">123x</span>
|
|
500
|
-
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-neutral"> </span>
|
|
502
|
-
<span class="cline-any cline-yes">123x</span>
|
|
503
|
-
<span class="cline-any cline-no"> </span>
|
|
504
|
-
<span class="cline-any cline-no"> </span>
|
|
505
|
-
<span class="cline-any cline-neutral"> </span>
|
|
506
|
-
<span class="cline-any cline-yes">123x</span>
|
|
507
|
-
<span class="cline-any cline-yes">123x</span>
|
|
508
|
-
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-neutral"> </span>
|
|
510
|
-
<span class="cline-any cline-yes">123x</span>
|
|
511
|
-
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">123x</span>
|
|
513
|
-
<span class="cline-any cline-neutral"> </span>
|
|
514
|
-
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-yes">53x</span>
|
|
517
|
-
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">53x</span>
|
|
520
|
-
<span class="cline-any cline-no"> </span>
|
|
521
|
-
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-neutral"> </span>
|
|
523
|
-
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">53x</span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-yes">53x</span>
|
|
532
|
-
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-neutral"> </span>
|
|
534
|
-
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-neutral"> </span>
|
|
536
|
-
<span class="cline-any cline-neutral"> </span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">1810x</span>
|
|
544
|
-
<span class="cline-any cline-neutral"> </span>
|
|
545
|
-
<span class="cline-any cline-neutral"> </span>
|
|
546
|
-
<span class="cline-any cline-yes">1810x</span>
|
|
547
|
-
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-yes">75x</span>
|
|
550
|
-
<span class="cline-any cline-yes">75x</span>
|
|
551
|
-
<span class="cline-any cline-yes">26x</span>
|
|
552
|
-
<span class="cline-any cline-yes">13x</span>
|
|
553
|
-
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-neutral"> </span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">62x</span>
|
|
559
|
-
<span class="cline-any cline-yes">62x</span>
|
|
560
|
-
<span class="cline-any cline-yes">2x</span>
|
|
561
|
-
<span class="cline-any cline-yes">1x</span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-neutral"> </span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-yes">71x</span>
|
|
571
|
-
<span class="cline-any cline-yes">8x</span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">71x</span>
|
|
575
|
-
<span class="cline-any cline-yes">71x</span>
|
|
576
|
-
<span class="cline-any cline-yes">71x</span>
|
|
577
|
-
<span class="cline-any cline-yes">71x</span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-yes">71x</span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-yes">71x</span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-yes">27x</span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-yes">27x</span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-yes">27x</span>
|
|
591
|
-
<span class="cline-any cline-yes">27x</span>
|
|
592
|
-
<span class="cline-any cline-yes">8x</span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-yes">9x</span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">19x</span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">19x</span>
|
|
603
|
-
<span class="cline-any cline-yes">19x</span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">19x</span>
|
|
606
|
-
<span class="cline-any cline-yes">19x</span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-no"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-yes">71x</span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-no"> </span>
|
|
625
|
-
<span class="cline-any cline-no"> </span>
|
|
626
|
-
<span class="cline-any cline-no"> </span>
|
|
627
|
-
<span class="cline-any cline-no"> </span>
|
|
628
|
-
<span class="cline-any cline-no"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-no"> </span>
|
|
631
|
-
<span class="cline-any cline-no"> </span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-no"> </span>
|
|
634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-yes">71x</span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-neutral"> </span>
|
|
646
|
-
<span class="cline-any cline-yes">34x</span>
|
|
647
|
-
<span class="cline-any cline-yes">34x</span>
|
|
648
|
-
<span class="cline-any cline-yes">34x</span>
|
|
649
|
-
<span class="cline-any cline-yes">34x</span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-yes">34x</span>
|
|
655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-yes">33x</span>
|
|
657
|
-
<span class="cline-any cline-yes">33x</span>
|
|
658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-no"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-yes">70x</span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">23x</span>
|
|
674
|
-
<span class="cline-any cline-yes">23x</span>
|
|
675
|
-
<span class="cline-any cline-yes">23x</span>
|
|
676
|
-
<span class="cline-any cline-yes">23x</span>
|
|
677
|
-
<span class="cline-any cline-yes">23x</span>
|
|
678
|
-
<span class="cline-any cline-neutral"> </span>
|
|
679
|
-
<span class="cline-any cline-yes">23x</span>
|
|
680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">23x</span>
|
|
682
|
-
<span class="cline-any cline-yes">23x</span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-no"> </span>
|
|
686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import ValidationError from '../../validationError';
|
|
695
|
-
|
|
696
|
-
import {
|
|
697
|
-
stripFields,
|
|
698
|
-
convertJsonToString,
|
|
699
|
-
duplicateItems,
|
|
700
|
-
obfuscateSensitiveValues,
|
|
701
|
-
stripObfuscatedFieldsFromPayload,
|
|
702
|
-
detectInsufficientScopeError,
|
|
703
|
-
} from '../../utils';
|
|
704
|
-
import log from '../../../logger';
|
|
705
|
-
import { calculateChanges } from '../../calculateChanges';
|
|
706
|
-
import { Asset, Assets, Auth0APIClient, CalculatedChanges } from '../../../types';
|
|
707
|
-
import { ConfigFunction } from '../../../configFactory';
|
|
708
|
-
|
|
709
|
-
export function order(value) {
|
|
710
|
-
return function decorator(t, n, descriptor) {
|
|
711
|
-
descriptor.value.order = value; // eslint-disable-line
|
|
712
|
-
return descriptor;
|
|
713
|
-
};
|
|
714
|
-
}
|
|
715
|
-
|
|
716
|
-
type ApiMethodOverride = string | Function;
|
|
717
|
-
|
|
718
|
-
export default class APIHandler {
|
|
719
|
-
config: ConfigFunction;
|
|
720
|
-
id: string;
|
|
721
|
-
type: string;
|
|
722
|
-
updated: number;
|
|
723
|
-
created: number;
|
|
724
|
-
deleted: number;
|
|
725
|
-
existing: null | Asset | Asset[];
|
|
726
|
-
client: Auth0APIClient; // TODO: apply stronger types to Auth0 API client
|
|
727
|
-
identifiers: string[];
|
|
728
|
-
objectFields: string[];
|
|
729
|
-
sensitiveFieldsToObfuscate: string[];
|
|
730
|
-
stripUpdateFields: string[]; //Fields to strip from payload when updating
|
|
731
|
-
stripCreateFields: string[]; //Fields to strip from payload when creating
|
|
732
|
-
name?: string; // TODO: understand if any handlers actually leverage `name` property
|
|
733
|
-
functions: {
|
|
734
|
-
getAll: ApiMethodOverride;
|
|
735
|
-
update: ApiMethodOverride;
|
|
736
|
-
create: ApiMethodOverride;
|
|
737
|
-
delete: ApiMethodOverride;
|
|
738
|
-
};
|
|
739
|
-
|
|
740
|
-
constructor(options: {
|
|
741
|
-
id?: APIHandler['id'];
|
|
742
|
-
config: ConfigFunction;
|
|
743
|
-
type: APIHandler['type'];
|
|
744
|
-
client: Auth0APIClient;
|
|
745
|
-
objectFields?: APIHandler['objectFields'];
|
|
746
|
-
identifiers?: APIHandler['identifiers'];
|
|
747
|
-
stripUpdateFields?: APIHandler['stripUpdateFields'];
|
|
748
|
-
sensitiveFieldsToObfuscate?: APIHandler['sensitiveFieldsToObfuscate'];
|
|
749
|
-
stripCreateFields?: APIHandler['stripCreateFields'];
|
|
750
|
-
functions: {
|
|
751
|
-
getAll?: ApiMethodOverride;
|
|
752
|
-
update?: ApiMethodOverride;
|
|
753
|
-
create?: ApiMethodOverride;
|
|
754
|
-
delete?: ApiMethodOverride;
|
|
755
|
-
};
|
|
756
|
-
}) {
|
|
757
|
-
this.config = options.config;
|
|
758
|
-
this.type = options.type;
|
|
759
|
-
this.id = options.id || 'id';
|
|
760
|
-
this.client = options.client;
|
|
761
|
-
this.existing = null;
|
|
762
|
-
this.identifiers = options.identifiers || ['id', 'name'];
|
|
763
|
-
this.objectFields = options.objectFields || [];
|
|
764
|
-
this.stripUpdateFields = [...(options.stripUpdateFields || []), this.id];
|
|
765
|
-
this.sensitiveFieldsToObfuscate = options.sensitiveFieldsToObfuscate || [];
|
|
766
|
-
this.stripCreateFields = options.stripCreateFields || [];
|
|
767
|
-
|
|
768
|
-
this.functions = {
|
|
769
|
-
getAll: 'getAll',
|
|
770
|
-
create: 'create',
|
|
771
|
-
delete: 'delete',
|
|
772
|
-
update: 'update',
|
|
773
|
-
...(options.functions || {}),
|
|
774
|
-
};
|
|
775
|
-
|
|
776
|
-
this.updated = 0;
|
|
777
|
-
this.created = 0;
|
|
778
|
-
this.deleted = 0;
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
getClientFN(fn: ApiMethodOverride): Function {
|
|
782
|
-
if (typeof fn === 'string') {
|
|
783
|
-
const client = this.client[this.type];
|
|
784
|
-
return client[fn].bind(client);
|
|
785
|
-
}
|
|
786
|
-
return fn;
|
|
787
|
-
}
|
|
788
|
-
|
|
789
|
-
didDelete(item: Asset): void {
|
|
790
|
-
log.info(`Deleted [${this.type}]: ${this.objString(item)}`);
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
didCreate(item: Asset): void {
|
|
794
|
-
log.info(`Created [${this.type}]: ${this.objString(item)}`);
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
didUpdate(item: Asset): void {
|
|
798
|
-
log.info(`Updated [${this.type}]: ${this.objString(item)}`);
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
objString(item: Asset): string {
|
|
802
|
-
return convertJsonToString(item);
|
|
803
|
-
}
|
|
804
|
-
|
|
805
|
-
async <span class="fstat-no" title="function not covered" >getType(</span>): Promise<Asset | Asset[] | null> {
|
|
806
|
-
// Each type to impl how to get the existing as its not consistent across the mgnt api.
|
|
807
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(`Must implement getType for type ${this.type}`);</span>
|
|
808
|
-
}
|
|
809
|
-
|
|
810
|
-
async load(): Promise<{ [key: string]: Asset | Asset[] | null }> {
|
|
811
|
-
// Load Asset from Tenant
|
|
812
|
-
const data = await (async () => {
|
|
813
|
-
const { data, hadSufficientScopes, requiredScopes } = await detectInsufficientScopeError<
|
|
814
|
-
Asset | Asset[]
|
|
815
|
-
>(this.getType.bind(this));
|
|
816
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!hadSufficientScopes) {
|
|
817
|
-
<span class="cstat-no" title="statement not covered" > log.warn(`Cannot retrieve ${this.type} due to missing scopes: ${requiredScopes}`);</span>
|
|
818
|
-
<span class="cstat-no" title="statement not covered" > return null;</span>
|
|
819
|
-
}
|
|
820
|
-
log.info(`Retrieving ${this.type} data from Auth0`);
|
|
821
|
-
return data;
|
|
822
|
-
})();
|
|
823
|
-
|
|
824
|
-
this.existing = obfuscateSensitiveValues(data, this.sensitiveFieldsToObfuscate);
|
|
825
|
-
|
|
826
|
-
return { [this.type]: this.existing };
|
|
827
|
-
}
|
|
828
|
-
|
|
829
|
-
async calcChanges(assets: Assets): Promise<CalculatedChanges> {
|
|
830
|
-
const typeAssets = assets[this.type];
|
|
831
|
-
|
|
832
|
-
// Do nothing if not set
|
|
833
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!typeAssets) {
|
|
834
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
835
|
-
del: [],
|
|
836
|
-
create: [],
|
|
837
|
-
conflicts: [],
|
|
838
|
-
update: [],
|
|
839
|
-
};
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
const existing = await this.getType();
|
|
843
|
-
|
|
844
|
-
// Figure out what needs to be updated vs created
|
|
845
|
-
return calculateChanges({
|
|
846
|
-
handler: this,
|
|
847
|
-
assets: typeAssets,
|
|
848
|
-
allowDelete: !!this.config('AUTH0_ALLOW_DELETE'),
|
|
849
|
-
//@ts-ignore TODO: investigate what happens when `existing` is null
|
|
850
|
-
existing,
|
|
851
|
-
identifiers: this.identifiers,
|
|
852
|
-
});
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
async validate(assets: Assets): Promise<void> {
|
|
856
|
-
// Ensure no duplication in id and name
|
|
857
|
-
const typeAssets = assets[this.type];
|
|
858
|
-
|
|
859
|
-
// Do nothing if not set
|
|
860
|
-
if (!Array.isArray(typeAssets)) return;
|
|
861
|
-
|
|
862
|
-
// Do not allow items with same name
|
|
863
|
-
const duplicateNames = duplicateItems(typeAssets, 'name');
|
|
864
|
-
if (duplicateNames.length > 0) {
|
|
865
|
-
const formatted = duplicateNames.map((dups) => dups.map((d) => `${d.name}`));
|
|
866
|
-
throw new ValidationError(`There are multiple ${this.type} with the same name combinations
|
|
867
|
-
${convertJsonToString(formatted)}.
|
|
868
|
-
Names must be unique.`);
|
|
869
|
-
}
|
|
870
|
-
|
|
871
|
-
// Do not allow items with same id
|
|
872
|
-
const duplicateIDs = duplicateItems(typeAssets, this.id);
|
|
873
|
-
if (duplicateIDs.length > 0) {
|
|
874
|
-
const formatted = duplicateIDs.map((dups) => dups.map((d) => `${d[this.id]}`));
|
|
875
|
-
throw new ValidationError(`There are multiple ${
|
|
876
|
-
this.type
|
|
877
|
-
} for the following stage-order combinations
|
|
878
|
-
${convertJsonToString(formatted)}.
|
|
879
|
-
Only one rule must be defined for the same order number in a stage.`);
|
|
880
|
-
}
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
async processChanges(assets: Assets, changes: CalculatedChanges): Promise<void> {
|
|
884
|
-
if (!changes) {
|
|
885
|
-
changes = await this.calcChanges(assets);
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
const del = changes.del || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
889
|
-
const update = changes.update || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
890
|
-
const create = changes.create || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
891
|
-
const conflicts = changes.conflicts || <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
892
|
-
|
|
893
|
-
log.debug(
|
|
894
|
-
`Start processChanges for ${this.type} [delete:${del.length}] [update:${update.length}], [create:${create.length}], [conflicts:${conflicts.length}]`
|
|
895
|
-
);
|
|
896
|
-
|
|
897
|
-
// Process Deleted
|
|
898
|
-
if (del.length > 0) {
|
|
899
|
-
const allowDelete =
|
|
900
|
-
this.config('AUTH0_ALLOW_DELETE') === 'true' || this.config('AUTH0_ALLOW_DELETE') === true;
|
|
901
|
-
const byExtension =
|
|
902
|
-
this.config('EXTENSION_SECRET') &&
|
|
903
|
-
(this.type === 'rules' || this.type === 'resourceServers');
|
|
904
|
-
const shouldDelete = allowDelete || byExtension;
|
|
905
|
-
if (!shouldDelete) {
|
|
906
|
-
log.warn(`Detected the following ${
|
|
907
|
-
this.type
|
|
908
|
-
} should be deleted. Doing so may be destructive.\nYou can enable deletes by setting 'AUTH0_ALLOW_DELETE' to true in the config
|
|
909
|
-
\n${changes.del.map((i) => this.objString(i)).join('\n')}
|
|
910
|
-
`);
|
|
911
|
-
} else {
|
|
912
|
-
await this.client.pool
|
|
913
|
-
.addEachTask({
|
|
914
|
-
data: del || <span class="branch-1 cbranch-no" title="branch not covered" >[],</span>
|
|
915
|
-
generator: (delItem) => {
|
|
916
|
-
const delFunction = this.getClientFN(this.functions.delete);
|
|
917
|
-
return delFunction({ [this.id]: delItem[this.id] })
|
|
918
|
-
.then(() => {
|
|
919
|
-
this.didDelete(delItem);
|
|
920
|
-
this.deleted += 1;
|
|
921
|
-
})
|
|
922
|
-
.catch(<span class="fstat-no" title="function not covered" >(e</span>rr) => {
|
|
923
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
924
|
-
`Problem deleting ${this.type} ${this.objString(delItem)}\n${err}`
|
|
925
|
-
);
|
|
926
|
-
});
|
|
927
|
-
},
|
|
928
|
-
})
|
|
929
|
-
.promise();
|
|
930
|
-
}
|
|
931
|
-
}
|
|
932
|
-
|
|
933
|
-
// Process Renaming Entries Temp due to conflicts in names
|
|
934
|
-
await this.client.pool
|
|
935
|
-
.addEachTask({
|
|
936
|
-
data: conflicts || <span class="branch-1 cbranch-no" title="branch not covered" >[],</span>
|
|
937
|
-
generator: <span class="fstat-no" title="function not covered" >(u</span>pdateItem) => {
|
|
938
|
-
const updateFN = <span class="cstat-no" title="statement not covered" >this.getClientFN(this.functions.update);</span>
|
|
939
|
-
const params = <span class="cstat-no" title="statement not covered" >{ [this.id]: updateItem[this.id] };</span>
|
|
940
|
-
const updatePayload = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >() =</span>> {</span>
|
|
941
|
-
let data = <span class="cstat-no" title="statement not covered" >stripFields({ ...updateItem }, this.stripUpdateFields);</span>
|
|
942
|
-
<span class="cstat-no" title="statement not covered" > return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate);</span>
|
|
943
|
-
})();
|
|
944
|
-
<span class="cstat-no" title="statement not covered" > return updateFN(params, updatePayload)</span>
|
|
945
|
-
.then(<span class="fstat-no" title="function not covered" >(d</span>ata) => <span class="cstat-no" title="statement not covered" >this.didUpdate(data))</span>
|
|
946
|
-
.catch(<span class="fstat-no" title="function not covered" >(e</span>rr) => {
|
|
947
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
948
|
-
`Problem updating ${this.type} ${this.objString(updateItem)}\n${err}`
|
|
949
|
-
);
|
|
950
|
-
});
|
|
951
|
-
},
|
|
952
|
-
})
|
|
953
|
-
.promise();
|
|
954
|
-
|
|
955
|
-
// Process Creations
|
|
956
|
-
await this.client.pool
|
|
957
|
-
.addEachTask({
|
|
958
|
-
data: create || <span class="branch-1 cbranch-no" title="branch not covered" >[],</span>
|
|
959
|
-
generator: (createItem) => {
|
|
960
|
-
const createFunction = this.getClientFN(this.functions.create);
|
|
961
|
-
const createPayload = (() => {
|
|
962
|
-
const strippedPayload = stripFields(createItem, this.stripCreateFields);
|
|
963
|
-
return stripObfuscatedFieldsFromPayload(
|
|
964
|
-
strippedPayload,
|
|
965
|
-
this.sensitiveFieldsToObfuscate
|
|
966
|
-
);
|
|
967
|
-
})();
|
|
968
|
-
return createFunction(createPayload)
|
|
969
|
-
.then((data) => {
|
|
970
|
-
this.didCreate(data);
|
|
971
|
-
this.created += 1;
|
|
972
|
-
})
|
|
973
|
-
.catch(<span class="fstat-no" title="function not covered" >(e</span>rr) => {
|
|
974
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
975
|
-
`Problem creating ${this.type} ${this.objString(createItem)}\n${err}`
|
|
976
|
-
);
|
|
977
|
-
});
|
|
978
|
-
},
|
|
979
|
-
})
|
|
980
|
-
.promise();
|
|
981
|
-
|
|
982
|
-
// Process Updates and strip fields not allowed in updates
|
|
983
|
-
await this.client.pool
|
|
984
|
-
.addEachTask({
|
|
985
|
-
data: update || <span class="branch-1 cbranch-no" title="branch not covered" >[],</span>
|
|
986
|
-
generator: (updateItem) => {
|
|
987
|
-
const updateFN = this.getClientFN(this.functions.update);
|
|
988
|
-
const params = { [this.id]: updateItem[this.id] };
|
|
989
|
-
const updatePayload = (() => {
|
|
990
|
-
let data = stripFields({ ...updateItem }, this.stripUpdateFields);
|
|
991
|
-
return stripObfuscatedFieldsFromPayload(data, this.sensitiveFieldsToObfuscate);
|
|
992
|
-
})();
|
|
993
|
-
return updateFN(params, updatePayload)
|
|
994
|
-
.then((data) => {
|
|
995
|
-
this.didUpdate(data);
|
|
996
|
-
this.updated += 1;
|
|
997
|
-
})
|
|
998
|
-
.catch(<span class="fstat-no" title="function not covered" >(e</span>rr) => {
|
|
999
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
1000
|
-
`Problem updating ${this.type} ${this.objString(updateItem)}\n${err}`
|
|
1001
|
-
);
|
|
1002
|
-
});
|
|
1003
|
-
},
|
|
1004
|
-
})
|
|
1005
|
-
.promise();
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
</pre></td></tr></table></pre>
|
|
1009
|
-
|
|
1010
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1011
|
-
</div><!-- /wrapper -->
|
|
1012
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1013
|
-
Code coverage generated by
|
|
1014
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1015
|
-
at Thu Feb 08 2024 16:21:45 GMT+0000 (Coordinated Universal Time)
|
|
1016
|
-
</div>
|
|
1017
|
-
<script src="../../../../prettify.js"></script>
|
|
1018
|
-
<script>
|
|
1019
|
-
window.onload = function () {
|
|
1020
|
-
prettyPrint();
|
|
1021
|
-
};
|
|
1022
|
-
</script>
|
|
1023
|
-
<script src="../../../../sorter.js"></script>
|
|
1024
|
-
<script src="../../../../block-navigation.js"></script>
|
|
1025
|
-
</body>
|
|
1026
|
-
</html>
|
|
1027
|
-
|