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
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>' )
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
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
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
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
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
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
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