Skip to content
Snippets Groups Projects

Feature/nat 328 site names should be validated

Merged Hakan Calim requested to merge feature/NAT-328-Site-names-should-be-validated into develop
1 file
+ 2
8
Compare changes
  • Side-by-side
  • Inline
  • 9446a4c5
    NAT-328: updated site name validation by a utils helper func · 9446a4c5
    Hakan Calim authored
+ 2
8
import ipaddress
import re
from typing import Any
from uuid import UUID
@@ -16,7 +15,7 @@ from gso.products.product_blocks.router import RouterRole, RouterVendor
from gso.products.product_blocks.site import SiteTier
from gso.services import subscriptions
from gso.services.crm import CustomerNotFoundError, get_customer_by_name
from gso.utils.helpers import LAGMember
from gso.utils.helpers import LAGMember, validate_site_name
router = APIRouter(prefix="/imports", tags=["Imports"], dependencies=[Depends(opa_security_default)])
@@ -41,12 +40,7 @@ class SiteImportModel(BaseModel):
@validator("site_name", allow_reuse=True)
def site_name_must_be_valid(cls, site_name: str) -> str:
# Accept 3 chapital letters and only one ditigt after capital letters.
pattern = re.compile(r"^[A-Z]{3}[0-9]?$")
if not bool(pattern.match(site_name)):
raise ValueError(f"Enter a valid site name similar looks like AMS, AMS1or LON9. Get: {site_name}")
return site_name
return validate_site_name(site_name)
class RouterImportModel(BaseModel):
Loading