66 lines
1.9 KiB
GraphQL
Raw Normal View History

module.exports = {
type: {
UsersPermissionsPermission: false // Make this type NOT queriable.
2018-10-09 20:06:52 -05:00
},
query: `
me: UsersPermissionsUser
`,
resolver: {
Query: {
2018-10-09 20:06:52 -05:00
me: {
resolverOf: 'User.me',
resolver: {
plugin: 'users-permissions',
handler: 'User.me'
}
},
role: {
resolverOf: 'UsersPermissions.getRole',
resolver: async (obj, options, ctx) => {
await strapi.plugins['users-permissions'].controllers.userspermissions.getRole(ctx);
return ctx.body.role;
}
},
roles: {
description: `Retrieve all the existing roles. You can't apply filters on this query.`,
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;
}
}
},
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 };
}
}
}
}
};