From d5780725637450ee2f1382d014d269d0cbb05870 Mon Sep 17 00:00:00 2001 From: knst-kotov Date: Sat, 11 Dec 2021 16:18:40 +0300 Subject: [PATCH] getUserRoles --- resolvers/profile.py | 11 +++++------ schema.graphql | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/resolvers/profile.py b/resolvers/profile.py index dcfabad6..e729070e 100644 --- a/resolvers/profile.py +++ b/resolvers/profile.py @@ -33,17 +33,16 @@ async def authors_by_slugs(_, info, slugs): users = session.query(User).where(User.slug in slugs) return { "authors": users } -@query.field("userRoles") -@login_required -async def user_roles(_, info): - auth = info.context["request"].auth - user_id = auth.user_id +@query.field("getUserRoles") +async def get_user_roles(_, info, slug): with local_session() as session: + user = session.query(User).where(User.slug == slug).first() + roles = session.query(Role).\ options(selectinload(Role.permissions)).\ join(UserRole).\ - where(UserRole.user_id == user_id).all() + where(UserRole.user_id == user.id).all() return roles diff --git a/schema.graphql b/schema.graphql index b49aeced..7136362c 100644 --- a/schema.graphql +++ b/schema.graphql @@ -131,7 +131,7 @@ type Query { getCurrentUser: UserResult! getUserBySlug(slug: String!): UserResult! # rateUser(shout: Int): Int! - userRoles: [Role]! + getUserRoles(slug: String!): [Role]! # messages getMessages(count: Int = 100, page: Int = 1): [Message!]!