add rateUser

This commit is contained in:
knst-kotov 2022-02-16 15:38:05 +03:00
parent 08c00d950f
commit 411470e5ef
2 changed files with 24 additions and 2 deletions

View File

@ -81,6 +81,29 @@ async def user_subscribers(_, info, slug):
where(AuthorSubscription.author == slug) where(AuthorSubscription.author == slug)
return users return users
@mutation.field("rateUser")
@login_required
async def rate_user(_, info, slug, value):
user = info.context["request"].user
with local_session() as session:
rating = session.query(UserRating).\
filter(and_(UserRating.rater == user.slug, UserRating.user == slug)).\
first()
if rating:
rating.value = value
session.commit()
return {}
UserRating.create(
rater = user.slug,
user = slug,
value = value
)
return {}
@mutation.field("authorSubscribe") @mutation.field("authorSubscribe")
@login_required @login_required
async def author_subscribe(_, info, slug): async def author_subscribe(_, info, slug):

View File

@ -132,7 +132,7 @@ type Mutation {
viewShout(slug: String!): Result! viewShout(slug: String!): Result!
# user profile # user profile
# rateUser(value: Int!): Result! rateUser(slug: String!, value: Int!): Result!
# updateOnlineStatus: Result! # updateOnlineStatus: Result!
updateProfile(profile: ProfileInput!): Result! updateProfile(profile: ProfileInput!): Result!
@ -166,7 +166,6 @@ type Query {
# profile # profile
getCurrentUser: UserResult! getCurrentUser: UserResult!
getUsersBySlugs(slugs: [String]!): [User]! getUsersBySlugs(slugs: [String]!): [User]!
# rateUser(shout: Int): Int!
getUserRoles(slug: String!): [Role]! getUserRoles(slug: String!): [Role]!
userComments(slug: String!, page: Int!, size: Int!): [Comment]! userComments(slug: String!, page: Int!, size: Int!): [Comment]!
userSubscriptions(slug: String!): [User]! userSubscriptions(slug: String!): [User]!