diff --git a/dist/s3-store.js b/dist/s3-store.js index 6546a7f..c23e081 100644 --- a/dist/s3-store.js +++ b/dist/s3-store.js @@ -123,10 +123,15 @@ async function s3_store(options) { } // Binary files else if ('string' === typeof bin && '' !== bin) { - let data = msg.ent[bin]; - if (null == data) { + let dataRef = msg.ent[bin]; + if (null == dataRef) { throw new Error('s3-store: option ent.bin data field not found: ' + bin); } + let data = dataRef; + // A function can be used to 'hide" very large data. + if ('function' === typeof dataRef) { + data = dataRef(); + } Body = Buffer.from(data); } } diff --git a/dist/s3-store.js.map b/dist/s3-store.js.map index 213d807..397da61 100644 --- a/dist/s3-store.js.map +++ b/dist/s3-store.js.map @@ -1 +1 @@ -{"version":3,"file":"s3-store.js","sourceRoot":"","sources":["../src/s3-store.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"s3-store.js","sourceRoot":"","sources":["../src/s3-store.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 178ac9f..fec1341 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@seneca/s3-store", - "version": "2.2.0", + "version": "2.3.0", "description": "Entity store using AWS S3.", "main": "dist/s3-store.js", "type": "commonjs", diff --git a/src/s3-store.ts b/src/s3-store.ts index aca6659..25b7bdf 100644 --- a/src/s3-store.ts +++ b/src/s3-store.ts @@ -160,13 +160,20 @@ async function s3_store(this: any, options: any) { // Binary files else if ('string' === typeof bin && '' !== bin) { - let data = msg.ent[bin] - if (null == data) { + let dataRef = msg.ent[bin] + if (null == dataRef) { throw new Error( 's3-store: option ent.bin data field not found: ' + bin, ) } + let data = dataRef + + // A function can be used to 'hide" very large data. + if ('function' === typeof dataRef) { + data = dataRef() + } + Body = Buffer.from(data) } } diff --git a/test/coverage.html b/test/coverage.html index 88edb54..3f5dfed 100644 --- a/test/coverage.html +++ b/test/coverage.html @@ -536,7 +536,7 @@
126 | 5 | -let data = msg.ent[bin]; | +let dataRef = msg.ent[bin]; | 163 | |||
127 | - | if ( null == data ) { |
+ if ( null == dataRef ) { |
164 | |||
128 | @@ -1501,1644 +1501,1674 @@130 | 5 | -Body = Buffer.from(data); | +let data = dataRef; | 170 | ||
131 | - | } | -171 | -||||
// A function can be used to 'hide" very large data. | +172 | +||||||
132 | - | } | -172 | -||||
if ( 'function' === typeof dataRef ) { |
+ 173 | +||||||
133 | - | 30 | -if (null == Body) { | ++ | data = dataRef(); | 174 | |
134 | - | 20 | -let dj = JSON.stringify(d); | ++ | } | 175 | |
135 | - | 20 | -Body = Buffer.from(dj); | -176 | +5 | +Body = Buffer.from(data); | +177 |
136 | - | } | -177 | +} | +178 | ||
137 | - | // console.log('BODY', Body, entSpec?.bin ? '' : '<' + Body.toString() + '>') | +} | 179 | |||
138 | - | - | // console.log('options:: ', options, seneca.util.Nid() ) | -180 | +30 | +if (null == Body) { | +181 |
139 | - | 30 | -let ento = msg.ent.make$().data$(d); | +20 | +let dj = JSON.stringify(d); | 182 | |
140 | - | - | // Local file | -184 | +20 | +Body = Buffer.from(dj); | +183 |
141 | - | 30 | -if (options.local.active) { | -185 | -|||
+ | } | +184 | +|||||
142 | - | let full = path_1.default.join(local_folder, s3id || id ); |
+ // console.log('BODY', Body, entSpec?.bin ? '' : '<' + Body.toString() + '>') | 186 | |||
143 | - | 15 | -let path = path_1.default.dirname(full); | ++ | // console.log('options:: ', options, seneca.util.Nid() ) | 187 | -|
144 | - | - | if ( options.debug ) { |
+ 30 | +let ento = msg.ent.make$().data$(d); | 189 | -|
145 | - | console.log(PLUGIN, 'save', path, Body.length); | -190 | +// Local file | +191 | ||
146 | - | - | } | -191 | -|||
30 | +if (options.local.active) { | +192 | +|||||
147 | - | 15 | -promises_1.default.mkdir(path, { recursive: true }) | ++ | let full = path_1.default.join(local_folder, s3id || id ); |
193 | |
148 | - | - | .then(() => { | +15 | +let path = path_1.default.dirname(full); | 194 | -|
149 | - | promises_1.default.writeFile(full, Body) | -195 | -||||
if ( options.debug ) { |
+ 196 | +||||||
150 | - | .then((_res) => { | -196 | +console.log(PLUGIN, 'save', path, Body.length); | +197 | ||
151 | - | reply(null, ento); | -197 | +} | +198 | ||
152 | - | - | }) | -198 | +15 | +promises_1.default.mkdir(path, { recursive: true }) | +200 |
153 | - | .catch((err) => { | -199 | -||||
.then(() => { | +201 | +||||||
154 | - | reply(err); |
- 200 | +promises_1.default.writeFile(full, Body) | +202 | ||
155 | - | }); | -201 | +.then((_res) => { | +203 | ||
156 | - | }) | -202 | +reply(null, ento); | +204 | ||
157 | - | .catch((err) => { | -203 | -||||
}) | +205 | +||||||
158 | - | reply(err); |
- 204 | -||||
.catch((err) => { | +206 | +||||||
159 | - | }); | -205 | +reply(err); |
+ 207 | ||
160 | - | } | -206 | +}); | +208 | ||
161 | - | // AWS S3 | -208 | +}) | +209 | ||
162 | - | else { | -209 | -||||
.catch((err) => { | +210 | +||||||
163 | - | 15 | -const s3cmd = new client_s3_1.PutObjectCommand({ | -210 | ++ | reply(err); |
+ 211 |
164 | - | ...s3_shared_options, | -211 | +}); | +212 | ||
165 | - | Key: s3id, | -212 | +} | +213 | ||
166 | - | Body, | -213 | +// AWS S3 | +215 | ||
167 | - | }); | -214 | +else { | +216 | ||
168 | 15 | -aws_s3 | -216 | +const s3cmd = new client_s3_1.PutObjectCommand({ | +217 | ||
169 | - | .send(s3cmd) | -217 | +...s3_shared_options, | +218 | ||
170 | - | .then((_res) => { | -218 | +Key: s3id, | +219 | ||
171 | - | reply(null, ento); | -219 | +Body, | +220 | ||
172 | - | }) | -220 | +}); | +221 | ||
173 | - | - | .catch((err) => { | -221 | -|||
15 | +aws_s3 | +223 | +|||||
174 | - | reply(err); |
- 222 | +.send(s3cmd) | +224 | ||
175 | - | }); | -223 | +.then((_res) => { | +225 | ||
176 | - | } | -224 | +reply(null, ento); | +226 | ||
177 | - | }, | -225 | +}) | +227 | ||
178 | - | load: function (msg, reply) { | -227 | -||||
.catch((err) => { | +228 | +||||||
179 | - | let canon = msg.ent.entity$; | -228 | +reply(err); |
+ 229 | ||
180 | - | 50 | -let qent = msg.qent; | -229 | ++ | }); | +230 |
181 | - | 50 | -let id = '' + msg.q.id; | -230 | ++ | } | +231 |
182 | - | 50 | -let entSpec = options.ent[canon]; | -231 | ++ | }, | +232 |
183 | - | 50 | -let output = 'ent'; | -232 | -|||
+ | load: function (msg, reply) { | +234 | +|||||
184 | - | let jsonl = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.jsonl) || msg.jsonl$ || msg.q.jsonl$; |
- 233 | -||||
let canon = msg.ent.entity$; | +235 | +||||||
185 | - | - | let bin = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.bin) || msg.bin$ || msg.q.bin$; |
- 234 | +50 | +let qent = msg.qent; | +236 |
186 | 50 | -let s3id = make_s3id(id, msg.ent, options, bin); | -236 | +let id = '' + msg.q.id; | +237 | ||
187 | 50 | -output = jsonl && '' != jsonl ? 'jsonl' : bin && '' != bin ? 'bin' : 'ent'; | +let entSpec = options.ent[canon]; | 238 | |||
188 | - | - | function replyEnt(body) { | -240 | -|||
50 | +let output = 'ent'; | +239 | +|||||
189 | - | 40 | -let entdata = {}; | -241 | -|||
+ | let jsonl = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.jsonl) || msg.jsonl$ || msg.q.jsonl$; |
+ 240 | +|||||
190 | - | // console.log('DES', output, body) | -243 | + let bin = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.bin) || msg.bin$ || msg.q.bin$; |
+ 241 | ||
191 | - | 40 | -if ('bin' !== output) { | -244 | +50 | +let s3id = make_s3id(id, msg.ent, options, bin); | +243 |
192 | - | 35 | -body = body.toString('utf-8'); | +50 | +output = jsonl && '' != jsonl ? 'jsonl' : bin && '' != bin ? 'bin' : 'ent'; | 245 | |
193 | - | } | -246 | +function replyEnt(body) { | +247 | ||
194 | 40 | -if ('jsonl' === output) { | +let entdata = {}; | 248 | |||
195 | - | 5 | -entdata[jsonl] = body | -249 | ++ | // console.log('DES', output, body) | +250 |
196 | - | - | .split('\n') | -250 | +40 | +if ('bin' !== output) { | +251 |
197 | - | - | .filter((n) => '' !== n) | -251 | +35 | +body = body.toString('utf-8'); | +252 |
198 | - | .map((n) => JSON.parse(n)); | -252 | +} | +253 | ||
199 | - | - | } | -253 | +40 | +if ('jsonl' === output) { | +255 |
200 | - | 35 | -else if ('bin' === output) { | -253 | +5 | +entdata[jsonl] = body | +256 |
201 | - | 5 | -entdata[bin] = body; | -254 | ++ | .split('\n') | +257 |
202 | - | } | -255 | +.filter((n) => '' !== n) | +258 | ||
203 | - | else { | -255 | +.map((n) => JSON.parse(n)); | +259 | ||
204 | - | 30 | -entdata = JSON.parse(body); | -256 | ++ | } | +260 |
205 | - | - | } | -257 | +35 | +else if ('bin' === output) { | +260 |
206 | - | 40 | -entdata.id = id; | -259 | +5 | +entdata[bin] = body; | +261 |
207 | - | 40 | -let ento = qent.make$().data$(entdata); | -261 | ++ | } | +262 |
208 | - | 40 | -reply(null, ento); | ++ | else { | 262 | |
209 | - | - | } | +30 | +entdata = JSON.parse(body); | 263 | |
210 | - | // Local file | -265 | +} | +264 | ||
211 | - | 50 | -if (options.local.active) { | +40 | +entdata.id = id; | 266 | -|
212 | - | - | let full = path_1.default.join(local_folder, s3id || id ); |
- 267 | +40 | +let ento = qent.make$().data$(entdata); | +268 |
213 | - | - | // console.log('FULL', full) | -268 | -|||
40 | +reply(null, ento); | +269 | +|||||
214 | - | if ( options.debug ) { |
+ } | 270 | -|||
215 | - | console.log(PLUGIN, 'load', full); | -271 | +// Local file | +272 | ||
216 | - | - | } | -272 | -|||
50 | +if (options.local.active) { | +273 | +|||||
217 | - | 25 | -promises_1.default.readFile(full) | ++ | let full = path_1.default.join(local_folder, s3id || id ); |
274 | |
218 | - | .then((body) => { | +// console.log('FULL', full) | 275 | -|||
219 | - | replyEnt(body); | -276 | -||||
if ( options.debug ) { |
+ 277 | +||||||
220 | - | }) | -277 | +console.log(PLUGIN, 'load', full); | +278 | ||
221 | - | .catch((err) => { | -278 | -||||
} | +279 | +||||||
222 | - | - | if ( 'ENOENT' == err.code ) { |
- 279 | +25 | +promises_1.default.readFile(full) | +281 |
223 | - | 5 | -return reply(); | -280 | ++ | .then((body) => { | +282 |
224 | - | } | -281 | -||||
replyEnt(body); | +283 | +||||||
225 | - | reply(err); | -282 | +}) | +284 | ||
226 | - | }); | -283 | -||||
.catch((err) => { | +285 | +||||||
227 | - | } | -284 | + if ( 'ENOENT' == err.code ) { |
+ 286 | ||
228 | - | - | // AWS S3 | -286 | +5 | +return reply(); | +287 |
229 | - | else { | -287 | -||||
} | +288 | +||||||
230 | - | 25 | -const s3cmd = new client_s3_1.GetObjectCommand({ | -288 | ++ | reply(err); | +289 |
231 | - | ...s3_shared_options, | -289 | +}); | +290 | ||
232 | - | Key: s3id, | -290 | +} | +291 | ||
233 | - | }); | -291 | +// AWS S3 | +293 | ||
234 | - | 25 | -aws_s3 | -293 | ++ | else { | +294 |
235 | - | - | .send(s3cmd) | -294 | +25 | +const s3cmd = new client_s3_1.GetObjectCommand({ | +295 |
236 | - | .then((res) => { | -295 | +...s3_shared_options, | +296 | ||
237 | - | // console.log(res) | -296 | +Key: s3id, | +297 | ||
238 | - | destream(output, res.Body) | +}); | 298 | |||
239 | - | - | .then((body) => { | -299 | +25 | +aws_s3 | +300 |
240 | - | replyEnt(body); | -300 | +.send(s3cmd) | +301 | ||
241 | - | }) | -301 | -||||
.then((res) => { | +302 | +||||||
242 | - | .catch((err) => reply(err) ); |
- 302 | +// console.log(res) | +303 | ||
243 | - | }) | -303 | +destream(output, res.Body) | +305 | ||
244 | - | .catch((err) => { | -304 | -||||
.then((body) => { | +306 | +||||||
245 | - | if ( 'NoSuchKey' === err.Code ) { |
- 305 | +replyEnt(body); | +307 | ||
246 | - | 5 | -return reply(); | -306 | -|||
+ | }) | +308 | +|||||
247 | - | } | -307 | -||||
.catch((err) => reply(err) ); |
+ 309 | +||||||
248 | - | reply(err); | -309 | +}) | +310 | ||
249 | - | }); | -310 | -||||
.catch((err) => { | +311 | +||||||
250 | - | } | -311 | + if ( 'NoSuchKey' === err.Code ) { |
+ 312 | ||
251 | - | - | }, | -312 | +5 | +return reply(); | +313 |
252 | - | // NOTE: S3 folder listing not supported yet. | +} | 314 | -|||
253 | - | list: function (_msg, reply) { | -315 | +reply(err); | +316 | ||
254 | - | reply([]); | -316 | +}); | +317 | ||
255 | - | }, | -317 | +} | +318 | ||
256 | - | remove: function (msg, reply) { | +}, | 319 | -|||
257 | - | let canon = ( msg.ent || msg.qent ).entity$; |
- 320 | +// NOTE: S3 folder listing not supported yet. | +321 | ||
258 | - | 6 | -let id = '' + msg.q.id; | -321 | ++ | list: function (_msg, reply) { | +322 |
259 | - | 6 | -let entSpec = options.ent[canon]; | -322 | -|||
+ | reply([]); | +323 | +|||||
260 | - | let bin = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.bin ) || msg.bin$ || msg.q.bin$; |
- 323 | +}, | +324 | ||
261 | - | 6 | -let s3id = make_s3id(id, msg.ent, options, bin); | -325 | -|||
+ | remove: function (msg, reply) { | +326 | +|||||
262 | - | // Local file | + let canon = ( msg.ent || msg.qent ).entity$; |
327 | |||
263 | 6 | -if (options.local.active) { | +let id = '' + msg.q.id; | 328 | -|||
264 | - | - | let full = path_1.default.join(local_folder, s3id || id ); |
+ 6 | +let entSpec = options.ent[canon]; | 329 | -|
265 | - | 3 | -promises_1.default.unlink(full) | -331 | ++ | let bin = ( entSpec === null || entSpec === void 0 ? void 0 : entSpec.bin ) || msg.bin$ || msg.q.bin$; |
+ 330 |
266 | - | - | .then((_res) => { | +6 | +let s3id = make_s3id(id, msg.ent, options, bin); | 332 | |
267 | - | reply(); | -333 | +// Local file | +334 | ||
268 | - | - | }) | -334 | -|||
6 | +if (options.local.active) { | +335 | +|||||
269 | - | .catch((err) => { | -335 | -||||
let full = path_1.default.join(local_folder, s3id || id ); |
+ 336 | +||||||
270 | - | - | if ( 'ENOENT' == err.code ) { |
- 336 | +3 | +promises_1.default.unlink(full) | +338 |
271 | - | 2 | -return reply(); | -337 | ++ | .then((_res) => { | +339 |
272 | - | } | -338 | -||||
reply(); | +340 | +||||||
273 | - | reply(err); | -339 | +}) | +341 | ||
274 | - | }); | -340 | -||||
.catch((err) => { | +342 | +||||||
275 | - | } | -341 | + if ( 'ENOENT' == err.code ) { |
+ 343 | ||
276 | - | - | else { | -341 | +2 | +return reply(); | +344 |
277 | - | 3 | -const s3cmd = new client_s3_1.DeleteObjectCommand({ | -342 | -|||
+ | } | +345 | +|||||
278 | - | ...s3_shared_options, | -343 | +reply(err); | +346 | ||
279 | - | Key: s3id, | -344 | +}); | +347 | ||
280 | - | }); | -345 | +} | +348 | ||
281 | - | 3 | -aws_s3 | -347 | ++ | else { | +348 |
282 | - | - | .send(s3cmd) | -348 | +3 | +const s3cmd = new client_s3_1.DeleteObjectCommand({ | +349 |
283 | - | .then((_res) => { | -349 | +...s3_shared_options, | +350 | ||
284 | - | reply(); | -350 | +Key: s3id, | +351 | ||
285 | - | }) | -351 | +}); | +352 | ||
286 | - | - | .catch((err) => { | -352 | -|||
3 | +aws_s3 | +354 | +|||||
287 | - | if ('NoSuchKey' === err.Code) { |
- 353 | -||||
.send(s3cmd) | +355 | +||||||
288 | - | return reply(); | -354 | -||||
.then((_res) => { | +356 | +||||||
289 | - | } |
- 355 | -||||
reply(); | +357 | +||||||
290 | - | reply(err); | -357 | +}) | +358 | ||
291 | - | }); | -358 | -||||
.catch((err) => { | +359 | +||||||
292 | - | } | -359 | -||||
if ('NoSuchKey' === err.Code) { |
+ 360 | +||||||
293 | - | }, | -360 | -||||
return reply(); | +361 | +||||||
294 | - | close: function (_msg, reply) { | + } |
362 | -|||
295 | - | reply(); |
- 363 | +reply(err); | +364 | ||
296 | - | }, | -364 | +}); | +365 | ||
297 | - | native: function (_msg, reply) { | +} | 366 | -|||
298 | - | reply({ client: aws_s3, local: { ...options.local } }); |
+ }, | 367 | |||
299 | - | }, | -368 | -||||
close: function (_msg, reply) { | +369 | +||||||
300 | - | }; | -369 | +reply(); |
+ 370 | ||
301 | - | 9 | -let meta = init(seneca, options, store); | ++ | }, | 371 | |
302 | - | 9 | -seneca.message('cloud:aws,service:store,get:url,kind:upload', { | -375 | -|||
+ | native: function (_msg, reply) { | +373 | +|||||
303 | - | bucket: String, | -376 | +reply({ client: aws_s3, local: { ...options.local } }); |
+ 374 | ||
304 | - | filepath: String, | -377 | +}, | +375 | ||
305 | - | expire: Number, | -378 | +}; | +376 | ||
306 | - | - | }, get_upload_url); | -381 | +9 | +let meta = init(seneca, options, store); | +378 |
307 | 9 | -seneca.message('cloud:aws,service:store,get:url,kind:download', { | -385 | +seneca.message('cloud:aws,service:store,get:url,kind:upload', { | +382 | ||
308 | bucket: String, | -386 | +383 | ||||
309 | filepath: String, | -387 | +384 | ||||
310 | expire: Number, | -388 | +385 | ||||
311 | - | }, get_download_url); | -391 | +}, get_upload_url); | +388 | ||
312 | - | - | async function get_upload_url(msg) { | -393 | -|||
9 | +seneca.message('cloud:aws,service:store,get:url,kind:download', { | +392 | +|||||
313 | - | const bucket = msg.bucket; | -394 | -||||
bucket: String, | +393 | +||||||
314 | - | const filepath = msg.filepath; | -395 | -||||
filepath: String, | +394 | +||||||
315 | - | const expire = msg.expire; | -396 | -||||
expire: Number, | +395 | +||||||
316 | - | const command = new client_s3_1.PutObjectCommand({ | +}, get_download_url); | 398 | |||
317 | - | Bucket: bucket, | -399 | -||||
async function get_upload_url(msg) { | +400 | +||||||
318 | - | Key: filepath, | -400 | -||||
const bucket = msg.bucket; | +401 | +||||||
319 | - | }); | -401 | +const filepath = msg.filepath; | +402 | ||
320 | - | const url = await (0, s3_request_presigner_1.getSignedUrl)(aws_s3, command, { | -402 | -||||
const expire = msg.expire; | +403 | +||||||
321 | - | expiresIn: expire, | -403 | +const command = new client_s3_1.PutObjectCommand({ | +405 | ||
322 | - | }); | -404 | -||||
Bucket: bucket, | +406 | +||||||
323 | - | return { | -406 | +Key: filepath, | +407 | ||
324 | - | url, | -407 | -||||
}); | +408 | +||||||
325 | - | bucket, | -408 | +const url = await (0, s3_request_presigner_1.getSignedUrl)(aws_s3, command, { | +409 | ||
326 | - | filepath, | -409 | +expiresIn: expire, | +410 | ||
327 | - | expire, | -410 | -||||
}); | +411 | +||||||
328 | - | }; | -411 | +return { | +413 | ||
329 | - | } | -412 | +url, | +414 | ||
330 | - | async function get_download_url(msg) { | -414 | -||||
bucket, | +415 | +||||||
331 | - | const bucket = msg.bucket; | -415 | -||||
filepath, | +416 | +||||||
332 | - | const filepath = msg.filepath; | -416 | -||||
expire, | +417 | +||||||
333 | - | const expire = msg.expire; | -417 | -||||
}; | +418 | +||||||
334 | - | const command = new client_s3_1.GetObjectCommand({ | +} | 419 | |||
335 | - | Bucket: bucket, | -420 | -||||
async function get_download_url(msg) { | +421 | +||||||
336 | - | Key: filepath, | -421 | -||||
const bucket = msg.bucket; | +422 | +||||||
337 | - | }); | -422 | +const filepath = msg.filepath; | +423 | ||
338 | - | const url = await (0, s3_request_presigner_1.getSignedUrl)(aws_s3, command, { | -423 | -||||
const expire = msg.expire; | +424 | +||||||
339 | - | expiresIn: expire, | -424 | +const command = new client_s3_1.GetObjectCommand({ | +426 | ||
340 | - | }); | -425 | -||||
Bucket: bucket, | +427 | +||||||
341 | - | return { | -426 | +Key: filepath, | +428 | ||
342 | - | url, | -427 | -||||
}); | +429 | +||||||
343 | - | bucket, | -428 | +const url = await (0, s3_request_presigner_1.getSignedUrl)(aws_s3, command, { | +430 | ||
344 | - | - | filepath, | -429 | ++ | expiresIn: expire, | +431 |
345 | - | expire, | -430 | -||||
}); | +432 | +||||||
346 | - | }; | -431 | +return { | +433 | ||
347 | - | } | -432 | +url, | +434 | ||
348 | - | 9 | -const makeGatewayHandler = (msgin) => { | -434 | -|||
+ | bucket, | +435 | +|||||
349 | - | const msg = seneca.util.Jsonic(msgin); |
- 435 | -||||
filepath, | +436 | +||||||
350 | - | const gatewayHandler = { | -436 | +expire, | +437 | ||
351 | - | name: 's3', | -437 | +}; | +438 | ||
352 | - | match: (trigger) => { | -438 | -||||
} | +439 | +||||||
353 | - | - | let matched = 'aws:s3' === trigger.record.eventSource; |
- 439 | -|||
9 | +const makeGatewayHandler = (msgin) => { | +441 | +|||||
354 | - | console.log('S3 MATCHED', matched, trigger); | -440 | +const msg = seneca.util.Jsonic(msgin); |
+ 442 | ||
355 | - | return matched; | -441 | +const gatewayHandler = { | +443 | ||
356 | - | }, | -442 | +name: 's3', | +444 | ||
357 | - | process: async function (trigger, gateway) { | -446 | +match: (trigger) => { | +445 | ||
358 | - | let { record, event } = trigger; |
- 448 | +let matched = 'aws:s3' === trigger.record.eventSource; |
+ 446 | ||
359 | - | return gateway({ ...msg, record, event }, trigger); | -449 | -||||
console.log('S3 MATCHED', matched, trigger); | +447 | +||||||
360 | - | }, | -450 | +return matched; | +448 | ||
361 | - | }; | -451 | -||||
}, | +449 | +||||||
362 | - | return gatewayHandler; | -452 | -||||
process: async function (trigger, gateway) { | +453 | +||||||
363 | - | }; | -453 | -||||
let { record, event } = trigger; |
+ 455 | +||||||
364 | - | 9 | -return { | -455 | ++ | return gateway({ ...msg, record, event }, trigger); | +456 |
365 | - | name: store.name, | -456 | +}, | +457 | ||
366 | - | tag: meta.tag, | -457 | -||||
}; | +458 | +||||||
367 | - | exports: { | -458 | +return gatewayHandler; | +459 | ||
368 | - | native: aws_s3, | -459 | +}; | +460 | ||
369 | - | - | makeGatewayHandler, | -460 | +9 | +return { | +462 |
370 | - | }, | -461 | +name: store.name, | +463 | ||
371 | - | }; | -462 | +tag: meta.tag, | +464 | ||
372 | - | } | -463 | +exports: { | +465 | ||
373 | - | function make_s3id(id, ent, options, bin) { | -465 | -||||
native: aws_s3, | +466 | +||||||
374 | - | let s3id = null == id |
+ makeGatewayHandler, | 467 | -|||
375 | - | ? null |
+ }, | 468 | |||
376 | - | : (null == options.folder | +}; | 469 | |||
377 | - | ? options.prefix + ent.entity$ | +} | 470 | |||
378 | - | : options.folder) + | -471 | -||||
function make_s3id(id, ent, options, bin) { | +472 | +||||||
379 | - | ('' == options.folder ? '' : '/') + | -472 | -||||
let s3id = null == id |
+ 474 | +||||||
380 | - | id + | -473 | + ? null |
+ 475 | ||
381 | - | (bin ? '' : options.suffix); | -474 | +: (null == options.folder | +476 | ||
382 | - | // console.log('make_s3id', s3id, id, ent, options) | -476 | +? options.prefix + ent.entity$ | +477 | ||
383 | - | 86 | -return s3id; | -477 | ++ | : options.folder) + | +478 |
384 | - | } | -478 | +('' == options.folder ? '' : '/') + | +479 | ||
385 | - | async function destream(output, stream) { | +id + | 480 | |||
386 | - | 20 | -return new Promise((resolve, reject) => { | ++ | (bin ? '' : options.suffix); | 481 | |
387 | - | const chunks = []; | -482 | +// console.log('make_s3id', s3id, id, ent, options) | +483 | ||
388 | - | 20 | -stream.on('data', (chunk) => chunks.push(chunk)); | -483 | +86 | +return s3id; | +484 |
389 | - | 20 | -stream.on('error', reject); | -484 | ++ | } | +485 |
390 | - | 20 | -stream.on('end', () => { | -485 | ++ | async function destream(output, stream) { | +487 |
391 | - | - | let buffer = Buffer.concat(chunks); | -486 | +20 | +return new Promise((resolve, reject) => { | +488 |
392 | - | 20 | -if ('bin' === output) { | -487 | ++ | const chunks = []; | +489 |
393 | - | 2 | -resolve(buffer); | -488 | +20 | +stream.on('data', (chunk) => chunks.push(chunk)); | +490 |
394 | - | - | } | -489 | +20 | +stream.on('error', reject); | +491 |
395 | - | - | else { | -489 | +20 | +stream.on('end', () => { | +492 |
396 | - | 18 | -resolve(buffer.toString('utf-8')); | -490 | ++ | let buffer = Buffer.concat(chunks); | +493 |
397 | - | - | } | -491 | +20 | +if ('bin' === output) { | +494 |
398 | - | - | }); | -492 | +2 | +resolve(buffer); | +495 |
399 | - | }); | -493 | +} | +496 | ||
400 | - | } | -494 | +else { | +496 | ||
401 | - | 1 | -Object.defineProperty(s3_store, 'name', { value: 's3-store' }); | -496 | +18 | +resolve(buffer.toString('utf-8')); | +497 |
402 | - | 1 | -module.exports = s3_store; | -497 | ++ | } | +498 |
403 | + | }); | +499 | +||||
404 | ++ | + | }); | +500 | +|||
405 | ++ | + | } | +501 | +|||
406 | ++ | 1 | +Object.defineProperty(s3_store, 'name', { value: 's3-store' }); | +503 | +|||
407 | ++ | 1 | +module.exports = s3_store; | +504 | +|||
408 | ++ | //# sourceMappingURL=s3-store.js.map |