mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-08-27 12:30:13 +03:00
fix: add duplicate name validation when updating templates
Fixes #1658 Add validation in the update_template method to check if a template with the same name already exists before updating. This prevents users from creating duplicate template names by editing existing templates. The check excludes the current template being edited to allow updating other properties without changing the name.
This commit is contained in:
parent
165209ba24
commit
1d715e146b
@ -281,6 +281,14 @@ class TemplatesService:
|
||||
if not db_template:
|
||||
raise ControllerNotFoundError(f"Template '{template_id}' not found")
|
||||
|
||||
# Check for duplicate name (excluding current template)
|
||||
if template_update.name is not None:
|
||||
existing_template = await self._templates_repo.get_template_by_name_and_version(
|
||||
template_update.name, db_template.version
|
||||
)
|
||||
if existing_template and existing_template.template_id != template_id:
|
||||
raise ControllerError(f"A template with name '{template_update.name}' already exists")
|
||||
|
||||
try:
|
||||
# validate the update settings
|
||||
update_settings = jsonable_encoder(template_update, exclude_unset=True)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user