Esempio n. 1
0
    def post(self):
        '''POST method to register a user.'''

        # get the post data
        args = self.reqparse.parse_args()

        # check if user already exists
        user = Users.query.filter_by(email=args['email']).first()
        if not user:
            try:
                user = Users(first_name=args['first_name'],
                             last_name=args['last_name'],
                             email=args['email'],
                             password_hash=args['password'])
                user.hash_password(args['password'])

                # insert the user
                db.session.add(user)
                db.session.commit()

                # generate the auth token
                auth_token = user.generate_auth_token(user.user_id)
                responseObject = {
                    'status': 'success',
                    'message': 'Successfully registered.',
                    'auth_token': auth_token.decode()
                }

                return responseObject, 201

            except:
                responseObject = {
                    'status': 'fail',
                    'message': 'Some error occurred. Please try again.'
                }

                return responseObject, 401
        else:
            responseObject = {
                'status': 'fail',
                'message': 'User already exists. Please Log in.',
            }

            return responseObject, 409