コード例 #1
0
ファイル: user.py プロジェクト: Jahsmine/devgoodgift
 def post(cls):
     data = request.get_json()
     if UserModel.find_by_email(data["email"]):
         return {
             "message": response_quote("user_email_taken")
         }, 400  # TODO:
     user = UserModel(username=data["username"],
                      password=b_crypt.generate_password_hash(
                          data["password"]).decode("utf-8"),
                      email=data["email"],
                      sha_private=hashlib.sha256(str.encode(
                          data["email"])).hexdigest())
     try:
         user.save_to_db()
         confirmation = ConfirmationModel(user.id)
         confirmation.save_to_db()
         user.confirm()
         return {"message": response_quote("user_been_created")}, 201
     except MailGunException as e:
         user.delete_from_db()  # rollback
         return {"message": str(e)}, 500
     except:
         traceback.print_exc()
         user.delete_from_db()
         return {"message": response_quote("operation_fatal_error")}, 500
コード例 #2
0
ファイル: user.py プロジェクト: mbezpyatnaya/GoodGift
 def post(cls):
     data = request.get_json()
     if UserModel.find_by_email(data["email"]):
         return {"message": response_quote("user_email_taken")}, 400
     password_salt, password_hash = PassCrypt.generate_password_hash(
         data["password"])
     user = UserModel(username=data["username"],
                      password_hash=password_hash,
                      password_salt=password_salt,
                      email=data["email"])
     try:
         user.save_to_db()
         confirmation = ConfirmationModel(user.id)
         confirmation.save_to_db()
         user.confirm()
         return {"message": response_quote("user_been_created")}, 201
     except MailGunException as e:
         user.delete_from_db()  # rollback
         return {"message": str(e)}, 500
     except:
         traceback.print_exc()
         user.delete_from_db()
         return {"message": response_quote("operation_fatal_error")}, 500