Skip to content

Db

domain.expense.ports.db

Summary

Mongo persistence for expenses: document schema with populated references and repository factory.

Classes

ExpenseDocument

Bases: Expense, BaseDocument

Mongo document form of :class:Expense with populated references.

Attributes:

Name Type Description
entity EntityDocument

Populated payee entity document.

account AccountDocument

Populated account document.

tags List[TagDocument]

Populated tag documents.

Functions

create_expense_repo

1
2
3
create_expense_repo(
    entity_repo: Any, account_repo: Any, tag_repo: Any
)

Create a Mongo-backed expense repository wired for reference population.

Parameters:

Name Type Description Default
entity_repo Any

Entity repository used to populate entity.

required
account_repo Any

Account repository used to populate account.

required
tag_repo Any

Tag repository used to populate tags.

required

Returns:

Name Type Description
Any

Mongo-backed expense repository configured with entity, account, and tag population rules.