From 00e2f8ac2b9ff6cec57e9a6acd1a73f0a480e048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Wed, 17 Jul 2024 16:39:10 +0900 Subject: [PATCH] =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=83=86=E3=82=B9=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apl/taskCompleted.ts | 3 ++- src/index.ts | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/apl/taskCompleted.ts b/src/apl/taskCompleted.ts index 2f0e9bd..b725d1b 100644 --- a/src/apl/taskCompleted.ts +++ b/src/apl/taskCompleted.ts @@ -1,10 +1,11 @@ +import { Directive } from "ask-sdk-model"; import { DataSource } from "aws-sdk/clients/discovery"; const DOCUMENT_ID = "task_completed"; class TaskCompletedDirective { - public createDirectivePayload = (dataSources = {}, tokenId = "documentToken") => { + public createDirectivePayload = (dataSources = {}, tokenId = "documentToken"): Directive => { return { type: "Alexa.Presentation.APL.RenderDocument", token: tokenId, diff --git a/src/index.ts b/src/index.ts index dc6e433..6e62b21 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,7 @@ import * as Alexa from 'ask-sdk-core'; import * as AWS from 'aws-sdk'; import * as DynamoDBPersistantAttributesAdapter from 'ask-sdk-dynamodb-persistence-adapter'; -import { DialogState } from 'ask-sdk-model'; +import { DialogState, Directive } from 'ask-sdk-model'; import MetaService from './service/MetaService'; import AuthService from './service/AuthService'; import TaskService from './service/TaskService'; @@ -10,6 +10,7 @@ import AttributeUtils from './AttributeUtils'; import { ChildListResponse } from './models/Child'; import ChildService from './service/ChildService'; import { MESSAGES } from './const'; +import TaskCompletedDirective from './apl/taskCompleted' const LaunchRequestHandler = { canHandle(handlerInput: Alexa.HandlerInput) { @@ -111,8 +112,13 @@ const KidShiftTaskCompleteIntentHandler = { } return TaskService.completeTask(task.id, child.id).then(() => { + + const dataSources = TaskCompletedDirective.createDataSources("TestHeadline", "TestHint"); + const directivePayload: Directive = TaskCompletedDirective.createDirectivePayload(dataSources); + return handlerInput.responseBuilder .speak(MESSAGES.TASK_COMPLETED) + .addDirective(directivePayload) .getResponse(); }).catch(() => { return handlerInput.responseBuilder