Skip to content

Partner

Helper methods for Partners that make database interactions easier.

get_active_commercial_peer_by_partner_id(partner_id)

Get a commercial peer subscription by partner ID.

Parameters:

Name Type Description Default
partner_id UUIDstr

The ID of the partner.

required

Returns:

Type Description
SubscriptionModel | None

A SubscriptionModel object representing the commercial peer subscription, or None if not found.

Source code in gso/services/subscriptions/partner.py
def get_active_commercial_peer_by_partner_id(partner_id: UUIDstr) -> SubscriptionModel | None:
    """Get a commercial peer subscription by partner ID.

    Args:
        partner_id: The ID of the partner.

    Returns:
        A SubscriptionModel object representing the commercial peer subscription, or None if not found.
    """
    results = get_subscriptions(
        product_types=[ProductType.COMMERCIAL_PEER],
        partner_id=partner_id,
        includes=["subscription_id"],
        lifecycles=[SubscriptionLifecycle.ACTIVE],
    )

    if results:
        return SubscriptionModel.from_subscription(results[0]["subscription_id"])
    return None

get_partners_that_should_have_prefix_list()

Get a list of all partners that should have a Prefix List subscription.

Source code in gso/services/subscriptions/partner.py
def get_partners_that_should_have_prefix_list() -> list[PartnerTable]:
    """Get a list of all partners that should have a Prefix List subscription."""
    partner_ids = list({
        item["customer_id"]
        for item in get_subscriptions(
            product_types=[ProductType.IAS, ProductType.R_AND_E_PEER, ProductType.GEANT_IP],
            lifecycles=[SubscriptionLifecycle.PROVISIONING, SubscriptionLifecycle.ACTIVE],
            includes=["customer_id"],
        )
    })

    return [get_partner_by_id(partner_id) for partner_id in partner_ids]