Skip to content

Commit

Permalink
Xstate order patch 2 (#885)
Browse files Browse the repository at this point in the history
* Updated delay logic for receipt flow

* Change in PDF name and updated incorrect city/locality message
  • Loading branch information
rohit-eGov authored Jul 30, 2021
1 parent f8601b3 commit c9f5206
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 53 deletions.
4 changes: 2 additions & 2 deletions xstate-chatbot/nodejs/src/machine/pgr.js
Original file line number Diff line number Diff line change
Expand Up @@ -956,7 +956,7 @@ let messages = {
hi_IN: "क्या आपका मतलब *“{{city}}”* ?\n\n👉 टाइप करें और पुष्टि करने के लिए *1* भेजें।\n\n👉 फिर से लिखने के लिए *2* टाइप करें और भेजें।"
},
noRecord:{
en_IN: 'Provided city is miss-spelled or not present in our system record.\nPlease enter the details again.',
en_IN: 'The provided city is either incorrect or not present in our record.\nPlease enter the details again.',
hi_IN: 'आपके द्वारा दर्ज किया गया शहर गलत वर्तनी वाला है या हमारे सिस्टम रिकॉर्ड में मौजूद नहीं है।\nकृपया फिर से विवरण दर्ज करें।'
}
},
Expand All @@ -970,7 +970,7 @@ let messages = {
hi_IN: "क्या आपका मतलब *“{{locality}}”* ?\n\n👉 टाइप करें और पुष्टि करने के लिए *1* भेजें।\n\n👉 फिर से लिखने के लिए *2* टाइप करें और भेजें।"
},
noRecord:{
en_IN: 'Provided locality is miss-spelled or not present in our system record.\nPlease enter the details again.',
en_IN: 'The provided locality is either incorrect or not present in our record.\nPlease enter the details again.',
hi_IN: 'आपके द्वारा दर्ज किया गया स्थान गलत वर्तनी वाला है या हमारे सिस्टम रिकॉर्ड में मौजूद नहीं है।\nकृपया फिर से विवरण दर्ज करें।'
}
}
Expand Down
96 changes: 48 additions & 48 deletions xstate-chatbot/nodejs/src/machine/receipts.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ const receipts = {
states:{
receiptQuestion:{
onEntry: assign((context, event) => {
let { services, messageBundle } = receiptService.getSupportedServicesAndMessageBundle();
let preamble = dialog.get_message(messages.services.question.preamble, context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(services, messageBundle, context.user.locale);
context.grammer = grammer;
prompt = prompt.replace(/\n/g,"\n\n");
let message = `${preamble}${prompt}`+'\n\n';
message = message + dialog.get_message(messages.lastState, context.user.locale);
(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let { services, messageBundle } = receiptService.getSupportedServicesAndMessageBundle();
let preamble = dialog.get_message(messages.services.question.preamble, context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(services, messageBundle, context.user.locale);
context.grammer = grammer;
prompt = prompt.replace(/\n/g,"\n\n");
let message = `${preamble}${prompt}`+'\n\n';
message = message + dialog.get_message(messages.lastState, context.user.locale);
dialog.sendMessage(context, message, true);
})();

Expand Down Expand Up @@ -224,15 +224,15 @@ const receipts = {
states: {
question: {
onEntry: assign((context, event) => {
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
context.receipts.slots.searchParamOption = searchOptions[0];
let { option, example } = receiptService.getOptionAndExampleMessageBundle(context.receipts.slots.service, context.receipts.slots.searchParamOption);
let optionMessage = dialog.get_message(option, context.user.locale);

let message = dialog.get_message(messages.searchParams.question.confirmation, context.user.locale);
message = message.replace('{{searchOption}}', optionMessage);
(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
context.receipts.slots.searchParamOption = searchOptions[0];
let { option, example } = receiptService.getOptionAndExampleMessageBundle(context.receipts.slots.service, context.receipts.slots.searchParamOption);
let optionMessage = dialog.get_message(option, context.user.locale);

let message = dialog.get_message(messages.searchParams.question.confirmation, context.user.locale);
message = message.replace('{{searchOption}}', optionMessage);
dialog.sendMessage(context, message, true);
})();

Expand Down Expand Up @@ -359,12 +359,12 @@ const receipts = {
states:{
question:{
onEntry:assign((context,event)=>{
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
let preamble=dialog.get_message(messages.searchParams.question.preamble,context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(searchOptions, messageBundle, context.user.locale);
context.grammer = grammer;
(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
let preamble=dialog.get_message(messages.searchParams.question.preamble,context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(searchOptions, messageBundle, context.user.locale);
context.grammer = grammer;
await new Promise(resolve => setTimeout(resolve, 1000));
dialog.sendMessage(context, `${preamble}${prompt}` , true);
})();

Expand Down Expand Up @@ -409,18 +409,17 @@ const receipts = {
states:{
receiptQuestion: {
onEntry: assign((context, event) => {
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
context.receipts.slots.searchParamOption = searchOptions[0];
let { option, example } = receiptService.getOptionAndExampleMessageBundle(context.receipts.slots.service,context.receipts.slots.searchParamOption);
let message = dialog.get_message(messages.paramInput.question, context.user.locale);
let optionMessage = dialog.get_message(option, context.user.locale);
let exampleMessage = dialog.get_message(example, context.user.locale);

message = message.replace('{{option}}', optionMessage);
message = message.replace('{{example}}', exampleMessage);
(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let { searchOptions, messageBundle } = receiptService.getSearchOptionsAndMessageBundleForService(context.receipts.slots.service);
context.receipts.slots.searchParamOption = searchOptions[0];
let { option, example } = receiptService.getOptionAndExampleMessageBundle(context.receipts.slots.service,context.receipts.slots.searchParamOption);
let message = dialog.get_message(messages.paramInput.question, context.user.locale);
let optionMessage = dialog.get_message(option, context.user.locale);
let exampleMessage = dialog.get_message(example, context.user.locale);

message = message.replace('{{option}}', optionMessage);
message = message.replace('{{example}}', exampleMessage);

dialog.sendMessage(context, message , true);
})();

Expand Down Expand Up @@ -571,20 +570,21 @@ const receipts = {
states: {
receiptQuestion: {
onEntry: assign((context, event) => {
let localeList = config.supportedLocales.split(',');
let localeIndex = localeList.indexOf(context.user.locale);
let templateList = config.valueFirstWhatsAppProvider.valuefirstNotificationViewReceptTemplateid.split(',');
if(templateList[localeIndex])
context.extraInfo.templateId = templateList[localeIndex];
else
context.extraInfo.templateId = templateList[0];

var templateContent = {
output: context.extraInfo.templateId,
type: "template",
};

(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let localeList = config.supportedLocales.split(',');
let localeIndex = localeList.indexOf(context.user.locale);
let templateList = config.valueFirstWhatsAppProvider.valuefirstNotificationViewReceptTemplateid.split(',');
if(templateList[localeIndex])
context.extraInfo.templateId = templateList[localeIndex];
else
context.extraInfo.templateId = templateList[0];

var templateContent = {
output: context.extraInfo.templateId,
type: "template",
};
dialog.sendMessage(context, templateContent, true);
})();

Expand Down Expand Up @@ -764,15 +764,15 @@ const receipts = {
states:{
receiptQuestion:{
onEntry: assign((context, event) => {
let { services, messageBundle } = receiptService.getSupportedServicesAndMessageBundle();
let preamble = dialog.get_message(messages.services.question.preamble, context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(services, messageBundle, context.user.locale);
context.grammer = grammer;
prompt = prompt.replace(/\n/g,"\n\n");
let message = `${preamble}${prompt}`+'\n\n';
message = message + dialog.get_message(messages.lastState, context.user.locale);
(async() => {
await new Promise(resolve => setTimeout(resolve, 1000));
let { services, messageBundle } = receiptService.getSupportedServicesAndMessageBundle();
let preamble = dialog.get_message(messages.services.question.preamble, context.user.locale);
let { prompt, grammer } = dialog.constructListPromptAndGrammer(services, messageBundle, context.user.locale);
context.grammer = grammer;
prompt = prompt.replace(/\n/g,"\n\n");
let message = `${preamble}${prompt}`+'\n\n';
message = message + dialog.get_message(messages.lastState, context.user.locale);
dialog.sendMessage(context, message, true);
})();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class PaymentStatusUpdateEventFormatter{
};
let extraInfo = {
whatsAppBusinessNumber: config.whatsAppBusinessNumber.slice(2),
fileName: key
fileName: consumerCode
};

if(isOwner){
Expand Down
2 changes: 1 addition & 1 deletion xstate-chatbot/nodejs/src/machine/util/pdf-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class PdfService {
};
let extraInfo = {
whatsAppBusinessNumber: config.whatsAppBusinessNumber.slice(2),
fileName: key
fileName: payment.paymentDetails[0].bill.consumerCode
};

let message = [];
Expand Down
3 changes: 2 additions & 1 deletion xstate-chatbot/nodejs/src/session/user-service.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ class UserService {
let response = await fetch(url, options);
if(response.status === 200) {
let body = await response.json();
user.userInfo.name = body.name
user.userInfo.name = body.name;
user.userInfo.locale = body.locale;
}
return user;
}
Expand Down

0 comments on commit c9f5206

Please sign in to comment.