browser-go-api/auth/auth.py

58 lines
1.9 KiB
Python
Raw Normal View History

2019-10-05 06:25:01 +00:00
from flask import Blueprint, request, jsonify, session
from database import db
from models.User import User
2019-10-05 06:25:01 +00:00
auth = Blueprint('auth', __name__, url_prefix='/auth')
2019-10-05 06:29:43 +00:00
@auth.route('/signup', methods=['POST'])
2019-10-05 06:25:01 +00:00
def auth_signup():
data = request.get_json()
user = User.query.filter_by(email=data.get('email')).first()
if not user:
2019-10-06 20:44:38 +00:00
user = User.query.filter_by(username=data.get('username')).first()
if not user:
try:
print('getting here 1')
print(data)
user = User(
username = data['username'],
email = data['email'],
password = data['password'],
)
print('getting here 2')
db.session.add(user)
print('wtf')
db.session.commit()
print('user')
auth_token = user.encode_auth_token(user.id)
print('getting here 4')
response = {
'status': 'success',
'message': 'Succesfully registered.',
'auth_token': auth_token.decode()
}
return jsonify(response), 201
except Exception as e:
print(e.__dict__)
response = {
'status': 'fail',
'message': 'There was an error. Please try again.'
}
return jsonify(response), 401
else: # username is taken
response = {
'status': 'fail',
2019-10-06 20:44:38 +00:00
'message': 'User already exists. Please login.'
}
2019-10-06 20:44:38 +00:00
else: # email is taken
response = {
'status': 'fail',
'message': 'User already exists. Please login.'
}
return jsonify(response), 202
2019-10-05 06:25:01 +00:00
2019-10-05 06:29:43 +00:00
@auth.route('/login', methods=['POST'])
2019-10-05 06:25:01 +00:00
def auth_login():
response = {"message": "login post"}
return jsonify(response)