Skip to content

Queries

components.payment_gateway.subcomponents.accounts.business_logic.queries.account_holder_queries

AccountHolderQueries

This class contains all the queries related to account holders.

get_account_holder

get_account_holder(session, /, id)

Get an account holder entity from its ID.

Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_holder_queries.py
def get_account_holder(
    self,
    session: Session,
    /,
    id: AccountHolderId,
) -> AccountHolder:
    """
    Get an account holder entity from its ID.
    """

    with raise_if_account_holder_not_found(id):
        account_holder = AccountHolderModelBroker.get_account_holder(session, id=id)

    raise_on_terminated_account_holder(account_holder)

    return AccountHolder(
        id=AccountHolderId(account_holder.id),
        description=account_holder.description,
        reference=account_holder.reference,
        external_id=account_holder.external_id,
    )

get_account_holder_id_by_external_id

get_account_holder_id_by_external_id(
    session, /, provider, external_id
)

Get an account holder entity from its external ID.

Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_holder_queries.py
def get_account_holder_id_by_external_id(
    self,
    session: Session,
    /,
    provider: PaymentServiceProvider,
    external_id: str,
) -> AccountHolderId:
    """
    Get an account holder entity from its external ID.
    """

    with raise_if_account_holder_not_found_for_external_id(external_id):
        account_holder_id = (
            AccountHolderModelBroker.get_account_holder_id_by_external_id(
                session,
                provider=provider,
                external_id=external_id,
            )
        )

    return AccountHolderId(account_holder_id)

components.payment_gateway.subcomponents.accounts.business_logic.queries.account_queries

AccountQueries

This class contains all the queries related to accounts.

get_account

get_account(session, /, id)

Get an account entity from its ID.

Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_queries.py
def get_account(
    self,
    session: Session,
    /,
    id: AccountId,
) -> Account:
    """
    Get an account entity from its ID.
    """

    with raise_if_account_not_found(id):
        account = AccountModelBroker.get_account(session, id=id)

    raise_on_terminated_account(account)

    return _to_account(account)

get_account_id_by_external_id

get_account_id_by_external_id(
    session, /, provider, external_id
)
Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_queries.py
def get_account_id_by_external_id(
    self,
    session: Session,
    /,
    provider: PaymentServiceProvider,
    external_id: str,
) -> AccountId:
    account_id = AccountModelBroker.get_account_id_by_external_id(
        session,
        provider=provider,
        external_id=external_id,
    )

    return AccountId(account_id)

get_account_ids_for_account_holder

get_account_ids_for_account_holder(
    session, /, account_holder_id
)

Get all the account IDs for an account holder.

Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_queries.py
def get_account_ids_for_account_holder(
    self,
    session: Session,
    /,
    account_holder_id: AccountHolderId,
) -> list[AccountId]:
    """
    Get all the account IDs for an account holder.
    """

    return [
        AccountId(account_id)
        for account_id in AccountModelBroker.list_account_ids_for_account_holder(
            session, account_holder_id=account_holder_id
        )
    ]

get_accounts_for_account_holder

get_accounts_for_account_holder(
    session, /, account_holder_id
)

Get all the accounts for an account holder.

Source code in components/payment_gateway/subcomponents/accounts/business_logic/queries/account_queries.py
def get_accounts_for_account_holder(
    self,
    session: Session,
    /,
    account_holder_id: AccountHolderId,
) -> list[Account]:
    """
    Get all the accounts for an account holder.
    """

    return [
        _to_account(account)
        for account in AccountModelBroker.list_accounts_for_account_holder(
            session, account_holder_id=account_holder_id
        )
    ]