@webda/aws 1.6.0-beta.3 → 2.0.0-beta.2

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 (82) hide show
  1. package/lib/deployers/cloudformation.d.ts +8 -7
  2. package/lib/deployers/cloudformation.js +85 -75
  3. package/lib/deployers/cloudformation.js.map +1 -1
  4. package/lib/deployers/cloudformation.spec.d.ts +1 -0
  5. package/lib/deployers/cloudformation.spec.js +547 -0
  6. package/lib/deployers/cloudformation.spec.js.map +1 -0
  7. package/lib/deployers/index.d.ts +8 -7
  8. package/lib/deployers/index.js +99 -94
  9. package/lib/deployers/index.js.map +1 -1
  10. package/lib/deployers/index.spec.d.ts +8 -0
  11. package/lib/deployers/index.spec.js +628 -0
  12. package/lib/deployers/index.spec.js.map +1 -0
  13. package/lib/deployers/lambdapackager.d.ts +1 -0
  14. package/lib/deployers/lambdapackager.js +25 -1
  15. package/lib/deployers/lambdapackager.js.map +1 -1
  16. package/lib/deployers/lambdapackager.spec.d.ts +1 -0
  17. package/lib/deployers/lambdapackager.spec.js +76 -0
  18. package/lib/deployers/lambdapackager.spec.js.map +1 -0
  19. package/lib/index.js +5 -1
  20. package/lib/index.js.map +1 -1
  21. package/lib/index.spec.d.ts +10 -0
  22. package/lib/index.spec.js +86 -0
  23. package/lib/index.spec.js.map +1 -0
  24. package/lib/services/aws-mixin.d.ts +22 -1
  25. package/lib/services/aws-mixin.js +18 -20
  26. package/lib/services/aws-mixin.js.map +1 -1
  27. package/lib/services/cloudwatchlogger.d.ts +19 -8
  28. package/lib/services/cloudwatchlogger.js +39 -29
  29. package/lib/services/cloudwatchlogger.js.map +1 -1
  30. package/lib/services/cloudwatchlogger.spec.d.ts +1 -0
  31. package/lib/services/cloudwatchlogger.spec.js +147 -0
  32. package/lib/services/cloudwatchlogger.spec.js.map +1 -0
  33. package/lib/services/dynamodb.d.ts +49 -17
  34. package/lib/services/dynamodb.js +221 -80
  35. package/lib/services/dynamodb.js.map +1 -1
  36. package/lib/services/dynamodb.spec.d.ts +23 -0
  37. package/lib/services/dynamodb.spec.js +410 -0
  38. package/lib/services/dynamodb.spec.js.map +1 -0
  39. package/lib/services/index.d.ts +1 -1
  40. package/lib/services/index.js +6 -2
  41. package/lib/services/index.js.map +1 -1
  42. package/lib/services/lambdacaller.d.ts +26 -10
  43. package/lib/services/lambdacaller.js +10 -18
  44. package/lib/services/lambdacaller.js.map +1 -1
  45. package/lib/services/lambdacaller.spec.d.ts +1 -0
  46. package/lib/services/lambdacaller.spec.js +104 -0
  47. package/lib/services/lambdacaller.spec.js.map +1 -0
  48. package/lib/services/lambdaserver.d.ts +11 -4
  49. package/lib/services/lambdaserver.js +52 -46
  50. package/lib/services/lambdaserver.js.map +1 -1
  51. package/lib/services/lambdaserver.spec.d.ts +1 -0
  52. package/lib/services/lambdaserver.spec.js +449 -0
  53. package/lib/services/lambdaserver.spec.js.map +1 -0
  54. package/lib/services/route53.d.ts +4 -4
  55. package/lib/services/route53.js +34 -44
  56. package/lib/services/route53.js.map +1 -1
  57. package/lib/services/route53.spec.d.ts +1 -0
  58. package/lib/services/route53.spec.js +109 -0
  59. package/lib/services/route53.spec.js.map +1 -0
  60. package/lib/services/s3binary.d.ts +33 -53
  61. package/lib/services/s3binary.js +115 -242
  62. package/lib/services/s3binary.js.map +1 -1
  63. package/lib/services/s3binary.spec.d.ts +1 -0
  64. package/lib/services/s3binary.spec.js +336 -0
  65. package/lib/services/s3binary.spec.js.map +1 -0
  66. package/lib/services/secretsmanager.d.ts +23 -10
  67. package/lib/services/secretsmanager.js +13 -27
  68. package/lib/services/secretsmanager.js.map +1 -1
  69. package/lib/services/secretsmanager.spec.d.ts +1 -0
  70. package/lib/services/secretsmanager.spec.js +109 -0
  71. package/lib/services/secretsmanager.spec.js.map +1 -0
  72. package/lib/services/sqsqueue.d.ts +22 -7
  73. package/lib/services/sqsqueue.js +23 -36
  74. package/lib/services/sqsqueue.js.map +1 -1
  75. package/lib/services/sqsqueue.spec.d.ts +1 -0
  76. package/lib/services/sqsqueue.spec.js +206 -0
  77. package/lib/services/sqsqueue.spec.js.map +1 -0
  78. package/lib/shell.d.ts +1 -1
  79. package/lib/shell.js +4 -1
  80. package/lib/shell.js.map +1 -1
  81. package/package.json +27 -14
  82. package/webda.module.json +285 -12
@@ -0,0 +1,449 @@
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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
32
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33
+ return new (P || (P = Promise))(function (resolve, reject) {
34
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
35
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
36
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
37
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
38
+ });
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ const mocha_1 = require("@testdeck/mocha");
42
+ const core_1 = require("@webda/core");
43
+ const test_1 = require("@webda/core/lib/test");
44
+ const assert = __importStar(require("assert"));
45
+ const fs = __importStar(require("fs"));
46
+ const index_spec_1 = require("../index.spec");
47
+ const lambdaserver_1 = require("./lambdaserver");
48
+ let ExceptionExecutor = class ExceptionExecutor extends core_1.Service {
49
+ initRoutes() {
50
+ this.addRoute("/broken/{type}", ["GET"], this._brokenRoute);
51
+ this.addRoute("/route/string", ["GET"], this.onString);
52
+ }
53
+ _brokenRoute(ctx) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ if (ctx.parameters.type === "401") {
56
+ throw 401;
57
+ }
58
+ else if (ctx.parameters.type === "Error") {
59
+ throw new Error();
60
+ }
61
+ });
62
+ }
63
+ onString(ctx) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ ctx.write(`CodeCoverage${ctx.getParameters().test || ""}`);
66
+ });
67
+ }
68
+ onParamString(ctx) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ ctx.write(`CodeCoverage${ctx.getParameters().uuid}${ctx.getParameters().test || ""}`);
71
+ });
72
+ }
73
+ };
74
+ __decorate([
75
+ (0, core_1.Route)("/route/broken/{type}")
76
+ ], ExceptionExecutor.prototype, "_brokenRoute", null);
77
+ __decorate([
78
+ (0, core_1.Route)("/route/string{?test}")
79
+ ], ExceptionExecutor.prototype, "onString", null);
80
+ __decorate([
81
+ (0, core_1.Route)("/route/param/{uuid}{?test}")
82
+ ], ExceptionExecutor.prototype, "onParamString", null);
83
+ ExceptionExecutor = __decorate([
84
+ core_1.Bean
85
+ ], ExceptionExecutor);
86
+ let LambdaHandlerTest = class LambdaHandlerTest extends index_spec_1.WebdaAwsTest {
87
+ constructor() {
88
+ super(...arguments);
89
+ this.context = {};
90
+ this.badCheck = false;
91
+ }
92
+ before() {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ yield (0, index_spec_1.checkLocalStack)();
95
+ let app = new test_1.TestApplication(this.getTestConfiguration());
96
+ app.addService("test/awsevents", (yield Promise.resolve().then(() => __importStar(require("../../test/moddas/awsevents.js")))).default);
97
+ yield app.load();
98
+ this.webda = this.handler = new lambdaserver_1.LambdaServer(app);
99
+ this.webda.initStatics();
100
+ this.webda.registerRequestFilter({
101
+ checkRequest: () => __awaiter(this, void 0, void 0, function* () { return true; })
102
+ });
103
+ this.evt = {
104
+ httpMethod: "GET",
105
+ headers: {
106
+ Cookie: "webda=plop;",
107
+ "X-Forwarded-Port": "443",
108
+ "X-Forwarded-Proto": "https"
109
+ },
110
+ requestContext: {
111
+ identity: {}
112
+ },
113
+ path: "/prefix/route/string",
114
+ resource: "/route/string",
115
+ body: JSON.stringify({})
116
+ };
117
+ this.debugMailer = this.handler.getService("DebugMailer");
118
+ });
119
+ }
120
+ checkRequestFalse() {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ yield this.handler.init();
123
+ // @ts-ignore
124
+ this.handler._requestFilters = [];
125
+ this.ensureGoodCSRF();
126
+ this.evt.queryStringParameters = { test: "Plop" };
127
+ let res = yield this.handler.handleRequest(this.evt, this.context);
128
+ assert.strictEqual(res.statusCode, 403);
129
+ });
130
+ }
131
+ handleRequestCustomLaunch() {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ yield this.handler.handleRequest({
134
+ command: "launch",
135
+ service: "DebugMailer",
136
+ method: "send",
137
+ args: ["test"]
138
+ }, undefined);
139
+ assert.strictEqual(this.debugMailer.sent[0], "test");
140
+ });
141
+ }
142
+ handleRequestCustomLaunchBadService() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ yield this.handler.handleRequest({
145
+ command: "launch",
146
+ service: "DebugMailers",
147
+ method: "send",
148
+ args: ["test"]
149
+ }, undefined);
150
+ assert.strictEqual(this.debugMailer.sent.length, 0);
151
+ });
152
+ }
153
+ handleRequestCustomLaunchBadMethod() {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ yield this.handler.handleRequest({
156
+ command: "launch",
157
+ service: "DebugMailer",
158
+ method: "sends"
159
+ }, undefined);
160
+ assert.strictEqual(this.debugMailer.sent.length, 0);
161
+ });
162
+ }
163
+ handleRequestKnownRoute() {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ this.ensureGoodCSRF();
166
+ let res = yield this.handler.handleRequest(this.evt, this.context);
167
+ assert.strictEqual(res.body, "CodeCoverage");
168
+ });
169
+ }
170
+ handleRequestIdHeader() {
171
+ return __awaiter(this, void 0, void 0, function* () {
172
+ this.ensureGoodCSRF();
173
+ this.handler.getConfiguration().parameters.lambdaRequestHeader = "x-webda-request-id";
174
+ let res = yield this.handler.handleRequest(this.evt, Object.assign(Object.assign({}, this.context), { awsRequestId: "toto" }));
175
+ assert.strictEqual(res.body, "CodeCoverage");
176
+ assert.strictEqual(res.headers["x-webda-request-id"], "toto");
177
+ });
178
+ }
179
+ handleRequestKnownRouteWithParamAndQuery() {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ this.ensureGoodCSRF();
182
+ this.evt.queryStringParameters = { test: "Plop" };
183
+ this.evt.path = "/prefix/route/param/myid";
184
+ this.evt.resource = "/route/param/{uuid}";
185
+ this.evt.pathParameters = { uuid: "myid" };
186
+ let res = yield this.handler.handleRequest(this.evt, this.context);
187
+ assert.strictEqual(res.body, "CodeCoveragemyidPlop");
188
+ });
189
+ }
190
+ handleRequestKnownRouteWithParam() {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ this.ensureGoodCSRF();
193
+ this.evt.path = "/prefix/route/param/myid";
194
+ this.evt.resource = "/route/param/{uuid}";
195
+ this.evt.pathParameters = { uuid: "myid" };
196
+ let res = yield this.handler.handleRequest(this.evt, this.context);
197
+ assert.strictEqual(res.body, "CodeCoveragemyid");
198
+ });
199
+ }
200
+ handleRequestKnownRouteWithQuery() {
201
+ return __awaiter(this, void 0, void 0, function* () {
202
+ this.ensureGoodCSRF();
203
+ this.evt.queryStringParameters = { test: "Plop" };
204
+ let res = yield this.handler.handleRequest(this.evt, this.context);
205
+ assert.strictEqual(res.body, "CodeCoveragePlop");
206
+ });
207
+ }
208
+ handleRequestUnknownRoute() {
209
+ return __awaiter(this, void 0, void 0, function* () {
210
+ this.ensureGoodCSRF();
211
+ this.evt.path = "/route/unknown";
212
+ this.evt.resource = "/route/unknown";
213
+ delete this.evt.headers.Cookie;
214
+ let res = yield this.handler.handleRequest(this.evt, this.context);
215
+ assert.strictEqual(res.statusCode, 404);
216
+ });
217
+ }
218
+ handleRequestThrow401() {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ this.ensureGoodCSRF();
221
+ this.evt.path = "/route/broken/401";
222
+ this.evt.resource = "/route/broken/401";
223
+ let res = yield this.handler.handleRequest(this.evt, this.context);
224
+ assert.strictEqual(res.statusCode, 401);
225
+ });
226
+ }
227
+ handleRequestThrowError() {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ this.ensureGoodCSRF();
230
+ this.evt.path = "/route/broken/Error";
231
+ let res = yield this.handler.handleRequest(this.evt, this.context);
232
+ assert.strictEqual(res.statusCode, 500);
233
+ });
234
+ }
235
+ handleRequestOPTIONS() {
236
+ return __awaiter(this, void 0, void 0, function* () {
237
+ this.ensureGoodCSRF();
238
+ this.evt.httpMethod = "OPTIONS";
239
+ let res = yield this.handler.handleRequest(this.evt, this.context);
240
+ assert.strictEqual(res.statusCode, 204);
241
+ assert.strictEqual(res.headers["Access-Control-Allow-Methods"], "GET,OPTIONS");
242
+ });
243
+ }
244
+ handleRequestOPTIONSWith404() {
245
+ return __awaiter(this, void 0, void 0, function* () {
246
+ this.ensureGoodCSRF();
247
+ this.evt.path = "/route/unknown";
248
+ this.evt.httpMethod = "OPTIONS";
249
+ let res = yield this.handler.handleRequest(this.evt, this.context);
250
+ assert.strictEqual(res.statusCode, 404);
251
+ });
252
+ }
253
+ cov() {
254
+ return __awaiter(this, void 0, void 0, function* () {
255
+ this.ensureGoodCSRF();
256
+ this.evt.headers["X-Forwarded-Port"] = "wew";
257
+ this.evt.headers["Content-Type"] = "text/plain";
258
+ this.evt.body = "{wew''";
259
+ // Should fallback on port 443
260
+ yield this.handler.handleRequest(this.evt, this.context);
261
+ });
262
+ }
263
+ handleRequestQueryParams() {
264
+ return __awaiter(this, void 0, void 0, function* () {
265
+ // TODO Check parameter retrieval
266
+ this.evt.queryStringParameters = {
267
+ test: "plop"
268
+ };
269
+ this.evt.headers.Origin = "https://test.webda.io";
270
+ this.evt.headers.Host = "test.webda.io";
271
+ yield this.handler.handleRequest(this.evt, this.context);
272
+ });
273
+ }
274
+ handleRequestOrigin() {
275
+ return __awaiter(this, void 0, void 0, function* () {
276
+ this.evt.headers.Origin = "https://test.webda.io";
277
+ this.evt.headers.Host = "test.webda.io";
278
+ let wait = false;
279
+ this.handler.on("Webda.Result", () => {
280
+ return new Promise((resolve, reject) => {
281
+ // Delay 100ms to ensure it waited
282
+ setTimeout(() => {
283
+ wait = true;
284
+ resolve();
285
+ }, 100);
286
+ });
287
+ });
288
+ let res = yield this.handler.handleRequest(this.evt, this.context);
289
+ assert.strictEqual(res.headers["Access-Control-Allow-Origin"], this.evt.headers.Origin);
290
+ assert.strictEqual(wait, true);
291
+ });
292
+ }
293
+ handleRequestOriginCSRF() {
294
+ return __awaiter(this, void 0, void 0, function* () {
295
+ this.evt.headers.Origin = "https://test3.webda.io";
296
+ this.evt.headers.Host = "test3.webda.io";
297
+ let res = yield this.handler.handleRequest(this.evt, this.context);
298
+ assert.strictEqual(res.statusCode, 401);
299
+ });
300
+ }
301
+ handleRequestRefererCSRF() {
302
+ return __awaiter(this, void 0, void 0, function* () {
303
+ this.evt.headers.Referer = "https://test3.webda.io";
304
+ this.evt.headers.Host = "test3.webda.io";
305
+ let res = yield this.handler.handleRequest(this.evt, this.context);
306
+ assert.strictEqual(res.statusCode, 401);
307
+ });
308
+ }
309
+ handleRequestRefererGoodCORS() {
310
+ return __awaiter(this, void 0, void 0, function* () {
311
+ this.evt.headers.Referer = "https://test.webda.io";
312
+ this.evt.headers.Host = "test.webda.io";
313
+ let res = yield this.handler.handleRequest(this.evt, this.context);
314
+ assert.strictEqual(res.headers["Access-Control-Allow-Origin"], this.evt.headers.Referer);
315
+ });
316
+ }
317
+ handleRequestHardStopCheckRequest() {
318
+ return __awaiter(this, void 0, void 0, function* () {
319
+ this.evt.headers.Referer = "https://test.webda.io";
320
+ this.evt.headers.Host = "test.webda.io";
321
+ this.handler.registerRequestFilter(this);
322
+ let res = yield this.handler.handleRequest(this.evt, this.context);
323
+ assert.strictEqual(res.statusCode, 410);
324
+ this.badCheck = true;
325
+ yield assert.rejects(() => this.handler.handleRequest(this.evt, this.context), /Unknown/);
326
+ });
327
+ }
328
+ checkRequest() {
329
+ return __awaiter(this, void 0, void 0, function* () {
330
+ if (this.badCheck) {
331
+ throw new Error("Unknown");
332
+ }
333
+ throw 410;
334
+ });
335
+ }
336
+ ensureGoodCSRF() {
337
+ this.evt.headers.Referer = "https://test.webda.io";
338
+ this.evt.headers.Host = "test.webda.io";
339
+ }
340
+ awsEvents() {
341
+ return __awaiter(this, void 0, void 0, function* () {
342
+ let service = this.handler.getService("awsEvents");
343
+ let files = fs.readdirSync(__dirname + "/../../test/aws-events");
344
+ for (let f in files) {
345
+ let file = files[f];
346
+ let event = JSON.parse(fs.readFileSync(__dirname + "/../../test/aws-events/" + file).toString());
347
+ yield this.handler.handleRequest(event, this.context);
348
+ if (file === "api-gateway-aws-proxy.json") {
349
+ assert.strictEqual(service.getEvents().length, 0, "API Gateway should go throught the normal request handling");
350
+ }
351
+ else {
352
+ assert.notStrictEqual(service.getEvents().length, 0, "Should have get some events:" + JSON.stringify(event));
353
+ }
354
+ }
355
+ });
356
+ }
357
+ /**
358
+ * Wildcard path from API Gateway were missing the prefix
359
+ *
360
+ * @see https://github.com/loopingz/webda.io/issues/193
361
+ */
362
+ computePrefix() {
363
+ return __awaiter(this, void 0, void 0, function* () {
364
+ let httpContext = new core_1.HttpContext("test.webda.io", "GET", "/prefix/static1234/test/subfolder/index.html");
365
+ this.handler.computePrefix({
366
+ path: "/prefix/static1234/test/subfolder/index.html",
367
+ resource: "/static1234/{path+}",
368
+ pathParameters: {
369
+ path: "test/subfolder/index.html"
370
+ }
371
+ }, httpContext);
372
+ assert.strictEqual(httpContext.getRelativeUri(), "/static1234/test/subfolder/index.html");
373
+ assert.strictEqual(httpContext.prefix, "/prefix");
374
+ });
375
+ }
376
+ };
377
+ __decorate([
378
+ mocha_1.test
379
+ ], LambdaHandlerTest.prototype, "checkRequestFalse", null);
380
+ __decorate([
381
+ mocha_1.test
382
+ ], LambdaHandlerTest.prototype, "handleRequestCustomLaunch", null);
383
+ __decorate([
384
+ mocha_1.test
385
+ ], LambdaHandlerTest.prototype, "handleRequestCustomLaunchBadService", null);
386
+ __decorate([
387
+ mocha_1.test
388
+ ], LambdaHandlerTest.prototype, "handleRequestCustomLaunchBadMethod", null);
389
+ __decorate([
390
+ mocha_1.test
391
+ ], LambdaHandlerTest.prototype, "handleRequestKnownRoute", null);
392
+ __decorate([
393
+ mocha_1.test
394
+ ], LambdaHandlerTest.prototype, "handleRequestIdHeader", null);
395
+ __decorate([
396
+ mocha_1.test
397
+ ], LambdaHandlerTest.prototype, "handleRequestKnownRouteWithParamAndQuery", null);
398
+ __decorate([
399
+ mocha_1.test
400
+ ], LambdaHandlerTest.prototype, "handleRequestKnownRouteWithParam", null);
401
+ __decorate([
402
+ mocha_1.test
403
+ ], LambdaHandlerTest.prototype, "handleRequestKnownRouteWithQuery", null);
404
+ __decorate([
405
+ mocha_1.test
406
+ ], LambdaHandlerTest.prototype, "handleRequestUnknownRoute", null);
407
+ __decorate([
408
+ mocha_1.test
409
+ ], LambdaHandlerTest.prototype, "handleRequestThrow401", null);
410
+ __decorate([
411
+ mocha_1.test
412
+ ], LambdaHandlerTest.prototype, "handleRequestThrowError", null);
413
+ __decorate([
414
+ mocha_1.test
415
+ ], LambdaHandlerTest.prototype, "handleRequestOPTIONS", null);
416
+ __decorate([
417
+ mocha_1.test
418
+ ], LambdaHandlerTest.prototype, "handleRequestOPTIONSWith404", null);
419
+ __decorate([
420
+ mocha_1.test
421
+ ], LambdaHandlerTest.prototype, "cov", null);
422
+ __decorate([
423
+ mocha_1.test
424
+ ], LambdaHandlerTest.prototype, "handleRequestQueryParams", null);
425
+ __decorate([
426
+ mocha_1.test
427
+ ], LambdaHandlerTest.prototype, "handleRequestOrigin", null);
428
+ __decorate([
429
+ mocha_1.test
430
+ ], LambdaHandlerTest.prototype, "handleRequestOriginCSRF", null);
431
+ __decorate([
432
+ mocha_1.test
433
+ ], LambdaHandlerTest.prototype, "handleRequestRefererCSRF", null);
434
+ __decorate([
435
+ mocha_1.test
436
+ ], LambdaHandlerTest.prototype, "handleRequestRefererGoodCORS", null);
437
+ __decorate([
438
+ mocha_1.test
439
+ ], LambdaHandlerTest.prototype, "handleRequestHardStopCheckRequest", null);
440
+ __decorate([
441
+ mocha_1.test
442
+ ], LambdaHandlerTest.prototype, "awsEvents", null);
443
+ __decorate([
444
+ mocha_1.test
445
+ ], LambdaHandlerTest.prototype, "computePrefix", null);
446
+ LambdaHandlerTest = __decorate([
447
+ mocha_1.suite
448
+ ], LambdaHandlerTest);
449
+ //# sourceMappingURL=lambdaserver.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lambdaserver.spec.js","sourceRoot":"","sources":["../../src/services/lambdaserver.spec.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
+ import { HostedZone } from "@aws-sdk/client-route-53";
1
2
  import { Service } from "@webda/core";
2
- import * as AWS from "aws-sdk";
3
3
  export declare class Route53Service extends Service {
4
4
  /**
5
5
  * Get the closest zone to the domain
6
6
  *
7
7
  * @param domain to get zone for
8
8
  */
9
- static getZoneForDomainName(domain: any): Promise<AWS.Route53.HostedZone>;
9
+ static getZoneForDomainName(domain: any): Promise<HostedZone>;
10
10
  static completeDomain(domain: string): string;
11
11
  /**
12
12
  * Create DNS entry
@@ -16,7 +16,7 @@ export declare class Route53Service extends Service {
16
16
  * @param value the value of the record
17
17
  * @param targetZone
18
18
  */
19
- static createDNSEntry(domain: string, type: string, value: string, targetZone?: AWS.Route53.HostedZone, Comment?: string): Promise<void>;
19
+ static createDNSEntry(domain: string, type: string, value: string, targetZone?: HostedZone, Comment?: string): Promise<void>;
20
20
  /**
21
21
  * Return all entries of a zone in AWS
22
22
  *
@@ -27,7 +27,7 @@ export declare class Route53Service extends Service {
27
27
  * Import all records to Route53
28
28
  * @param file
29
29
  */
30
- static import(file: string, importEntriesOnly: boolean): Promise<void>;
30
+ static import(file: string, Console: any): Promise<void>;
31
31
  /**
32
32
  * Export all records from Route53 into a file
33
33
  *
@@ -1,10 +1,4 @@
1
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
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -16,8 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
16
10
  };
17
11
  Object.defineProperty(exports, "__esModule", { value: true });
18
12
  exports.Route53Service = void 0;
13
+ const client_route_53_1 = require("@aws-sdk/client-route-53");
19
14
  const core_1 = require("@webda/core");
20
- const AWS = require("aws-sdk");
21
15
  class Route53Service extends core_1.Service {
22
16
  /**
23
17
  * Get the closest zone to the domain
@@ -29,12 +23,12 @@ class Route53Service extends core_1.Service {
29
23
  domain = this.completeDomain(domain);
30
24
  let targetZone;
31
25
  // Find the right zone
32
- let r53 = new AWS.Route53();
26
+ let r53 = new client_route_53_1.Route53({});
33
27
  let res;
34
28
  let params = {};
35
29
  // Identify the right zone first
36
30
  do {
37
- res = yield r53.listHostedZones(params).promise();
31
+ res = yield r53.listHostedZones(params);
38
32
  for (let i in res.HostedZones) {
39
33
  let zone = res.HostedZones[i];
40
34
  if (domain.endsWith(zone.Name)) {
@@ -66,7 +60,7 @@ class Route53Service extends core_1.Service {
66
60
  */
67
61
  static createDNSEntry(domain, type, value, targetZone = undefined, Comment = "@webda/aws-created") {
68
62
  return __awaiter(this, void 0, void 0, function* () {
69
- let r53 = new AWS.Route53();
63
+ let r53 = new client_route_53_1.Route53({});
70
64
  domain = this.completeDomain(domain);
71
65
  if (!targetZone) {
72
66
  targetZone = yield this.getZoneForDomainName(domain);
@@ -74,8 +68,7 @@ class Route53Service extends core_1.Service {
74
68
  if (!targetZone) {
75
69
  throw Error(`Domain '${domain}' is not handled on AWS`);
76
70
  }
77
- yield r53
78
- .changeResourceRecordSets({
71
+ yield r53.changeResourceRecordSets({
79
72
  HostedZoneId: targetZone.Id,
80
73
  ChangeBatch: {
81
74
  Changes: [
@@ -95,8 +88,7 @@ class Route53Service extends core_1.Service {
95
88
  ],
96
89
  Comment
97
90
  }
98
- })
99
- .promise();
91
+ });
100
92
  });
101
93
  }
102
94
  /**
@@ -106,7 +98,7 @@ class Route53Service extends core_1.Service {
106
98
  */
107
99
  static getEntries(domain) {
108
100
  return __awaiter(this, void 0, void 0, function* () {
109
- let r53 = new AWS.Route53();
101
+ let r53 = new client_route_53_1.Route53({});
110
102
  const zone = yield Route53Service.getZoneForDomainName(domain);
111
103
  if (!zone) {
112
104
  throw new Error(`Domain '${domain}' is not handled on AWS`);
@@ -114,12 +106,10 @@ class Route53Service extends core_1.Service {
114
106
  const result = [];
115
107
  let res;
116
108
  do {
117
- res = yield r53
118
- .listResourceRecordSets({
109
+ res = yield r53.listResourceRecordSets({
119
110
  HostedZoneId: zone.Id,
120
111
  StartRecordIdentifier: res ? res.NextRecordIdentifier : undefined
121
- })
122
- .promise();
112
+ });
123
113
  result.push(...res.ResourceRecordSets);
124
114
  } while (res.IsTruncated);
125
115
  return result;
@@ -129,33 +119,36 @@ class Route53Service extends core_1.Service {
129
119
  * Import all records to Route53
130
120
  * @param file
131
121
  */
132
- static import(file, importEntriesOnly) {
122
+ static import(file, Console) {
133
123
  return __awaiter(this, void 0, void 0, function* () {
134
124
  let data = core_1.JSONUtils.loadFile(file);
135
125
  const targetZone = yield this.getZoneForDomainName(data.domain);
136
- const r53 = new AWS.Route53();
126
+ const r53 = new client_route_53_1.Route53({});
137
127
  if (!targetZone) {
138
128
  throw Error(`Domain '${data.domain}' is not handled on AWS`);
139
129
  }
140
- yield r53
141
- .changeResourceRecordSets({
142
- HostedZoneId: targetZone.Id,
143
- ChangeBatch: {
144
- Changes: data.entries
145
- .filter(r => !(r.Type === "NS" && r.Name === targetZone.Name))
146
- .map(r => {
147
- if (!r.ResourceRecords.length) {
148
- delete r.ResourceRecords;
149
- }
150
- return r;
151
- })
152
- .map(r => ({
153
- Action: "UPSERT",
154
- ResourceRecordSet: r
155
- }))
156
- }
157
- })
158
- .promise();
130
+ try {
131
+ yield r53.changeResourceRecordSets({
132
+ HostedZoneId: targetZone.Id,
133
+ ChangeBatch: {
134
+ Changes: data.entries
135
+ .filter(r => !(r.Type === "NS" && r.Name === targetZone.Name))
136
+ .map(r => {
137
+ if (!r.ResourceRecords.length) {
138
+ delete r.ResourceRecords;
139
+ }
140
+ return r;
141
+ })
142
+ .map(r => ({
143
+ Action: "UPSERT",
144
+ ResourceRecordSet: r
145
+ }))
146
+ }
147
+ });
148
+ }
149
+ catch (err) {
150
+ Console.log("ERROR", err);
151
+ }
159
152
  });
160
153
  }
161
154
  /**
@@ -183,7 +176,7 @@ class Route53Service extends core_1.Service {
183
176
  const command = args._.shift();
184
177
  switch (command) {
185
178
  case "import":
186
- yield this.import(args.file, false);
179
+ yield this.import(args.file, Console);
187
180
  break;
188
181
  case "export":
189
182
  yield this.export(args.domain, args.file);
@@ -192,8 +185,5 @@ class Route53Service extends core_1.Service {
192
185
  });
193
186
  }
194
187
  }
195
- __decorate([
196
- (0, core_1.Cache)()
197
- ], Route53Service, "getZoneForDomainName", null);
198
188
  exports.Route53Service = Route53Service;
199
189
  //# sourceMappingURL=route53.js.map