From cf7589ce62738da9f850cf105786f880388c01b7 Mon Sep 17 00:00:00 2001 From: NickBolles Date: Tue, 9 Oct 2018 20:06:52 -0500 Subject: [PATCH 1/4] add graphql query for the current user --- .../config/schema.graphql | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-users-permissions/config/schema.graphql b/packages/strapi-plugin-users-permissions/config/schema.graphql index 8fa826fb30..e04d44df22 100644 --- a/packages/strapi-plugin-users-permissions/config/schema.graphql +++ b/packages/strapi-plugin-users-permissions/config/schema.graphql @@ -1,9 +1,19 @@ module.exports = { type: { UsersPermissionsPermission: false // Make this type NOT queriable. - }, + }, + query: ` + me: UsersPermissionsUser + `, resolver: { Query: { + me: { + resolver: async (obj, options, ctx) => { + await strapi.plugins['users-permissions'].controllers.user.me(ctx); + + return ctx.body; + } + }, role: { resolverOf: 'UsersPermissions.getRole', resolver: async (obj, options, ctx) => { From df9f6d6aee3c1328c6ce12146d075d01c599488f Mon Sep 17 00:00:00 2001 From: NickBolles Date: Tue, 9 Oct 2018 20:06:52 -0500 Subject: [PATCH 2/4] add graphql query for the current user --- .../config/schema.graphql | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/strapi-plugin-users-permissions/config/schema.graphql b/packages/strapi-plugin-users-permissions/config/schema.graphql index 8fa826fb30..a3d78bf856 100644 --- a/packages/strapi-plugin-users-permissions/config/schema.graphql +++ b/packages/strapi-plugin-users-permissions/config/schema.graphql @@ -1,9 +1,19 @@ module.exports = { type: { UsersPermissionsPermission: false // Make this type NOT queriable. - }, + }, + query: ` + me: UsersPermissionsUser + `, resolver: { Query: { + me: { + resolverOf: 'User.me', + resolver: { + plugin: 'users-permissions', + handler: 'User.me' + } + }, role: { resolverOf: 'UsersPermissions.getRole', resolver: async (obj, options, ctx) => { From fc8931bb39b6f756d5243f34e3172b85701d1434 Mon Sep 17 00:00:00 2001 From: NickBolles Date: Sun, 14 Oct 2018 21:14:02 -0500 Subject: [PATCH 3/4] Add a special return type for the me graphql query This helps avoid returning roles and permissions that the user doesn't have access to. --- .../config/schema.graphql | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/strapi-plugin-users-permissions/config/schema.graphql b/packages/strapi-plugin-users-permissions/config/schema.graphql index a3d78bf856..ec3e2e8a13 100644 --- a/packages/strapi-plugin-users-permissions/config/schema.graphql +++ b/packages/strapi-plugin-users-permissions/config/schema.graphql @@ -1,9 +1,26 @@ module.exports = { type: { UsersPermissionsPermission: false // Make this type NOT queriable. - }, + }, + definition: ` + type UsersPermissionsMe { + _id: ID! + username: String! + email: String! + confirmed: Boolean + blocked: Boolean + role: UsersPermissionsRole + } + + type UsersPermissionsMeRole { + _id: ID! + name: String! + description: String + type: String + } + `, query: ` - me: UsersPermissionsUser + me: UsersPermissionsMe `, resolver: { Query: { From b23bbff6a10b6d336a993bff39c0e44f94ddc8e9 Mon Sep 17 00:00:00 2001 From: NickBolles Date: Mon, 15 Oct 2018 11:03:00 -0500 Subject: [PATCH 4/4] Use the UserPermissionsMeRole --- packages/strapi-plugin-users-permissions/config/schema.graphql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/strapi-plugin-users-permissions/config/schema.graphql b/packages/strapi-plugin-users-permissions/config/schema.graphql index ec3e2e8a13..c6209fd599 100644 --- a/packages/strapi-plugin-users-permissions/config/schema.graphql +++ b/packages/strapi-plugin-users-permissions/config/schema.graphql @@ -9,7 +9,7 @@ module.exports = { email: String! confirmed: Boolean blocked: Boolean - role: UsersPermissionsRole + role: UsersPermissionsMeRole } type UsersPermissionsMeRole {