Skip to content

Queries

components.payment_gateway.subcomponents.rules.business_logic.queries.expense_limit_rule_queries

ExpenseLimitRuleQueries

This class contains all the queries related to expense limit rules.

get_expense_limit_rule

get_expense_limit_rule(session, /, id)

Get an expense limit rule entity from its ID.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/expense_limit_rule_queries.py
def get_expense_limit_rule(
    self,
    session: Session,
    /,
    id: ExpenseLimitRuleId,
) -> ExpenseLimitRule:
    """
    Get an expense limit rule entity from its ID.
    """

    with raise_if_expense_limit_rule_not_found(id):
        expense_limit_rule = ExpenseLimitRuleModelBroker.get_expense_limit_rule(
            session, id=id
        )

    raise_on_terminated_expense_limit_rule(expense_limit_rule)

    return _to_expense_limit_rule(expense_limit_rule)

get_expense_limit_rule_ids_for_card

get_expense_limit_rule_ids_for_card(session, /, card_id)

Get all the expense limit rule IDs for a card.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/expense_limit_rule_queries.py
def get_expense_limit_rule_ids_for_card(
    self,
    session: Session,
    /,
    card_id: CardId,
) -> list[ExpenseLimitRuleId]:
    """
    Get all the expense limit rule IDs for a card.
    """

    return [
        ExpenseLimitRuleId(expense_limit_rule_id)
        for expense_limit_rule_id in ExpenseLimitRuleModelBroker.list_expense_limit_rule_ids_for_card(
            session, card_id=card_id
        )
    ]

get_expense_limit_rules_for_card

get_expense_limit_rules_for_card(session, /, card_id)

Get all the expense limits rules for a card.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/expense_limit_rule_queries.py
def get_expense_limit_rules_for_card(
    self,
    session: Session,
    /,
    card_id: CardId,
) -> list[ExpenseLimitRule]:
    """
    Get all the expense limits rules for a card.
    """

    return [
        _to_expense_limit_rule(expense_limit_rule)
        for expense_limit_rule in ExpenseLimitRuleModelBroker.list_expense_limit_rules_for_card(
            session, card_id=card_id
        )
    ]

components.payment_gateway.subcomponents.rules.business_logic.queries.helpers

to_rule_criterion

to_rule_criterion(criterion)
Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/helpers.py
def to_rule_criterion(criterion: dict) -> RuleCriterion:  # type: ignore[type-arg]
    match criterion["_type"]:
        case "CountryCriterion":
            return CountryCriterion.from_dict(criterion)
        case "ProcessingTypeCriterion":
            return ProcessingTypeCriterion.from_dict(criterion)
        case "MCCCriterion":
            return MCCCriterion.from_dict(criterion)
        case "MerchantCriterion":
            return MerchantCriterion.from_dict(criterion)
        case "CurrencyCriterion":
            return CurrencyCriterion.from_dict(criterion)
        case _:
            raise NotImplementedError("Unknown criterion type: " + criterion["_type"])

components.payment_gateway.subcomponents.rules.business_logic.queries.usage_restriction_rule_queries

UsageRestrictionRuleQueries

This class contains all the queries related to usage restriction rules.

get_usage_restriction_rule

get_usage_restriction_rule(session, /, id)

Get a usage restriction rule entity from its ID.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/usage_restriction_rule_queries.py
def get_usage_restriction_rule(
    self,
    session: Session,
    /,
    id: UsageRestrictionRuleId,
) -> UsageRestrictionRule:
    """
    Get a usage restriction rule entity from its ID.
    """

    with raise_if_usage_restriction_rule_not_found(id):
        usage_restriction_rule = (
            UsageRestrictionRuleModelBroker.get_usage_restriction_rule(
                session, id=id
            )
        )

    raise_on_terminated_usage_restriction_rule(usage_restriction_rule)

    return _to_usage_restriction_rule(usage_restriction_rule)

get_usage_restriction_rule_ids_for_account

get_usage_restriction_rule_ids_for_account(
    session, /, account_id
)

Get all the usage restriction rule IDs for an account.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/usage_restriction_rule_queries.py
def get_usage_restriction_rule_ids_for_account(
    self,
    session: Session,
    /,
    account_id: AccountId,
) -> list[UsageRestrictionRuleId]:
    """
    Get all the usage restriction rule IDs for an account.
    """

    return [
        UsageRestrictionRuleId(usage_restriction_rule_id)
        for usage_restriction_rule_id in UsageRestrictionRuleModelBroker.list_usage_restriction_rule_ids_for_account(
            session, account_id=account_id
        )
    ]

get_usage_restriction_rules_for_account

get_usage_restriction_rules_for_account(
    session, /, account_id
)

Get all the usage restrictions rules for an account.

Source code in components/payment_gateway/subcomponents/rules/business_logic/queries/usage_restriction_rule_queries.py
def get_usage_restriction_rules_for_account(
    self,
    session: Session,
    /,
    account_id: AccountId,
) -> list[UsageRestrictionRule]:
    """
    Get all the usage restrictions rules for an account.
    """

    return [
        _to_usage_restriction_rule(usage_restriction_rule)
        for usage_restriction_rule in UsageRestrictionRuleModelBroker.list_usage_restriction_rules_for_account(
            session, account_id=account_id
        )
    ]