Container Hierarchy
Create nested containers (project with sub-lists)
01
Sample Code
from uuid import uuid4
from datetime import datetime, UTC
from psp.components.todos.domain import TaskContainer, ContainerType
from psp.components.todos.adapters.persistence import InMemoryTaskContainerRepository
container_repo = InMemoryTaskContainerRepository()
owner_id = uuid4()
now = datetime.now(UTC)
# Create a project
project = TaskContainer(
id=uuid4(),
owner_id=owner_id,
name="Home Renovation",
container_type=ContainerType.PROJECT,
)
container_repo.save(project)
# Create sub-lists under the project
kitchen = TaskContainer(
id=uuid4(),
owner_id=owner_id,
name="Kitchen",
container_type=ContainerType.LIST,
parent_id=project.id,
position=0,
)
bathroom = TaskContainer(
id=uuid4(),
owner_id=owner_id,
name="Bathroom",
container_type=ContainerType.LIST,
parent_id=project.id,
position=1,
)
container_repo.save(kitchen)
container_repo.save(bathroom)
print(f"Project: {project.name}")
print(f" - {kitchen.name} (position {kitchen.position})")
print(f" - {bathroom.name} (position {bathroom.position})")