| 
									
										
										
										
											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
										 |  |  |   }; | 
					
						
							|  |  |  | }; |