From 66e7aa72424fa7833057e90ffb97d0d40ea08aa2 Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Thu, 31 Dec 2020 12:50:04 +0100 Subject: [PATCH] refactor --- app/dashboard/views/custom_alias.py | 11 +++++++++-- app/models.py | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/dashboard/views/custom_alias.py b/app/dashboard/views/custom_alias.py index 92ff0ffa..cb09279d 100644 --- a/app/dashboard/views/custom_alias.py +++ b/app/dashboard/views/custom_alias.py @@ -38,7 +38,8 @@ def available_suffixes(user: User) -> [bool, str, str]: # for each user domain, generate both the domain and a random suffix version for alias_domain in user_custom_domains: suffix = "@" + alias_domain.domain - suffixes.append((True, suffix, signer.sign(suffix).decode())) + suffix_info = (True, suffix, signer.sign(suffix).decode()) + suffixes.append(suffix_info) if alias_domain.random_prefix_generation: suffix = "." + random_word() + "@" + alias_domain.domain suffixes.append((True, suffix, signer.sign(suffix).decode())) @@ -46,16 +47,22 @@ def available_suffixes(user: User) -> [bool, str, str]: # then SimpleLogin domain for domain in user.available_sl_domains(): suffix = ("" if DISABLE_ALIAS_SUFFIX else "." + random_word()) + "@" + domain - suffixes.append((False, suffix, signer.sign(suffix).decode())) + suffix_info = (False, suffix, signer.sign(suffix).decode()) + suffixes.append(suffix_info) return suffixes @dataclass class SuffixInfo: + """Alias suffix info""" + + # whether this is a custom domain is_custom: bool suffix: str signed_suffix: str + + # whether this is a premium SL domain. Not apply to custom domain is_premium: bool diff --git a/app/models.py b/app/models.py index a413d1ab..db0afaac 100644 --- a/app/models.py +++ b/app/models.py @@ -508,7 +508,7 @@ class User(db.Model, ModelMixin, UserMixin): else: return sub - def verified_custom_domains(self) -> ["CustomDomain"]: + def verified_custom_domains(self) -> List["CustomDomain"]: return CustomDomain.query.filter_by(user_id=self.id, verified=True).all() def mailboxes(self) -> List["Mailbox"]: @@ -621,7 +621,7 @@ class User(db.Model, ModelMixin, UserMixin): """ return [sl_domain.domain for sl_domain in self.get_sl_domains()] - def get_sl_domains(self) -> ["SLDomain"]: + def get_sl_domains(self) -> List["SLDomain"]: if self.is_premium(): query = SLDomain.query else: