| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const { yup, validateYupSchemaSync } = require('@strapi/utils'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-06 11:50:00 +02:00
										 |  |  | const MAX_IMAGE_WIDTH = 750; | 
					
						
							|  |  |  | const MAX_IMAGE_HEIGHT = MAX_IMAGE_WIDTH; | 
					
						
							|  |  |  | const MAX_IMAGE_FILE_SIZE = 1024 * 1024; // 1Mo
 | 
					
						
							|  |  |  | const ALLOWED_IMAGE_FILE_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml']; | 
					
						
							| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | const updateProjectSettings = yup | 
					
						
							| 
									
										
										
										
											2022-04-06 09:09:04 +02:00
										 |  |  |   .object({ | 
					
						
							|  |  |  |     menuLogo: yup.string(), | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  |   .noUnknown(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const updateProjectSettingsFiles = yup | 
					
						
							| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  |   .object({ | 
					
						
							|  |  |  |     menuLogo: yup.object({ | 
					
						
							| 
									
										
										
										
											2022-04-04 15:09:08 +02:00
										 |  |  |       name: yup.string(), | 
					
						
							| 
									
										
										
										
											2022-04-06 11:50:00 +02:00
										 |  |  |       type: yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES), | 
					
						
							|  |  |  |       size: yup.number().max(MAX_IMAGE_FILE_SIZE), | 
					
						
							| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  |     }), | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  |   .noUnknown(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-07 12:02:17 +02:00
										 |  |  | const updateProjectSettingsImagesDimensions = yup.object({ | 
					
						
							|  |  |  |   menuLogo: yup.object({ | 
					
						
							|  |  |  |     width: yup.number().max(MAX_IMAGE_WIDTH), | 
					
						
							|  |  |  |     height: yup.number().max(MAX_IMAGE_HEIGHT), | 
					
						
							|  |  |  |   }), | 
					
						
							|  |  |  | }); | 
					
						
							| 
									
										
										
										
											2022-04-06 11:50:00 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  | module.exports = { | 
					
						
							|  |  |  |   validateUpdateProjectSettings: validateYupSchemaSync(updateProjectSettings), | 
					
						
							| 
									
										
										
										
											2022-04-06 09:09:04 +02:00
										 |  |  |   validateUpdateProjectSettingsFiles: validateYupSchemaSync(updateProjectSettingsFiles), | 
					
						
							| 
									
										
										
										
											2022-04-06 11:50:00 +02:00
										 |  |  |   validateUpdateProjectSettingsImagesDimensions: validateYupSchemaSync( | 
					
						
							|  |  |  |     updateProjectSettingsImagesDimensions | 
					
						
							|  |  |  |   ), | 
					
						
							| 
									
										
										
										
											2022-03-31 13:11:19 +02:00
										 |  |  | }; |