Ejemplo n.º 1
0
def register():
    username = request.json.get('username')
    fullname = request.json.get('fullname')
    phone = request.json.get('phone')
    password = request.json.get('password')
    if not username:
        return jsonify({"msg": "username is required"}), 422
    if not fullname:
        return jsonify({"msg": "fullname is required"}), 422
    if not phone:
        return jsonify({"msg": "phone is required"}), 422
    if not password:
        return jsonify({"msg": "password is required"}), 422
    user = User.query.filter_by(username=username).first()
    if user:
        return jsonify({"msg": "username is taken"}), 422
    user = User()
    user.username = username
    user.fullname = fullname
    user.phone = phone
    user.password = bcrypt.generate_password_hash(password)
    db.session.add(user)
    db.session.commit()

    sendMail("Welcome " + user.fullname, user.username, "*****@*****.**",
             user.username, "Welcome " + user.fullname)

    if bcrypt.check_password_hash(user.password, password):
        access_token = create_access_token(identity=user.username)
        data = {"access_token": access_token, "user": user.serialize()}
        return jsonify(data), 200
    else:
        return jsonify({"msg": "username/password is wrong"}), 401
Ejemplo n.º 2
0
def sendemail(to_email, subject, name):
    title = '..::GoDrunk MESSAGE::..'
    from_email = os.getenv('MAIL_USERNAME')
    sendMail(
        title, name, from_email, to_email,
        f'<div><p>Your friend {name} said: </p>{subject}</p><p>Cheers!!!</p></div>'
    )
Ejemplo n.º 3
0
def test():
    if request.method == "POST":
        email = request.json.get('email')
        check = Consumer.query.filter_by(email=email).first()

        if check:

            def get_random_string(
                length=24,
                allowed_chars='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
            ):
                return ''.join(
                    random.choice(allowed_chars) for i in range(length))

            hashCode = get_random_string()
            check.hashCode = hashCode
            db.session.commit()
            sendMail(
                'Confirm Password Change', 'Sebastián',
                '*****@*****.**', email,
                "Hello,\nWe've received a request to reset your password. If you want to reset your password, click the link below and enter your new password\n http://localhost:5000/"
                + check.hashCode)
            return jsonify({"email": "sent successfully"}), 200
    else:
        return jsonify({"email": "Not found"}), 400
Ejemplo n.º 4
0
def first_user():
    if request.method == 'GET':
        user = User.query.all()
        user = list(map(lambda user: user.serialize(), user))
        return jsonify(user), 200
    if request.method == 'POST':

        password = request.json.get('password')
        name = request.json.get('name')
        last_name = request.json.get('last_name')
        email = request.json.get('email')

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

        users = User.query.all()
        if not users:
            user = User()
            user.name = name
            user.last_name = last_name
            user.email = email
            user.password = bcrypt.generate_password_hash(password)
            user.isAdmin = True

            db.session.add(user)
            db.session.commit()

            sendMail(
                "Usuario Creado", user.email, "*****@*****.**",
                user.email, "Bienvenido " + user.name + user.last_name +
                " recuerda siempre dejar un admin, de borrar todo los admin debes contactarnos :)!"
            )

            if bcrypt.check_password_hash(user.password, password):
                #expires = datetime.timedelta(days=3)
                access_token = create_access_token(identity=user.email,
                                                   expires_delta=False)
                data = {"access_token": access_token, "user": user.serialize()}
                return jsonify(data), 200

            return jsonify(user.serialize()), 201

        else:
            return jsonify(
                {"msg": "Can only create one admin with this method"}), 404
Ejemplo n.º 5
0
def change_password():
    email = request.json.get('email', None)
    if not email or email == '':
        return None
    restaurantuser = Restaurantuser()
    restaurantuser.email = email
    restaurantuser = Restaurantuser.query.filter_by(email=email).first()
    if not restaurantuser:
        return jsonify({"msg": "This email is not registered"}), 404
    token = generate_confirmation_token(restaurantuser.email)
    confirm_url = 'http://localhost:3000/confirmationrestaurant/' + token
    html = render_template('email_confirmation.html', confirm_url=confirm_url)
    subject = "Por favor, Confirmar su email."
    sendMail("Por favor, Confirmar su email.", restaurantuser.email, html)
    return jsonify({"success": "Email send successfully"}), 200
Ejemplo n.º 6
0
def sendemail():
    subject = '..::WEBSITE MESSAGE::..'
    to_name = 'sacm'
    to_email = current_app.config['MAIL_USERNAME']
    from_email = request.json.get('from_email', None)
    message = request.json.get('message', None)
    html_msg = ('<div><p>This is a message from your web, check the information below:</p><p>Contact email: '+from_email+'</p><p>Contact message: '+message+'</p></div>')

    if not from_email:
        return jsonify({"error": "Email is required"}), 422
    if not message:
        return jsonify({"error": "Message is required"}), 422

    sendMail(subject, to_name, to_email, to_email, html_msg)
    return jsonify({"success": "Email send successfully"}), 200
Ejemplo n.º 7
0
def sendemail():
    subject = '..::WEBSITE MESSAGE::..'
    to_email = '*****@*****.**'
    name = request.json.get('name', None)
    from_email = request.json.get('from_email', None)
    phone = request.json.get('phone', None)  
    message = request.json.get('message', None)

    if not name:
        return jsonify({"error": "Name is required"}), 422
    if not from_email:
        return jsonify({"error": "Email is required"}), 422
    if not phone:
        return jsonify({"error": "Phone is required"}), 422
    if not message:
        return jsonify({"error": "Message is required"}), 422

    sendMail(subject, 'Francisco', to_email, to_email, '<div><p>This is a message from your web, check the information below:</p><p>Contact name: '+name+'</p><p>Contact phone: '+phone+'</p><p>Contact email: '+from_email+'</p><p>Contact message: '+message+'</p></div>')
    return jsonify({"success": "Email send successfully"}), 200
Ejemplo n.º 8
0
def users(id=None):
    if request.method == 'GET':
        if id is not None:
            user = User.query.get(id)
            if user:
                return jsonify(user.serialize()), 200
            else:
                return jsonify({"user": "******"}), 404
        else:
            users = User.query.all()
            users = list(map(lambda user: user.serialize(), users))
            return jsonify(users), 200

    if request.method == 'POST':
        password = request.json.get('password')

        user = User()
        user.username = request.json.get('username')
        user.fullname = request.json.get('fullname')
        user.phone = request.json.get('phone')
        user.password = bcrypt.generate_password_hash(password)

        db.session.add(user)
        db.session.commit()

        sendMail("Welcome " + user.fullname, user.username,
                 "*****@*****.**", user.username,
                 "Welcome " + user.fullname)

        return jsonify(user.serialize()), 201

    if request.method == 'PUT':
        password = request.json.get('password')
        user = User.query.get(id)
        user.username = request.json.get('username')
        user.fullname = request.json.get('fullname')
        user.phone = request.json.get('phone')
        user.password = bcrypt.generate_password_hash(password)

        db.session.commit()

        sendMail("Hello " + user.fullname, user.username, "*****@*****.**",
                 user.username, "Successfully update " + user.fullname)

        return jsonify(user.serialize()), 200

    if request.method == 'DELETE':
        user = User.query.get(id)
        db.session.delete(user)
        db.session.commit()

        sendMail("Bye " + user.fullname, user.username, "*****@*****.**",
                 user.username, "Correct user deleting")

        return jsonify({'user': '******'}), 200
Ejemplo n.º 9
0
def users(id=None):
    if request.method == 'GET':
        if id is not None:
            user = User.query.get(id)
            if user:
                return jsonify(user.serialize()), 200
            else:
                return jsonify({'user': '******'}), 400
        else:
            users = User.query.all()
            users = list(map(lambda user: user.serialize(), users))
            return jsonify(users), 200

    if request.method == 'POST':

        password = request.json.get('password')
        name = request.json.get('name')
        last_name = request.json.get('last_name')
        email = request.json.get('email')

        if not password:
            return jsonify({"msg": "Password es requerida"}), 422
        if not name:
            return jsonify({"msg": "Nombre es requerido"}), 422
        if not last_name:
            return jsonify({"msg": "Apellido es requerido"}), 422
        if not email:
            return jsonify({"msg": "Email es requerido"}), 422

        username = User.query.filter_by(email=email).first()

        if username:
            return jsonify({"msg": "Email ya esta siendo ocupado"}), 404

        user = User()
        user.name = name
        user.last_name = last_name
        user.email = email
        user.password = bcrypt.generate_password_hash(password)

        db.session.add(user)
        db.session.commit()

        sendMail(
            "Usuario Creado", user.email, "*****@*****.**", user.email,
            "Bienvenido " + user.name + user.last_name +
            " recuerda tu usuario es tu mismo email!")

        if bcrypt.check_password_hash(user.password, password):
            #expires = datetime.timedelta(days=3)
            access_token = create_access_token(identity=user.email,
                                               expires_delta=False)
            data = {"access_token": access_token, "user": user.serialize()}
            return jsonify(data), 200

        #FALTA ENVIAR EMAIL DE CONFORMACIon#
        return jsonify(user.serialize()), 201

    if request.method == 'PUT':

        #password = request.json.get('password')
        user = User.query.get(id)
        user.name = request.json.get('name')
        user.last_name = request.json.get('last_name')
        user.email = request.json.get('email')
        user.isAdmin = request.json.get('isAdmin')
        user.isActive = request.json.get('isActive')
        #user.password = bcrypt.generate_password_hash(password)

        #if not password:
        #return jsonify({"msg": "password is required"}), 422
        if not user.name:
            return jsonify({"msg": "name is required"}), 422
        if not user.last_name:
            return jsonify({"msg": "last_name is required"}), 422
        if not user.email:
            return jsonify({"msg": "email is required"}), 422

        db.session.commit()

        sendMail("Usuario Modificado", user.email, "*****@*****.**",
                 user.email,
                 "Modificaciones aplicadas " + user.name + user.last_name)

        return jsonify(user.serialize()), 201

    if request.method == 'DELETE':
        user = User.query.get(id)
        db.session.delete(user)
        db.session.commit()

        return jsonify({'user': '******'}), 200