@manticore-labs/nest 0.0.76 → 0.0.78
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/.idea/workspace.xml +47 -160
- package/build/main/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +2 -2
- package/build/main/lib/google-cloud/google-cloud-storage.service.d.ts +18 -0
- package/build/main/lib/google-cloud/google-cloud-storage.service.js +106 -0
- package/build/main/lib/google-cloud/interfaces/file-google-cloud.d.ts +4 -0
- package/build/main/lib/google-cloud/interfaces/file-google-cloud.js +3 -0
- package/build/main/lib/google-cloud/interfaces/funciones-seguridad.d.ts +8 -0
- package/build/main/lib/google-cloud/interfaces/funciones-seguridad.js +3 -0
- package/build/main/lib/google-cloud/interfaces/mensajes-controlador.d.ts +4 -0
- package/build/main/lib/google-cloud/interfaces/mensajes-controlador.js +3 -0
- package/build/module/lib/funciones-util/misc/eliminar-nulos-recursivamente.js +2 -2
- package/build/module/lib/google-cloud/google-cloud-storage.service.d.ts +18 -0
- package/build/module/lib/google-cloud/google-cloud-storage.service.js +104 -0
- package/build/module/lib/google-cloud/interfaces/file-google-cloud.d.ts +4 -0
- package/build/module/lib/google-cloud/interfaces/file-google-cloud.js +1 -0
- package/build/module/lib/google-cloud/interfaces/funciones-seguridad.d.ts +8 -0
- package/build/module/lib/google-cloud/interfaces/funciones-seguridad.js +1 -0
- package/build/module/lib/google-cloud/interfaces/mensajes-controlador.d.ts +4 -0
- package/build/module/lib/google-cloud/interfaces/mensajes-controlador.js +1 -0
- package/package.json +1 -1
package/.idea/workspace.xml
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
<project version="4">
|
|
3
3
|
<component name="ChangeListManager">
|
|
4
4
|
<list default="true" id="3cc62c2f-2436-4bac-9d17-6fb9079f080d" name="Default Changelist" comment="">
|
|
5
|
-
<change afterPath="$PROJECT_DIR$/src/lib/
|
|
5
|
+
<change afterPath="$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts" afterDir="false" />
|
|
6
|
+
<change afterPath="$PROJECT_DIR$/src/lib/google-cloud/interfaces/file-google-cloud.ts" afterDir="false" />
|
|
7
|
+
<change afterPath="$PROJECT_DIR$/src/lib/google-cloud/interfaces/funciones-seguridad.ts" afterDir="false" />
|
|
8
|
+
<change afterPath="$PROJECT_DIR$/src/lib/google-cloud/interfaces/mensajes-controlador.ts" afterDir="false" />
|
|
6
9
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
7
10
|
<change beforePath="$PROJECT_DIR$/package-lock.json" beforeDir="false" />
|
|
8
11
|
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/src/index.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/index.ts" afterDir="false" />
|
|
10
12
|
</list>
|
|
11
13
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
12
14
|
<option name="SHOW_DIALOG" value="false" />
|
|
@@ -16,11 +18,6 @@
|
|
|
16
18
|
</component>
|
|
17
19
|
<component name="FileEditorManager">
|
|
18
20
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
|
|
19
|
-
<file pinned="false" current-in-tab="false">
|
|
20
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-device.ts">
|
|
21
|
-
<provider selected="true" editor-type-id="text-editor" />
|
|
22
|
-
</entry>
|
|
23
|
-
</file>
|
|
24
21
|
<file pinned="false" current-in-tab="false">
|
|
25
22
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-success.ts">
|
|
26
23
|
<provider selected="true" editor-type-id="text-editor">
|
|
@@ -42,8 +39,8 @@
|
|
|
42
39
|
<file pinned="false" current-in-tab="false">
|
|
43
40
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts">
|
|
44
41
|
<provider selected="true" editor-type-id="text-editor">
|
|
45
|
-
<state relative-caret-position="
|
|
46
|
-
<caret line="87" column="65"
|
|
42
|
+
<state relative-caret-position="1617">
|
|
43
|
+
<caret line="87" column="65" selection-start-line="87" selection-start-column="65" selection-end-line="87" selection-end-column="65" />
|
|
47
44
|
</state>
|
|
48
45
|
</provider>
|
|
49
46
|
</entry>
|
|
@@ -58,10 +55,35 @@
|
|
|
58
55
|
</entry>
|
|
59
56
|
</file>
|
|
60
57
|
<file pinned="false" current-in-tab="false">
|
|
61
|
-
<entry file="file://$PROJECT_DIR$/src/lib/
|
|
58
|
+
<entry file="file://$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts">
|
|
59
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
60
|
+
<state relative-caret-position="346">
|
|
61
|
+
<caret line="103" lean-forward="true" selection-start-line="103" selection-end-line="103" />
|
|
62
|
+
<folding>
|
|
63
|
+
<element signature="e#0#44#0" expanded="true" />
|
|
64
|
+
<element signature="n#!!block;n#uploadAndMakePublic#0;n#GoogleCloudStorageService#0" />
|
|
65
|
+
<element signature="n#!!block;n#upload#0;n#GoogleCloudStorageService#0" />
|
|
66
|
+
<element signature="n#!!block;n#makePublic#0;n#GoogleCloudStorageService#0" />
|
|
67
|
+
<element signature="n#!!block;n#deleteFile#0;n#GoogleCloudStorageService#0" />
|
|
68
|
+
</folding>
|
|
69
|
+
</state>
|
|
70
|
+
</provider>
|
|
71
|
+
</entry>
|
|
72
|
+
</file>
|
|
73
|
+
<file pinned="false" current-in-tab="false">
|
|
74
|
+
<entry file="file://$PROJECT_DIR$/src/lib/google-cloud/interfaces/file-google-cloud.ts">
|
|
62
75
|
<provider selected="true" editor-type-id="text-editor">
|
|
63
76
|
<state>
|
|
64
|
-
<caret column="
|
|
77
|
+
<caret column="17" selection-start-column="17" selection-end-column="17" />
|
|
78
|
+
</state>
|
|
79
|
+
</provider>
|
|
80
|
+
</entry>
|
|
81
|
+
</file>
|
|
82
|
+
<file pinned="false" current-in-tab="false">
|
|
83
|
+
<entry file="file://$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts">
|
|
84
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
85
|
+
<state relative-caret-position="252">
|
|
86
|
+
<caret line="12" column="6" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
|
|
65
87
|
</state>
|
|
66
88
|
</provider>
|
|
67
89
|
</entry>
|
|
@@ -69,7 +91,7 @@
|
|
|
69
91
|
<file pinned="false" current-in-tab="false">
|
|
70
92
|
<entry file="file://$PROJECT_DIR$/src/index.ts">
|
|
71
93
|
<provider selected="true" editor-type-id="text-editor">
|
|
72
|
-
<state relative-caret-position="
|
|
94
|
+
<state relative-caret-position="987">
|
|
73
95
|
<caret line="47" column="70" selection-start-line="47" selection-start-column="70" selection-end-line="47" selection-end-column="70" />
|
|
74
96
|
</state>
|
|
75
97
|
</provider>
|
|
@@ -100,38 +122,17 @@
|
|
|
100
122
|
</file>
|
|
101
123
|
</leaf>
|
|
102
124
|
</component>
|
|
103
|
-
<component name="FileTemplateManagerImpl">
|
|
104
|
-
<option name="RECENT_TEMPLATES">
|
|
105
|
-
<list>
|
|
106
|
-
<option value="TypeScript File" />
|
|
107
|
-
</list>
|
|
108
|
-
</option>
|
|
109
|
-
</component>
|
|
110
|
-
<component name="FindInProjectRecents">
|
|
111
|
-
<findStrings>
|
|
112
|
-
<find>device</find>
|
|
113
|
-
</findStrings>
|
|
114
|
-
</component>
|
|
115
125
|
<component name="Git.Settings">
|
|
116
126
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
117
127
|
</component>
|
|
118
128
|
<component name="IdeDocumentHistory">
|
|
119
129
|
<option name="CHANGED_PATHS">
|
|
120
130
|
<list>
|
|
121
|
-
<option value="$PROJECT_DIR$/src/lib/
|
|
122
|
-
<option value="$PROJECT_DIR$/src/lib/one-signal/one-signal.controller.ts" />
|
|
123
|
-
<option value="$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts" />
|
|
124
|
-
<option value="$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts" />
|
|
125
|
-
<option value="$PROJECT_DIR$/src/index.ts" />
|
|
131
|
+
<option value="$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts" />
|
|
126
132
|
<option value="$PROJECT_DIR$/package.json" />
|
|
127
133
|
</list>
|
|
128
134
|
</option>
|
|
129
135
|
</component>
|
|
130
|
-
<component name="ProjectFrameBounds" extendedState="6" fullScreen="true">
|
|
131
|
-
<option name="y" value="305" />
|
|
132
|
-
<option name="width" value="1024" />
|
|
133
|
-
<option name="height" value="745" />
|
|
134
|
-
</component>
|
|
135
136
|
<component name="ProjectId" id="1POJ1uYUMWknGhGHocTq2Kae4xg" />
|
|
136
137
|
<component name="ProjectView">
|
|
137
138
|
<navigator proportions="" version="1">
|
|
@@ -150,19 +151,6 @@
|
|
|
150
151
|
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
151
152
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
152
153
|
</path>
|
|
153
|
-
<path>
|
|
154
|
-
<item name="manticore-labs-nest" type="b2602c69:ProjectViewProjectNode" />
|
|
155
|
-
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
156
|
-
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
157
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
|
158
|
-
</path>
|
|
159
|
-
<path>
|
|
160
|
-
<item name="manticore-labs-nest" type="b2602c69:ProjectViewProjectNode" />
|
|
161
|
-
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
162
|
-
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
163
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
|
164
|
-
<item name="funciones-util" type="462c0819:PsiDirectoryNode" />
|
|
165
|
-
</path>
|
|
166
154
|
</expand>
|
|
167
155
|
<select />
|
|
168
156
|
</subPane>
|
|
@@ -204,13 +192,11 @@
|
|
|
204
192
|
<option name="presentableId" value="Default" />
|
|
205
193
|
<updated>1565738997634</updated>
|
|
206
194
|
<workItem from="1565739000129" duration="3628000" />
|
|
207
|
-
<workItem from="1569260971970" duration="323000" />
|
|
208
|
-
<workItem from="1569758667924" duration="97000" />
|
|
209
195
|
</task>
|
|
210
196
|
<servers />
|
|
211
197
|
</component>
|
|
212
198
|
<component name="TimeTrackingManager">
|
|
213
|
-
<option name="totallyTimeSpent" value="
|
|
199
|
+
<option name="totallyTimeSpent" value="1621000" />
|
|
214
200
|
</component>
|
|
215
201
|
<component name="ToolWindowManager">
|
|
216
202
|
<frame x="0" y="0" width="1680" height="1050" extended-state="6" />
|
|
@@ -231,7 +217,7 @@
|
|
|
231
217
|
<window_info anchor="bottom" id="Version Control" order="8" />
|
|
232
218
|
<window_info anchor="bottom" id="NativeScript" order="9" />
|
|
233
219
|
<window_info anchor="bottom" id="TypeScript" order="10" />
|
|
234
|
-
<window_info anchor="bottom" id="Terminal" order="11" visible="true" weight="0.
|
|
220
|
+
<window_info anchor="bottom" id="Terminal" order="11" visible="true" weight="0.36099586" />
|
|
235
221
|
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
|
|
236
222
|
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
|
237
223
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
|
@@ -296,129 +282,30 @@
|
|
|
296
282
|
</option>
|
|
297
283
|
</component>
|
|
298
284
|
<component name="editorHistoryManager">
|
|
299
|
-
<entry file="file://$PROJECT_DIR$/src/lib/auth0/auth0.controller.ts">
|
|
300
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
301
|
-
<state relative-caret-position="11781">
|
|
302
|
-
<caret line="604" column="31" selection-start-line="604" selection-start-column="31" selection-end-line="604" selection-end-column="31" />
|
|
303
|
-
<folding>
|
|
304
|
-
<element signature="e#0#107#0" expanded="true" />
|
|
305
|
-
<element signature="n#!!block;n#findOneById#0;n#PrincipalAuth0Controller#0" />
|
|
306
|
-
</folding>
|
|
307
|
-
</state>
|
|
308
|
-
</provider>
|
|
309
|
-
</entry>
|
|
310
|
-
<entry file="file://$PROJECT_DIR$/src/lib/auth0/auth0.service.ts">
|
|
311
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
312
|
-
<state relative-caret-position="11508">
|
|
313
|
-
<caret line="604" column="38" selection-start-line="604" selection-start-column="38" selection-end-line="604" selection-end-column="38" />
|
|
314
|
-
<folding>
|
|
315
|
-
<element signature="e#0#44#0" expanded="true" />
|
|
316
|
-
<element signature="n#!!block;n#login#0;n#PrincipalAuth0Service#0" />
|
|
317
|
-
</folding>
|
|
318
|
-
</state>
|
|
319
|
-
</provider>
|
|
320
|
-
</entry>
|
|
321
|
-
<entry file="file://$PROJECT_DIR$/src/lib/principal.service.ts">
|
|
322
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
323
|
-
<state relative-caret-position="5460">
|
|
324
|
-
<caret line="276" column="17" selection-start-line="276" selection-start-column="17" selection-end-line="276" selection-end-column="17" />
|
|
325
|
-
</state>
|
|
326
|
-
</provider>
|
|
327
|
-
</entry>
|
|
328
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-notifications.ts">
|
|
329
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
330
|
-
<state relative-caret-position="42">
|
|
331
|
-
<caret line="2" column="39" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="39" />
|
|
332
|
-
</state>
|
|
333
|
-
</provider>
|
|
334
|
-
</entry>
|
|
335
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-notification.ts">
|
|
336
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
337
|
-
<state relative-caret-position="42">
|
|
338
|
-
<caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
|
|
339
|
-
</state>
|
|
340
|
-
</provider>
|
|
341
|
-
</entry>
|
|
342
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.controller.ts">
|
|
343
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
344
|
-
<state relative-caret-position="1386">
|
|
345
|
-
<caret line="231" column="75" selection-start-line="231" selection-start-column="75" selection-end-line="231" selection-end-column="75" />
|
|
346
|
-
<folding>
|
|
347
|
-
<element signature="n#!!block;n#createNotification#0;n#PrincipalOneSignalController#0" />
|
|
348
|
-
<element signature="n#!!block;n#cancelNotification#0;n#PrincipalOneSignalController#0" />
|
|
349
|
-
<element signature="n#!!block;n#viewDevices#0;n#PrincipalOneSignalController#0" />
|
|
350
|
-
<element signature="n#!!block;n#viewDevice#0;n#PrincipalOneSignalController#0" />
|
|
351
|
-
</folding>
|
|
352
|
-
</state>
|
|
353
|
-
</provider>
|
|
354
|
-
</entry>
|
|
355
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/funciones-seguridad.ts">
|
|
356
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
357
|
-
<state relative-caret-position="210">
|
|
358
|
-
<caret line="10" column="1" selection-start-line="10" selection-start-column="1" selection-end-line="10" selection-end-column="1" />
|
|
359
|
-
</state>
|
|
360
|
-
</provider>
|
|
361
|
-
</entry>
|
|
362
285
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-device.ts">
|
|
363
286
|
<provider selected="true" editor-type-id="text-editor" />
|
|
364
287
|
</entry>
|
|
365
|
-
<entry file="file://$PROJECT_DIR$/src/lib/
|
|
366
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
367
|
-
<state>
|
|
368
|
-
<caret column="33" selection-start-column="17" selection-end-column="33" />
|
|
369
|
-
</state>
|
|
370
|
-
</provider>
|
|
371
|
-
</entry>
|
|
372
|
-
<entry file="file://$PROJECT_DIR$/src/lib/interfaces-util/arreglo-funciones-booleanas.ts">
|
|
373
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
374
|
-
<state relative-caret-position="42">
|
|
375
|
-
<caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
|
|
376
|
-
</state>
|
|
377
|
-
</provider>
|
|
378
|
-
</entry>
|
|
379
|
-
<entry file="file://$PROJECT_DIR$/package-lock.json">
|
|
380
|
-
<provider selected="true" editor-type-id="text-editor" />
|
|
381
|
-
</entry>
|
|
382
|
-
<entry file="file://$PROJECT_DIR$/src/lib/funciones-util/buscar-un-registro-por-id.ts">
|
|
288
|
+
<entry file="file://$PROJECT_DIR$/src/lib/google-cloud/interfaces/file-google-cloud.ts">
|
|
383
289
|
<provider selected="true" editor-type-id="text-editor">
|
|
384
290
|
<state>
|
|
385
|
-
<
|
|
386
|
-
<element signature="e#0#43#0" expanded="true" />
|
|
387
|
-
</folding>
|
|
291
|
+
<caret column="17" selection-start-column="17" selection-end-column="17" />
|
|
388
292
|
</state>
|
|
389
293
|
</provider>
|
|
390
294
|
</entry>
|
|
391
|
-
<entry file="file://$PROJECT_DIR$/src/lib/
|
|
295
|
+
<entry file="file://$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts">
|
|
392
296
|
<provider selected="true" editor-type-id="text-editor">
|
|
393
|
-
<state relative-caret-position="
|
|
394
|
-
<caret line="
|
|
297
|
+
<state relative-caret-position="346">
|
|
298
|
+
<caret line="103" lean-forward="true" selection-start-line="103" selection-end-line="103" />
|
|
395
299
|
<folding>
|
|
396
|
-
<element signature="e#0#
|
|
300
|
+
<element signature="e#0#44#0" expanded="true" />
|
|
301
|
+
<element signature="n#!!block;n#uploadAndMakePublic#0;n#GoogleCloudStorageService#0" />
|
|
302
|
+
<element signature="n#!!block;n#upload#0;n#GoogleCloudStorageService#0" />
|
|
303
|
+
<element signature="n#!!block;n#makePublic#0;n#GoogleCloudStorageService#0" />
|
|
304
|
+
<element signature="n#!!block;n#deleteFile#0;n#GoogleCloudStorageService#0" />
|
|
397
305
|
</folding>
|
|
398
306
|
</state>
|
|
399
307
|
</provider>
|
|
400
308
|
</entry>
|
|
401
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts">
|
|
402
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
403
|
-
<state relative-caret-position="128">
|
|
404
|
-
<caret line="87" column="65" lean-forward="true" selection-start-line="87" selection-start-column="65" selection-end-line="87" selection-end-column="65" />
|
|
405
|
-
</state>
|
|
406
|
-
</provider>
|
|
407
|
-
</entry>
|
|
408
|
-
<entry file="file://$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts">
|
|
409
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
410
|
-
<state>
|
|
411
|
-
<caret column="43" selection-start-column="16" selection-end-column="43" />
|
|
412
|
-
</state>
|
|
413
|
-
</provider>
|
|
414
|
-
</entry>
|
|
415
|
-
<entry file="file://$PROJECT_DIR$/src/index.ts">
|
|
416
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
417
|
-
<state relative-caret-position="464">
|
|
418
|
-
<caret line="47" column="70" selection-start-line="47" selection-start-column="70" selection-end-line="47" selection-end-column="70" />
|
|
419
|
-
</state>
|
|
420
|
-
</provider>
|
|
421
|
-
</entry>
|
|
422
309
|
<entry file="file://$PROJECT_DIR$/package.json">
|
|
423
310
|
<provider selected="true" editor-type-id="text-editor">
|
|
424
311
|
<state relative-caret-position="42">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
function eliminarNulosRecursivamente(registro) {
|
|
4
|
-
|
|
4
|
+
Object
|
|
5
5
|
.keys(registro)
|
|
6
6
|
.forEach((llave) => {
|
|
7
7
|
if (registro[llave] == null) {
|
|
@@ -14,4 +14,4 @@ function eliminarNulosRecursivamente(registro) {
|
|
|
14
14
|
return registro;
|
|
15
15
|
}
|
|
16
16
|
exports.eliminarNulosRecursivamente = eliminarNulosRecursivamente;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpbWluYXItbnVsb3MtcmVjdXJzaXZhbWVudGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmNpb25lcy11dGlsL21pc2MvZWxpbWluYXItbnVsb3MtcmVjdXJzaXZhbWVudGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBNEMsUUFBYTtJQUN2RCxNQUFNO1NBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNkLE9BQU8sQ0FDTixDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ1IsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzNCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDdkMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFkRCxrRUFjQyJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FileGoogleCloud } from './interfaces/file-google-cloud';
|
|
2
|
+
import { RespuestaGeneralGatewayInterface } from '../..';
|
|
3
|
+
import { MensajesControladorGoogleCloud } from './interfaces/mensajes-controlador';
|
|
4
|
+
export declare abstract class GoogleCloudStorageService {
|
|
5
|
+
nombreBucket: string;
|
|
6
|
+
private readonly _mensajes;
|
|
7
|
+
private readonly _debug;
|
|
8
|
+
GCstorage: any;
|
|
9
|
+
bucket: any;
|
|
10
|
+
url: string;
|
|
11
|
+
constructor(nombreBucket: string, _mensajes?: MensajesControladorGoogleCloud, _debug?: boolean);
|
|
12
|
+
uploadAndMakePublic(file: FileGoogleCloud): Promise<RespuestaGeneralGatewayInterface>;
|
|
13
|
+
upload(file: FileGoogleCloud): Promise<RespuestaGeneralGatewayInterface>;
|
|
14
|
+
makePublic(fileName: string): Promise<RespuestaGeneralGatewayInterface>;
|
|
15
|
+
deleteFile(filename: any): Promise<{
|
|
16
|
+
mensaje: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const common_1 = require("@nestjs/common");
|
|
10
|
+
const Storage = require('@google-cloud/storage').Storage;
|
|
11
|
+
const format = require('util').format;
|
|
12
|
+
let GoogleCloudStorageService = class GoogleCloudStorageService {
|
|
13
|
+
constructor(nombreBucket, _mensajes = {
|
|
14
|
+
mensajeErrorSubiendoArchivo: 'Error subiendo archivo',
|
|
15
|
+
mensajeErrorHaciendoPublicoElArchivo: 'Error haciendo publico el archivo'
|
|
16
|
+
}, _debug = true) {
|
|
17
|
+
this.nombreBucket = nombreBucket;
|
|
18
|
+
this._mensajes = _mensajes;
|
|
19
|
+
this._debug = _debug;
|
|
20
|
+
this.url = `https://storage.googleapis.com`;
|
|
21
|
+
this.GCstorage = new Storage();
|
|
22
|
+
this.bucket = this.GCstorage.bucket(this.nombreBucket);
|
|
23
|
+
}
|
|
24
|
+
uploadAndMakePublic(file) {
|
|
25
|
+
return new Promise((resolve) => {
|
|
26
|
+
const blob = this.bucket.file(file.originalname);
|
|
27
|
+
const blobStream = blob.createWriteStream();
|
|
28
|
+
blobStream.on('error', (err) => {
|
|
29
|
+
if (this._debug) {
|
|
30
|
+
console.error('Error', err);
|
|
31
|
+
}
|
|
32
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
|
|
33
|
+
});
|
|
34
|
+
blobStream.on('finish', async () => {
|
|
35
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
|
|
36
|
+
try {
|
|
37
|
+
await this.bucket
|
|
38
|
+
.file(blob.name)
|
|
39
|
+
.makePublic();
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
if (this._debug) {
|
|
43
|
+
console.error('Error', e);
|
|
44
|
+
}
|
|
45
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
|
|
46
|
+
}
|
|
47
|
+
resolve({ data: { url: publicUrl } });
|
|
48
|
+
});
|
|
49
|
+
blobStream.end(file.buffer);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
upload(file) {
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
const blob = this.bucket.file(file.originalname);
|
|
55
|
+
const blobStream = blob.createWriteStream();
|
|
56
|
+
blobStream.on('error', (err) => {
|
|
57
|
+
if (this._debug) {
|
|
58
|
+
console.error('Error', err);
|
|
59
|
+
}
|
|
60
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
|
|
61
|
+
});
|
|
62
|
+
blobStream.on('finish', async () => {
|
|
63
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
|
|
64
|
+
resolve({ data: { url: publicUrl }, mensaje: 'Archivo no es publico' });
|
|
65
|
+
});
|
|
66
|
+
blobStream.end(file.buffer);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
makePublic(fileName) {
|
|
70
|
+
return new Promise(async (resolve) => {
|
|
71
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${fileName}`);
|
|
72
|
+
try {
|
|
73
|
+
await this.bucket
|
|
74
|
+
.file(fileName)
|
|
75
|
+
.makePublic();
|
|
76
|
+
resolve({ data: { url: publicUrl } });
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
if (this._debug) {
|
|
80
|
+
console.error('Error', e);
|
|
81
|
+
}
|
|
82
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async deleteFile(filename) {
|
|
87
|
+
try {
|
|
88
|
+
await this.GCstorage
|
|
89
|
+
.bucket(this.bucket)
|
|
90
|
+
.file(filename)
|
|
91
|
+
.delete();
|
|
92
|
+
return {
|
|
93
|
+
mensaje: 'Archivo eliminado'
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.error({ error: e, mensaje: `Error eliminando archivo ${filename} en bucket ${this.bucket}` });
|
|
98
|
+
throw new common_1.InternalServerErrorException({ mensaje: 'Error eliminando archivo' });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
GoogleCloudStorageService = __decorate([
|
|
103
|
+
common_1.Injectable()
|
|
104
|
+
], GoogleCloudStorageService);
|
|
105
|
+
exports.GoogleCloudStorageService = GoogleCloudStorageService;
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNsb3VkLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2dvb2dsZS1jbG91ZC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSwyQ0FBMEU7QUFLMUUsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3pELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFHdEMsSUFBc0IseUJBQXlCLEdBQS9DO0lBS0UsWUFBbUIsWUFBb0IsRUFDVixZQUE0QztRQUMzRCwyQkFBMkIsRUFBRSx3QkFBd0I7UUFDckQsb0NBQW9DLEVBQUUsbUNBQW1DO0tBQzFFLEVBQ2dCLFNBQWtCLElBQUk7UUFMaEMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDVixjQUFTLEdBQVQsU0FBUyxDQUd6QjtRQUNnQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQVBuRCxRQUFHLEdBQUcsZ0NBQWdDLENBQUM7UUFRckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFxQjtRQUN2QyxPQUFPLElBQUksT0FBTyxDQUNoQixDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBRTVDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FB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
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1nb29nbGUtY2xvdWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dvb2dsZS1jbG91ZC9pbnRlcmZhY2VzL2ZpbGUtZ29vZ2xlLWNsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FuncionBooleana } from '../../..';
|
|
2
|
+
export interface FuncionesSeguridadGoogleCloud {
|
|
3
|
+
upload?: FuncionBooleana[];
|
|
4
|
+
makePublic?: FuncionBooleana[];
|
|
5
|
+
uploadAndMakePublic?: FuncionBooleana[];
|
|
6
|
+
findMany?: FuncionBooleana[];
|
|
7
|
+
create?: FuncionBooleana[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY2lvbmVzLXNlZ3VyaWRhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2ludGVyZmFjZXMvZnVuY2lvbmVzLXNlZ3VyaWRhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVuc2FqZXMtY29udHJvbGFkb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dvb2dsZS1jbG91ZC9pbnRlcmZhY2VzL21lbnNhamVzLWNvbnRyb2xhZG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function eliminarNulosRecursivamente(registro) {
|
|
2
|
-
|
|
2
|
+
Object
|
|
3
3
|
.keys(registro)
|
|
4
4
|
.forEach((llave) => {
|
|
5
5
|
if (registro[llave] == null) {
|
|
@@ -11,4 +11,4 @@ export function eliminarNulosRecursivamente(registro) {
|
|
|
11
11
|
});
|
|
12
12
|
return registro;
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpbWluYXItbnVsb3MtcmVjdXJzaXZhbWVudGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Z1bmNpb25lcy11dGlsL21pc2MvZWxpbWluYXItbnVsb3MtcmVjdXJzaXZhbWVudGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxzQ0FBc0MsUUFBYTtJQUN2RCxNQUFNO1NBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNkLE9BQU8sQ0FDTixDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ1IsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQzNCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDdkMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMifQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FileGoogleCloud } from './interfaces/file-google-cloud';
|
|
2
|
+
import { RespuestaGeneralGatewayInterface } from '../..';
|
|
3
|
+
import { MensajesControladorGoogleCloud } from './interfaces/mensajes-controlador';
|
|
4
|
+
export declare abstract class GoogleCloudStorageService {
|
|
5
|
+
nombreBucket: string;
|
|
6
|
+
private readonly _mensajes;
|
|
7
|
+
private readonly _debug;
|
|
8
|
+
GCstorage: any;
|
|
9
|
+
bucket: any;
|
|
10
|
+
url: string;
|
|
11
|
+
constructor(nombreBucket: string, _mensajes?: MensajesControladorGoogleCloud, _debug?: boolean);
|
|
12
|
+
uploadAndMakePublic(file: FileGoogleCloud): Promise<RespuestaGeneralGatewayInterface>;
|
|
13
|
+
upload(file: FileGoogleCloud): Promise<RespuestaGeneralGatewayInterface>;
|
|
14
|
+
makePublic(fileName: string): Promise<RespuestaGeneralGatewayInterface>;
|
|
15
|
+
deleteFile(filename: any): Promise<{
|
|
16
|
+
mensaje: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable, InternalServerErrorException } from '@nestjs/common';
|
|
8
|
+
const Storage = require('@google-cloud/storage').Storage;
|
|
9
|
+
const format = require('util').format;
|
|
10
|
+
let GoogleCloudStorageService = class GoogleCloudStorageService {
|
|
11
|
+
constructor(nombreBucket, _mensajes = {
|
|
12
|
+
mensajeErrorSubiendoArchivo: 'Error subiendo archivo',
|
|
13
|
+
mensajeErrorHaciendoPublicoElArchivo: 'Error haciendo publico el archivo'
|
|
14
|
+
}, _debug = true) {
|
|
15
|
+
this.nombreBucket = nombreBucket;
|
|
16
|
+
this._mensajes = _mensajes;
|
|
17
|
+
this._debug = _debug;
|
|
18
|
+
this.url = `https://storage.googleapis.com`;
|
|
19
|
+
this.GCstorage = new Storage();
|
|
20
|
+
this.bucket = this.GCstorage.bucket(this.nombreBucket);
|
|
21
|
+
}
|
|
22
|
+
uploadAndMakePublic(file) {
|
|
23
|
+
return new Promise((resolve) => {
|
|
24
|
+
const blob = this.bucket.file(file.originalname);
|
|
25
|
+
const blobStream = blob.createWriteStream();
|
|
26
|
+
blobStream.on('error', (err) => {
|
|
27
|
+
if (this._debug) {
|
|
28
|
+
console.error('Error', err);
|
|
29
|
+
}
|
|
30
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
|
|
31
|
+
});
|
|
32
|
+
blobStream.on('finish', async () => {
|
|
33
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
|
|
34
|
+
try {
|
|
35
|
+
await this.bucket
|
|
36
|
+
.file(blob.name)
|
|
37
|
+
.makePublic();
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
if (this._debug) {
|
|
41
|
+
console.error('Error', e);
|
|
42
|
+
}
|
|
43
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
|
|
44
|
+
}
|
|
45
|
+
resolve({ data: { url: publicUrl } });
|
|
46
|
+
});
|
|
47
|
+
blobStream.end(file.buffer);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
upload(file) {
|
|
51
|
+
return new Promise((resolve) => {
|
|
52
|
+
const blob = this.bucket.file(file.originalname);
|
|
53
|
+
const blobStream = blob.createWriteStream();
|
|
54
|
+
blobStream.on('error', (err) => {
|
|
55
|
+
if (this._debug) {
|
|
56
|
+
console.error('Error', err);
|
|
57
|
+
}
|
|
58
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorSubiendoArchivo });
|
|
59
|
+
});
|
|
60
|
+
blobStream.on('finish', async () => {
|
|
61
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${blob.name}`);
|
|
62
|
+
resolve({ data: { url: publicUrl }, mensaje: 'Archivo no es publico' });
|
|
63
|
+
});
|
|
64
|
+
blobStream.end(file.buffer);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
makePublic(fileName) {
|
|
68
|
+
return new Promise(async (resolve) => {
|
|
69
|
+
const publicUrl = format(`${this.url}/${this.bucket.name}/${fileName}`);
|
|
70
|
+
try {
|
|
71
|
+
await this.bucket
|
|
72
|
+
.file(fileName)
|
|
73
|
+
.makePublic();
|
|
74
|
+
resolve({ data: { url: publicUrl } });
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
if (this._debug) {
|
|
78
|
+
console.error('Error', e);
|
|
79
|
+
}
|
|
80
|
+
resolve({ error: 500, mensaje: this._mensajes.mensajeErrorHaciendoPublicoElArchivo });
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async deleteFile(filename) {
|
|
85
|
+
try {
|
|
86
|
+
await this.GCstorage
|
|
87
|
+
.bucket(this.bucket)
|
|
88
|
+
.file(filename)
|
|
89
|
+
.delete();
|
|
90
|
+
return {
|
|
91
|
+
mensaje: 'Archivo eliminado'
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
console.error({ error: e, mensaje: `Error eliminando archivo ${filename} en bucket ${this.bucket}` });
|
|
96
|
+
throw new InternalServerErrorException({ mensaje: 'Error eliminando archivo' });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
GoogleCloudStorageService = __decorate([
|
|
101
|
+
Injectable()
|
|
102
|
+
], GoogleCloudStorageService);
|
|
103
|
+
export { GoogleCloudStorageService };
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWNsb3VkLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2dvb2dsZS1jbG91ZC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSzFFLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0FBR3RDLElBQXNCLHlCQUF5QixHQUEvQztJQUtFLFlBQW1CLFlBQW9CLEVBQ1YsWUFBNEM7UUFDM0QsMkJBQTJCLEVBQUUsd0JBQXdCO1FBQ3JELG9DQUFvQyxFQUFFLG1DQUFtQztLQUMxRSxFQUNnQixTQUFrQixJQUFJO1FBTGhDLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ1YsY0FBUyxHQUFULFNBQVMsQ0FHekI7UUFDZ0IsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFQbkQsUUFBRyxHQUFHLGdDQUFnQyxDQUFDO1FBUXJDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBcUI7UUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FDaEIsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlC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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1nb29nbGUtY2xvdWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dvb2dsZS1jbG91ZC9pbnRlcmZhY2VzL2ZpbGUtZ29vZ2xlLWNsb3VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FuncionBooleana } from '../../..';
|
|
2
|
+
export interface FuncionesSeguridadGoogleCloud {
|
|
3
|
+
upload?: FuncionBooleana[];
|
|
4
|
+
makePublic?: FuncionBooleana[];
|
|
5
|
+
uploadAndMakePublic?: FuncionBooleana[];
|
|
6
|
+
findMany?: FuncionBooleana[];
|
|
7
|
+
create?: FuncionBooleana[];
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY2lvbmVzLXNlZ3VyaWRhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZ29vZ2xlLWNsb3VkL2ludGVyZmFjZXMvZnVuY2lvbmVzLXNlZ3VyaWRhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVuc2FqZXMtY29udHJvbGFkb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2dvb2dsZS1jbG91ZC9pbnRlcmZhY2VzL21lbnNhamVzLWNvbnRyb2xhZG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|