Commit c09cf0a0 authored by Gabriel's avatar Gabriel

Refactorizacion de pasos

parent 974a53e9
...@@ -75,15 +75,15 @@ module.exports = ...@@ -75,15 +75,15 @@ module.exports =
choices = []; choices = [];
choices.push(utils.armarChoice("1", "Si")); choices.push(utils.armarChoice("1", "Si"));
choices.push(utils.armarChoice("2", "No")); choices.push(utils.armarChoice("2", "No"));
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[1], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.ASK_PROVINCIA, userData);
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[1], "Hola! Puedo ayudarte a reservar un turno, ¿te gustaría hacerlo?", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.ASK_PROVINCIA, "Hola! Puedo ayudarte a reservar un turno, ¿te gustaría hacerlo?", choices);
}, },
ask_provincia: async function (message, userData, website_id, session_id) { ask_provincia: async function (message, userData, website_id, session_id) {
if (message.content.choices[0].selected === true) { if (message.content.choices[0].selected === true) {
let choices = await getSiguientesProvinciasMostrar(userData); let choices = await getSiguientesProvinciasMostrar(userData);
userData = updateProvinciasMostradas(userData); userData = updateProvinciasMostradas(userData);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[2], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_PROVINCIA, userData);
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[2], "Selecciona tu provincia", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_PROVINCIA, "Selecciona tu provincia", choices);
} else { } else {
await crisp.sendTextMessage(website_id, session_id, "Gracias por contactarte! Estoy acá para cuando quieras reservar un turno"); await crisp.sendTextMessage(website_id, session_id, "Gracias por contactarte! Estoy acá para cuando quieras reservar un turno");
} }
...@@ -95,8 +95,8 @@ module.exports = ...@@ -95,8 +95,8 @@ module.exports =
//Ver mas provincias //Ver mas provincias
let choices = await getSiguientesProvinciasMostrar(userData); let choices = await getSiguientesProvinciasMostrar(userData);
userData = updateProvinciasMostradas(userData); userData = updateProvinciasMostradas(userData);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[2], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_PROVINCIA, userData);
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[2], "Selecciona tu provincia", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_PROVINCIA, "Selecciona tu provincia", choices);
} else { } else {
//Set provincia y avanzar //Set provincia y avanzar
userData[ID_PROVINCIA] = message.content.choices[i].value; userData[ID_PROVINCIA] = message.content.choices[i].value;
...@@ -106,7 +106,7 @@ module.exports = ...@@ -106,7 +106,7 @@ module.exports =
} }
}, },
ask_nombre_medico: async function(message, userData, website_id, session_id){ ask_nombre_medico: async function(message, userData, website_id, session_id){
userData[SIGUIENTE_PASO] = pasos.pasos[4]; userData[SIGUIENTE_PASO] = pasos.RESP_NOMBRE_MEDICO;
await crisp.updateUserData(website_id, session_id, userData); await crisp.updateUserData(website_id, session_id, userData);
await crisp.sendTextMessage(website_id, session_id,"¿Cómo se llama el médico?"); await crisp.sendTextMessage(website_id, session_id,"¿Cómo se llama el médico?");
}, },
...@@ -141,8 +141,8 @@ module.exports = ...@@ -141,8 +141,8 @@ module.exports =
choices.push(utils.armarChoice(medicos_especialidad[i].agendaId.toString(), medico_especialidad)); choices.push(utils.armarChoice(medicos_especialidad[i].agendaId.toString(), medico_especialidad));
} }
//TODO: agregar 'Mostrar mas' //TODO: agregar 'Mostrar mas'
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[6], "Seleccione uno de los médico encontrados, según su especialidad", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_MEDICO_ESPECIALIDAD, "Seleccione uno de los médico encontrados, según su especialidad", choices);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[6], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_MEDICO_ESPECIALIDAD, userData);
}, },
resp_medico_especialidad: async function(message, userData, website_id, session_id){ resp_medico_especialidad: async function(message, userData, website_id, session_id){
for (let i = 0; i < message.content.choices.length; i++) { for (let i = 0; i < message.content.choices.length; i++) {
...@@ -154,7 +154,7 @@ module.exports = ...@@ -154,7 +154,7 @@ module.exports =
} }
}, },
ask_fecha_turno: async function(message, userData, website_id, session_id){ ask_fecha_turno: async function(message, userData, website_id, session_id){
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[8], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_FECHA_TURNO, userData);
await crisp.sendTextMessage(website_id, session_id, `Cuándo querrías atenderte con ${userData[NOMBRE_MEDICO]}? (DD/MM/AAAA)`); await crisp.sendTextMessage(website_id, session_id, `Cuándo querrías atenderte con ${userData[NOMBRE_MEDICO]}? (DD/MM/AAAA)`);
}, },
resp_fecha_turno: async function(message, userData, website_id, session_id){ resp_fecha_turno: async function(message, userData, website_id, session_id){
...@@ -175,8 +175,8 @@ module.exports = ...@@ -175,8 +175,8 @@ module.exports =
} }
//TODO: agregar 'Mostrar mas' //TODO: agregar 'Mostrar mas'
userData[TURNOS_DISPONIBLES] = JSON.stringify(turnos); userData[TURNOS_DISPONIBLES] = JSON.stringify(turnos);
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[10], "Seleccione un turno", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_HORA_TURNO, "Seleccione un turno", choices);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[10], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_HORA_TURNO, userData);
}, },
resp_hora_turno: async function(message, userData, website_id, session_id){ resp_hora_turno: async function(message, userData, website_id, session_id){
let turnoElegidoChoice = getChoiceElegida(message); let turnoElegidoChoice = getChoiceElegida(message);
...@@ -198,8 +198,8 @@ module.exports = ...@@ -198,8 +198,8 @@ module.exports =
choices.push(utils.armarChoice("CED", "CED")); choices.push(utils.armarChoice("CED", "CED"));
choices.push(utils.armarChoice("CIE", "CIE")); choices.push(utils.armarChoice("CIE", "CIE"));
choices.push(utils.armarChoice("CM", "CM")); choices.push(utils.armarChoice("CM", "CM"));
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[12], "Tipo de documento", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_TIPO_DOCUMENTO, "Tipo de documento", choices);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[12], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_TIPO_DOCUMENTO, userData);
}, },
resp_tipo_documento: async function(message, userData, website_id, session_id){ resp_tipo_documento: async function(message, userData, website_id, session_id){
let tipoDocumentoElegido = getChoiceElegida(message); let tipoDocumentoElegido = getChoiceElegida(message);
...@@ -207,7 +207,7 @@ module.exports = ...@@ -207,7 +207,7 @@ module.exports =
await this.ask_numero_documento(message, userData, website_id, session_id); await this.ask_numero_documento(message, userData, website_id, session_id);
}, },
ask_numero_documento: async function(message, userData, website_id, session_id){ ask_numero_documento: async function(message, userData, website_id, session_id){
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[14], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_NUMERO_DOCUMENTO, userData);
await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu número de documento'); await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu número de documento');
}, },
resp_numero_documento: async function(message, userData, website_id, session_id){ resp_numero_documento: async function(message, userData, website_id, session_id){
...@@ -215,7 +215,7 @@ module.exports = ...@@ -215,7 +215,7 @@ module.exports =
await this.ask_fecha_nacimiento(message, userData, website_id, session_id); await this.ask_fecha_nacimiento(message, userData, website_id, session_id);
}, },
ask_fecha_nacimiento: async function(message, userData, website_id, session_id){ ask_fecha_nacimiento: async function(message, userData, website_id, session_id){
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[16], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_FECHA_NACIMIENTO, userData);
await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu fecha de nacimiento (DD/MM/AAAA)'); await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu fecha de nacimiento (DD/MM/AAAA)');
}, },
resp_fecha_nacimiento: async function(message, userData, website_id, session_id){ resp_fecha_nacimiento: async function(message, userData, website_id, session_id){
...@@ -226,20 +226,20 @@ module.exports = ...@@ -226,20 +226,20 @@ module.exports =
let choices = []; let choices = [];
choices.push(utils.armarChoice("M", "Masculino")); choices.push(utils.armarChoice("M", "Masculino"));
choices.push(utils.armarChoice("F", "Femenino")); choices.push(utils.armarChoice("F", "Femenino"));
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[18], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_SEXO, userData);
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[12], 'Selecciona tu sexo', choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_SEXO, 'Selecciona tu sexo', choices);
}, },
resp_sexo: async function(message, userData, website_id, session_id){ resp_sexo: async function(message, userData, website_id, session_id){
userData[SEXO] = getChoiceElegida(message).value; userData[SEXO] = getChoiceElegida(message).value;
await this.ask_correo(message, userData, website_id, session_id); await this.ask_correo(message, userData, website_id, session_id);
}, },
ask_correo: async function(message, userData, website_id, session_id){ ask_correo: async function(message, userData, website_id, session_id){
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[20], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_CORREO, userData);
await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu correo electrónico'); await crisp.sendTextMessage(website_id, session_id, 'Ingresa tu correo electrónico');
}, },
resp_correo: async function(message, userData, website_id, session_id){ resp_correo: async function(message, userData, website_id, session_id){
userData[CORREO] = message.content; userData[CORREO] = message.content;
if(!await is.existeUsuario() === true){ if(!await is.existeUsuario(userData[TIPO_DOCUMENTO], userData[NUMERO_DOCUMENTO], userData[FECHA_NACIMIENTO], userData[SEXO]) === true){
await crisp.sendTextMessage(website_id, session_id, await crisp.sendTextMessage(website_id, session_id,
'No se pudieron validar sus datos. Solicite por favor su acceso por email ingresando al siguiente link' 'No se pudieron validar sus datos. Solicite por favor su acceso por email ingresando al siguiente link'
); );
...@@ -269,8 +269,8 @@ module.exports = ...@@ -269,8 +269,8 @@ module.exports =
let choices = []; let choices = [];
choices.push(utils.armarChoice("Si", "Si")); choices.push(utils.armarChoice("Si", "Si"));
choices.push(utils.armarChoice("No", "No")); choices.push(utils.armarChoice("No", "No"));
await crisp.sendPickerMessage(website_id, session_id, pasos.pasos[22], "¿Quieres reservar otro turno?", choices); await crisp.sendPickerMessage(website_id, session_id, pasos.RESP_RESERVAR_OTRO_TURNO, "¿Quieres reservar otro turno?", choices);
await crisp.setSiguientePaso(website_id, session_id, pasos.pasos[22], userData); await crisp.setSiguientePaso(website_id, session_id, pasos.RESP_RESERVAR_OTRO_TURNO, userData);
}, },
resp_reservar_otro_turno: async function(message, userData, website_id, session_id){ resp_reservar_otro_turno: async function(message, userData, website_id, session_id){
let choice = getChoiceElegida(message); let choice = getChoiceElegida(message);
......
module.exports = module.exports = Object.freeze({
{ ASK_RESERVAR_TURNO: 'ask_reservar_turno',
pasos: [ ASK_PROVINCIA: 'ask_provincia',
'ask_reservar_turno', RESP_PROVINCIA: 'resp_provincia',
'ask_provincia', ASK_NOMBRE_MEDICO: 'ask_nombre_medico',
'resp_provincia', RESP_NOMBRE_MEDICO: 'resp_nombre_medico',
'ask_nombre_medico', ASK_MEDICO_ESPECIALIDAD: 'ask_medico_especialidad',
'resp_nombre_medico', RESP_MEDICO_ESPECIALIDAD: 'resp_medico_especialidad',
'ask_medico_especialidad', ASK_FECHA_TURNO: 'ask_fecha_turno',
'resp_medico_especialidad', RESP_FECHA_TURNO: 'resp_fecha_turno',
'ask_fecha_turno', ASK_HORA_TURNO: 'ask_hora_turno',
'resp_fecha_turno', RESP_HORA_TURNO: 'resp_hora_turno',
'ask_hora_turno', ASK_TIPO_DOCUMENTO: 'ask_tipo_documento',
'resp_hora_turno', RESP_TIPO_DOCUMENTO: 'resp_tipo_documento',
ASK_NUMERO_DOCUMENTO: 'ask_numero_documento',
'ask_tipo_documento', RESP_NUMERO_DOCUMENTO: 'resp_numero_documento',
'resp_tipo_documento', ASK_FECHA_NACIMIENTO: 'ask_fecha_nacimiento',
'ask_numero_documento', RESP_FECHA_NACIMIENTO: 'resp_fecha_nacimiento',
'resp_numero_documento', ASK_SEXO: 'ask_sexo',
'ask_fecha_nacimiento', RESP_SEXO: 'resp_sexo',
'resp_fecha_nacimiento', ASK_CORREO: 'ask_correo',
'ask_sexo', RESP_CORREO: 'resp_correo',
'resp_sexo', ASK_RESERVAR_OTRO_TURNO: 'ask_reservar_otro_turno',
'ask_correo', RESP_RESERVAR_OTRO_TURNO: 'resp_reservar_otro_turno'
'resp_correo', });
\ No newline at end of file
'ask_reservar_otro_turno',
'resp_reservar_otro_turno'
]
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment