paginated topics and authors
This commit is contained in:
parent
c15f2578b7
commit
e4542ec5ca
|
@ -160,5 +160,8 @@ def author_unfollow(user, slug):
|
|||
session.commit()
|
||||
|
||||
@query.field("authorsAll")
|
||||
def get_authors_all(_, info):
|
||||
return UserStorage.get_all_users()
|
||||
def get_authors_all(_, info, page, size):
|
||||
end = page * size
|
||||
start = end - size
|
||||
return UserStorage.get_all_users()[start:end]
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ from auth.authenticate import login_required
|
|||
from sqlalchemy import and_
|
||||
|
||||
@query.field("topicsAll")
|
||||
async def topics_by_slugs(_, info, page = 1, size = 50):
|
||||
async def topics_all(_, info, page = 1, size = 50):
|
||||
topics = await TopicStorage.get_topics_all(page, size)
|
||||
for topic in topics:
|
||||
topic.stat = await TopicStat.get_stat(topic.slug)
|
||||
|
|
|
@ -221,7 +221,7 @@ type Query {
|
|||
userFollowedCommunities(slug: String!): [Community]!
|
||||
userReactedShouts(slug: String!): [Shout]! # test
|
||||
getUserRoles(slug: String!): [Role]!
|
||||
authorsAll: [User]!
|
||||
authorsAll(page: Int!, size: Int!): [User]!
|
||||
|
||||
# shouts
|
||||
getShoutBySlug(slug: String!): Shout!
|
||||
|
|
|
@ -27,10 +27,12 @@ class TopicStorage:
|
|||
return topic
|
||||
|
||||
@staticmethod
|
||||
async def get_topics_all():
|
||||
async def get_topics_all(page, size):
|
||||
end = page * size
|
||||
start = end - size
|
||||
self = TopicStorage
|
||||
async with self.lock:
|
||||
return self.topics.values()
|
||||
return self.topics.values()[start:end]
|
||||
|
||||
@staticmethod
|
||||
async def get_topics_by_slugs(slugs):
|
||||
|
|
Loading…
Reference in New Issue
Block a user