Skip to content

Commit 6d549f2

Browse files
fix(controller): force uniqueness for default app name.
1 parent 7c8c60b commit 6d549f2

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

controller/api/models.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,16 @@ class Meta:
129129
abstract = True
130130

131131

132+
def select_app_name():
133+
"""Select a unique randomly generated app name"""
134+
name = utils.generate_app_name()
135+
136+
while App.objects.filter(id=name).exists():
137+
name = utils.generate_app_name()
138+
139+
return name
140+
141+
132142
class UuidAuditedModel(AuditedModel):
133143
"""Add a UUID primary key to an :class:`AuditedModel`."""
134144

@@ -146,7 +156,7 @@ class App(UuidAuditedModel):
146156
"""
147157

148158
owner = models.ForeignKey(settings.AUTH_USER_MODEL)
149-
id = models.SlugField(max_length=64, unique=True, default=utils.generate_app_name,
159+
id = models.SlugField(max_length=64, unique=True, default=select_app_name,
150160
validators=[validate_id_is_docker_compatible,
151161
validate_reserved_names])
152162
structure = JSONField(default={}, blank=True, validators=[validate_app_structure])

0 commit comments

Comments
 (0)