caches: cleanup code
- emails from cache should skip default user as that user does not have extra emails
This commit is contained in:
parent
0c2d385eb8
commit
061c3d3f5e
4 changed files with 21 additions and 18 deletions
|
|
@ -693,13 +693,15 @@ class User(Base, BaseModel):
|
|||
return [self.email] + [x.email for x in other]
|
||||
|
||||
def emails_cached(self):
|
||||
emails = UserEmailMap.query()\
|
||||
.filter(UserEmailMap.user == self) \
|
||||
.order_by(UserEmailMap.email_id.asc())
|
||||
emails = []
|
||||
if self.user_id != self.get_default_user_id():
|
||||
emails = UserEmailMap.query()\
|
||||
.filter(UserEmailMap.user == self) \
|
||||
.order_by(UserEmailMap.email_id.asc())
|
||||
|
||||
emails = emails.options(
|
||||
FromCache("sql_cache_short", "get_user_{}_emails".format(self.user_id))
|
||||
)
|
||||
emails = emails.options(
|
||||
FromCache("sql_cache_short", f"get_user_{self.user_id}_emails")
|
||||
)
|
||||
|
||||
return [self.email] + [x.email for x in emails]
|
||||
|
||||
|
|
@ -724,7 +726,7 @@ class User(Base, BaseModel):
|
|||
.filter(UserApiKeys.role == UserApiKeys.ROLE_FEED)
|
||||
if cache:
|
||||
feed_tokens = feed_tokens.options(
|
||||
FromCache("sql_cache_short", "get_user_feed_token_%s" % self.user_id))
|
||||
FromCache("sql_cache_short", f"get_user_feed_token_{self.user_id}"))
|
||||
|
||||
feed_tokens = feed_tokens.all()
|
||||
if feed_tokens:
|
||||
|
|
@ -744,7 +746,7 @@ class User(Base, BaseModel):
|
|||
|
||||
if cache:
|
||||
artifacts_tokens = artifacts_tokens.options(
|
||||
FromCache("sql_cache_short", "get_user_artifact_token_%s" % self.user_id))
|
||||
FromCache("sql_cache_short", f"get_user_artifact_token_{self.user_id}"))
|
||||
|
||||
artifacts_tokens = artifacts_tokens.all()
|
||||
if artifacts_tokens:
|
||||
|
|
@ -777,7 +779,7 @@ class User(Base, BaseModel):
|
|||
user = cls.query()
|
||||
if cache:
|
||||
user = user.options(
|
||||
FromCache("sql_cache_short", "get_users_%s" % user_id))
|
||||
FromCache("sql_cache_short", f"get_users_{user_id}"))
|
||||
return user.get(user_id)
|
||||
|
||||
@classmethod
|
||||
|
|
@ -858,7 +860,7 @@ class User(Base, BaseModel):
|
|||
|
||||
@property
|
||||
def username_or_name_or_email(self):
|
||||
full_name = self.full_name if self.full_name is not ' ' else None
|
||||
full_name = self.full_name if self.full_name != ' ' else None
|
||||
return self.username or full_name or self.email
|
||||
|
||||
@property
|
||||
|
|
@ -943,7 +945,7 @@ class User(Base, BaseModel):
|
|||
UserApiKeys.expires >= time.time()))
|
||||
if cache:
|
||||
q = q.options(
|
||||
FromCache("sql_cache_short", "get_auth_token_%s" % auth_token))
|
||||
FromCache("sql_cache_short", f"get_auth_token_{auth_token}"))
|
||||
|
||||
match = q.first()
|
||||
if match:
|
||||
|
|
@ -961,7 +963,7 @@ class User(Base, BaseModel):
|
|||
email_key = _hash_key(email)
|
||||
if cache:
|
||||
q = q.options(
|
||||
FromCache("sql_cache_short", "get_email_key_%s" % email_key))
|
||||
FromCache("sql_cache_short", f"get_email_key_{email_key}"))
|
||||
|
||||
ret = q.scalar()
|
||||
if ret is None:
|
||||
|
|
@ -974,7 +976,7 @@ class User(Base, BaseModel):
|
|||
q = q.options(joinedload(UserEmailMap.user))
|
||||
if cache:
|
||||
q = q.options(
|
||||
FromCache("sql_cache_short", "get_email_map_key_%s" % email_key))
|
||||
FromCache("sql_cache_short", f"get_email_map_key_{email_key}"))
|
||||
ret = getattr(q.scalar(), 'user', None)
|
||||
|
||||
return ret
|
||||
|
|
@ -1486,8 +1488,9 @@ class UserGroup(Base, BaseModel):
|
|||
else:
|
||||
q = cls.query().filter(cls.users_group_name == group_name)
|
||||
if cache:
|
||||
name_key = _hash_key(group_name)
|
||||
q = q.options(
|
||||
FromCache("sql_cache_short", "get_group_%s" % _hash_key(group_name)))
|
||||
FromCache("sql_cache_short", f"get_group_{name_key}"))
|
||||
return q.scalar()
|
||||
|
||||
@classmethod
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ class RepoModel(BaseModel):
|
|||
if cache:
|
||||
name_key = _hash_key(repo_name)
|
||||
repo = repo.options(
|
||||
FromCache("sql_cache_short", "get_repo_%s" % name_key))
|
||||
FromCache("sql_cache_short", f"get_repo_{name_key}"))
|
||||
return repo.scalar()
|
||||
|
||||
def _extract_id_from_repo_name(self, repo_name):
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ class RepoGroupModel(BaseModel):
|
|||
if cache:
|
||||
name_key = _hash_key(repo_group_name)
|
||||
repo = repo.options(
|
||||
FromCache("sql_cache_short", "get_repo_group_%s" % name_key))
|
||||
FromCache("sql_cache_short", f"get_repo_group_{name_key}"))
|
||||
return repo.scalar()
|
||||
|
||||
def get_default_create_personal_repo_group(self):
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class UserModel(BaseModel):
|
|||
user = self.sa.query(User)
|
||||
if cache:
|
||||
user = user.options(
|
||||
FromCache("sql_cache_short", "get_user_%s" % user_id))
|
||||
FromCache("sql_cache_short", f"get_user_{user_id}"))
|
||||
return user.get(user_id)
|
||||
|
||||
def get_user(self, user):
|
||||
|
|
@ -118,7 +118,7 @@ class UserModel(BaseModel):
|
|||
if cache:
|
||||
name_key = _hash_key(username)
|
||||
user = user.options(
|
||||
FromCache("sql_cache_short", "get_user_%s" % name_key))
|
||||
FromCache("sql_cache_short", f"get_user_{name_key}"))
|
||||
return user.scalar()
|
||||
|
||||
def get_by_email(self, email, cache=False, case_insensitive=False):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue