default to UUID for api key code if the previous one is already used

This commit is contained in:
Son Nguyen Kim 2021-09-21 11:27:37 +02:00
parent 3c81f982ca
commit 0075cee1ee
1 changed files with 5 additions and 11 deletions

View File

@ -1769,18 +1769,12 @@ class ApiKey(db.Model, ModelMixin):
user = db.relationship(User)
@classmethod
def create(cls, user_id, name):
# generate unique code
found = False
while not found:
code = random_string(60)
def create(cls, user_id, name=None, **kwargs):
code = random_string(60)
if cls.get_by(code=code):
code = str(uuid.uuid4())
if not cls.get_by(code=code):
found = True
a = cls(user_id=user_id, code=code, name=name)
db.session.add(a)
return a
return super().create(user_id=user_id, name=name, code=code, **kwargs)
class CustomDomain(db.Model, ModelMixin):