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.
26 lines • 3.31 kB
JavaScript
import { DeleteItemCommand, DynamoDBClient } from '@aws-sdk/client-dynamodb';
import { envVariableNames } from '../src/common/envVariableNames';
const ddb = new DynamoDBClient({
region: process.env.AWS_REGION,
});
export const handler = async (event) => {
console.log('EVENT', JSON.stringify(event));
const deleteParams = new DeleteItemCommand({
TableName: process.env[envVariableNames.SSPY_WS_TABLE_NAME],
Key: {
connectionId: { S: event.requestContext.connectionId },
},
});
try {
await ddb.send(deleteParams);
}
catch (err) {
console.error(err);
return {
statusCode: 500,
body: 'Failed to disconnect: ' + JSON.stringify(err),
};
}
return { statusCode: 200, body: 'Disconnected.' };
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25EaXNjb25uZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vZnVuY3Rpb25zL29uRGlzY29ubmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbEUsTUFBTSxHQUFHLEdBQUcsSUFBSSxjQUFjLENBQUM7SUFDN0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtDQUMvQixDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQXNCLEVBQUUsRUFBRTtJQUN0RCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFNUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztRQUN6QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUMzRCxHQUFHLEVBQUU7WUFDSCxZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFhLEVBQUU7U0FDeEQ7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU87WUFDTCxVQUFVLEVBQUUsR0FBRztZQUNmLElBQUksRUFBRSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUNwRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWxldGVJdGVtQ29tbWFuZCwgRHluYW1vREJDbGllbnQgfSBmcm9tICdAYXdzLXNkay9jbGllbnQtZHluYW1vZGInO1xuaW1wb3J0IHsgQVBJR2F0ZXdheUV2ZW50IH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBlbnZWYXJpYWJsZU5hbWVzIH0gZnJvbSAnLi4vc3JjL2NvbW1vbi9lbnZWYXJpYWJsZU5hbWVzJztcblxuY29uc3QgZGRiID0gbmV3IER5bmFtb0RCQ2xpZW50KHtcbiAgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OLFxufSk7XG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChldmVudDogQVBJR2F0ZXdheUV2ZW50KSA9PiB7XG4gIGNvbnNvbGUubG9nKCdFVkVOVCcsIEpTT04uc3RyaW5naWZ5KGV2ZW50KSk7XG5cbiAgY29uc3QgZGVsZXRlUGFyYW1zID0gbmV3IERlbGV0ZUl0ZW1Db21tYW5kKHtcbiAgICBUYWJsZU5hbWU6IHByb2Nlc3MuZW52W2VudlZhcmlhYmxlTmFtZXMuU1NQWV9XU19UQUJMRV9OQU1FXSxcbiAgICBLZXk6IHtcbiAgICAgIGNvbm5lY3Rpb25JZDogeyBTOiBldmVudC5yZXF1ZXN0Q29udGV4dC5jb25uZWN0aW9uSWQhIH0sXG4gICAgfSxcbiAgfSk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBkZGIuc2VuZChkZWxldGVQYXJhbXMpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXR1c0NvZGU6IDUwMCxcbiAgICAgIGJvZHk6ICdGYWlsZWQgdG8gZGlzY29ubmVjdDogJyArIEpTT04uc3RyaW5naWZ5KGVyciksXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7IHN0YXR1c0NvZGU6IDIwMCwgYm9keTogJ0Rpc2Nvbm5lY3RlZC4nIH07XG59O1xuIl19