From 68899d73d37c34157eb4a4822433be7aa955502c Mon Sep 17 00:00:00 2001
From: Neda Moeini <neda.moeini@geant.org>
Date: Fri, 16 May 2025 16:41:18 +0200
Subject: [PATCH] Add prefix limit to Commercial Peer models

---
 gso/products/product_blocks/commercial_peer.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gso/products/product_blocks/commercial_peer.py b/gso/products/product_blocks/commercial_peer.py
index 61891dd8a..9cb8878bb 100644
--- a/gso/products/product_blocks/commercial_peer.py
+++ b/gso/products/product_blocks/commercial_peer.py
@@ -2,6 +2,7 @@
 
 from orchestrator.domain.base import ProductBlockModel
 from orchestrator.types import SubscriptionLifecycle
+from pydantic import NonNegativeInt
 from pydantic_forms.types import strEnum
 
 from gso.products.product_blocks.bgp_session import BGPSession, BGPSessionInactive, BGPSessionProvisioning
@@ -52,16 +53,19 @@ class CommercialPeerBlockInactive(
 ):
     """A Commercial Peer that's not yet provisioned. See ``CommercialPeerBlock``."""
 
-    peering_connection: list[PeeringConnectionInactive]
+    peering_connection: list[PeeringConnectionInactive]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None
 
 
 class CommercialPeerBlockProvisioning(CommercialPeerBlockInactive, lifecycle=[SubscriptionLifecycle.PROVISIONING]):
     """An CommercialPeer that's being provisioned. See ``CommercialPeerBlock``."""
 
-    peering_connection: list[PeeringConnectionProvisioning]
+    peering_connection: list[PeeringConnectionProvisioning]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None
 
 
 class CommercialPeerBlock(CommercialPeerBlockProvisioning, lifecycle=[SubscriptionLifecycle.ACTIVE]):
     """An Internet Exchange Port that's active."""
 
-    peering_connection: list[PeeringConnection]
+    peering_connection: list[PeeringConnection]  # type: ignore[assignment]
+    prefix_limit: NonNegativeInt | None = None
-- 
GitLab