07 - Uniformed Users
In this module, we will make a USER CREATE endpoint
Create User
from flask import request, json, Response, Blueprint
from ..models.user import UserModel, UserSchema
from ..shared.authentication import Auth # we haven't built this yet
user_api = Blueprint('users', __name__)
user_schema = UserSchema()
@user_api.route('/', methods=['POST'])
def create():
req_data = request.get_json()
data, error = user_schema.load(req_data)
if error:
return custom_response(error, 400)
# check if user already exist in the db
user_in_db = UserModel.get_user_by_email(data.get('email'))
if user_in_db:
message = {'error': 'User already exist, please supply another email address'}
return custom_response(message, 400)
user = UserModel(data)
user.save()
ser_data = user_schema.dump(user).data
token = Auth.generate_token(ser_data.get('id'))
return custom_response({'jwt_token': token}, 201)
def custom_response(res, status_code):
return Response(
mimetype="application/json",
response=json.dumps(res),
status=status_code
)Last updated
Was this helpful?