@manticore-labs/nest 0.0.77 → 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 -167
- 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/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,10 +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/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" />
|
|
5
9
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
6
10
|
<change beforePath="$PROJECT_DIR$/package-lock.json" beforeDir="false" />
|
|
7
11
|
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts" afterDir="false" />
|
|
9
12
|
</list>
|
|
10
13
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
11
14
|
<option name="SHOW_DIALOG" value="false" />
|
|
@@ -15,11 +18,6 @@
|
|
|
15
18
|
</component>
|
|
16
19
|
<component name="FileEditorManager">
|
|
17
20
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="375">
|
|
18
|
-
<file pinned="false" current-in-tab="false">
|
|
19
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-device.ts">
|
|
20
|
-
<provider selected="true" editor-type-id="text-editor" />
|
|
21
|
-
</entry>
|
|
22
|
-
</file>
|
|
23
21
|
<file pinned="false" current-in-tab="false">
|
|
24
22
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-success.ts">
|
|
25
23
|
<provider selected="true" editor-type-id="text-editor">
|
|
@@ -41,7 +39,7 @@
|
|
|
41
39
|
<file pinned="false" current-in-tab="false">
|
|
42
40
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts">
|
|
43
41
|
<provider selected="true" editor-type-id="text-editor">
|
|
44
|
-
<state relative-caret-position="
|
|
42
|
+
<state relative-caret-position="1617">
|
|
45
43
|
<caret line="87" column="65" selection-start-line="87" selection-start-column="65" selection-end-line="87" selection-end-column="65" />
|
|
46
44
|
</state>
|
|
47
45
|
</provider>
|
|
@@ -50,17 +48,42 @@
|
|
|
50
48
|
<file pinned="false" current-in-tab="true">
|
|
51
49
|
<entry file="file://$PROJECT_DIR$/package.json">
|
|
52
50
|
<provider selected="true" editor-type-id="text-editor">
|
|
53
|
-
<state relative-caret-position="
|
|
51
|
+
<state relative-caret-position="42">
|
|
54
52
|
<caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
|
55
53
|
</state>
|
|
56
54
|
</provider>
|
|
57
55
|
</entry>
|
|
58
56
|
</file>
|
|
57
|
+
<file pinned="false" current-in-tab="false">
|
|
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">
|
|
75
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
76
|
+
<state>
|
|
77
|
+
<caret column="17" selection-start-column="17" selection-end-column="17" />
|
|
78
|
+
</state>
|
|
79
|
+
</provider>
|
|
80
|
+
</entry>
|
|
81
|
+
</file>
|
|
59
82
|
<file pinned="false" current-in-tab="false">
|
|
60
83
|
<entry file="file://$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts">
|
|
61
84
|
<provider selected="true" editor-type-id="text-editor">
|
|
62
85
|
<state relative-caret-position="252">
|
|
63
|
-
<caret line="12" column="6"
|
|
86
|
+
<caret line="12" column="6" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
|
|
64
87
|
</state>
|
|
65
88
|
</provider>
|
|
66
89
|
</entry>
|
|
@@ -68,7 +91,7 @@
|
|
|
68
91
|
<file pinned="false" current-in-tab="false">
|
|
69
92
|
<entry file="file://$PROJECT_DIR$/src/index.ts">
|
|
70
93
|
<provider selected="true" editor-type-id="text-editor">
|
|
71
|
-
<state relative-caret-position="
|
|
94
|
+
<state relative-caret-position="987">
|
|
72
95
|
<caret line="47" column="70" selection-start-line="47" selection-start-column="70" selection-end-line="47" selection-end-column="70" />
|
|
73
96
|
</state>
|
|
74
97
|
</provider>
|
|
@@ -99,38 +122,17 @@
|
|
|
99
122
|
</file>
|
|
100
123
|
</leaf>
|
|
101
124
|
</component>
|
|
102
|
-
<component name="FileTemplateManagerImpl">
|
|
103
|
-
<option name="RECENT_TEMPLATES">
|
|
104
|
-
<list>
|
|
105
|
-
<option value="TypeScript File" />
|
|
106
|
-
</list>
|
|
107
|
-
</option>
|
|
108
|
-
</component>
|
|
109
|
-
<component name="FindInProjectRecents">
|
|
110
|
-
<findStrings>
|
|
111
|
-
<find>device</find>
|
|
112
|
-
</findStrings>
|
|
113
|
-
</component>
|
|
114
125
|
<component name="Git.Settings">
|
|
115
126
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
116
127
|
</component>
|
|
117
128
|
<component name="IdeDocumentHistory">
|
|
118
129
|
<option name="CHANGED_PATHS">
|
|
119
130
|
<list>
|
|
120
|
-
<option value="$PROJECT_DIR$/src/lib/
|
|
121
|
-
<option value="$PROJECT_DIR$/src/lib/one-signal/one-signal.controller.ts" />
|
|
122
|
-
<option value="$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts" />
|
|
123
|
-
<option value="$PROJECT_DIR$/src/index.ts" />
|
|
124
|
-
<option value="$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts" />
|
|
131
|
+
<option value="$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts" />
|
|
125
132
|
<option value="$PROJECT_DIR$/package.json" />
|
|
126
133
|
</list>
|
|
127
134
|
</option>
|
|
128
135
|
</component>
|
|
129
|
-
<component name="ProjectFrameBounds" extendedState="6" fullScreen="true">
|
|
130
|
-
<option name="y" value="305" />
|
|
131
|
-
<option name="width" value="1024" />
|
|
132
|
-
<option name="height" value="745" />
|
|
133
|
-
</component>
|
|
134
136
|
<component name="ProjectId" id="1POJ1uYUMWknGhGHocTq2Kae4xg" />
|
|
135
137
|
<component name="ProjectView">
|
|
136
138
|
<navigator proportions="" version="1">
|
|
@@ -149,27 +151,6 @@
|
|
|
149
151
|
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
150
152
|
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
151
153
|
</path>
|
|
152
|
-
<path>
|
|
153
|
-
<item name="manticore-labs-nest" type="b2602c69:ProjectViewProjectNode" />
|
|
154
|
-
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
155
|
-
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
156
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
|
157
|
-
</path>
|
|
158
|
-
<path>
|
|
159
|
-
<item name="manticore-labs-nest" type="b2602c69:ProjectViewProjectNode" />
|
|
160
|
-
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
161
|
-
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
162
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
|
163
|
-
<item name="funciones-util" type="462c0819:PsiDirectoryNode" />
|
|
164
|
-
</path>
|
|
165
|
-
<path>
|
|
166
|
-
<item name="manticore-labs-nest" type="b2602c69:ProjectViewProjectNode" />
|
|
167
|
-
<item name="manticore-labs-nest" type="462c0819:PsiDirectoryNode" />
|
|
168
|
-
<item name="src" type="462c0819:PsiDirectoryNode" />
|
|
169
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
|
170
|
-
<item name="funciones-util" type="462c0819:PsiDirectoryNode" />
|
|
171
|
-
<item name="misc" type="462c0819:PsiDirectoryNode" />
|
|
172
|
-
</path>
|
|
173
154
|
</expand>
|
|
174
155
|
<select />
|
|
175
156
|
</subPane>
|
|
@@ -211,13 +192,11 @@
|
|
|
211
192
|
<option name="presentableId" value="Default" />
|
|
212
193
|
<updated>1565738997634</updated>
|
|
213
194
|
<workItem from="1565739000129" duration="3628000" />
|
|
214
|
-
<workItem from="1569260971970" duration="323000" />
|
|
215
|
-
<workItem from="1569758667924" duration="773000" />
|
|
216
195
|
</task>
|
|
217
196
|
<servers />
|
|
218
197
|
</component>
|
|
219
198
|
<component name="TimeTrackingManager">
|
|
220
|
-
<option name="totallyTimeSpent" value="
|
|
199
|
+
<option name="totallyTimeSpent" value="1621000" />
|
|
221
200
|
</component>
|
|
222
201
|
<component name="ToolWindowManager">
|
|
223
202
|
<frame x="0" y="0" width="1680" height="1050" extended-state="6" />
|
|
@@ -238,7 +217,7 @@
|
|
|
238
217
|
<window_info anchor="bottom" id="Version Control" order="8" />
|
|
239
218
|
<window_info anchor="bottom" id="NativeScript" order="9" />
|
|
240
219
|
<window_info anchor="bottom" id="TypeScript" order="10" />
|
|
241
|
-
<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" />
|
|
242
221
|
<window_info anchor="bottom" id="Event Log" order="12" side_tool="true" />
|
|
243
222
|
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
|
|
244
223
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
|
@@ -303,132 +282,33 @@
|
|
|
303
282
|
</option>
|
|
304
283
|
</component>
|
|
305
284
|
<component name="editorHistoryManager">
|
|
306
|
-
<entry file="file://$PROJECT_DIR$/src/lib/auth0/auth0.controller.ts">
|
|
307
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
308
|
-
<state relative-caret-position="11781">
|
|
309
|
-
<caret line="604" column="31" selection-start-line="604" selection-start-column="31" selection-end-line="604" selection-end-column="31" />
|
|
310
|
-
<folding>
|
|
311
|
-
<element signature="e#0#107#0" expanded="true" />
|
|
312
|
-
<element signature="n#!!block;n#findOneById#0;n#PrincipalAuth0Controller#0" />
|
|
313
|
-
</folding>
|
|
314
|
-
</state>
|
|
315
|
-
</provider>
|
|
316
|
-
</entry>
|
|
317
|
-
<entry file="file://$PROJECT_DIR$/src/lib/auth0/auth0.service.ts">
|
|
318
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
319
|
-
<state relative-caret-position="11508">
|
|
320
|
-
<caret line="604" column="38" selection-start-line="604" selection-start-column="38" selection-end-line="604" selection-end-column="38" />
|
|
321
|
-
<folding>
|
|
322
|
-
<element signature="e#0#44#0" expanded="true" />
|
|
323
|
-
<element signature="n#!!block;n#login#0;n#PrincipalAuth0Service#0" />
|
|
324
|
-
</folding>
|
|
325
|
-
</state>
|
|
326
|
-
</provider>
|
|
327
|
-
</entry>
|
|
328
|
-
<entry file="file://$PROJECT_DIR$/src/lib/principal.service.ts">
|
|
329
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
330
|
-
<state relative-caret-position="5460">
|
|
331
|
-
<caret line="276" column="17" selection-start-line="276" selection-start-column="17" selection-end-line="276" selection-end-column="17" />
|
|
332
|
-
</state>
|
|
333
|
-
</provider>
|
|
334
|
-
</entry>
|
|
335
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-notifications.ts">
|
|
336
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
337
|
-
<state relative-caret-position="42">
|
|
338
|
-
<caret line="2" column="39" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="39" />
|
|
339
|
-
</state>
|
|
340
|
-
</provider>
|
|
341
|
-
</entry>
|
|
342
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-notification.ts">
|
|
343
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
344
|
-
<state relative-caret-position="42">
|
|
345
|
-
<caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
|
|
346
|
-
</state>
|
|
347
|
-
</provider>
|
|
348
|
-
</entry>
|
|
349
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.controller.ts">
|
|
350
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
351
|
-
<state relative-caret-position="1386">
|
|
352
|
-
<caret line="231" column="75" selection-start-line="231" selection-start-column="75" selection-end-line="231" selection-end-column="75" />
|
|
353
|
-
<folding>
|
|
354
|
-
<element signature="n#!!block;n#createNotification#0;n#PrincipalOneSignalController#0" />
|
|
355
|
-
<element signature="n#!!block;n#cancelNotification#0;n#PrincipalOneSignalController#0" />
|
|
356
|
-
<element signature="n#!!block;n#viewDevices#0;n#PrincipalOneSignalController#0" />
|
|
357
|
-
<element signature="n#!!block;n#viewDevice#0;n#PrincipalOneSignalController#0" />
|
|
358
|
-
</folding>
|
|
359
|
-
</state>
|
|
360
|
-
</provider>
|
|
361
|
-
</entry>
|
|
362
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/funciones-seguridad.ts">
|
|
363
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
364
|
-
<state relative-caret-position="210">
|
|
365
|
-
<caret line="10" column="1" selection-start-line="10" selection-start-column="1" selection-end-line="10" selection-end-column="1" />
|
|
366
|
-
</state>
|
|
367
|
-
</provider>
|
|
368
|
-
</entry>
|
|
369
285
|
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/interfaces/one-signal-device.ts">
|
|
370
286
|
<provider selected="true" editor-type-id="text-editor" />
|
|
371
287
|
</entry>
|
|
372
|
-
<entry file="file://$PROJECT_DIR$/src/lib/
|
|
373
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
374
|
-
<state>
|
|
375
|
-
<caret column="33" selection-start-column="17" selection-end-column="33" />
|
|
376
|
-
</state>
|
|
377
|
-
</provider>
|
|
378
|
-
</entry>
|
|
379
|
-
<entry file="file://$PROJECT_DIR$/src/lib/interfaces-util/arreglo-funciones-booleanas.ts">
|
|
380
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
381
|
-
<state relative-caret-position="42">
|
|
382
|
-
<caret line="2" column="17" selection-start-line="2" selection-start-column="17" selection-end-line="2" selection-end-column="17" />
|
|
383
|
-
</state>
|
|
384
|
-
</provider>
|
|
385
|
-
</entry>
|
|
386
|
-
<entry file="file://$PROJECT_DIR$/package-lock.json">
|
|
387
|
-
<provider selected="true" editor-type-id="text-editor" />
|
|
388
|
-
</entry>
|
|
389
|
-
<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">
|
|
390
289
|
<provider selected="true" editor-type-id="text-editor">
|
|
391
290
|
<state>
|
|
392
|
-
<
|
|
393
|
-
<element signature="e#0#43#0" expanded="true" />
|
|
394
|
-
</folding>
|
|
291
|
+
<caret column="17" selection-start-column="17" selection-end-column="17" />
|
|
395
292
|
</state>
|
|
396
293
|
</provider>
|
|
397
294
|
</entry>
|
|
398
|
-
<entry file="file://$PROJECT_DIR$/src/lib/
|
|
295
|
+
<entry file="file://$PROJECT_DIR$/src/lib/google-cloud/google-cloud-storage.service.ts">
|
|
399
296
|
<provider selected="true" editor-type-id="text-editor">
|
|
400
|
-
<state relative-caret-position="
|
|
401
|
-
<caret line="
|
|
297
|
+
<state relative-caret-position="346">
|
|
298
|
+
<caret line="103" lean-forward="true" selection-start-line="103" selection-end-line="103" />
|
|
402
299
|
<folding>
|
|
403
|
-
<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" />
|
|
404
305
|
</folding>
|
|
405
306
|
</state>
|
|
406
307
|
</provider>
|
|
407
308
|
</entry>
|
|
408
|
-
<entry file="file://$PROJECT_DIR$/src/lib/one-signal/one-signal.service.ts">
|
|
409
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
410
|
-
<state relative-caret-position="128">
|
|
411
|
-
<caret line="87" column="65" selection-start-line="87" selection-start-column="65" selection-end-line="87" selection-end-column="65" />
|
|
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="278">
|
|
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
|
-
<entry file="file://$PROJECT_DIR$/src/lib/funciones-util/misc/eliminar-nulos-recursivamente.ts">
|
|
423
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
424
|
-
<state relative-caret-position="252">
|
|
425
|
-
<caret line="12" column="6" lean-forward="true" selection-start-line="12" selection-start-column="6" selection-end-line="12" selection-end-column="6" />
|
|
426
|
-
</state>
|
|
427
|
-
</provider>
|
|
428
|
-
</entry>
|
|
429
309
|
<entry file="file://$PROJECT_DIR$/package.json">
|
|
430
310
|
<provider selected="true" editor-type-id="text-editor">
|
|
431
|
-
<state relative-caret-position="
|
|
311
|
+
<state relative-caret-position="42">
|
|
432
312
|
<caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
|
433
313
|
</state>
|
|
434
314
|
</provider>
|
|
@@ -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==
|
|
@@ -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==
|