@cdkx/aws-sns-subscriptions
Version:
AWS SNS extended subscriptions
40 lines • 3.56 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define("@cdkx/aws-sns-subscriptions/handlers/base-sns-handler", ["require", "exports"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BaseSNSHandler = void 0;
class BaseSNSHandler {
run(event) {
try {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
return this.runExec(event);
}
catch (err) {
// when unable to send notification via slack
console.error(err);
throw err;
}
}
bail(error) {
if (error) {
console.error(error);
return { success: false, error };
}
return { success: false };
}
getParsedEvent(event) {
var _a;
// there will always be one record in event as per current api spec
return (_a = event.Records[0]) === null || _a === void 0 ? void 0 : _a.Sns;
}
}
exports.BaseSNSHandler = BaseSNSHandler;
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1zbnMtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F3cy1zbnMtc3Vic2NyaXB0aW9ucy9oYW5kbGVycy9iYXNlLXNucy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVBLE1BQXNCLGNBQWM7UUFHbEMsR0FBRyxDQUFDLEtBQWU7WUFDakIsSUFBSTtnQkFDRiw4REFBOEQ7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQVEsQ0FBQzthQUNuQztZQUFDLE9BQU8sR0FBRyxFQUFFO2dCQUNaLDZDQUE2QztnQkFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkIsTUFBTSxHQUFHLENBQUM7YUFDWDtRQUNILENBQUM7UUFFUyxJQUFJLENBQVEsS0FBYTtZQUNqQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNsQztZQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUVTLGNBQWMsQ0FBQyxLQUFlOztZQUN0QyxtRUFBbUU7WUFDbkUsT0FBTyxNQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDBDQUFFLEdBQUcsQ0FBQztRQUMvQixDQUFDO0tBQ0Y7SUExQkQsd0NBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU05TRXZlbnQsIFNOU01lc3NhZ2UgfSBmcm9tICdhd3MtbGFtYmRhJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTTlNIYW5kbGVyIHtcbiAgYWJzdHJhY3QgcnVuRXhlYyhldmVudDogU05TRXZlbnQpOiB1bmtub3duO1xuXG4gIHJ1bihldmVudDogU05TRXZlbnQpOiBSZXR1cm5UeXBlPHRoaXNbJ3J1bkV4ZWMnXT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgcmV0dXJuIHRoaXMucnVuRXhlYyhldmVudCkgYXMgYW55O1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gd2hlbiB1bmFibGUgdG8gc2VuZCBub3RpZmljYXRpb24gdmlhIHNsYWNrXG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJhaWw8RXJyb3I+KGVycm9yPzogRXJyb3IpOiB7IHN1Y2Nlc3M6IGJvb2xlYW47IGVycm9yPzogRXJyb3IgfSB7XG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvciB9O1xuICAgIH1cbiAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFBhcnNlZEV2ZW50KGV2ZW50OiBTTlNFdmVudCk6IFNOU01lc3NhZ2Uge1xuICAgIC8vIHRoZXJlIHdpbGwgYWx3YXlzIGJlIG9uZSByZWNvcmQgaW4gZXZlbnQgYXMgcGVyIGN1cnJlbnQgYXBpIHNwZWNcbiAgICByZXR1cm4gZXZlbnQuUmVjb3Jkc1swXT8uU25zO1xuICB9XG59XG4iXX0=