| 
									
										
										
										
											2020-06-09 17:45:53 +02:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const { yup, formatYupErrors } = require('strapi-utils'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const handleReject = error => Promise.reject(formatYupErrors(error)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const updatePermissionsSchema = yup | 
					
						
							|  |  |  |   .object() | 
					
						
							|  |  |  |   .shape({ | 
					
						
							|  |  |  |     permissions: yup | 
					
						
							|  |  |  |       .array() | 
					
						
							|  |  |  |       .of( | 
					
						
							|  |  |  |         yup | 
					
						
							|  |  |  |           .object() | 
					
						
							|  |  |  |           .shape({ | 
					
						
							|  |  |  |             action: yup.string().required(), | 
					
						
							| 
									
										
										
										
											2020-06-10 15:42:32 +02:00
										 |  |  |             subject: yup.string().nullable(), | 
					
						
							| 
									
										
										
										
											2020-06-09 17:45:53 +02:00
										 |  |  |             fields: yup.array().of(yup.string()), | 
					
						
							|  |  |  |             conditions: yup.array().of(yup.string()), | 
					
						
							|  |  |  |           }) | 
					
						
							|  |  |  |           .noUnknown() | 
					
						
							|  |  |  |       ) | 
					
						
							|  |  |  |       .requiredAllowEmpty(), | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  |   .required() | 
					
						
							|  |  |  |   .noUnknown(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const validatedUpdatePermissionsInput = data => { | 
					
						
							|  |  |  |   return updatePermissionsSchema | 
					
						
							|  |  |  |     .validate(data, { strict: true, abortEarly: false }) | 
					
						
							|  |  |  |     .catch(handleReject); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module.exports = { | 
					
						
							|  |  |  |   validatedUpdatePermissionsInput, | 
					
						
							|  |  |  | }; |