Skip to content
Snippets Groups Projects
Commit 9b396ae7 authored by Hakan Calim's avatar Hakan Calim Committed by Neda Moeini
Browse files

NAT-328: added validation for site name

parent 5eb16468
No related branches found
No related tags found
1 merge request!97Feature/nat 328 site names should be validated
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