public static String processResponse()

in src/main/java/software/aws/chatops_lex_api/resource/Util.java [360:400]


	public static String processResponse(final PostTextResponse response, final Boolean IS_SLACK, final String slackChannel){

		String returnMessage	=	response.message();
		if (response.dialogState() == DialogState.FULFILLED
				|| response.dialogState() == DialogState.READY_FOR_FULFILLMENT) {

			logger.info("END OF CONVERSATION");
			returnMessage = "New account request created";
			Map<String, String> accountRequest = new HashMap<>();
			accountRequest.putAll(response.sessionAttributes());
			accountRequest.putAll(response.slots());
			accountRequest.put("UserId", UUID.randomUUID().toString());
			accountRequest.remove("UserInput");
			Util.putItemDynamo(accountRequest);

			logger.info("Sending notification to this topic: " + AccountVendor.CONFIRM_TOPIC_ARN);
			AccountVendor.snsClient.publish(PublishRequest.builder().subject("New AWS account request for your approval.")
					.message(MessageFormat.format(
							"{0} {1} has requested a new aws account with the following features: \nAccountType: {2}\nAccountOU: {3}\nRootEmail: {4}\n\n Please approve using the link below, otherwise this request will auto expire in 48 hours\n\n Approve here: {5}",
							accountRequest.get("UserName"), accountRequest.get("UserLastname"),
							accountRequest.get("AccountType"), accountRequest.get("AccountOU"),
							accountRequest.get("RootEmail"),
							AccountVendor.CALLBACK_URL + "/" + accountRequest.get("UserId")))
					.topicArn(AccountVendor.CONFIRM_TOPIC_ARN).build());
		} else {

			logger.info("Slots: " + response.slots());
			logger.info("Slots to elicit: " + response.slotToElicit());
			logger.info("Current dialog state: " + response.dialogState().toString());
		}

		if (IS_SLACK) {
			try {
				logger.info("Posting message in Slack");
				Util.postSlack(AccountVendor.SLACK_TOKEN, slackChannel, returnMessage);
			} catch (Exception e) {
				logger.info("ERROR: could not post message in slack. Messaage: " + e.getMessage());
			}
		}		
		return returnMessage;
	}