fixes
This commit is contained in:
parent
372185e336
commit
47bc3adb69
|
@ -32,6 +32,8 @@ async def update_author(_, info, profile):
|
|||
Author.update(author, profile)
|
||||
session.add(author)
|
||||
session.commit()
|
||||
[author] = get_with_stat(select(Author).where(Author.user == user_id))
|
||||
await cache_author(author.dict())
|
||||
return {"error": None, "author": author}
|
||||
except Exception as exc:
|
||||
import traceback
|
||||
|
|
|
@ -21,7 +21,7 @@ async def cache_author(author: dict):
|
|||
# update stat all field for followers' caches in <authors> list
|
||||
followers_str = await redis.execute("GET", f'author:{author.get("id")}:followers')
|
||||
followers = []
|
||||
if followers_str:
|
||||
if isinstance(followers_str, str):
|
||||
followers = json.loads(followers_str)
|
||||
if isinstance(followers, list):
|
||||
for follower in followers:
|
||||
|
|
|
@ -36,16 +36,19 @@ class WebhookEndpoint(HTTPEndpoint):
|
|||
email: str = user.get("email", "")
|
||||
pic: str = user.get("picture", "")
|
||||
if user_id:
|
||||
|
||||
with local_session() as session:
|
||||
author = session.query(Author).filter(Author.user == user_id).first()
|
||||
author = (
|
||||
session.query(Author).filter(Author.user == user_id).first()
|
||||
)
|
||||
if not author:
|
||||
# If the author does not exist, create a new one
|
||||
slug: str = email.split("@")[0].replace(".", "-").lower()
|
||||
slug: str = re.sub("[^0-9a-z]+", "-", slug)
|
||||
while True:
|
||||
author = (
|
||||
session.query(Author).filter(Author.slug == slug).first()
|
||||
session.query(Author)
|
||||
.filter(Author.slug == slug)
|
||||
.first()
|
||||
)
|
||||
if not author:
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue
Block a user