Skip to content

type_bridge.crud.manager

manager

Base manager for CRUD operations.

BaseManager

BaseManager(connection, model_class)

Bases: ABC

Abstract base manager for CRUD operations.

Provides shared functionality for TypeDBManager: - Connection and executor management - Query execution helpers - Common operations like all(), _execute()

TypeDBManager implements all abstract methods.

Initialize the manager.

Parameters:

Name Type Description Default
connection Connection

Database, Transaction, or TransactionContext

required
model_class type[T]

Model class (Entity or Relation subclass)

required
Source code in type_bridge/crud/manager.py
def __init__(
    self,
    connection: Connection,
    model_class: type[T],
) -> None:
    """Initialize the manager.

    Args:
        connection: Database, Transaction, or TransactionContext
        model_class: Model class (Entity or Relation subclass)
    """
    self._connection = connection
    self._executor = ConnectionExecutor(connection)
    self.model_class = model_class

all

all()

Get all instances of this type.

Syntactic sugar for get() with no filters.

Returns:

Type Description
list[T]

List of all instances

Source code in type_bridge/crud/manager.py
def all(self) -> list[T]:
    """Get all instances of this type.

    Syntactic sugar for get() with no filters.

    Returns:
        List of all instances
    """
    logger.debug(f"Getting all instances: {self.model_class.__name__}")
    return self.get()

insert abstractmethod

insert(instance)

Insert an instance into the database.

Parameters:

Name Type Description Default
instance T

Instance to insert

required

Returns:

Type Description
T

The inserted instance (with _iid populated if successful)

Source code in type_bridge/crud/manager.py
@abstractmethod
def insert(self, instance: T) -> T:
    """Insert an instance into the database.

    Args:
        instance: Instance to insert

    Returns:
        The inserted instance (with _iid populated if successful)
    """
    ...

get abstractmethod

get(**filters)

Get instances with optional filters.

Parameters:

Name Type Description Default
**filters Any

Attribute filters (exact match)

{}

Returns:

Type Description
list[T]

List of matching instances

Source code in type_bridge/crud/manager.py
@abstractmethod
def get(self, **filters: Any) -> list[T]:
    """Get instances with optional filters.

    Args:
        **filters: Attribute filters (exact match)

    Returns:
        List of matching instances
    """
    ...

update abstractmethod

update(instance)

Update an instance in the database.

Parameters:

Name Type Description Default
instance T

Instance with updated values

required

Returns:

Type Description
T

The updated instance

Source code in type_bridge/crud/manager.py
@abstractmethod
def update(self, instance: T) -> T:
    """Update an instance in the database.

    Args:
        instance: Instance with updated values

    Returns:
        The updated instance
    """
    ...

delete abstractmethod

delete(instance)

Delete an instance from the database.

Parameters:

Name Type Description Default
instance T

Instance to delete

required

Returns:

Type Description
T

The deleted instance

Source code in type_bridge/crud/manager.py
@abstractmethod
def delete(self, instance: T) -> T:
    """Delete an instance from the database.

    Args:
        instance: Instance to delete

    Returns:
        The deleted instance
    """
    ...