@spytecgps/lambda-utils 0.9.4 → 0.9.6
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/dist/errors/BadRequestError.d.ts +3 -1
- package/dist/errors/BadRequestError.js +3 -1
- package/dist/errors/BaseError.d.ts +3 -0
- package/dist/errors/BaseError.js +24 -0
- package/dist/errors/NotFoundError.d.ts +3 -2
- package/dist/errors/NotFoundError.js +3 -2
- package/dist/errors/UnauthorizedError.d.ts +3 -2
- package/dist/errors/UnauthorizedError.js +3 -2
- package/dist/types.d.ts +11 -1
- package/dist/wrappers/apiGatewayEventWrapper.js +2 -2
- package/dist/wrappers/index.d.ts +2 -1
- package/dist/wrappers/index.js +3 -1
- package/dist/wrappers/sqsEventWrapper.d.ts +3 -0
- package/dist/wrappers/sqsEventWrapper.js +67 -0
- package/package.json +1 -1
|
@@ -13,13 +13,15 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
};
|
|
14
14
|
})();
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var BaseError_1 = require("./BaseError");
|
|
16
17
|
var BadRequestError = /** @class */ (function (_super) {
|
|
17
18
|
__extends(BadRequestError, _super);
|
|
18
19
|
function BadRequestError() {
|
|
19
20
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
20
21
|
_this.code = 400;
|
|
22
|
+
_this.name = 'BadRequestError';
|
|
21
23
|
return _this;
|
|
22
24
|
}
|
|
23
25
|
return BadRequestError;
|
|
24
|
-
}(
|
|
26
|
+
}(BaseError_1.BaseError));
|
|
25
27
|
exports.default = BadRequestError;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.BaseError = void 0;
|
|
17
|
+
var BaseError = /** @class */ (function (_super) {
|
|
18
|
+
__extends(BaseError, _super);
|
|
19
|
+
function BaseError() {
|
|
20
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
21
|
+
}
|
|
22
|
+
return BaseError;
|
|
23
|
+
}(Error));
|
|
24
|
+
exports.BaseError = BaseError;
|
|
@@ -13,14 +13,15 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
};
|
|
14
14
|
})();
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var BaseError_1 = require("./BaseError");
|
|
16
17
|
var NotFoundError = /** @class */ (function (_super) {
|
|
17
18
|
__extends(NotFoundError, _super);
|
|
18
19
|
function NotFoundError() {
|
|
19
20
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
20
21
|
_this.code = 404;
|
|
21
|
-
_this.
|
|
22
|
+
_this.name = 'NotFoundError';
|
|
22
23
|
return _this;
|
|
23
24
|
}
|
|
24
25
|
return NotFoundError;
|
|
25
|
-
}(
|
|
26
|
+
}(BaseError_1.BaseError));
|
|
26
27
|
exports.default = NotFoundError;
|
|
@@ -13,14 +13,15 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
13
13
|
};
|
|
14
14
|
})();
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
var BaseError_1 = require("./BaseError");
|
|
16
17
|
var UnauthorizedError = /** @class */ (function (_super) {
|
|
17
18
|
__extends(UnauthorizedError, _super);
|
|
18
19
|
function UnauthorizedError() {
|
|
19
20
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
20
21
|
_this.code = 401;
|
|
21
|
-
_this.
|
|
22
|
+
_this.name = 'UnauthorizedError';
|
|
22
23
|
return _this;
|
|
23
24
|
}
|
|
24
25
|
return UnauthorizedError;
|
|
25
|
-
}(
|
|
26
|
+
}(BaseError_1.BaseError));
|
|
26
27
|
exports.default = UnauthorizedError;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { APIGatewayProxyWithLambdaAuthorizerEvent } from 'aws-lambda';
|
|
1
|
+
import { APIGatewayProxyWithLambdaAuthorizerEvent, SQSEvent, SQSRecord } from 'aws-lambda';
|
|
2
2
|
import { ObjectSchema } from 'joi';
|
|
3
3
|
import { APIGatewayProxyEventBase } from 'aws-lambda/trigger/api-gateway-proxy';
|
|
4
|
+
import * as Joi from 'joi';
|
|
4
5
|
export interface SpytecAuthorizedResources {
|
|
5
6
|
devices: string[];
|
|
6
7
|
}
|
|
@@ -29,3 +30,12 @@ export interface HandlerResponse<R> {
|
|
|
29
30
|
message?: string;
|
|
30
31
|
data?: R;
|
|
31
32
|
}
|
|
33
|
+
export declare type BaseRecord = Omit<SQSRecord, 'body' | 'messageAttributes'>;
|
|
34
|
+
export interface MessageEvent<RecordType extends BaseRecord> {
|
|
35
|
+
Records: RecordType[];
|
|
36
|
+
}
|
|
37
|
+
export interface SQSWrapperArgs<RecordType extends BaseRecord> {
|
|
38
|
+
event: SQSEvent;
|
|
39
|
+
schema?: Joi.ObjectSchema<MessageEvent<RecordType>>;
|
|
40
|
+
handler: (e: MessageEvent<RecordType>) => void | Promise<void>;
|
|
41
|
+
}
|
|
@@ -45,7 +45,7 @@ var apiGatewayEventWrapper = function (_a) {
|
|
|
45
45
|
return __generator(this, function (_b) {
|
|
46
46
|
switch (_b.label) {
|
|
47
47
|
case 0:
|
|
48
|
-
console.log("
|
|
48
|
+
console.log("apiGatewayWrapper - got event", event);
|
|
49
49
|
_b.label = 1;
|
|
50
50
|
case 1:
|
|
51
51
|
_b.trys.push([1, 3, , 4]);
|
|
@@ -57,7 +57,7 @@ var apiGatewayEventWrapper = function (_a) {
|
|
|
57
57
|
return [2 /*return*/, response_1.buildProxyResult(result)];
|
|
58
58
|
case 3:
|
|
59
59
|
err_1 = _b.sent();
|
|
60
|
-
console.error("
|
|
60
|
+
console.error("apiGatewayWrapper - caught error", err_1);
|
|
61
61
|
return [2 /*return*/, response_1.buildProxyResult({
|
|
62
62
|
statusCode: err_1.code || 500,
|
|
63
63
|
message: err_1.message || 'Error',
|
package/dist/wrappers/index.d.ts
CHANGED
package/dist/wrappers/index.js
CHANGED
|
@@ -10,7 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.apiGatewayEventWrapper = void 0;
|
|
13
|
+
exports.sqsEventWrapper = exports.apiGatewayEventWrapper = void 0;
|
|
14
14
|
var apiGatewayEventWrapper_1 = require("./apiGatewayEventWrapper");
|
|
15
15
|
exports.apiGatewayEventWrapper = apiGatewayEventWrapper_1.default;
|
|
16
|
+
var sqsEventWrapper_1 = require("./sqsEventWrapper");
|
|
17
|
+
exports.sqsEventWrapper = sqsEventWrapper_1.default;
|
|
16
18
|
__exportStar(require("./response"), exports);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { SQSWrapperArgs } from '../types';
|
|
2
|
+
declare const sqsEventWrapper: <RecordType extends Pick<import("aws-lambda").SQSRecord, "messageId" | "receiptHandle" | "attributes" | "md5OfBody" | "eventSource" | "eventSourceARN" | "awsRegion">>({ event, schema, handler, }: SQSWrapperArgs<RecordType>) => Promise<void>;
|
|
3
|
+
export default sqsEventWrapper;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var validateEvent_1 = require("../validation/validateEvent");
|
|
40
|
+
var sqsEventWrapper = function (_a) {
|
|
41
|
+
var event = _a.event, schema = _a.schema, handler = _a.handler;
|
|
42
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
43
|
+
var validatedEvent, result, err_1;
|
|
44
|
+
return __generator(this, function (_b) {
|
|
45
|
+
switch (_b.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
console.log("sqsEventWrapper - got event", JSON.stringify(event, undefined, 2));
|
|
48
|
+
_b.label = 1;
|
|
49
|
+
case 1:
|
|
50
|
+
_b.trys.push([1, 3, , 4]);
|
|
51
|
+
validatedEvent = validateEvent_1.default(event, schema);
|
|
52
|
+
return [4 /*yield*/, handler(validatedEvent)];
|
|
53
|
+
case 2:
|
|
54
|
+
result = _b.sent();
|
|
55
|
+
console.log("sqsEventWrapper - finished", result);
|
|
56
|
+
return [3 /*break*/, 4];
|
|
57
|
+
case 3:
|
|
58
|
+
err_1 = _b.sent();
|
|
59
|
+
JSON.stringify(err_1, undefined, 2);
|
|
60
|
+
console.error("sqsEventWrapper - caught error", err_1);
|
|
61
|
+
throw err_1;
|
|
62
|
+
case 4: return [2 /*return*/];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.default = sqsEventWrapper;
|