mirror of
https://github.com/strapi/strapi.git
synced 2025-07-10 10:33:53 +00:00
43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
![]() |
'use strict';
|
||
|
|
||
|
const userUID = 'plugin::users-permissions.user';
|
||
|
const roleUID = 'plugin::users-permissions.role';
|
||
|
|
||
|
module.exports = context => {
|
||
|
const { nexus, strapi } = context;
|
||
|
|
||
|
const { naming } = strapi.plugin('graphql').service('utils');
|
||
|
|
||
|
const user = strapi.getModel(userUID);
|
||
|
const role = strapi.getModel(roleUID);
|
||
|
|
||
|
const mutations = {
|
||
|
// CRUD (user & role)
|
||
|
[naming.getCreateMutationTypeName(role)]: require('./crud/role/create-role'),
|
||
|
[naming.getUpdateMutationTypeName(role)]: require('./crud/role/update-role'),
|
||
|
[naming.getDeleteMutationTypeName(role)]: require('./crud/role/delete-role'),
|
||
|
[naming.getCreateMutationTypeName(user)]: require('./crud/user/create-user'),
|
||
|
[naming.getUpdateMutationTypeName(user)]: require('./crud/user/update-user'),
|
||
|
[naming.getDeleteMutationTypeName(user)]: require('./crud/user/delete-user'),
|
||
|
|
||
|
// Other mutations
|
||
|
login: require('./auth/login'),
|
||
|
register: require('./auth/register'),
|
||
|
forgotPassword: require('./auth/forgot-password'),
|
||
|
resetPassword: require('./auth/reset-password'),
|
||
|
emailConfirmation: require('./auth/email-confirmation'),
|
||
|
};
|
||
|
|
||
|
return nexus.extendType({
|
||
|
type: 'Mutation',
|
||
|
|
||
|
definition(t) {
|
||
|
for (const [name, getConfig] of Object.entries(mutations)) {
|
||
|
const config = getConfig(context);
|
||
|
|
||
|
t.field(name, config);
|
||
|
}
|
||
|
},
|
||
|
});
|
||
|
};
|