diff --git a/lambda/index.js b/lambda/index.js index 0bb329b..e3762e5 100644 --- a/lambda/index.js +++ b/lambda/index.js @@ -24,6 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const Alexa = __importStar(require("ask-sdk-core")); +const AWS = __importStar(require("aws-sdk")); +const DynamoDBPersistantAttributesAdapter = __importStar(require("ask-sdk-dynamodb-persistence-adapter")); const LaunchRequestHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest'; @@ -42,8 +44,19 @@ const HelloWorldIntentHandler = { && Alexa.getIntentName(handlerInput.requestEnvelope) === 'HelloWorldIntent'; }, async handle(handlerInput) { + const attributesManager = handlerInput.attributesManager; + const attributes = await attributesManager.getPersistentAttributes(); + if (!attributes.counter) { + attributes.counter = 0; + } + else { + attributes.counter += 1; + } + attributesManager.setPersistentAttributes(attributes); + await attributesManager.savePersistentAttributes(); + const speakOutput = `Hello World! You've visited this skill ${attributes.counter} times.`; return handlerInput.responseBuilder - .speak('Hello World! placeholder message') + .speak(speakOutput) .getResponse(); } }; @@ -123,6 +136,11 @@ const ErrorHandler = { exports.handler = Alexa.SkillBuilders.custom() .addRequestHandlers(LaunchRequestHandler, HelloWorldIntentHandler, HelpIntentHandler, CancelAndStopIntentHandler, FallbackIntentHandler, SessionEndedRequestHandler, IntentReflectorHandler) .addErrorHandlers(ErrorHandler) + .withPersistenceAdapter(new DynamoDBPersistantAttributesAdapter.DynamoDbPersistenceAdapter({ + tableName: process.env.DYNAMODB_PERSISTENCE_TABLE_NAME || 'ask-sdk-table', + createTable: false, + dynamoDBClient: new AWS.DynamoDB({ apiVersion: 'latest', region: process.env.DYNAMODB_PERSISTENCE_REGION }) +})) .withCustomUserAgent('sample/hello-world/v1.2') .lambda(); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/lambda/index.js.map b/lambda/index.js.map index a15e7a4..0745dec 100644 --- a/lambda/index.js.map +++ b/lambda/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file