def post(self): body = MultiDict(request.get_json()) form = RegisterForm(body) if User.objects.filter(email=body.get("email")).count() > 0: return {'email': ["This email already exists"]}, 400 if form.validate(): user = User(**body) user.hash_password() user.save() expires = datetime.timedelta(minutes=20) access_token = create_access_token(identity=str(user.id), expires_delta=expires) return { "user": json.loads(user.to_json()), "access_token": access_token }, 200 else: return form.errors, 400