ugly-app 0.1.302 → 0.1.304
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/coverage/{server/Storage.ts.html → Storage.ts.html} +64 -112
- package/coverage/clover.xml +42 -4530
- package/coverage/coverage-final.json +1 -78
- package/coverage/index.html +14 -239
- package/dist/cli/deployRemote.d.ts.map +1 -1
- package/dist/cli/deployRemote.js +29 -40
- package/dist/cli/deployRemote.js.map +1 -1
- package/dist/cli/deployTar.d.ts.map +1 -1
- package/dist/cli/deployTar.js +5 -2
- package/dist/cli/deployTar.js.map +1 -1
- package/dist/cli/migrate.js.map +1 -1
- package/dist/cli/uglyappConfig.js.map +1 -1
- package/dist/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/client/bootstrapApp.js +1 -1
- package/dist/client/bootstrapApp.js.map +1 -1
- package/dist/client/createSocket.d.ts.map +1 -1
- package/dist/client/createSocket.js +2 -1
- package/dist/client/createSocket.js.map +1 -1
- package/dist/client/uglyBotSocket.js +2 -2
- package/dist/client/uglyBotSocket.js.map +1 -1
- package/dist/server/App.js +5 -5
- package/dist/server/App.js.map +1 -1
- package/dist/server/Auth.d.ts.map +1 -1
- package/dist/server/Auth.js +0 -9
- package/dist/server/Auth.js.map +1 -1
- package/dist/server/Email.js +2 -2
- package/dist/server/Email.js.map +1 -1
- package/dist/server/EventCounter.d.ts +1 -1
- package/dist/server/EventCounter.d.ts.map +1 -1
- package/dist/server/EventCounter.js +2 -2
- package/dist/server/EventCounter.js.map +1 -1
- package/dist/server/EventLogAdmin.d.ts +3 -3
- package/dist/server/EventLogAdmin.d.ts.map +1 -1
- package/dist/server/EventLogAdmin.js +6 -6
- package/dist/server/EventLogAdmin.js.map +1 -1
- package/dist/server/Logging.d.ts +2 -2
- package/dist/server/Logging.d.ts.map +1 -1
- package/dist/server/Logging.js +2 -2
- package/dist/server/Logging.js.map +1 -1
- package/dist/server/SchemaCheck.js +1 -1
- package/dist/server/SchemaCheck.js.map +1 -1
- package/dist/server/Socket.d.ts.map +1 -1
- package/dist/server/Socket.js +0 -1
- package/dist/server/Socket.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/deployRemote.ts +35 -38
- package/src/cli/deployTar.ts +6 -2
- package/src/cli/migrate.ts +1 -1
- package/src/cli/uglyappConfig.ts +1 -1
- package/src/cli/version.ts +1 -1
- package/src/client/bootstrapApp.tsx +1 -1
- package/src/client/createSocket.ts +4 -3
- package/src/client/uglyBotSocket.ts +4 -4
- package/src/server/App.ts +7 -7
- package/src/server/Auth.ts +0 -10
- package/src/server/Email.ts +2 -2
- package/src/server/EventCounter.ts +3 -4
- package/src/server/EventLogAdmin.ts +11 -11
- package/src/server/Logging.ts +3 -5
- package/src/server/SchemaCheck.ts +1 -1
- package/src/server/Socket.ts +0 -1
- package/coverage/client/AppProvider.tsx.html +0 -802
- package/coverage/client/FeedbackContext.ts.html +0 -133
- package/coverage/client/LoginPopup.tsx.html +0 -325
- package/coverage/client/Router.tsx.html +0 -2197
- package/coverage/client/Screenshot.ts.html +0 -790
- package/coverage/client/ViewFlipper.tsx.html +0 -778
- package/coverage/client/animation/Animated.tsx.html +0 -544
- package/coverage/client/animation/animatedValue.ts.html +0 -721
- package/coverage/client/animation/index.html +0 -131
- package/coverage/client/audio/index.html +0 -131
- package/coverage/client/audio/useSTT.ts.html +0 -448
- package/coverage/client/audio/useTTS.ts.html +0 -382
- package/coverage/client/components/Button.tsx.html +0 -379
- package/coverage/client/components/FeedbackButton.tsx.html +0 -631
- package/coverage/client/components/Input.tsx.html +0 -286
- package/coverage/client/components/Modal.tsx.html +0 -277
- package/coverage/client/components/Text.tsx.html +0 -349
- package/coverage/client/components/Toast.tsx.html +0 -235
- package/coverage/client/components/index.html +0 -206
- package/coverage/client/components/zIndex.ts.html +0 -118
- package/coverage/client/createSocket.ts.html +0 -2323
- package/coverage/client/index.html +0 -206
- package/coverage/collab/server/CollabServer.ts.html +0 -1675
- package/coverage/collab/server/index.html +0 -116
- package/coverage/server/Auth.ts.html +0 -988
- package/coverage/server/Cache.ts.html +0 -568
- package/coverage/server/DB.ts.html +0 -1549
- package/coverage/server/Email.ts.html +0 -466
- package/coverage/server/EmailTemplate.ts.html +0 -223
- package/coverage/server/EventLogAdmin.ts.html +0 -1432
- package/coverage/server/Postgres.ts.html +0 -172
- package/coverage/server/PostgresDB.ts.html +0 -874
- package/coverage/server/PostgresFilter.ts.html +0 -571
- package/coverage/server/PostgresOperators.ts.html +0 -460
- package/coverage/server/PostgresPipeline.ts.html +0 -871
- package/coverage/server/PostgresSchema.ts.html +0 -238
- package/coverage/server/PostgresSearch.ts.html +0 -412
- package/coverage/server/PushNotification.ts.html +0 -583
- package/coverage/server/Qdrant.ts.html +0 -415
- package/coverage/server/RateLimit.ts.html +0 -1087
- package/coverage/server/Router.ts.html +0 -520
- package/coverage/server/ScheduledTask.ts.html +0 -238
- package/coverage/server/SchemaCheck.ts.html +0 -481
- package/coverage/server/Socket.ts.html +0 -1468
- package/coverage/server/StoreHandlers.ts.html +0 -607
- package/coverage/server/ai/ImageGenClient.ts.html +0 -142
- package/coverage/server/ai/ProviderBalance.ts.html +0 -193
- package/coverage/server/ai/TextGenClient.ts.html +0 -244
- package/coverage/server/ai/WebSearchClient.ts.html +0 -190
- package/coverage/server/ai/index.html +0 -191
- package/coverage/server/ai/index.ts.html +0 -187
- package/coverage/server/ai/providers/UglyBotImageGenProvider.ts.html +0 -292
- package/coverage/server/ai/providers/UglyBotTextGenProvider.ts.html +0 -496
- package/coverage/server/ai/providers/UglyBotWebSearchProvider.ts.html +0 -418
- package/coverage/server/ai/providers/index.html +0 -146
- package/coverage/server/ai/types.ts.html +0 -520
- package/coverage/server/billing/BillingGateway.ts.html +0 -868
- package/coverage/server/billing/BillingLedger.ts.html +0 -910
- package/coverage/server/billing/CreditStore.ts.html +0 -577
- package/coverage/server/billing/LimitEnforcer.ts.html +0 -1237
- package/coverage/server/billing/UserLimitCache.ts.html +0 -388
- package/coverage/server/billing/index.html +0 -191
- package/coverage/server/billing/types.ts.html +0 -889
- package/coverage/server/embeddings/EmbeddingClient.ts.html +0 -217
- package/coverage/server/embeddings/index.html +0 -131
- package/coverage/server/embeddings/providers/OpenAI.ts.html +0 -196
- package/coverage/server/embeddings/providers/index.html +0 -116
- package/coverage/server/embeddings/registry.ts.html +0 -151
- package/coverage/server/index.html +0 -431
- package/coverage/shared/Api.ts.html +0 -478
- package/coverage/shared/Audio.ts.html +0 -1318
- package/coverage/shared/DB.ts.html +0 -2095
- package/coverage/shared/Errors.ts.html +0 -145
- package/coverage/shared/Experiment.ts.html +0 -298
- package/coverage/shared/FrameworkRequests.ts.html +0 -538
- package/coverage/shared/ImageGen.ts.html +0 -1861
- package/coverage/shared/Router.ts.html +0 -538
- package/coverage/shared/SchemaDiff.ts.html +0 -634
- package/coverage/shared/SchemaSerializer.ts.html +0 -517
- package/coverage/shared/TextGen.ts.html +0 -3076
- package/coverage/shared/Voice.ts.html +0 -331
- package/coverage/shared/WebSearch.ts.html +0 -169
- package/coverage/shared/index.html +0 -311
- package/coverage/shared/index.ts.html +0 -529
- package/coverage/three/server/VideoEncoder.ts.html +0 -2245
- package/coverage/three/server/index.html +0 -116
- package/coverage/three/shared/CameraController.ts.html +0 -1519
- package/coverage/three/shared/PostProcessing.ts.html +0 -1771
- package/coverage/three/shared/index.html +0 -131
- package/coverage/webrtc/server/VideoRoomServer.ts.html +0 -1726
- package/coverage/webrtc/server/index.html +0 -116
- package/coverage/worker/TaskHost.ts.html +0 -865
- package/coverage/worker/index.html +0 -116
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
<html lang="en">
|
|
4
4
|
|
|
5
5
|
<head>
|
|
6
|
-
<title>Code coverage report for
|
|
6
|
+
<title>Code coverage report for Storage.ts</title>
|
|
7
7
|
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="
|
|
9
|
-
<link rel="stylesheet" href="
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="
|
|
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
11
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
12
|
<style type='text/css'>
|
|
13
13
|
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(
|
|
14
|
+
background-image: url(sort-arrow-sprite.png);
|
|
15
15
|
}
|
|
16
16
|
</style>
|
|
17
17
|
</head>
|
|
@@ -19,34 +19,34 @@
|
|
|
19
19
|
<body>
|
|
20
20
|
<div class='wrapper'>
|
|
21
21
|
<div class='pad1'>
|
|
22
|
-
<h1><a href="
|
|
22
|
+
<h1><a href="index.html">All files</a> Storage.ts</h1>
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>36/36</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">94.44% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>17/18</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>36/36</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -198,23 +198,7 @@
|
|
|
198
198
|
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
199
|
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
218
202
|
<span class="cline-any cline-neutral"> </span>
|
|
219
203
|
<span class="cline-any cline-neutral"> </span>
|
|
220
204
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -222,25 +206,24 @@
|
|
|
222
206
|
<span class="cline-any cline-neutral"> </span>
|
|
223
207
|
<span class="cline-any cline-neutral"> </span>
|
|
224
208
|
<span class="cline-any cline-neutral"> </span>
|
|
225
|
-
<span class="cline-any cline-yes">
|
|
226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
209
|
+
<span class="cline-any cline-yes">1x</span>
|
|
227
210
|
<span class="cline-any cline-neutral"> </span>
|
|
228
|
-
<span class="cline-any cline-no"> </span>
|
|
229
211
|
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-yes">11x</span>
|
|
230
213
|
<span class="cline-any cline-neutral"> </span>
|
|
231
214
|
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-yes">20x</span>
|
|
233
215
|
<span class="cline-any cline-neutral"> </span>
|
|
216
|
+
<span class="cline-any cline-yes">28x</span>
|
|
234
217
|
<span class="cline-any cline-neutral"> </span>
|
|
235
218
|
<span class="cline-any cline-neutral"> </span>
|
|
236
|
-
<span class="cline-any cline-yes">33x</span>
|
|
237
219
|
<span class="cline-any cline-neutral"> </span>
|
|
220
|
+
<span class="cline-any cline-yes">28x</span>
|
|
238
221
|
<span class="cline-any cline-neutral"> </span>
|
|
239
222
|
<span class="cline-any cline-neutral"> </span>
|
|
240
223
|
<span class="cline-any cline-neutral"> </span>
|
|
241
224
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-yes">24x</span>
|
|
243
225
|
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-yes">29x</span>
|
|
244
227
|
<span class="cline-any cline-neutral"> </span>
|
|
245
228
|
<span class="cline-any cline-neutral"> </span>
|
|
246
229
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -251,36 +234,22 @@
|
|
|
251
234
|
<span class="cline-any cline-neutral"> </span>
|
|
252
235
|
<span class="cline-any cline-neutral"> </span>
|
|
253
236
|
<span class="cline-any cline-neutral"> </span>
|
|
237
|
+
<span class="cline-any cline-yes">17x</span>
|
|
254
238
|
<span class="cline-any cline-neutral"> </span>
|
|
255
239
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-yes">13x</span>
|
|
257
|
-
<span class="cline-any cline-neutral"> </span>
|
|
258
|
-
<span class="cline-any cline-yes">8x</span>
|
|
259
|
-
<span class="cline-any cline-neutral"> </span>
|
|
260
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
|
+
<span class="cline-any cline-yes">25x</span>
|
|
242
|
+
<span class="cline-any cline-yes">12x</span>
|
|
243
|
+
<span class="cline-any cline-yes">12x</span>
|
|
261
244
|
<span class="cline-any cline-neutral"> </span>
|
|
262
245
|
<span class="cline-any cline-neutral"> </span>
|
|
263
246
|
<span class="cline-any cline-yes">13x</span>
|
|
264
|
-
<span class="cline-any cline-yes">2x</span>
|
|
265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-yes">6x</span>
|
|
268
247
|
<span class="cline-any cline-neutral"> </span>
|
|
269
248
|
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-yes">25x</span>
|
|
270
250
|
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-yes">
|
|
272
|
-
<span class="cline-any cline-yes">
|
|
273
|
-
<span class="cline-any cline-yes">7x</span>
|
|
274
|
-
<span class="cline-any cline-neutral"> </span>
|
|
275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">11x</span>
|
|
277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-neutral"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-yes">18x</span>
|
|
282
|
-
<span class="cline-any cline-yes">2x</span>
|
|
283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-yes">4x</span>
|
|
252
|
+
<span class="cline-any cline-yes">4x</span>
|
|
284
253
|
<span class="cline-any cline-neutral"> </span>
|
|
285
254
|
<span class="cline-any cline-yes">9x</span>
|
|
286
255
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -305,12 +274,12 @@
|
|
|
305
274
|
<span class="cline-any cline-neutral"> </span>
|
|
306
275
|
<span class="cline-any cline-neutral"> </span>
|
|
307
276
|
<span class="cline-any cline-neutral"> </span>
|
|
308
|
-
<span class="cline-any cline-yes">
|
|
277
|
+
<span class="cline-any cline-yes">29x</span>
|
|
309
278
|
<span class="cline-any cline-neutral"> </span>
|
|
310
|
-
<span class="cline-any cline-yes">
|
|
279
|
+
<span class="cline-any cline-yes">29x</span>
|
|
311
280
|
<span class="cline-any cline-neutral"> </span>
|
|
312
|
-
<span class="cline-any cline-yes">
|
|
313
|
-
<span class="cline-any cline-yes">
|
|
281
|
+
<span class="cline-any cline-yes">8x</span>
|
|
282
|
+
<span class="cline-any cline-yes">8x</span>
|
|
314
283
|
<span class="cline-any cline-neutral"> </span>
|
|
315
284
|
<span class="cline-any cline-neutral"> </span>
|
|
316
285
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -318,50 +287,49 @@
|
|
|
318
287
|
<span class="cline-any cline-neutral"> </span>
|
|
319
288
|
<span class="cline-any cline-neutral"> </span>
|
|
320
289
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-yes">
|
|
290
|
+
<span class="cline-any cline-yes">8x</span>
|
|
322
291
|
<span class="cline-any cline-neutral"> </span>
|
|
323
292
|
<span class="cline-any cline-neutral"> </span>
|
|
324
293
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-yes">
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
327
|
-
<span class="cline-any cline-yes">
|
|
328
|
-
<span class="cline-any cline-yes">
|
|
329
|
-
<span class="cline-any cline-yes">
|
|
294
|
+
<span class="cline-any cline-yes">3x</span>
|
|
295
|
+
<span class="cline-any cline-yes">3x</span>
|
|
296
|
+
<span class="cline-any cline-yes">3x</span>
|
|
297
|
+
<span class="cline-any cline-yes">3x</span>
|
|
298
|
+
<span class="cline-any cline-yes">3x</span>
|
|
330
299
|
<span class="cline-any cline-neutral"> </span>
|
|
331
300
|
<span class="cline-any cline-neutral"> </span>
|
|
332
301
|
<span class="cline-any cline-neutral"> </span>
|
|
333
302
|
<span class="cline-any cline-neutral"> </span>
|
|
334
303
|
<span class="cline-any cline-neutral"> </span>
|
|
335
304
|
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-yes">
|
|
305
|
+
<span class="cline-any cline-yes">3x</span>
|
|
337
306
|
<span class="cline-any cline-neutral"> </span>
|
|
338
307
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-yes">
|
|
308
|
+
<span class="cline-any cline-yes">3x</span>
|
|
340
309
|
<span class="cline-any cline-neutral"> </span>
|
|
341
310
|
<span class="cline-any cline-neutral"> </span>
|
|
342
311
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
312
|
+
<span class="cline-any cline-yes">11x</span>
|
|
344
313
|
<span class="cline-any cline-neutral"> </span>
|
|
345
314
|
<span class="cline-any cline-neutral"> </span>
|
|
346
315
|
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-yes">
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
316
|
+
<span class="cline-any cline-yes">3x</span>
|
|
317
|
+
<span class="cline-any cline-yes">3x</span>
|
|
349
318
|
<span class="cline-any cline-neutral"> </span>
|
|
350
319
|
<span class="cline-any cline-neutral"> </span>
|
|
351
320
|
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
321
|
+
<span class="cline-any cline-yes">3x</span>
|
|
353
322
|
<span class="cline-any cline-neutral"> </span>
|
|
354
323
|
<span class="cline-any cline-neutral"> </span>
|
|
355
324
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-yes">3x</span>
|
|
326
|
+
<span class="cline-any cline-yes">3x</span>
|
|
356
327
|
<span class="cline-any cline-yes">2x</span>
|
|
357
328
|
<span class="cline-any cline-yes">2x</span>
|
|
358
|
-
<span class="cline-any cline-yes">1x</span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">1x</span>
|
|
361
329
|
<span class="cline-any cline-neutral"> </span>
|
|
362
330
|
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
331
|
+
<span class="cline-any cline-yes">3x</span>
|
|
332
|
+
<span class="cline-any cline-yes">3x</span>
|
|
365
333
|
<span class="cline-any cline-neutral"> </span>
|
|
366
334
|
<span class="cline-any cline-neutral"> </span>
|
|
367
335
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -375,12 +343,12 @@ import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
|
|
|
375
343
|
|
|
376
344
|
let _storagePrefix = '';
|
|
377
345
|
|
|
378
|
-
export function
|
|
379
|
-
|
|
346
|
+
export function setStoragePrefix(prefix: string): void {
|
|
347
|
+
_storagePrefix = prefix;
|
|
380
348
|
}
|
|
381
349
|
|
|
382
350
|
function prefixKey(key: string): string {
|
|
383
|
-
return _storagePrefix ?
|
|
351
|
+
return _storagePrefix ? `${_storagePrefix}/${key}` : key;
|
|
384
352
|
}
|
|
385
353
|
|
|
386
354
|
function isDev(): boolean {
|
|
@@ -395,27 +363,13 @@ function getS3Client(): S3Client {
|
|
|
395
363
|
endpoint: process.env['MINIO_ENDPOINT'] ?? 'http://localhost:9000',
|
|
396
364
|
credentials: { accessKeyId: 'minioadmin', secretAccessKey: 'minioadmin' },
|
|
397
365
|
forcePathStyle: true,
|
|
398
|
-
// Disable automatic CRC32 checksums — SDK v3.700+ bakes an empty-body
|
|
399
|
-
// checksum into presigned URLs, which causes 403s when the actual upload
|
|
400
|
-
// has a real body (e.g. image files via presignedPut).
|
|
401
366
|
requestChecksumCalculation: 'WHEN_REQUIRED',
|
|
402
367
|
responseChecksumValidation: 'WHEN_REQUIRED',
|
|
403
368
|
});
|
|
404
369
|
}
|
|
405
370
|
|
|
406
371
|
function getBucketName(bucket: 'public' | 'temp'): string {
|
|
407
|
-
|
|
408
|
-
const name =
|
|
409
|
-
bucket === 'public'
|
|
410
|
-
? process.env['STORAGE_PUBLIC_BUCKET'] ??
|
|
411
|
-
process.env['CLOUDFLARE_R2_PUBLIC_BUCKET']
|
|
412
|
-
: process.env['STORAGE_TEMP_BUCKET'] ??
|
|
413
|
-
process.env['CLOUDFLARE_R2_TEMP_BUCKET'];
|
|
414
|
-
if (!name)
|
|
415
|
-
throw new Error(
|
|
416
|
-
`[Storage] STORAGE_${bucket.toUpperCase()}_BUCKET required in production`,
|
|
417
|
-
);
|
|
418
|
-
return name;
|
|
372
|
+
return bucket;
|
|
419
373
|
}
|
|
420
374
|
|
|
421
375
|
function getBaseUrl(bucket: 'public' | 'temp'): string {
|
|
@@ -423,16 +377,15 @@ function getBaseUrl(bucket: 'public' | 'temp'): string {
|
|
|
423
377
|
const endpoint = process.env['MINIO_ENDPOINT'] ?? 'http://localhost:9000';
|
|
424
378
|
return `${endpoint}/${bucket}/`;
|
|
425
379
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
);
|
|
380
|
+
// In production, the sidecar injects STORAGE_PUBLIC_URL / STORAGE_TEMP_URL
|
|
381
|
+
const url = bucket === 'public'
|
|
382
|
+
? process.env['STORAGE_PUBLIC_URL']
|
|
383
|
+
: process.env['STORAGE_TEMP_URL'];
|
|
384
|
+
if (!url) {
|
|
385
|
+
// Fall back to sidecar endpoint if URLs not injected
|
|
386
|
+
const endpoint = process.env['MINIO_ENDPOINT'] ?? <span class="branch-1 cbranch-no" title="branch not covered" >'http://localhost:9000';</span>
|
|
387
|
+
return `${endpoint}/${bucket}/`;
|
|
388
|
+
}
|
|
436
389
|
return url.endsWith('/') ? url : url + '/';
|
|
437
390
|
}
|
|
438
391
|
|
|
@@ -507,7 +460,6 @@ export function createStorageClient(): StorageClient {
|
|
|
507
460
|
let proxiedUploadUrl = uploadUrl;
|
|
508
461
|
if (isDev()) {
|
|
509
462
|
const parsed = new URL(uploadUrl);
|
|
510
|
-
// Replace S3 origin with a same-origin path that Express will proxy
|
|
511
463
|
proxiedUploadUrl = `/_s3${parsed.pathname}${parsed.search}`;
|
|
512
464
|
}
|
|
513
465
|
|
|
@@ -523,16 +475,16 @@ export function createStorageClient(): StorageClient {
|
|
|
523
475
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
524
476
|
Code coverage generated by
|
|
525
477
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
526
|
-
at 2026-04-
|
|
478
|
+
at 2026-04-08T15:50:02.828Z
|
|
527
479
|
</div>
|
|
528
|
-
<script src="
|
|
480
|
+
<script src="prettify.js"></script>
|
|
529
481
|
<script>
|
|
530
482
|
window.onload = function () {
|
|
531
483
|
prettyPrint();
|
|
532
484
|
};
|
|
533
485
|
</script>
|
|
534
|
-
<script src="
|
|
535
|
-
<script src="
|
|
486
|
+
<script src="sorter.js"></script>
|
|
487
|
+
<script src="block-navigation.js"></script>
|
|
536
488
|
</body>
|
|
537
489
|
</html>
|
|
538
490
|
|