async def signup(user: UserSignup): try: if MongoDB.user_lookup(user.email) is not True: new_user = MongoDB.signup(user.username, user.password, user.email) token = jwt.encode( { 'user': new_user, 'exp': datetime.datetime.utcnow() + datetime.timedelta(days=1) }, SECRET_KEY, 'HS512') return jsonable_encoder({'token': token.decode('UTF-8')}) else: return Response(json.dumps({"message": "User already Exists"}), 409) except KeyError: return Response(json.dumps({"message": "missing fields"}), 409)