@biorate/migrations 1.2.2 → 1.4.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/ec155b37-e583-43e9-ab27-b2091d8064ad.json +1 -0
- package/.nyc_output/processinfo/ec155b37-e583-43e9-ab27-b2091d8064ad.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +11 -0
- package/coverage/lcov-report/index.html +15 -15
- package/coverage/lcov-report/src/default.config.ts.html +22 -4
- package/coverage/lcov-report/src/index.html +7 -7
- package/coverage/lcov-report/src/index.ts.html +1 -1
- package/coverage/lcov-report/src/root.ts.html +11 -5
- package/coverage/lcov-report/src/types/index.html +51 -21
- package/coverage/lcov-report/src/types/index.ts.html +10 -4
- package/coverage/lcov-report/src/types/migration.ts.html +119 -14
- package/coverage/lcov-report/src/types/minio.ts.html +196 -0
- package/coverage/lcov-report/src/types/mongodb.ts.html +187 -0
- package/coverage/lcov-report/src/types/sequelize.ts.html +52 -49
- package/coverage/lcov.info +135 -62
- package/dist/src/default.config.js +6 -0
- package/dist/src/default.config.js.map +1 -1
- package/dist/src/root.js +8 -0
- package/dist/src/root.js.map +1 -1
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/migration.js +17 -0
- package/dist/src/types/migration.js.map +1 -1
- package/dist/src/types/minio.js +39 -0
- package/dist/src/types/minio.js.map +1 -0
- package/dist/src/types/mongodb.js +34 -0
- package/dist/src/types/mongodb.js.map +1 -0
- package/dist/src/types/sequelize.js +12 -24
- package/dist/src/types/sequelize.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +10 -7
- package/src/default.config.ts +6 -0
- package/src/root.ts +3 -1
- package/src/types/index.ts +2 -0
- package/src/types/migration.ts +35 -0
- package/src/types/minio.ts +37 -0
- package/src/types/mongodb.ts +34 -0
- package/src/types/sequelize.ts +34 -33
- package/.nyc_output/7097d81f-0b99-4b17-b41e-6165f1d1fdea.json +0 -1
- package/.nyc_output/processinfo/7097d81f-0b99-4b17-b41e-6165f1d1fdea.json +0 -1
@@ -23,9 +23,9 @@
|
|
23
23
|
<div class='clearfix'>
|
24
24
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
26
|
-
<span class="strong">
|
26
|
+
<span class="strong">87.14% </span>
|
27
27
|
<span class="quiet">Statements</span>
|
28
|
-
<span class='fraction'>
|
28
|
+
<span class='fraction'>61/70</span>
|
29
29
|
</div>
|
30
30
|
|
31
31
|
|
@@ -39,14 +39,14 @@
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
40
40
|
<span class="strong">100% </span>
|
41
41
|
<span class="quiet">Functions</span>
|
42
|
-
<span class='fraction'>
|
42
|
+
<span class='fraction'>18/18</span>
|
43
43
|
</div>
|
44
44
|
|
45
45
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
47
|
-
<span class="strong">
|
47
|
+
<span class="strong">89.06% </span>
|
48
48
|
<span class="quiet">Lines</span>
|
49
|
-
<span class='fraction'>
|
49
|
+
<span class='fraction'>57/64</span>
|
50
50
|
</div>
|
51
51
|
|
52
52
|
|
@@ -84,43 +84,73 @@
|
|
84
84
|
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
85
85
|
</td>
|
86
86
|
<td data-value="100" class="pct high">100%</td>
|
87
|
-
<td data-value="
|
87
|
+
<td data-value="3" class="abs high">3/3</td>
|
88
88
|
<td data-value="100" class="pct high">100%</td>
|
89
89
|
<td data-value="0" class="abs high">0/0</td>
|
90
90
|
<td data-value="100" class="pct high">100%</td>
|
91
91
|
<td data-value="0" class="abs high">0/0</td>
|
92
92
|
<td data-value="100" class="pct high">100%</td>
|
93
|
-
<td data-value="
|
93
|
+
<td data-value="3" class="abs high">3/3</td>
|
94
94
|
</tr>
|
95
95
|
|
96
96
|
<tr>
|
97
97
|
<td class="file high" data-value="migration.ts"><a href="migration.ts.html">migration.ts</a></td>
|
98
|
-
<td data-value="
|
99
|
-
<div class="chart"><div class="cover-fill
|
98
|
+
<td data-value="88.46" class="pic high">
|
99
|
+
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
100
100
|
</td>
|
101
|
+
<td data-value="88.46" class="pct high">88.46%</td>
|
102
|
+
<td data-value="26" class="abs high">23/26</td>
|
103
|
+
<td data-value="50" class="pct medium">50%</td>
|
104
|
+
<td data-value="4" class="abs medium">2/4</td>
|
101
105
|
<td data-value="100" class="pct high">100%</td>
|
102
|
-
<td data-value="
|
106
|
+
<td data-value="8" class="abs high">8/8</td>
|
107
|
+
<td data-value="90.47" class="pct high">90.47%</td>
|
108
|
+
<td data-value="21" class="abs high">19/21</td>
|
109
|
+
</tr>
|
110
|
+
|
111
|
+
<tr>
|
112
|
+
<td class="file medium" data-value="minio.ts"><a href="minio.ts.html">minio.ts</a></td>
|
113
|
+
<td data-value="78.57" class="pic medium">
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
|
115
|
+
</td>
|
116
|
+
<td data-value="78.57" class="pct medium">78.57%</td>
|
117
|
+
<td data-value="14" class="abs medium">11/14</td>
|
103
118
|
<td data-value="100" class="pct high">100%</td>
|
104
119
|
<td data-value="0" class="abs high">0/0</td>
|
105
120
|
<td data-value="100" class="pct high">100%</td>
|
106
|
-
<td data-value="
|
121
|
+
<td data-value="3" class="abs high">3/3</td>
|
122
|
+
<td data-value="78.57" class="pct medium">78.57%</td>
|
123
|
+
<td data-value="14" class="abs medium">11/14</td>
|
124
|
+
</tr>
|
125
|
+
|
126
|
+
<tr>
|
127
|
+
<td class="file high" data-value="mongodb.ts"><a href="mongodb.ts.html">mongodb.ts</a></td>
|
128
|
+
<td data-value="80" class="pic high">
|
129
|
+
<div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
|
130
|
+
</td>
|
131
|
+
<td data-value="80" class="pct high">80%</td>
|
132
|
+
<td data-value="10" class="abs high">8/10</td>
|
107
133
|
<td data-value="100" class="pct high">100%</td>
|
108
|
-
<td data-value="
|
134
|
+
<td data-value="0" class="abs high">0/0</td>
|
135
|
+
<td data-value="100" class="pct high">100%</td>
|
136
|
+
<td data-value="3" class="abs high">3/3</td>
|
137
|
+
<td data-value="80" class="pct high">80%</td>
|
138
|
+
<td data-value="10" class="abs high">8/10</td>
|
109
139
|
</tr>
|
110
140
|
|
111
141
|
<tr>
|
112
142
|
<td class="file high" data-value="sequelize.ts"><a href="sequelize.ts.html">sequelize.ts</a></td>
|
113
|
-
<td data-value="
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
143
|
+
<td data-value="94.11" class="pic high">
|
144
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
115
145
|
</td>
|
116
|
-
<td data-value="
|
117
|
-
<td data-value="
|
146
|
+
<td data-value="94.11" class="pct high">94.11%</td>
|
147
|
+
<td data-value="17" class="abs high">16/17</td>
|
118
148
|
<td data-value="50" class="pct medium">50%</td>
|
119
|
-
<td data-value="
|
149
|
+
<td data-value="2" class="abs medium">1/2</td>
|
150
|
+
<td data-value="100" class="pct high">100%</td>
|
151
|
+
<td data-value="4" class="abs high">4/4</td>
|
120
152
|
<td data-value="100" class="pct high">100%</td>
|
121
|
-
<td data-value="
|
122
|
-
<td data-value="91.66" class="pct high">91.66%</td>
|
123
|
-
<td data-value="24" class="abs high">22/24</td>
|
153
|
+
<td data-value="16" class="abs high">16/16</td>
|
124
154
|
</tr>
|
125
155
|
|
126
156
|
</tbody>
|
@@ -131,7 +161,7 @@
|
|
131
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
132
162
|
Code coverage generated by
|
133
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
134
|
-
at
|
164
|
+
at Mon Aug 15 2022 14:09:53 GMT+0300 (Москва, стандартное время)
|
135
165
|
</div>
|
136
166
|
<script src="../../prettify.js"></script>
|
137
167
|
<script>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
26
26
|
<span class="strong">100% </span>
|
27
27
|
<span class="quiet">Statements</span>
|
28
|
-
<span class='fraction'>
|
28
|
+
<span class='fraction'>3/3</span>
|
29
29
|
</div>
|
30
30
|
|
31
31
|
|
@@ -46,7 +46,7 @@
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
47
47
|
<span class="strong">100% </span>
|
48
48
|
<span class="quiet">Lines</span>
|
49
|
-
<span class='fraction'>
|
49
|
+
<span class='fraction'>3/3</span>
|
50
50
|
</div>
|
51
51
|
|
52
52
|
|
@@ -64,8 +64,14 @@
|
|
64
64
|
<div class='status-line high'></div>
|
65
65
|
<pre><table class="coverage">
|
66
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
|
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
70
|
+
<span class="cline-any cline-yes">1x</span>
|
71
|
+
<span class="cline-any cline-yes">1x</span>
|
68
72
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export * from './sequelize';
|
73
|
+
export * from './minio';
|
74
|
+
export * from './mongodb';
|
69
75
|
</pre></td></tr></table></pre>
|
70
76
|
|
71
77
|
<div class='push'></div><!-- for sticky footer -->
|
@@ -73,7 +79,7 @@
|
|
73
79
|
<div class='footer quiet pad2 space-top1 center small'>
|
74
80
|
Code coverage generated by
|
75
81
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
76
|
-
at
|
82
|
+
at Mon Aug 15 2022 14:09:53 GMT+0300 (Москва, стандартное время)
|
77
83
|
</div>
|
78
84
|
<script src="../../prettify.js"></script>
|
79
85
|
<script>
|
@@ -23,30 +23,30 @@
|
|
23
23
|
<div class='clearfix'>
|
24
24
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
26
|
-
<span class="strong">
|
26
|
+
<span class="strong">88.46% </span>
|
27
27
|
<span class="quiet">Statements</span>
|
28
|
-
<span class='fraction'>
|
28
|
+
<span class='fraction'>23/26</span>
|
29
29
|
</div>
|
30
30
|
|
31
31
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
33
|
-
<span class="strong">
|
33
|
+
<span class="strong">50% </span>
|
34
34
|
<span class="quiet">Branches</span>
|
35
|
-
<span class='fraction'>
|
35
|
+
<span class='fraction'>2/4</span>
|
36
36
|
</div>
|
37
37
|
|
38
38
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
40
40
|
<span class="strong">100% </span>
|
41
41
|
<span class="quiet">Functions</span>
|
42
|
-
<span class='fraction'>
|
42
|
+
<span class='fraction'>8/8</span>
|
43
43
|
</div>
|
44
44
|
|
45
45
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
47
|
-
<span class="strong">
|
47
|
+
<span class="strong">90.47% </span>
|
48
48
|
<span class="quiet">Lines</span>
|
49
|
-
<span class='fraction'>
|
49
|
+
<span class='fraction'>19/21</span>
|
50
50
|
</div>
|
51
51
|
|
52
52
|
|
@@ -114,7 +114,42 @@
|
|
114
114
|
<a name='L49'></a><a href='#L49'>49</a>
|
115
115
|
<a name='L50'></a><a href='#L50'>50</a>
|
116
116
|
<a name='L51'></a><a href='#L51'>51</a>
|
117
|
-
<a name='L52'></a><a href='#L52'>52</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
118
153
|
<span class="cline-any cline-yes">1x</span>
|
119
154
|
<span class="cline-any cline-yes">1x</span>
|
120
155
|
<span class="cline-any cline-neutral"> </span>
|
@@ -122,25 +157,33 @@
|
|
122
157
|
<span class="cline-any cline-neutral"> </span>
|
123
158
|
<span class="cline-any cline-neutral"> </span>
|
124
159
|
<span class="cline-any cline-neutral"> </span>
|
160
|
+
<span class="cline-any cline-neutral"> </span>
|
125
161
|
<span class="cline-any cline-yes">1x</span>
|
162
|
+
<span class="cline-any cline-neutral"> </span>
|
163
|
+
<span class="cline-any cline-neutral"> </span>
|
164
|
+
<span class="cline-any cline-neutral"> </span>
|
126
165
|
<span class="cline-any cline-yes">1x</span>
|
127
166
|
<span class="cline-any cline-neutral"> </span>
|
128
167
|
<span class="cline-any cline-neutral"> </span>
|
129
168
|
<span class="cline-any cline-neutral"> </span>
|
130
169
|
<span class="cline-any cline-neutral"> </span>
|
131
|
-
<span class="cline-any cline-yes">5x</span>
|
132
170
|
<span class="cline-any cline-neutral"> </span>
|
133
171
|
<span class="cline-any cline-neutral"> </span>
|
134
172
|
<span class="cline-any cline-neutral"> </span>
|
135
173
|
<span class="cline-any cline-neutral"> </span>
|
174
|
+
<span class="cline-any cline-yes">9x</span>
|
136
175
|
<span class="cline-any cline-neutral"> </span>
|
137
|
-
<span class="cline-any cline-yes">2x</span>
|
138
176
|
<span class="cline-any cline-neutral"> </span>
|
139
177
|
<span class="cline-any cline-neutral"> </span>
|
140
178
|
<span class="cline-any cline-neutral"> </span>
|
141
179
|
<span class="cline-any cline-neutral"> </span>
|
180
|
+
<span class="cline-any cline-yes">4x</span>
|
142
181
|
<span class="cline-any cline-neutral"> </span>
|
143
|
-
<span class="cline-any cline-
|
182
|
+
<span class="cline-any cline-neutral"> </span>
|
183
|
+
<span class="cline-any cline-neutral"> </span>
|
184
|
+
<span class="cline-any cline-neutral"> </span>
|
185
|
+
<span class="cline-any cline-neutral"> </span>
|
186
|
+
<span class="cline-any cline-yes">7x</span>
|
144
187
|
<span class="cline-any cline-neutral"> </span>
|
145
188
|
<span class="cline-any cline-neutral"> </span>
|
146
189
|
<span class="cline-any cline-neutral"> </span>
|
@@ -157,8 +200,35 @@
|
|
157
200
|
<span class="cline-any cline-neutral"> </span>
|
158
201
|
<span class="cline-any cline-neutral"> </span>
|
159
202
|
<span class="cline-any cline-yes">1x</span>
|
160
|
-
<span class="cline-any cline-yes">
|
161
|
-
<span class="cline-any cline-yes">
|
203
|
+
<span class="cline-any cline-yes">3x</span>
|
204
|
+
<span class="cline-any cline-yes">3x</span>
|
205
|
+
<span class="cline-any cline-neutral"> </span>
|
206
|
+
<span class="cline-any cline-neutral"> </span>
|
207
|
+
<span class="cline-any cline-neutral"> </span>
|
208
|
+
<span class="cline-any cline-neutral"> </span>
|
209
|
+
<span class="cline-any cline-neutral"> </span>
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
211
|
+
<span class="cline-any cline-neutral"> </span>
|
212
|
+
<span class="cline-any cline-neutral"> </span>
|
213
|
+
<span class="cline-any cline-yes">3x</span>
|
214
|
+
<span class="cline-any cline-yes">3x</span>
|
215
|
+
<span class="cline-any cline-yes">3x</span>
|
216
|
+
<span class="cline-any cline-yes">3x</span>
|
217
|
+
<span class="cline-any cline-yes">3x</span>
|
218
|
+
<span class="cline-any cline-no"> </span>
|
219
|
+
<span class="cline-any cline-no"> </span>
|
220
|
+
<span class="cline-any cline-neutral"> </span>
|
221
|
+
<span class="cline-any cline-yes">3x</span>
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
224
|
+
<span class="cline-any cline-neutral"> </span>
|
225
|
+
<span class="cline-any cline-neutral"> </span>
|
226
|
+
<span class="cline-any cline-neutral"> </span>
|
227
|
+
<span class="cline-any cline-neutral"> </span>
|
228
|
+
<span class="cline-any cline-neutral"> </span>
|
229
|
+
<span class="cline-any cline-neutral"> </span>
|
230
|
+
<span class="cline-any cline-neutral"> </span>
|
231
|
+
<span class="cline-any cline-yes">4x</span>
|
162
232
|
<span class="cline-any cline-neutral"> </span>
|
163
233
|
<span class="cline-any cline-neutral"> </span>
|
164
234
|
<span class="cline-any cline-neutral"> </span>
|
@@ -169,12 +239,20 @@
|
|
169
239
|
import { path } from '@biorate/tools';
|
170
240
|
import { init, injectable, inject, Types } from '@biorate/inversion';
|
171
241
|
import { IConfig } from '@biorate/config';
|
242
|
+
import { IConnector, IConnectorConfig } from '@biorate/connector';
|
172
243
|
/**
|
173
244
|
* @description Abstract migration class
|
174
245
|
*/
|
175
246
|
@injectable()
|
176
247
|
export abstract class Migration {
|
248
|
+
/**
|
249
|
+
* @description config property
|
250
|
+
*/
|
177
251
|
@inject(Types.Config) protected config: IConfig;
|
252
|
+
/**
|
253
|
+
* @description connector property
|
254
|
+
*/
|
255
|
+
protected abstract connector: IConnector<IConnectorConfig>;
|
178
256
|
/**
|
179
257
|
* @description Get migration type
|
180
258
|
*/
|
@@ -211,6 +289,33 @@ export abstract class Migration {
|
|
211
289
|
console.log(this.constructor.name);
|
212
290
|
await this.process();
|
213
291
|
}
|
292
|
+
/**
|
293
|
+
* @description For each migration item
|
294
|
+
*/
|
295
|
+
protected async forEach<T extends { name: string }, C>(
|
296
|
+
namespace: string,
|
297
|
+
callback: (config: T, connection: C, paths: string[]) => Promise<void>,
|
298
|
+
) {
|
299
|
+
for (const config of this.config.get<T[]>(namespace, [])) {
|
300
|
+
const paths = await this.scan(config.name);
|
301
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!paths.length) <span class="cstat-no" title="statement not covered" >continue;</span>
|
302
|
+
const connection = this.connector.connection(config.name);
|
303
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!connection) {
|
304
|
+
<span class="cstat-no" title="statement not covered" > console.info(`${namespace} connection [%s] not exists, skip...`, config.name);</span>
|
305
|
+
<span class="cstat-no" title="statement not covered" > continue;</span>
|
306
|
+
}
|
307
|
+
await callback(config, connection, paths);
|
308
|
+
}
|
309
|
+
}
|
310
|
+
/**
|
311
|
+
* @description For each migration item
|
312
|
+
*/
|
313
|
+
protected async forEachPath(
|
314
|
+
paths: string[],
|
315
|
+
callback: (file: string, name: string) => Promise<void>,
|
316
|
+
) {
|
317
|
+
for (const p of paths) await callback(p, path.basename(p));
|
318
|
+
}
|
214
319
|
/**
|
215
320
|
* @description Abstract async process method
|
216
321
|
*/
|
@@ -223,7 +328,7 @@ export abstract class Migration {
|
|
223
328
|
<div class='footer quiet pad2 space-top1 center small'>
|
224
329
|
Code coverage generated by
|
225
330
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
226
|
-
at
|
331
|
+
at Mon Aug 15 2022 14:09:53 GMT+0300 (Москва, стандартное время)
|
227
332
|
</div>
|
228
333
|
<script src="../../prettify.js"></script>
|
229
334
|
<script>
|
@@ -0,0 +1,196 @@
|
|
1
|
+
|
2
|
+
<!doctype html>
|
3
|
+
<html lang="en">
|
4
|
+
|
5
|
+
<head>
|
6
|
+
<title>Code coverage report for src/types/minio.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/types</a> minio.ts</h1>
|
23
|
+
<div class='clearfix'>
|
24
|
+
|
25
|
+
<div class='fl pad1y space-right2'>
|
26
|
+
<span class="strong">78.57% </span>
|
27
|
+
<span class="quiet">Statements</span>
|
28
|
+
<span class='fraction'>11/14</span>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
|
32
|
+
<div class='fl pad1y space-right2'>
|
33
|
+
<span class="strong">100% </span>
|
34
|
+
<span class="quiet">Branches</span>
|
35
|
+
<span class='fraction'>0/0</span>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
|
39
|
+
<div class='fl pad1y space-right2'>
|
40
|
+
<span class="strong">100% </span>
|
41
|
+
<span class="quiet">Functions</span>
|
42
|
+
<span class='fraction'>3/3</span>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
|
46
|
+
<div class='fl pad1y space-right2'>
|
47
|
+
<span class="strong">78.57% </span>
|
48
|
+
<span class="quiet">Lines</span>
|
49
|
+
<span class='fraction'>11/14</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 medium'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
105
|
+
<span class="cline-any cline-yes">1x</span>
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
109
|
+
<span class="cline-any cline-yes">1x</span>
|
110
|
+
<span class="cline-any cline-yes">1x</span>
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
115
|
+
<span class="cline-any cline-yes">1x</span>
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
118
|
+
<span class="cline-any cline-yes">1x</span>
|
119
|
+
<span class="cline-any cline-yes">1x</span>
|
120
|
+
<span class="cline-any cline-yes">1x</span>
|
121
|
+
<span class="cline-any cline-yes">1x</span>
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
123
|
+
<span class="cline-any cline-neutral"> </span>
|
124
|
+
<span class="cline-any cline-yes">1x</span>
|
125
|
+
<span class="cline-any cline-yes">1x</span>
|
126
|
+
<span class="cline-any cline-neutral"> </span>
|
127
|
+
<span class="cline-any cline-no"> </span>
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
129
|
+
<span class="cline-any cline-neutral"> </span>
|
130
|
+
<span class="cline-any cline-neutral"> </span>
|
131
|
+
<span class="cline-any cline-neutral"> </span>
|
132
|
+
<span class="cline-any cline-neutral"> </span>
|
133
|
+
<span class="cline-any cline-no"> </span>
|
134
|
+
<span class="cline-any cline-no"> </span>
|
135
|
+
<span class="cline-any cline-neutral"> </span>
|
136
|
+
<span class="cline-any cline-neutral"> </span>
|
137
|
+
<span class="cline-any cline-neutral"> </span>
|
138
|
+
<span class="cline-any cline-neutral"> </span>
|
139
|
+
<span class="cline-any cline-neutral"> </span>
|
140
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Migration } from './migration';
|
141
|
+
import { IMinioDBConnector, IMinioConfig, IMinioConnection } from '@biorate/minio';
|
142
|
+
import { inject, Types } from '@biorate/inversion';
|
143
|
+
/**
|
144
|
+
* @description Minio migration class
|
145
|
+
*/
|
146
|
+
export class Minio extends Migration {
|
147
|
+
@inject(Types.Minio) protected connector: IMinioDBConnector;
|
148
|
+
/**
|
149
|
+
* @description Minio process method realization
|
150
|
+
*/
|
151
|
+
protected async process() {
|
152
|
+
await this.forEach<IMinioConfig, IMinioConnection>(
|
153
|
+
'Minio',
|
154
|
+
async (config, connection, paths) =>
|
155
|
+
await this.forEachPath(paths, async (file, name) => {
|
156
|
+
const tableName = this.config.get<string>('migrations.tableName', 'migrations');
|
157
|
+
try {
|
158
|
+
await connection.makeBucket(tableName, tableName);
|
159
|
+
} catch {}
|
160
|
+
|
161
|
+
try {
|
162
|
+
await connection.getObject(tableName, name);
|
163
|
+
} catch (e) {
|
164
|
+
<span class="cstat-no" title="statement not covered" > await (</span>
|
165
|
+
require(file) as (
|
166
|
+
connection: IMinioConnection,
|
167
|
+
config: IMinioConfig,
|
168
|
+
) => Promise<void>
|
169
|
+
)(connection, config);
|
170
|
+
<span class="cstat-no" title="statement not covered" > await connection.putObject(tableName, name, Buffer.from('1'));</span>
|
171
|
+
<span class="cstat-no" title="statement not covered" > this.log(config.name, name);</span>
|
172
|
+
}
|
173
|
+
}),
|
174
|
+
);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
</pre></td></tr></table></pre>
|
178
|
+
|
179
|
+
<div class='push'></div><!-- for sticky footer -->
|
180
|
+
</div><!-- /wrapper -->
|
181
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
182
|
+
Code coverage generated by
|
183
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
184
|
+
at Mon Aug 15 2022 14:09:53 GMT+0300 (Москва, стандартное время)
|
185
|
+
</div>
|
186
|
+
<script src="../../prettify.js"></script>
|
187
|
+
<script>
|
188
|
+
window.onload = function () {
|
189
|
+
prettyPrint();
|
190
|
+
};
|
191
|
+
</script>
|
192
|
+
<script src="../../sorter.js"></script>
|
193
|
+
<script src="../../block-navigation.js"></script>
|
194
|
+
</body>
|
195
|
+
</html>
|
196
|
+
|