add userComments
This commit is contained in:
parent
873d05e000
commit
57d9072ba1
|
@ -1,10 +1,11 @@
|
||||||
from orm import User, UserRole, Role, UserRating
|
from orm import User, UserRole, Role, UserRating
|
||||||
from orm.user import AuthorSubscription
|
from orm.user import AuthorSubscription, UserStorage
|
||||||
|
from orm.comment import Comment
|
||||||
from orm.base import local_session
|
from orm.base import local_session
|
||||||
from resolvers.base import mutation, query, subscription
|
from resolvers.base import mutation, query, subscription
|
||||||
from auth.authenticate import login_required
|
from auth.authenticate import login_required
|
||||||
|
|
||||||
from sqlalchemy import func, and_
|
from sqlalchemy import func, and_, desc
|
||||||
from sqlalchemy.orm import selectinload
|
from sqlalchemy.orm import selectinload
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
|
@ -48,6 +49,22 @@ async def update_profile(_, info, profile):
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
@query.field("userComments")
|
||||||
|
async def user_comments(_, info, slug, page, size):
|
||||||
|
user = await UserStorage.get_user_by_slug(slug)
|
||||||
|
if not user:
|
||||||
|
return
|
||||||
|
|
||||||
|
page = page - 1
|
||||||
|
with local_session() as session:
|
||||||
|
comments = session.query(Comment).\
|
||||||
|
filter(Comment.author == user.id).\
|
||||||
|
order_by(desc(Comment.createdAt)).\
|
||||||
|
limit(size).\
|
||||||
|
offset(page * size)
|
||||||
|
|
||||||
|
return comments
|
||||||
|
|
||||||
@mutation.field("authorSubscribe")
|
@mutation.field("authorSubscribe")
|
||||||
@login_required
|
@login_required
|
||||||
async def author_subscribe(_, info, slug):
|
async def author_subscribe(_, info, slug):
|
||||||
|
|
|
@ -168,6 +168,7 @@ type Query {
|
||||||
getUsersBySlugs(slugs: [String]!): [User]!
|
getUsersBySlugs(slugs: [String]!): [User]!
|
||||||
# rateUser(shout: Int): Int!
|
# rateUser(shout: Int): Int!
|
||||||
getUserRoles(slug: String!): [Role]!
|
getUserRoles(slug: String!): [Role]!
|
||||||
|
userComments(slug: String!, page: Int!, size: Int!): [Comment]!
|
||||||
|
|
||||||
# messages
|
# messages
|
||||||
enterChat(chatId: String!, size: Int = 50): EnterChatResult!
|
enterChat(chatId: String!, size: Int = 50): EnterChatResult!
|
||||||
|
|
Loading…
Reference in New Issue
Block a user