@webda/aws 2.0.0-beta.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/lib/deployers/cloudformation.d.ts +2 -2
  2. package/lib/deployers/cloudformation.js +672 -693
  3. package/lib/deployers/cloudformation.js.map +1 -1
  4. package/lib/deployers/cloudformation.spec.js +428 -477
  5. package/lib/deployers/cloudformation.spec.js.map +1 -1
  6. package/lib/deployers/index.js +282 -342
  7. package/lib/deployers/index.js.map +1 -1
  8. package/lib/deployers/index.spec.d.ts +1 -1
  9. package/lib/deployers/index.spec.js +445 -510
  10. package/lib/deployers/index.spec.js.map +1 -1
  11. package/lib/deployers/lambda-entrypoint.js +4 -16
  12. package/lib/deployers/lambda-entrypoint.js.map +1 -1
  13. package/lib/deployers/lambdapackager.js +13 -52
  14. package/lib/deployers/lambdapackager.js.map +1 -1
  15. package/lib/deployers/lambdapackager.spec.js +25 -61
  16. package/lib/deployers/lambdapackager.spec.js.map +1 -1
  17. package/lib/index.d.ts +1 -1
  18. package/lib/index.js +1 -17
  19. package/lib/index.js.map +1 -1
  20. package/lib/index.spec.d.ts +1 -1
  21. package/lib/index.spec.js +28 -75
  22. package/lib/index.spec.js.map +1 -1
  23. package/lib/services/aws-mixin.d.ts +2 -0
  24. package/lib/services/aws-mixin.js +2 -7
  25. package/lib/services/aws-mixin.js.map +1 -1
  26. package/lib/services/cloudwatchlogger.d.ts +3 -1
  27. package/lib/services/cloudwatchlogger.js +63 -104
  28. package/lib/services/cloudwatchlogger.js.map +1 -1
  29. package/lib/services/cloudwatchlogger.spec.js +57 -100
  30. package/lib/services/cloudwatchlogger.spec.js.map +1 -1
  31. package/lib/services/dynamodb.d.ts +4 -2
  32. package/lib/services/dynamodb.js +457 -498
  33. package/lib/services/dynamodb.js.map +1 -1
  34. package/lib/services/dynamodb.spec.d.ts +2 -2
  35. package/lib/services/dynamodb.spec.js +232 -302
  36. package/lib/services/dynamodb.spec.js.map +1 -1
  37. package/lib/services/index.d.ts +9 -9
  38. package/lib/services/index.js +8 -24
  39. package/lib/services/index.js.map +1 -1
  40. package/lib/services/lambdacaller.d.ts +2 -0
  41. package/lib/services/lambdacaller.js +15 -29
  42. package/lib/services/lambdacaller.js.map +1 -1
  43. package/lib/services/lambdacaller.spec.js +43 -81
  44. package/lib/services/lambdacaller.spec.js.map +1 -1
  45. package/lib/services/lambdaserver.js +168 -190
  46. package/lib/services/lambdaserver.js.map +1 -1
  47. package/lib/services/lambdaserver.spec.js +266 -354
  48. package/lib/services/lambdaserver.spec.js.map +1 -1
  49. package/lib/services/route53.js +112 -137
  50. package/lib/services/route53.js.map +1 -1
  51. package/lib/services/route53.spec.js +56 -92
  52. package/lib/services/route53.spec.js.map +1 -1
  53. package/lib/services/s3binary.d.ts +6 -2
  54. package/lib/services/s3binary.js +189 -251
  55. package/lib/services/s3binary.js.map +1 -1
  56. package/lib/services/s3binary.spec.js +185 -254
  57. package/lib/services/s3binary.spec.js.map +1 -1
  58. package/lib/services/secretsmanager.d.ts +2 -0
  59. package/lib/services/secretsmanager.js +32 -56
  60. package/lib/services/secretsmanager.js.map +1 -1
  61. package/lib/services/secretsmanager.spec.js +50 -93
  62. package/lib/services/secretsmanager.spec.js.map +1 -1
  63. package/lib/services/sqsqueue.d.ts +5 -7
  64. package/lib/services/sqsqueue.js +70 -99
  65. package/lib/services/sqsqueue.js.map +1 -1
  66. package/lib/services/sqsqueue.spec.js +95 -145
  67. package/lib/services/sqsqueue.spec.js.map +1 -1
  68. package/lib/shell.js +19 -38
  69. package/lib/shell.js.map +1 -1
  70. package/package.json +12 -9
  71. package/webda.module.json +48 -0
@@ -1,56 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.S3Binary = exports.S3BinaryParameters = void 0;
36
1
  // Load the AWS SDK for Node.js
37
- const client_s3_1 = require("@aws-sdk/client-s3");
38
- const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
39
- const core_1 = require("@webda/core");
40
- const bluebird = __importStar(require("bluebird"));
41
- const aws_mixin_1 = require("./aws-mixin");
42
- class S3BinaryParameters extends (0, aws_mixin_1.AWSServiceParameters)(core_1.BinaryParameters) {
2
+ import { GetObjectCommand, PutObjectCommand, S3 } from "@aws-sdk/client-s3";
3
+ import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
4
+ import { BinaryParameters, CloudBinary, WebdaError } from "@webda/core";
5
+ import bluebird from "bluebird";
6
+ import { AWSServiceParameters } from "./aws-mixin.js";
7
+ export class S3BinaryParameters extends AWSServiceParameters(BinaryParameters) {
43
8
  constructor(params, service) {
44
- var _a;
45
9
  super(params, service);
46
10
  if (!this.bucket) {
47
- throw new core_1.WebdaError("S3BUCKET_PARAMETER_REQUIRED", "Need to define a bucket at least");
11
+ throw new WebdaError("S3BUCKET_PARAMETER_REQUIRED", "Need to define a bucket at least");
48
12
  }
49
- (_a = this.forcePathStyle) !== null && _a !== void 0 ? _a : (this.forcePathStyle = false);
13
+ this.forcePathStyle ?? (this.forcePathStyle = false);
50
14
  this.prefix = "";
51
15
  }
52
16
  }
53
- exports.S3BinaryParameters = S3BinaryParameters;
54
17
  /**
55
18
  * S3Binary handles the storage of binary on a S3 bucket
56
19
  *
@@ -71,7 +34,7 @@ exports.S3BinaryParameters = S3BinaryParameters;
71
34
  *
72
35
  * @WebdaModda
73
36
  */
74
- class S3Binary extends core_1.CloudBinary {
37
+ export default class S3Binary extends CloudBinary {
75
38
  /**
76
39
  * Load the parameters
77
40
  *
@@ -84,71 +47,69 @@ class S3Binary extends core_1.CloudBinary {
84
47
  * @inheritdoc
85
48
  */
86
49
  computeParameters() {
87
- this._s3 = new client_s3_1.S3(this.parameters);
50
+ this._s3 = new S3(this.parameters);
88
51
  }
89
52
  /**
90
53
  * @inheritdoc
91
54
  */
92
- putRedirectUrl(ctx) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- let body = yield ctx.getRequestBody();
95
- let uid = ctx.parameter("uid");
96
- let store = ctx.parameter("store");
97
- let property = ctx.parameter("property");
98
- let targetStore = this._verifyMapAndStore(ctx);
99
- let object = yield targetStore.get(uid);
100
- var base64String = Buffer.from(body.hash, "hex").toString("base64");
101
- var params = {
102
- Bucket: this.parameters.bucket,
103
- Key: this._getKey(body.hash),
104
- ContentType: "application/octet-stream",
105
- ContentMD5: base64String
106
- };
107
- // List bucket
108
- let data = yield this._s3.listObjectsV2({
109
- Bucket: this.parameters.bucket,
110
- Prefix: this._getKey(body.hash, "")
111
- });
112
- let foundMap = false;
113
- let foundData = false;
114
- let challenge;
115
- for (let i in data.Contents) {
116
- if (data.Contents[i].Key.endsWith("data"))
117
- foundData = true;
118
- if (data.Contents[i].Key.endsWith(uid))
119
- foundMap = true;
120
- if (data.Contents[i].Key.split("/").pop().startsWith("challenge_")) {
121
- challenge = data.Contents[i].Key.split("/").pop().substring("challenge_".length);
122
- }
55
+ async putRedirectUrl(ctx) {
56
+ let body = await ctx.getRequestBody();
57
+ let uid = ctx.parameter("uid");
58
+ let store = ctx.parameter("store");
59
+ let property = ctx.parameter("property");
60
+ let targetStore = this._verifyMapAndStore(ctx);
61
+ let object = await targetStore.get(uid);
62
+ let base64String = Buffer.from(body.hash, "hex").toString("base64");
63
+ let params = {
64
+ Bucket: this.parameters.bucket,
65
+ Key: this._getKey(body.hash),
66
+ ContentType: "application/octet-stream",
67
+ ContentMD5: base64String
68
+ };
69
+ // List bucket
70
+ let data = await this._s3.listObjectsV2({
71
+ Bucket: this.parameters.bucket,
72
+ Prefix: this._getKey(body.hash, "")
73
+ });
74
+ let foundMap = false;
75
+ let foundData = false;
76
+ let challenge;
77
+ for (let i in data.Contents) {
78
+ if (data.Contents[i].Key.endsWith("data"))
79
+ foundData = true;
80
+ if (data.Contents[i].Key.endsWith(uid))
81
+ foundMap = true;
82
+ if (data.Contents[i].Key.split("/").pop().startsWith("challenge_")) {
83
+ challenge = data.Contents[i].Key.split("/").pop().substring("challenge_".length);
123
84
  }
124
- if (foundMap) {
125
- if (foundData)
85
+ }
86
+ if (foundMap) {
87
+ if (foundData)
88
+ return;
89
+ return { url: await this.getSignedUrl(params.Key, "putObject", params), method: "PUT" };
90
+ }
91
+ if (foundData) {
92
+ if (challenge) {
93
+ // challenge and data prove it exists
94
+ if (challenge === body.challenge) {
95
+ await this.uploadSuccess(object, property, body);
126
96
  return;
127
- return { url: yield this.getSignedUrl(params.Key, "putObject", params), method: "PUT" };
128
- }
129
- if (foundData) {
130
- if (challenge) {
131
- // challenge and data prove it exists
132
- if (challenge === body.challenge) {
133
- yield this.uploadSuccess(object, property, body);
134
- return;
135
- }
136
97
  }
137
- // Need to do something?
138
98
  }
139
- else {
140
- yield this.putMarker(body.hash, `challenge_${body.challenge}`, "challenge");
141
- }
142
- yield this.uploadSuccess(object, property, body);
143
- yield this.putMarker(body.hash, uid, store);
144
- return { url: yield this.getSignedUrl(params.Key, "putObject", params), method: "PUT" };
145
- });
99
+ // Need to do something?
100
+ }
101
+ else {
102
+ await this.putMarker(body.hash, `challenge_${body.challenge}`, "challenge");
103
+ }
104
+ await this.uploadSuccess(object, property, body);
105
+ await this.putMarker(body.hash, uid, store);
106
+ return { url: await this.getSignedUrl(params.Key, "putObject", params), method: "PUT" };
146
107
  }
147
108
  /**
148
109
  * @inheritdoc
149
110
  */
150
111
  putMarker(hash, uuid, storeName) {
151
- var s3obj = new client_s3_1.S3(this.parameters);
112
+ let s3obj = new S3(this.parameters);
152
113
  return s3obj.putObject({
153
114
  Bucket: this.parameters.bucket,
154
115
  Key: this._getKey(hash, uuid),
@@ -165,140 +126,122 @@ class S3Binary extends core_1.CloudBinary {
165
126
  * @param params
166
127
  * @returns
167
128
  */
168
- getSignedUrl(key, action = "getObject", params = {}) {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- params.Bucket = params.Bucket || this.parameters.bucket;
171
- params.Key = key;
172
- let command;
173
- if (action === "getObject") {
174
- command = new client_s3_1.GetObjectCommand(params);
175
- }
176
- else if (action === "putObject") {
177
- command = new client_s3_1.PutObjectCommand(params);
178
- }
179
- // Create new client as the implementation is an ugly middleware
180
- return (0, s3_request_presigner_1.getSignedUrl)(new client_s3_1.S3(this.parameters), command, params);
181
- });
129
+ async getSignedUrl(key, action = "getObject", params = {}) {
130
+ params.Bucket = params.Bucket || this.parameters.bucket;
131
+ params.Key = key;
132
+ let command;
133
+ if (action === "getObject") {
134
+ command = new GetObjectCommand(params);
135
+ }
136
+ else if (action === "putObject") {
137
+ command = new PutObjectCommand(params);
138
+ }
139
+ // Create new client as the implementation is an ugly middleware
140
+ return getSignedUrl(new S3(this.parameters), command, params);
182
141
  }
183
142
  /**
184
143
  * @override
185
144
  */
186
- getSignedUrlFromMap(binaryMap, expire, _context) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- var params = {};
189
- params.Expires = expire; // A get should not take more than 30s
190
- params.ResponseContentDisposition = `attachment; filename=${binaryMap.name || binaryMap.originalname}`;
191
- params.ResponseContentType = binaryMap.mimetype;
192
- // Access-Control-Allow-Origin
193
- return this.getSignedUrl(this._getKey(binaryMap.hash), "getObject", params);
194
- });
145
+ async getSignedUrlFromMap(binaryMap, expire, _context) {
146
+ let params = {};
147
+ params.Expires = expire; // A get should not take more than 30s
148
+ params.ResponseContentDisposition = `attachment; filename=${binaryMap.name || binaryMap.originalname}`;
149
+ params.ResponseContentType = binaryMap.mimetype;
150
+ // Access-Control-Allow-Origin
151
+ return this.getSignedUrl(this._getKey(binaryMap.hash), "getObject", params);
195
152
  }
196
153
  /**
197
154
  * @override
198
155
  */
199
- _get(info) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- return (yield this._s3.getObject({
202
- Bucket: this.parameters.bucket,
203
- Key: this._getKey(info.hash)
204
- })).Body;
205
- });
156
+ async _get(info) {
157
+ return (await this._s3.getObject({
158
+ Bucket: this.parameters.bucket,
159
+ Key: this._getKey(info.hash)
160
+ })).Body;
206
161
  }
207
162
  /**
208
163
  * Check if an object exists on S3
209
164
  * @param key
210
165
  * @param bucket
211
166
  */
212
- exists(Key, Bucket = this.parameters.bucket) {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- try {
215
- return yield this._s3.headObject({
216
- Bucket,
217
- Key
218
- });
219
- }
220
- catch (err) {
221
- if (err.name === "NotFound") {
222
- return null;
223
- }
224
- throw err;
167
+ async exists(Key, Bucket = this.parameters.bucket) {
168
+ try {
169
+ return await this._s3.headObject({
170
+ Bucket,
171
+ Key
172
+ });
173
+ }
174
+ catch (err) {
175
+ if (err.name === "NotFound") {
176
+ return null;
225
177
  }
226
- });
178
+ throw err;
179
+ }
227
180
  }
228
181
  /**
229
182
  * @inheritdoc
230
183
  */
231
- getUsageCount(hash) {
232
- return __awaiter(this, void 0, void 0, function* () {
233
- // Not efficient if more than 1000 docs
234
- let data = yield this._s3.listObjects({
235
- Bucket: this.parameters.bucket,
236
- Prefix: this._getKey(hash, "")
237
- });
238
- return data.Contents.filter(k => !(k.Key.includes("data") || k.Key.includes("challenge"))).length;
184
+ async getUsageCount(hash) {
185
+ // Not efficient if more than 1000 docs
186
+ let data = await this._s3.listObjects({
187
+ Bucket: this.parameters.bucket,
188
+ Prefix: this._getKey(hash, "")
239
189
  });
190
+ return data.Contents.filter(k => !(k.Key.includes("data") || k.Key.includes("challenge"))).length;
240
191
  }
241
192
  /**
242
193
  * @inheritdoc
243
194
  */
244
- _cleanHash(hash) {
245
- return __awaiter(this, void 0, void 0, function* () {
246
- let files = (yield this._s3.listObjectsV2({ Bucket: this.parameters.bucket, Prefix: this._getKey(hash, "") }))
247
- .Contents;
248
- yield bluebird.map(files, file => this._s3.deleteObject({ Bucket: this.parameters.bucket, Key: file.Key }), {
249
- concurrency: 5
250
- });
195
+ async _cleanHash(hash) {
196
+ let files = (await this._s3.listObjectsV2({ Bucket: this.parameters.bucket, Prefix: this._getKey(hash, "") }))
197
+ .Contents;
198
+ await bluebird.map(files, file => this._s3.deleteObject({ Bucket: this.parameters.bucket, Key: file.Key }), {
199
+ concurrency: 5
251
200
  });
252
201
  }
253
202
  /**
254
203
  * @inheritdoc
255
204
  */
256
- _cleanUsage(hash, uuid) {
257
- return __awaiter(this, void 0, void 0, function* () {
258
- // Dont clean data for now
259
- var params = {
260
- Bucket: this.parameters.bucket,
261
- Key: this._getKey(hash, uuid)
262
- };
263
- yield this._s3.deleteObject(params);
264
- });
205
+ async _cleanUsage(hash, uuid) {
206
+ // Dont clean data for now
207
+ let params = {
208
+ Bucket: this.parameters.bucket,
209
+ Key: this._getKey(hash, uuid)
210
+ };
211
+ await this._s3.deleteObject(params);
265
212
  }
266
213
  /**
267
214
  * @inheritdoc
268
215
  */
269
- _exists(hash) {
270
- return __awaiter(this, void 0, void 0, function* () {
271
- try {
272
- yield this._s3.headObject({ Bucket: this.parameters.bucket, Key: this._getKey(hash) });
273
- return true;
274
- }
275
- catch (err) {
276
- if (err.name !== "NotFound") {
277
- throw err;
278
- }
216
+ async _exists(hash) {
217
+ try {
218
+ await this._s3.headObject({ Bucket: this.parameters.bucket, Key: this._getKey(hash) });
219
+ return true;
220
+ }
221
+ catch (err) {
222
+ if (err.name !== "NotFound") {
223
+ throw err;
279
224
  }
280
- return false;
281
- });
225
+ }
226
+ return false;
282
227
  }
283
228
  /**
284
229
  * Get a head object
285
230
  * @param hash
286
231
  * @returns
287
232
  */
288
- _getS3(hash) {
289
- return __awaiter(this, void 0, void 0, function* () {
290
- try {
291
- return yield this._s3.headObject({
292
- Bucket: this.parameters.bucket,
293
- Key: this._getKey(hash)
294
- });
295
- }
296
- catch (err) {
297
- if (err.name !== "NotFound") {
298
- throw err;
299
- }
233
+ async _getS3(hash) {
234
+ try {
235
+ return await this._s3.headObject({
236
+ Bucket: this.parameters.bucket,
237
+ Key: this._getKey(hash)
238
+ });
239
+ }
240
+ catch (err) {
241
+ if (err.name !== "NotFound") {
242
+ throw err;
300
243
  }
301
- });
244
+ }
302
245
  }
303
246
  /**
304
247
  * Get an object from s3 bucket
@@ -307,15 +250,13 @@ class S3Binary extends core_1.CloudBinary {
307
250
  * @param bucket to retrieve from or default bucket
308
251
  * @returns
309
252
  */
310
- getObject(key, bucket) {
311
- return __awaiter(this, void 0, void 0, function* () {
312
- bucket = bucket || this.parameters.bucket;
313
- var s3obj = new client_s3_1.S3(this.parameters);
314
- return (yield s3obj.getObject({
315
- Bucket: bucket,
316
- Key: key
317
- })).Body;
318
- });
253
+ async getObject(key, bucket) {
254
+ bucket = bucket || this.parameters.bucket;
255
+ let s3obj = new S3(this.parameters);
256
+ return (await s3obj.getObject({
257
+ Bucket: bucket,
258
+ Key: key
259
+ })).Body;
319
260
  }
320
261
  /**
321
262
  *
@@ -324,25 +265,23 @@ class S3Binary extends core_1.CloudBinary {
324
265
  * @param callback to execute with each key
325
266
  * @param filter regexp to execute on the key
326
267
  */
327
- forEachFile(Bucket, callback, Prefix = "", filter = undefined) {
328
- return __awaiter(this, void 0, void 0, function* () {
329
- let params = { Bucket, Prefix };
330
- let page = 0;
331
- var s3 = new client_s3_1.S3(this.parameters);
332
- do {
333
- yield s3.listObjectsV2(params).then(({ Contents, NextContinuationToken }) => __awaiter(this, void 0, void 0, function* () {
334
- params.ContinuationToken = NextContinuationToken;
335
- for (let f in Contents) {
336
- let { Key } = Contents[f];
337
- if (filter && filter.exec(Key) === null) {
338
- continue;
339
- }
340
- yield callback(Key, page);
268
+ async forEachFile(Bucket, callback, Prefix = "", filter = undefined) {
269
+ let params = { Bucket, Prefix };
270
+ let page = 0;
271
+ let s3 = new S3(this.parameters);
272
+ do {
273
+ await s3.listObjectsV2(params).then(async ({ Contents, NextContinuationToken }) => {
274
+ params.ContinuationToken = NextContinuationToken;
275
+ for (let f in Contents) {
276
+ let { Key } = Contents[f];
277
+ if (filter && filter.exec(Key) === null) {
278
+ continue;
341
279
  }
342
- }));
343
- page++;
344
- } while (params.ContinuationToken);
345
- });
280
+ await callback(Key, page);
281
+ }
282
+ });
283
+ page++;
284
+ } while (params.ContinuationToken);
346
285
  }
347
286
  /**
348
287
  * Add an object to S3 bucket
@@ -352,41 +291,37 @@ class S3Binary extends core_1.CloudBinary {
352
291
  * @param metadatas to put along the object
353
292
  * @param bucket to use
354
293
  */
355
- putObject(key, body, metadatas = {}, bucket = this.parameters.bucket) {
356
- return __awaiter(this, void 0, void 0, function* () {
357
- var s3obj = new client_s3_1.S3(this.parameters);
358
- yield s3obj.putObject({
359
- Bucket: bucket,
360
- Key: key,
361
- Metadata: metadatas,
362
- Body: body
363
- });
294
+ async putObject(key, body, metadatas = {}, bucket = this.parameters.bucket) {
295
+ let s3obj = new S3(this.parameters);
296
+ await s3obj.putObject({
297
+ Bucket: bucket,
298
+ Key: key,
299
+ Metadata: metadatas,
300
+ Body: body
364
301
  });
365
302
  }
366
303
  /**
367
304
  * @inheritdoc
368
305
  */
369
- store(object, property, file) {
370
- return __awaiter(this, void 0, void 0, function* () {
371
- this.checkMap(object.getStore().getName(), property);
372
- yield file.getHashes();
373
- let data = yield this._getS3(file.hash);
374
- if (data === undefined) {
375
- let s3metas = {};
376
- s3metas["x-amz-meta-challenge"] = file.challenge;
377
- var s3obj = new client_s3_1.S3(this.parameters);
378
- yield s3obj.putObject({
379
- Bucket: this.parameters.bucket,
380
- Key: this._getKey(file.hash),
381
- Metadata: s3metas,
382
- Body: yield file.get()
383
- });
384
- }
385
- // Set challenge aside for now
386
- yield this.putMarker(file.hash, `challenge_${file.challenge}`, "challenge");
387
- yield this.putMarker(file.hash, object.getUuid(), object.getStore().getName());
388
- yield this.uploadSuccess(object, property, file);
389
- });
306
+ async store(object, property, file) {
307
+ this.checkMap(object.getStore().getName(), property);
308
+ await file.getHashes();
309
+ let data = await this._getS3(file.hash);
310
+ if (data === undefined) {
311
+ let s3metas = {};
312
+ s3metas["x-amz-meta-challenge"] = file.challenge;
313
+ let s3obj = new S3(this.parameters);
314
+ await s3obj.putObject({
315
+ Bucket: this.parameters.bucket,
316
+ Key: this._getKey(file.hash),
317
+ Metadata: s3metas,
318
+ Body: await file.get()
319
+ });
320
+ }
321
+ // Set challenge aside for now
322
+ await this.putMarker(file.hash, `challenge_${file.challenge}`, "challenge");
323
+ await this.putMarker(file.hash, object.getUuid(), object.getStore().getName());
324
+ await this.uploadSuccess(object, property, file);
390
325
  }
391
326
  /**
392
327
  * @inheritdoc
@@ -431,12 +366,15 @@ class S3Binary extends core_1.CloudBinary {
431
366
  this.parameters.CloudFormation.Bucket = this.parameters.CloudFormation.Bucket || {};
432
367
  resources[this._name + "Bucket"] = {
433
368
  Type: "AWS::S3::Bucket",
434
- Properties: Object.assign(Object.assign({}, this.parameters.CloudFormation.Bucket), { BucketName: this.parameters.bucket, Tags: deployer.getDefaultTags(this.parameters.CloudFormation.Bucket.Tags) })
369
+ Properties: {
370
+ ...this.parameters.CloudFormation.Bucket,
371
+ BucketName: this.parameters.bucket,
372
+ Tags: deployer.getDefaultTags(this.parameters.CloudFormation.Bucket.Tags)
373
+ }
435
374
  };
436
375
  // Add any Other resources with prefix of the service
437
376
  return resources;
438
377
  }
439
378
  }
440
- exports.default = S3Binary;
441
- exports.S3Binary = S3Binary;
379
+ export { S3Binary };
442
380
  //# sourceMappingURL=s3binary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3binary.js","sourceRoot":"","sources":["../../src/services/s3binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3binary.js","sourceRoot":"","sources":["../../src/services/s3binary.ts"],"names":[],"mappings":"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"}