Example #1
0
    def post(self):
        data = UserParser.parser.parse_args()

        if not data['username'][0].isalpha():
            return {'message': 'Invalid username.'}, 400

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

        if UserModel.find_by_code(data['code']):
            return {
                "message": f"User with code: {data['code']} already exists."
            }, 400

        if UserModel.find_by_email(data['email']):
            return {
                "message": f"User with email: {data['email']} already exists."
            }, 400

        temp_pass = bcrypt.generate_password_hash(data['password'],
                                                  10).decode('UTF-8')
        data['password'] = temp_pass

        user = AdminModel(**data)  # unpacking the dictionary
        user.save_to_db()

        return {"message": f"Admin was created successfully."}, 201
Example #2
0
    def post(self):

        data = UserParser.parser.parse_args()
        data['semester'] = StudentRegister.student_parser.parse_args(
        )['semester']

        # ensure username is proper
        if not data['username'][0].isalpha():
            return {"message": f"Invalid username."}, 400

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

        if UserModel.find_by_code(data['code']):
            return {
                "message": f"User with code: {data['code']} already exists."
            }, 400

        if UserModel.find_by_email(data['email']):
            return {
                "message": f"User with email: {data['email']} already exists."
            }, 400

        temp_pass = bcrypt.generate_password_hash(data['password'],
                                                  10).decode('UTF-8')
        data['password'] = temp_pass

        user = StudentModel(**data)  # unpacking the dictionary
        user.save_to_db()

        return {"message": f"Student was created successfully."}, 201