def post(self):
        # user_id = request.form['userID']
        # token = request.form['userToken']
        # event_id = request.form['eventID']

        # model = BaseResource.check_user_credentials_with_credentials(user_id, token)
        #
        # if not isinstance(model, PersonModel):
        #     # Some error happens here
        #     return model

        # items = EventModel.query.filter_by(event_id=event_id).all()
        # if len(items) > 0:
        #     return {'status': 'event_not_exist'}, 401

        team_members_json = request.form["teamMembersID"]

        try:
            team_members = json.loads(team_members_json)
        except ValueError:
            return Constants.error_wrong_json_format()

        if not isinstance(team_members, list):
            return Constants.error_wrong_json_structure()

        result = {}
        for team_member in team_members:
            local_user_id = team_member["user_id"]

            if local_user_id is None:
                continue

            person_model = PersonModel()

            person_model.first_name = team_member["first_name"]
            person_model.last_name = team_member["last_name"]

            # Add person to the model
            db.session.add(person_model)
            db.session.commit()

            result[local_user_id] = person_model.to_dict()

        return result
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('facebookID', type=str, help='Facebook ID', location='form')
        parser.add_argument('email', type=str, help='User email', location='form', required=True)
        parser.add_argument('firstName', type=str, help='First Name', location='form', required=True)
        parser.add_argument('lastName', type=str, help='Last Name', location='form', required=True)
        parser.add_argument('password', type=str, help='Password', location='form', required=True)
        args = parser.parse_args()

        person_model = PersonModel()

        person_model.email = args['email']
        items = PersonModel.query.filter_by(email=person_model.email).all()
        if len(items) > 0:
            return Constants.error_with_message_and_status('user_is_already_exist', 401)

        parameter = 'password'
        if not parameter in args:
            return Constants.error_missed_parameter(parameter)

        person_model.first_name = args['firstName']
        person_model.last_name = args['lastName']
        person_model.facebook_id = args['facebookID']

        # Encrypt user password
        password = request.form['password']
        encr_password = passlib.encrypt(password, salt_length=100)
        person_model.password = encr_password

        # Generate user token with expiration date
        person_model.token = TokenSerializer.generate_auth_token(person_model.person_id)

        # Add person to the model
        db.session.add(person_model)
        db.session.commit()

        return person_model.to_dict()