예제 #1
0
    def test_crud(self):
        with self.app_context():
            user = UserModel("ipo", "kk")

            self.assertIsNone(UserModel.find_by_username("ipo"))
            self.assertIsNone(UserModel.find_by_id(1))

            user.save_to_db()
            self.assertIsNotNone(UserModel.find_by_username("ipo"))
            self.assertIsNotNone(UserModel.find_by_id(1))
예제 #2
0
    def post():
        """
        POST /signup
        Method for Creating a new User
        """
        parser = reqparse.RequestParser()
        parser.add_argument('username',
                            type=str,
                            required=True,
                            help="*username required")
        parser.add_argument('password',
                            required=True,
                            help="*password required")
        data = parser.parse_args()

        _username = data['username']
        _password = str(data['password'])

        check_exist = UserModel.find_by_username(_username)

        if check_exist:
            return {"error:": "User Already Exist!"}, 409
        else:
            new_user = UserModel(_username, _password)
            new_user.save_to_db()
            return new_user.json(), 201
예제 #3
0
def authenticate(username, password):
    """
    authenticates the user by using username and password
    """
    user = UserModel.find_by_username(username)
    if user and user.password == password:
        return user
예제 #4
0
 def post(self):
     data = _parser.parse_args()
     user = UserModel.find_by_username(data['username'])
     if user and safe_str_cmp(user.password, data['password']):
         token = create_access_token(identity=user.id, fresh=True)
         refresh_token = create_refresh_token(identity=user.id)
         return {"token": token, "refresh_token": refresh_token}, 200
     return {"message": "Invalid credentials"}
예제 #5
0
def authenticate(username, password):
    """prepare password, username in string format to call the /auth endpoint"""

    user = UserModel.find_by_username(username)
    if user and safe_str_cmp(user.password, password):
        return user

    return None
예제 #6
0
    def post(self):
        data = UserRegister.parser.parse_args()
        if UserModel.find_by_username(data['username']):
            return {"message": "A user with that username already exists"}, 400

        user = UserModel(data['username'], data['password'])
        user.save_to_db()

        return {"message": "User created successfully"}, 201
예제 #7
0
    def post(self):
        data = UserRegister.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {"message": "username already exist!"}, 400

        UserModel(data['username'], data['password']).save_to_db(
        )  #we can also do UserModel(**data).save_to_db()
        return {"message": "User created successfully!"}, 201
    def post(self):
        data = UserRegistration.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {"message": "User with this username already exists"}, 409

        user = UserModel(**data)
        user.save_to_db()

        return {"message": "User created successfully"}, 201
예제 #9
0
    def post(self):

        data = UserRegister.parser.parse_args()
        if UserModel.find_by_username(data['username']):
            return {"message": "the account is used by someone already"}, 400

        user_account = UserModel(**data)
        user_account.save_to_db()

        return {"message": "the account register successfully"}, 201
예제 #10
0
    def post(self):

        data = UserRegister.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {'message': 'username already exists'}, 400

        user = UserModel(**data)
        user.save_to_db()
        return {'message': 'User successfully registered'}, 201
예제 #11
0
    def post(self):
        data = UserRegister.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {
                "message": "A user with that username already exists"
            }, 400  # Bad request

        user = UserModel(**data)
        user.save_to_db()

        return {"message": "User created successfully."}, 201  # Created
예제 #12
0
    def post(self):  
        data = UserRegister.parser.parse_args()
        if(UserModel.find_by_username(data['username'])):
            return {"message": "User {} alreay exists".format(data['username'])},401

        user = UserModel(data['username'],data['password'])
        # alternate way of using unpacking
        # user = UserModel(**data)
        user.save_to_db()

        
        return {"message":"Created user {} successfully".format(data['username'])},201
예제 #13
0
 def post(self):
     data = _parser.parse_args()
     username = data['username']
     user = UserModel.find_by_username(data['username'])
     if user:
         return {"message": f"Username '{data['username']}' already exists"}
     else:
         user = UserModel(**data)
         user.save_to_db()
         count_of_users = len(UserModel.query.all())
         sms_contact(os.getenv(
             'ADMIN_PHONE'), f"A new user just created an account (username: {username}) that makes {count_of_users} users")
     return {"message": "Acccount was created successfully"}, 201
예제 #14
0
 def test_register_user(self):
     with self.app() as client:
         with self.app_context():
             response = client.post("/register",
                                    data={
                                        "username": "******",
                                        "password": "******"
                                    })
             self.assertEqual(response.status_code, 201)
             self.assertIsNotNone(UserModel.find_by_username("ipo"))
             self.assertIsNotNone(UserModel.find_by_id(1))
             self.assertDictEqual(
                 {"message": "the account register successfully"},
                 json.loads(response.data))
예제 #15
0
    def post(cls):
        data = _user_parser.parse_args()

        user = UserModel.find_by_username(data['username'])
        #'authenticate()' function
        if user and safe_str_cmp(user.password, data['password']):
            #'identity()' function
            access_token = create_access_token(identity=user.id, fresh=True)
            refresh_token = create_access_token(user.id)
            return {
                'access_token': access_token,
                'refresh_token': refresh_token
            }, 200
        return {'message': 'Invalid credentials'}, 401
예제 #16
0
파일: user.py 프로젝트: lekanakin/restApis
    def post(self):
        data = UserRegister.parser.parse_args()
        if UserModel.find_by_username(data['username']):
            return {'message': 'User with this username already exists'}, 400
        User = UserModel(**data)
        User.save_to_db()

        # connection = sqlite3.connect('data.db')
        # cursor = connection.cursor()
        # query = "INSERT INTO users VALUES (NULL, ?, ?)"
        # cursor.execute(query, (data['username'],data['password']))
        #
        # connection.commit()
        # connection.close()
        return {'message': 'User created successfully'}, 201
예제 #17
0
    def post(self):
        # gets data from parser
        data = _user_parser.parse_args()
        #  finds user in db
        user = UserModel.find_by_username(data['username'])
        #check password
        if user and user.password == data['password']:
            # creates an access token and a refresh token
            access_token = create_access_token(identity=user.id, fresh=True)
            refresh_token = create_refresh_token(user.id)

            return {
                'access_token': access_token,
                'refresh_token': refresh_token
            }, 200

        return {'message': 'Invalid User Credentials'}, 401
예제 #18
0
    def get():
        """
        GET /user?username=<string:name>
        Method for getting user details
        """
        data = request.args
        _username = str(data['username'])

        if _username == '$_give_me_all_users_$':
            all_users = UserModel.find_all()
            return {"user_details": [user.json() for user in all_users]}, 200
        else:
            user = UserModel.find_by_username(_username)

            if user is not None:
                return user.json(), 200
            else:
                return {"message": "No user Found"}, 404
예제 #19
0
    def post(self):
        data = UserRegister.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {"message": "User with that username already exists."}, 400

        # connection = sqlite3.connect('data.db')
        # cursor = connection.cursor()

        # query = "INSERT INTO {table} VALUES (NULL, ?, ?)".format(table=self.TABLE_NAME)
        # cursor.execute(query, (data['username'], data['password']))

        # connection.commit()
        # connection.close()

        # return {"message": "User created successfully."}, 201
        # user = UserModel(data['username'], data['password'])
        user = UserModel(**data)  #same as above
예제 #20
0
    def post(self):
        data = UserRegister.parser.parse_args()

        if UserModel.find_by_username(data['username']):
            return {
                "message": "A user with that username already exists"
            }, 400  # Bad request

        connection = sqlite3.connect('data.db')
        cursor = connection.cursor()

        # VALUES tuple = (id, username, password).
        # id is autoincremented by database as primary key, so must be NULL.
        query = "INSERT INTO users VALUES (NULL, ?, ?)"
        cursor.execute(query, (data['username'], data['password']))

        connection.commit()
        connection.close()

        return {"message": "User created successfully."}, 201  # Created
예제 #21
0
def authenticate(username, password):
    user = UserModel.find_by_username(username)
    if user and user.password == password:
        return user
def authenticate(username, password):
    # user = username_table.get(username, None)
    user = UserModel.find_by_username(username)
    if user and safe_str_cmp(user.password, password):
        return user
예제 #23
0
def authenticate(username,password):
    user = UserModel.find_by_username(username)
    if user and safe_str_cmp(user.password, password):
        return user
예제 #24
0
def authenticate(username,password):
    user = UserModel.find_by_username(username)
    if user and safe_str_cmp(user.password, password): #This syntax is the same than this one : if user is not None and user.password == password
        return user