Skip to content
Snippets Groups Projects
Commit f143a658 authored by Hakan Calim's avatar Hakan Calim
Browse files

NAT-328: added validation for site name

parent 0eda1167
No related branches found
No related tags found
No related merge requests found
import ipaddress import ipaddress
from typing import Any from typing import Any
from uuid import UUID from uuid import UUID
import re
from fastapi import Depends, HTTPException, status from fastapi import Depends, HTTPException, status
from fastapi.routing import APIRouter from fastapi.routing import APIRouter
...@@ -104,6 +105,15 @@ class IptrunkImportModel(BaseModel): ...@@ -104,6 +105,15 @@ class IptrunkImportModel(BaseModel):
return value return value
@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
@root_validator @root_validator
def check_members(cls, values: dict[str, Any]) -> dict[str, Any]: def check_members(cls, values: dict[str, Any]) -> dict[str, Any]:
min_links = values["iptrunk_minimum_links"] min_links = values["iptrunk_minimum_links"]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment