def alimentos_dia(usuario_actual): dia_semana = datetime.datetime.today().isoweekday() # lunes 1.. domingo 7 paciente = Paciente.get_or_none(Paciente.usuarioId_id == usuario_actual.id) ultima_cita = Cita.select().where( Cita.paciente == paciente.id).order_by(Cita.fecha.desc()).get() dieta = Dieta.get(Dieta.citaId == ultima_cita.id) arreglo_final = [] for comida in dieta.comidas: alimentos = [] if comida.dia == dia_semana: for relacion in comida.alimentosComida: alimentos.append({ "id_alimento": relacion.alimentoId.id, "nombre": relacion.alimentoId.nombreAlimento, "calorias": relacion.alimentoId.calorias, "cantidad": relacion.cantidad, "ingerido": relacion.ingerido, "imagen": relacion.alimentoId.fotoAlimento }) arreglo_final.append({ "alimentos": alimentos, "id_comida": comida.id, "horario": comida.horarioId.horario, "dia": comida.dia }) return jsonify({"contenido": arreglo_final, "codigo": 100})
def recuperarCita(usuario_actual): paciente = Paciente.get_or_none(Paciente.usuarioId_id == usuario_actual.id) citas_recuperadas = [] citas = Cita.select().where(Cita.paciente == paciente.id) for cita in citas: citas_recuperadas.append({ "status": cita.status.status, "fecha": cita.fecha.strftime("%d %b %Y"), "fechaFormato": cita.fecha.strftime("%d-%m-%Y"), "comentarios": cita.comentarios }) return jsonify({"codigo": 100, "mensaje": "Citas del paciente", "cuerpo": citas_recuperadas})
def actualizarPerfil(usuario_actual): if request.form: paciente = Paciente.get_or_none( Paciente.usuarioId_id == usuario_actual.id) usuario_actual.nombre = request.form["nombre"] usuario_actual.apellidoPaterno = request.form["apellidoPaterno"] usuario_actual.apellidoMaterno = request.form["apellidoMaterno"] usuario_actual.correoElectronico = request.form["correoElectronico"] paciente.fechaNacimiento = request.form["fechaNacimiento"] paciente.fotoPerfil = guardar_imagen(request.form["fotoPerfil"], usuario_actual.username) paciente.save() usuario_actual.save() return jsonify({"codigo": 100, "mensaje": "Usuario actualizado exitosamente"}) else: return jsonify({"codigo": 200, "mensaje": "Falta información necesaria"}), 400
def recuperarProgreso(usuario_actual): paciente = Paciente.get_or_none(Paciente.usuarioId_id == usuario_actual.id) medidas_recuperadas = [] medidas = Cita.select().where(Cita.paciente == paciente.id) for cita in medidas: medidas_recuperadas.append({ "fecha": cita.fecha.strftime("%d-%m-%Y"), "peso": cita.medidasId.peso, "estatura": cita.medidasId.estatura, "cadera": cita.medidasId.cadera, "pectoral": cita.medidasId.pectoral }) return jsonify({"codigo": 100, "mensaje": "Últimas medidas", "cuerpo": medidas_recuperadas})
def recuperar_perfil(usuario_actual): paciente = Paciente.get_or_none(Paciente.usuarioId_id == usuario_actual.id) foto = get('https://api.ipify.org').text + "/" + (Path("./images/users") / paciente.fotoPerfil).absolute().as_uri() if paciente.fotoPerfil != "" and paciente.fotoPerfil != None else "" if not paciente: return jsonify({ "mensaje": "El usuario no existe", "codigo": 302 }), 404 return jsonify({ "codigo": 100, "mensaje": "Información usuario", "cuerpo": { "nombre": usuario_actual.nombre, "apellido_paterno": usuario_actual.apellidoPaterno, "apellido_materno": usuario_actual.apellidoMaterno, "correo_electronico": usuario_actual.correoElectronico, "username": usuario_actual.username, "fecha_nacimiento": paciente.fechaNacimiento.strftime("%d %b %Y"), "fechaFormato": paciente.fechaNacimiento.strftime("%d-%m-%Y"), "fotoPerfil": foto.encode('utf-8') } })