def register_classes(schema_root_type, base_module):
    """
    Register the classes for the schema root type

    schema_root_type: The schema root type to work with (entities, indicators, observables)
    base_module: The base module to register the classes in (entity, indicator, observable)
    """
    module_base_name = base_module.__name__.split(".")[-1]
    logger.info(f"Registering {module_base_name} classes")
    for schema_file in Path(__file__).parent.glob(f"{schema_root_type}/**/*.py"):
        if schema_file.stem == "__init__":
            continue
        if schema_file.parent.stem == schema_root_type:
            module_name = f"core.schemas.{schema_root_type}.{schema_file.stem}"
        elif schema_file.parent.stem == "private":
            module_name = f"core.schemas.{schema_root_type}.private.{schema_file.stem}"
        try:
            register_module(module_name, base_module)
        except Exception:
            logger.exception(f"Failed to register classes from {module_name}")

    Register the classes for the schema root type

    schema_root_type: The schema root type to work with (entities, indicators, observables)
    base_module: The base module to register the classes in (entity, indicator, observable)
    
core/schemas/__init__.py