예제 #1
0
 def delete(cls):
     user_identity = get_jwt_identity()
     user = UserModel.find_user_by_email(user_identity)
     if not user:
         return {"Message": USER_NOT_FOUND}, 404
     user.delete_from_db()
     return {"message": USER_DELETED.format(user.username)}, 200
예제 #2
0
    async def get(cls, email):
        user = UserModel.find_user_by_email(email)

        if not user:
            return {'message': USER_NOT_FOUND}, 404
        return (
            {
                "Current Time":
                int(time.time()),
                "confirmation": [
                    UserConfirmationSchema.dump(each)
                    for each in user.confirmed.order_by(
                        UserConfirmationModel.token_expires_at)
                ],
            },
            200,
        )
예제 #3
0
    async def post(cls, email):  # Resend_confirmation_token resource
        user = UserModel.find_user_by_email(email)

        if not user:
            return {'message': USER_NOT_FOUND}, 404

        try:
            confirmation = user.recent_confirmation
            if confirmation:
                if confirmation.confirmed:
                    return {"message": TOKEN_ALREADY_CONFIRMED}, 404
                confirmation.force_expire()

            new_confirmation = UserConfirmationModel(user.id)
            new_confirmation.save_to_db()
            await user.send_email()
            print("Done")
            return {"message": RESEND_SUCCESSFULL}, 200

        except MailgunException as e:
            return {"message": str(e)}, 500
        except EnvironmentError:
            traceback.print_exc()
            return {"message": RESEND_FAILED}, 500