serverless-spy
Version:
CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
28 lines • 3.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
const envVariableNames_1 = require("../src/common/envVariableNames");
const ddb = new client_dynamodb_1.DynamoDBClient({
region: process.env.AWS_REGION,
});
exports.handler = async (event) => {
console.log('EVENT', JSON.stringify(event));
const putParams = new client_dynamodb_1.PutItemCommand({
TableName: process.env[envVariableNames_1.envVariableNames.SSPY_WS_TABLE_NAME],
Item: {
connectionId: { S: event.requestContext.connectionId },
},
});
try {
await ddb.send(putParams);
}
catch (err) {
console.error(err);
return {
statusCode: 500,
body: 'Failed to connect: ' + JSON.stringify(err),
};
}
return { statusCode: 200, body: 'Connected.' };
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25Db25uZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZnVuY3Rpb25zL29uQ29ubmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDhEQUEwRTtBQUUxRSxxRUFBa0U7QUFFbEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQ0FBYyxDQUFDO0lBQzdCLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVU7Q0FDL0IsQ0FBQyxDQUFDO0FBRUgsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUUsS0FBc0IsRUFBRSxFQUFFO0lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLGdDQUFjLENBQUM7UUFDbkMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQWdCLENBQUMsa0JBQWtCLENBQVc7UUFDckUsSUFBSSxFQUFFO1lBQ0osWUFBWSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBYSxFQUFFO1NBQ3hEO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPO1lBQ0wsVUFBVSxFQUFFLEdBQUc7WUFDZixJQUFJLEVBQUUscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDakQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHluYW1vREJDbGllbnQsIFB1dEl0ZW1Db21tYW5kIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcbmltcG9ydCB7IEFQSUdhdGV3YXlFdmVudCB9IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgZW52VmFyaWFibGVOYW1lcyB9IGZyb20gJy4uL3NyYy9jb21tb24vZW52VmFyaWFibGVOYW1lcyc7XG5cbmNvbnN0IGRkYiA9IG5ldyBEeW5hbW9EQkNsaWVudCh7XG4gIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTixcbn0pO1xuXG5leHBvcnRzLmhhbmRsZXIgPSBhc3luYyAoZXZlbnQ6IEFQSUdhdGV3YXlFdmVudCkgPT4ge1xuICBjb25zb2xlLmxvZygnRVZFTlQnLCBKU09OLnN0cmluZ2lmeShldmVudCkpO1xuXG4gIGNvbnN0IHB1dFBhcmFtcyA9IG5ldyBQdXRJdGVtQ29tbWFuZCh7XG4gICAgVGFibGVOYW1lOiBwcm9jZXNzLmVudltlbnZWYXJpYWJsZU5hbWVzLlNTUFlfV1NfVEFCTEVfTkFNRV0gYXMgc3RyaW5nLFxuICAgIEl0ZW06IHtcbiAgICAgIGNvbm5lY3Rpb25JZDogeyBTOiBldmVudC5yZXF1ZXN0Q29udGV4dC5jb25uZWN0aW9uSWQhIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBkZGIuc2VuZChwdXRQYXJhbXMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICAgIGJvZHk6ICdGYWlsZWQgdG8gY29ubmVjdDogJyArIEpTT04uc3RyaW5naWZ5KGVyciksXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7IHN0YXR1c0NvZGU6IDIwMCwgYm9keTogJ0Nvbm5lY3RlZC4nIH07XG59O1xuIl19