2021-09-27 17:17:24 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const userUID = 'plugin::users-permissions.user';
|
|
|
|
const roleUID = 'plugin::users-permissions.role';
|
|
|
|
|
|
|
|
module.exports = ({ strapi }) => {
|
|
|
|
const { naming } = strapi.plugin('graphql').service('utils');
|
|
|
|
|
|
|
|
const user = strapi.getModel(userUID);
|
|
|
|
const role = strapi.getModel(roleUID);
|
|
|
|
|
|
|
|
const createRole = naming.getCreateMutationTypeName(role);
|
|
|
|
const updateRole = naming.getUpdateMutationTypeName(role);
|
|
|
|
const deleteRole = naming.getDeleteMutationTypeName(role);
|
|
|
|
const createUser = naming.getCreateMutationTypeName(user);
|
|
|
|
const updateUser = naming.getUpdateMutationTypeName(user);
|
|
|
|
const deleteUser = naming.getDeleteMutationTypeName(user);
|
|
|
|
|
|
|
|
return {
|
|
|
|
// Disabled auth for some operations
|
|
|
|
'Mutation.login': { auth: false },
|
|
|
|
'Mutation.register': { auth: false },
|
|
|
|
'Mutation.forgotPassword': { auth: false },
|
|
|
|
'Mutation.resetPassword': { auth: false },
|
|
|
|
'Mutation.emailConfirmation': { auth: false },
|
2022-08-02 20:58:37 +02:00
|
|
|
'Mutation.changePassword': {
|
|
|
|
auth: {
|
|
|
|
scope: 'plugin::users-permissions.auth.changePassword',
|
|
|
|
},
|
|
|
|
},
|
2021-09-27 17:17:24 +02:00
|
|
|
|
|
|
|
// Scoped auth for replaced CRUD operations
|
|
|
|
// Role
|
2022-02-10 17:08:59 +09:00
|
|
|
[`Mutation.${createRole}`]: { auth: { scope: [`${roleUID}.createRole`] } },
|
|
|
|
[`Mutation.${updateRole}`]: { auth: { scope: [`${roleUID}.updateRole`] } },
|
|
|
|
[`Mutation.${deleteRole}`]: { auth: { scope: [`${roleUID}.deleteRole`] } },
|
2021-09-27 17:17:24 +02:00
|
|
|
// User
|
|
|
|
[`Mutation.${createUser}`]: { auth: { scope: [`${userUID}.create`] } },
|
|
|
|
[`Mutation.${updateUser}`]: { auth: { scope: [`${userUID}.update`] } },
|
2022-02-10 16:42:51 +09:00
|
|
|
[`Mutation.${deleteUser}`]: { auth: { scope: [`${userUID}.destroy`] } },
|
2021-09-27 17:17:24 +02:00
|
|
|
};
|
|
|
|
};
|