2018-04-11 12:53:07 +02:00
|
|
|
module.exports = {
|
|
|
|
type: {
|
|
|
|
UsersPermissionsPermission: false // Make this type NOT queriable.
|
2018-10-14 21:14:02 -05:00
|
|
|
},
|
|
|
|
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
|
|
|
|
}
|
|
|
|
`,
|
2018-10-09 20:06:52 -05:00
|
|
|
query: `
|
2018-10-14 21:14:02 -05:00
|
|
|
me: UsersPermissionsMe
|
2018-10-09 20:06:52 -05:00
|
|
|
`,
|
2018-04-11 12:53:07 +02:00
|
|
|
resolver: {
|
|
|
|
Query: {
|
2018-10-09 20:06:52 -05:00
|
|
|
me: {
|
|
|
|
resolverOf: 'User.me',
|
|
|
|
resolver: {
|
|
|
|
plugin: 'users-permissions',
|
|
|
|
handler: 'User.me'
|
|
|
|
}
|
|
|
|
},
|
2018-04-11 12:53:07 +02:00
|
|
|
role: {
|
|
|
|
resolverOf: 'UsersPermissions.getRole',
|
|
|
|
resolver: async (obj, options, ctx) => {
|
|
|
|
await strapi.plugins['users-permissions'].controllers.userspermissions.getRole(ctx);
|
|
|
|
|
|
|
|
return ctx.body.role;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
roles: {
|
2018-04-12 15:57:25 +02:00
|
|
|
description: `Retrieve all the existing roles. You can't apply filters on this query.`,
|
2018-04-11 12:53:07 +02:00
|
|
|
resolverOf: 'UsersPermissions.getRoles', // Apply the `getRoles` permissions on the resolver.
|
|
|
|
resolver: async (obj, options, ctx) => {
|
|
|
|
await strapi.plugins['users-permissions'].controllers.userspermissions.getRoles(ctx);
|
|
|
|
|
|
|
|
return ctx.body.roles;
|
|
|
|
}
|
|
|
|
}
|
2018-09-10 16:05:00 +08:00
|
|
|
},
|
|
|
|
Mutation: {
|
|
|
|
createRole: {
|
|
|
|
description: 'Create a new role',
|
|
|
|
resolverOf: 'UsersPermissions.createRole',
|
|
|
|
resolver: async (obj, options, ctx) => {
|
|
|
|
await strapi.plugins['users-permissions'].controllers.userspermissions.createRole(ctx);
|
|
|
|
|
|
|
|
return { ok: true };
|
|
|
|
}
|
|
|
|
},
|
|
|
|
updateRole: {
|
|
|
|
description: 'Update an existing role',
|
|
|
|
resolverOf: 'UsersPermissions.updateRole',
|
|
|
|
resolver: async (obj, options, ctx) => {
|
|
|
|
await strapi.plugins['users-permissions'].controllers.userspermissions.updateRole(ctx);
|
|
|
|
|
|
|
|
return { ok: true };
|
|
|
|
}
|
|
|
|
},
|
|
|
|
deleteRole: {
|
|
|
|
description: 'Delete an existing role',
|
|
|
|
resolverOf: 'UsersPermissions.deleteRole',
|
|
|
|
resolver: async (obj, options, ctx) => {
|
|
|
|
await strapi.plugins['users-permissions'].controllers.userspermissions.deleteRole(ctx);
|
|
|
|
|
|
|
|
return { ok: true };
|
|
|
|
}
|
|
|
|
}
|
2018-04-11 12:53:07 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|