| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- const refParser = require('@apidevtools/json-schema-ref-parser');
 
- let compiledSchema = null;
 
- module.exports = {
 
- 	/**
 
- 	 * Compiles the schema, by dereferencing it, only once
 
- 	 * and returns the memory cached value
 
- 	 */
 
- 	getCompiledSchema: async () => {
 
- 		if (compiledSchema === null) {
 
- 			compiledSchema = await refParser.dereference(__dirname + '/swagger.json', {
 
- 				mutateInputSchema: false,
 
- 			});
 
- 		}
 
- 		return compiledSchema;
 
- 	},
 
- 	/**
 
- 	 * Scans the schema for the validation schema for the given path and method
 
- 	 * and returns it.
 
- 	 *
 
- 	 * @param {string} path
 
- 	 * @param {string} method
 
- 	 * @returns string|null
 
- 	 */
 
- 	getValidationSchema: (path, method) => {
 
- 		if (compiledSchema !== null &&
 
- 			typeof compiledSchema.paths[path] !== 'undefined' &&
 
- 			typeof compiledSchema.paths[path][method] !== 'undefined' &&
 
- 			typeof compiledSchema.paths[path][method].requestBody !== 'undefined' &&
 
- 			typeof compiledSchema.paths[path][method].requestBody.content !== 'undefined' &&
 
- 			typeof compiledSchema.paths[path][method].requestBody.content['application/json'] !== 'undefined' &&
 
- 			typeof compiledSchema.paths[path][method].requestBody.content['application/json'].schema !== 'undefined'
 
- 		) {
 
- 			return compiledSchema.paths[path][method].requestBody.content['application/json'].schema;
 
- 		}
 
- 		return null;
 
- 	}
 
- };
 
 
  |