Example #1
0
def register():
    if not request.is_json:
        return jsonify({"msg": "Missing JSON in request"}), 400

    usuario = request.json.get('nombre', None)
    clave = request.json.get('clave', None)
    apellido = request.json.get('apellido', None)
    email = request.json.get('email', None)
    direccion = request.json.get('direccion', None)
    telefono = request.json.get('telefono', None)

    if not usuario:
        return jsonify({"msg": "Falta el nombre"}), 400
    if not apellido:
        return jsonify({"msg": "Falta el apellido"}), 400
    if not email:
        return jsonify({"msg": "Falta el email"}), 400
    usua = Usuario.query.filter_by(email=email).first()
    if usua:
        return jsonify(
            {"msg": "Usuario existe por favor elegir diferente Email"}), 400
    if not direccion:
        return jsonify({"msg": "Falta la direccion"}), 400
    if not telefono:
        return jsonify({"msg": "Falta el telefono"}), 400
    if not clave:
        return jsonify({"msg": "Falta la clave"}), 400

    usua = Usuario()
    usua.nombre = usuario
    usua.clave = bcrypt.generate_password_hash(clave)
    usua.apellido = apellido
    usua.email = email
    usua.direccion = direccion
    usua.telefono = telefono
    db.session.add(usua)
    db.session.commit()
    html = render_template('email-registerCliente.html', user=usua)
    send_mail("Registro", "*****@*****.**", usua.email, html)

    access_token = create_access_token(identity=usua.nombre)

    data = {"access_token": access_token, "Usuario": usua.serialize()}
    return jsonify(data), 200
Example #2
0
def usuario(id=None):
    if request.method == 'GET':
        if id is not None:
            usuario = Usuario.query.get(id)
            if usuario:
                return jsonify(usuario.serialize()), 200
            else:
                return jsonify({"msg": "User not found"}), 404
        else:
            usuario = Usuario.query.all()
            usuario = list(map(lambda usuario: usuario.serialize(), usuario))
            return jsonify(usuario), 200

    if request.method == 'POST':
        nombre = request.json.get('nombre', None)
        apellido = request.json.get('apellido', None)
        correo = request.json.get('correo', None)
        ubicacion = request.json.get('ubicacion', None)
        descripcion = request.json.get('descripcion', None)
        contrasena = request.json.get('contrasena', None)
        nombre_usuario = request.json.get('nombre_usuario', None)
        imagen_perfil = request.json.get('imagen_perfil', None)

        if not nombre:
            return jsonify({"msg": "name is required"}), 422

        if not apellido:
            return jsonify({"msg": "Last name is required"}), 422

        if not correo:
            return jsonify({"msg": "email is required"}), 422

        if not ubicacion:
            return jsonify({"msg": "location is required"}), 422

        if not descripcion:
            return jsonify({"msg": "description is required"}), 422

        if not contrasena:
            return jsonify({"msg": "password is required"}), 422

        if not nombre_usuario:
            return jsonify({"msg": "user name is required"}), 422

        if not imagen_perfil:
            return jsonify({"msg": "profile image is required"}), 422

        usuario = Usuario()
        usuario.nombre = nombre
        usuario.apellido = apellido
        usuario.correo = correo
        usuario.ubicacion = ubicacion
        usuario.descripcion = descripcion
        usuario.contrasena = contrasena
        usuario.nombre_usuario = nombre_usuario
        usuario.imagen_perfil = imagen_perfil

        db.session.add(usuario)
        db.session.commit()

        return jsonify(usuario.serialize()), 201

    if request.method == 'PUT':
        nombre = request.json.get('nombre', None)
        apellido = request.json.get('apellido', None)
        correo = request.json.get('correo', None)
        ubicacion = request.json.get('ubicacion', None)
        descripcion = request.json.get('descripcion', None)
        contrasena = request.json.get('contrasena', None)
        nombre_usuario = request.json.get('nombre_usuario', None)
        imagen_perfil = request.json.get('imagen_perfil', None)

        if not nombre:
            return jsonify({"msg": "name is required"}), 422

        if not apellido:
            return jsonify({"msg": "Last name is required"}), 422

        if not correo:
            return jsonify({"msg": "email is required"}), 422

        if not ubicacion:
            return jsonify({"msg": "location is required"}), 422

        if not descripcion:
            return jsonify({"msg": "description is required"}), 422

        if not contrasena:
            return jsonify({"msg": "password is required"}), 422

        if not nombre_usuario:
            return jsonify({"msg": "user name is required"}), 422

        if not imagen_perfil:
            return jsonify({"msg": "profile image is required"}), 422

        usuario = Usuario.query.get(id)

        if not usuario:
            return jsonify({"msg": "User not found"}), 404

        usuario.nombre = nombre
        usuario.apellido = apellido
        usuario.correo = correo
        usuario.ubicacion = ubicacion
        usuario.descripcion = descripcion
        usuario.contrasena = contrasena
        usuario.nombre_usuario = nombre_usuario
        usuario.imagen_perfil = imagen_perfil

        db.session.commit()

        return jsonify(usuario.serialize()), 200

    if request.method == 'DELETE':

        usuario = Usuario.query.get(id)

        if not usuario:
            return jsonify({"msg": "User not found"}), 404

        db.session.delete(usuario)
        db.session.commit()

        return jsonify({"msg": "User deleted"}), 200