Exemple #1
0
    def post(self):
        json_data = request.get_json(force=True)

        if not json_data:
            return {'message': 'No input data provided'}, 400

        user = User.query.filter_by(username=json_data['username']).first()
        if user:
            return {'message': 'Username not available'}, 400

        user = User.query.filter_by(
            emailadress=json_data['emailadress']).first()
        if user:
            return {'message': 'Email address already exists'}, 400

        api_key = self.generate_key()

        user = User.query.filter_by(api_key=api_key).first()
        if user:
            return {'message': 'API key already exists'}, 400

        user = User(
            api_key=api_key,
            firstname=json_data['firstname'],
            lastname=json_data['lastname'],
            emailadress=json_data['emailadress'],
            password=json_data['password'],
            username=json_data['username'],
        )
        db.session.add(user)
        db.session.commit()

        result = User.serialize(user)

        return {"status": 'success', 'data': result}, 201
Exemple #2
0
    def post(self):
        result = ""
        json_data = request.get_json(force=True)
        header = request.headers["Authorization"]
        if not header:
            result = self.username_and_and_password_signin(json_data)

        else:
            user = User.query.filter_by(api_key=header).first()
            result = User.serialize(user)
            if user:
                result = User.serialize(user)
            else:
                result = self.username_and_and_password_signin(json_data)

        return {"status": 'success', 'data': result}, 201
Exemple #3
0
    def username_and_password_signin(self, json_data):
        if not json_data:
            return {'message': 'No input data provided'}, 400

        user = User.query.filter_by(username=json_data['username']).first()
        #incorrect password
        if user.password != json_data['password']:
            return {'message': 'Password incorrect'}, 400
#incorrect username
        if not user:
            return {'message': 'Username does not exist'}, 400
        return User.serialize(user)
Exemple #4
0
    def post(self):
        json_data = request.get_json(force=True)

        #Check if data exists 
        if not json_data:
               return {'message': 'No input data provided'}, 400

        # Validate and deserialize input
        data, errors = user_schema.load(json_data)
        if errors:
            return errors, 422

        # See if a user already exists 
        user = User.query.filter_by(username=data['username']).first()
        if user:
            return {'message': 'User already exists'}, 400


        #Create unqiue api_key for user
        api_key = self.generate_key()
        user = User.query.filter_by(api_key=api_key).first()

        #See if a user already has that API Key, if yes remake a new one and check again.
        while (user):
            api_key = self.generate_key()
            user = User.query.filter_by(api_key=api_key).first()

        # Create User
        user = User(
            api_key = api_key,
            username=json_data['username'],
            first_name=json_data['first_name'],
            last_name=json_data['last_name'],
            password=json_data['password'],
            email_address=json_data['email_address']
        )

        # Add user to database
        db.session.add(user)
        db.session.commit()

        # Return user value
        result = User.serialize(user)

        return { "status": 'success', 'data': result }, 201
Exemple #5
0
    def post(self):
        # print(request.get_json())\
        json_data = request.get_json(force=True)

        if not json_data:
            return {'message': 'No input data provided'}, 400

        # data , errors = User.load(json_data)
        # if errors:
        #     return errors, 422

        user = User.query.filter_by(username=json_data['username']).first()
        if user:
            return {'message': 'Username already exists'}, 400

        user = User.query.filter_by(
            emailadress=json_data['emailadress']).first()
        if user:
            return {'message': 'Email address already exists'}, 400

        api_key = self.generate_key()
        user = User.query.filter_by(api_key=api_key).first()

        if user:
            return {'message': 'Api key already exists'}, 400

        user = User(
            api_key=api_key,
            firstname=json_data["firstname"],
            lastname=json_data["lastname"],
            emailadress=json_data["emailadress"],
            password=json_data["password"],
            username=json_data["username"],
        )
        db.session.add(user)
        db.session.commit()

        result = User.serialize(user)

        return {"status": "success", "data": result}, 201
Exemple #6
0
    def post(self):
        json_data = request.get_json(force=True)
        # checks if data was passed
        if not json_data:
            return {'message': "No input data passed"}, 400

        # checks if user already exist in db
        user = User.query.filter_by(username=json_data['username']).first()
        if user:
            return {'message': "User already exist"}, 400

        user = User.query.filter_by(email=json_data['email']).first()
        if user:
            return {'message': "Email already used by another user"}, 400

        key = self.generate_key()
        user = User.query.filter_by(api_key=key).first()
        if user:
            return {'message': "API key already exist"}

        # create new user object
        user = User(api_key=key,
                    username=json_data['username'],
                    password=json_data['password'],
                    first_name=json_data['firstname'],
                    last_name=json_data['lastname'],
                    email=json_data['email'])

        # add user to database
        db.session.add(user)
        db.session.commit()

        # convert User object to string before return data
        result = User.serialize(user)

        return {'status': "success", 'data': result}, 201
    def post(self):
        json_data = request.get_json(force=True)
        
        #validates that the username doesn't already exist
        user = User.query.filter_by(username=json_data['username']).first()
        if user:
            return {'message': 'User already exists'}, 400

        #validates that the email hasnt already been signed up
        user = User.query.filter_by(email_address=json_data['email_address']).first()
        if user:
            return {'message': 'Email already signed up!'}, 400

        api_key = self.generateApiKey()

        #makes sure api key is not already added in the database
        user = User.query.filter_by(api_key=api_key).first()
        if user:
            return {'message': 'API Key already exists!'}, 400
        
        user = User(
            api_key=api_key,
            username=json_data['username'],
            first_name=json_data['first_name'],
            last_name=json_data['last_name'],
            password=json_data['password'],
            email_address=json_data['email_address'],
            image_url=json_data['image_url']
            )

        db.session.add(user)
        db.session.commit()

        result = User.serialize(user)

        return { "status": 200, "user": result}, 200