fix-circular
All checks were successful
Deploy to core / deploy (push) Successful in 1m59s

This commit is contained in:
Untone 2024-02-21 12:34:12 +03:00
parent 762857ffbe
commit 73f020ae5d
3 changed files with 16 additions and 17 deletions

View File

@ -1,6 +1,7 @@
from resolvers.author import ( from resolvers.author import (
get_author, get_author,
get_author_follows, get_author_follows,
get_author_followers,
get_author_id, get_author_id,
get_authors_all, get_authors_all,
load_authors_by, load_authors_by,
@ -14,7 +15,6 @@ from resolvers.follower import (
unfollow, unfollow,
get_topic_followers, get_topic_followers,
get_shout_followers, get_shout_followers,
get_author_followers,
) )
from resolvers.reaction import ( from resolvers.reaction import (
create_reaction, create_reaction,

View File

@ -307,3 +307,18 @@ async def create_author(user_id: str, slug: str, name: str = ""):
session.add(new_author) session.add(new_author)
session.commit() session.commit()
logger.info(f"author created by webhook {new_author.dict()}") logger.info(f"author created by webhook {new_author.dict()}")
@query.field("get_author_followers")
async def get_author_followers(_, _info, slug) -> List[Author]:
q = select(Author)
q = add_author_stat_columns(q)
aliased_author = aliased(Author)
q = (
q.join(AuthorFollower, AuthorFollower.follower == Author.id)
.join(aliased_author, aliased_author.id == AuthorFollower.author)
.where(aliased_author.slug == slug)
)
return await get_authors_from_query(q)

View File

@ -10,7 +10,6 @@ from orm.author import Author, AuthorFollower
from orm.reaction import Reaction from orm.reaction import Reaction
from orm.shout import Shout, ShoutReactionsFollower from orm.shout import Shout, ShoutReactionsFollower
from orm.topic import Topic, TopicFollower from orm.topic import Topic, TopicFollower
from resolvers.author import add_author_stat_columns, get_authors_from_query
from resolvers.community import community_follow, community_unfollow from resolvers.community import community_follow, community_unfollow
from resolvers.topic import ( from resolvers.topic import (
topic_follow, topic_follow,
@ -238,21 +237,6 @@ async def get_topic_followers(_, _info, slug: str, topic_id: int) -> List[Author
return await get_topics_from_query(q) return await get_topics_from_query(q)
@query.field("get_author_followers")
async def get_author_followers(_, _info, slug) -> List[Author]:
q = select(Author)
q = add_author_stat_columns(q)
aliased_author = aliased(Author)
q = (
q.join(AuthorFollower, AuthorFollower.follower == Author.id)
.join(aliased_author, aliased_author.id == AuthorFollower.author)
.where(aliased_author.slug == slug)
)
return await get_authors_from_query(q)
@query.field("get_shout_followers") @query.field("get_shout_followers")
def get_shout_followers( def get_shout_followers(
_, _info, slug: str = "", shout_id: int | None = None _, _info, slug: str = "", shout_id: int | None = None