CIT- Visibilidad de agendas de teleconsulta - #2282
Conversation
| if (String(req.query.citasVirtuales) === 'true') { | ||
| query.where('bloques.citasVirtuales').equals(true); | ||
| } else if (String(req.query.citasVirtuales) === 'false') { | ||
| query.where('bloques.citasVirtuales').equals(false); | ||
| } |
There was a problem hiding this comment.
Tal vez este trozo de código se puede simplificar de alguna otra manera como por ejemplo:
const citasVirtuales = String(req.query.citasVirtuales);
if (citasVirtuales === 'true' || citasVirtuales === 'false') {
query.where('bloques.citasVirtuales').equals(citasVirtuales === 'true');
}
There was a problem hiding this comment.
Ya se corrigió, muchas gracias :D
|
Perdón que insista con otro cambio pero para una mayor seguridad en la api de que no existan agendas invisibles por el motivo de que no se seleccionó ningún canal se podria aplicar dentro de turnos/routes/agenda.ts (POST /agenda y PUT /agenda/:id) la validacion de cada bloque: |
| const citasVirtuales = String(req.query.citasVirtuales); | ||
| if (citasVirtuales === 'true' || citasVirtuales === 'false') { | ||
| query.where('bloques.citasVirtuales').equals(citasVirtuales === 'true'); | ||
| } |
There was a problem hiding this comment.
La query citasVirtuales no presenta un uso y es riesgosa debido a que nadie la usa en el frontend (el filtro de ventanilla es manual). Se dice que es riesgosa ya que con citasVirtuales=true devolvería SOLO agendas con algún bloque citasVirtuales=true, excluyendo TODAS las agendas normales. Si algún día ocurre algún error indebido desde ventanilla, rompería la carga de turnos. Entonces lo que se podría hacer es eliminar el bloque de código ya que no se estaría usando desde el front o si se desea preservar entonces invertir/redefinir la semántica a "excluir bloques 100% virtuales sin ventanilla" y documentarla.
Requerimiento
Funcionalidad desarrollada
UserStories llegó a completarse
Requiere actualizaciones en la base de datos