getUserRoles

This commit is contained in:
knst-kotov 2021-12-11 16:18:40 +03:00
parent 705731aa0e
commit d578072563
2 changed files with 6 additions and 7 deletions

View File

@ -33,17 +33,16 @@ async def authors_by_slugs(_, info, slugs):
users = session.query(User).where(User.slug in slugs) users = session.query(User).where(User.slug in slugs)
return { "authors": users } return { "authors": users }
@query.field("userRoles") @query.field("getUserRoles")
@login_required async def get_user_roles(_, info, slug):
async def user_roles(_, info):
auth = info.context["request"].auth
user_id = auth.user_id
with local_session() as session: with local_session() as session:
user = session.query(User).where(User.slug == slug).first()
roles = session.query(Role).\ roles = session.query(Role).\
options(selectinload(Role.permissions)).\ options(selectinload(Role.permissions)).\
join(UserRole).\ join(UserRole).\
where(UserRole.user_id == user_id).all() where(UserRole.user_id == user.id).all()
return roles return roles

View File

@ -131,7 +131,7 @@ type Query {
getCurrentUser: UserResult! getCurrentUser: UserResult!
getUserBySlug(slug: String!): UserResult! getUserBySlug(slug: String!): UserResult!
# rateUser(shout: Int): Int! # rateUser(shout: Int): Int!
userRoles: [Role]! getUserRoles(slug: String!): [Role]!
# messages # messages
getMessages(count: Int = 100, page: Int = 1): [Message!]! getMessages(count: Int = 100, page: Int = 1): [Message!]!