| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  | const createDebugger = require('debug'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const log = createDebugger('fcc:boot:explorer'); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-06-03 12:26:11 -07:00
										 |  |  | module.exports = function mountLoopBackExplorer(app) { | 
					
						
							| 
									
										
										
										
											2019-08-19 01:19:40 +05:30
										 |  |  |   if (process.env.FREECODECAMP_NODE_ENV === 'production') { | 
					
						
							| 
									
										
										
										
											2015-06-09 11:54:45 -07:00
										 |  |  |     return; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  |   let explorer; | 
					
						
							| 
									
										
										
										
											2015-06-02 17:27:02 -07:00
										 |  |  |   try { | 
					
						
							| 
									
										
										
										
											2015-11-05 16:41:19 -08:00
										 |  |  |     explorer = require('loopback-component-explorer'); | 
					
						
							| 
									
										
										
										
											2015-11-03 21:51:16 -08:00
										 |  |  |   } catch (err) { | 
					
						
							| 
									
										
										
										
											2015-06-03 12:26:11 -07:00
										 |  |  |     // Print the message only when the app was started via `app.listen()`.
 | 
					
						
							| 
									
										
										
										
											2015-06-02 17:27:02 -07:00
										 |  |  |     // Do not print any message when the project is used as a component.
 | 
					
						
							| 
									
										
										
										
											2015-06-03 12:26:11 -07:00
										 |  |  |     app.once('started', function() { | 
					
						
							| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  |       log( | 
					
						
							| 
									
										
										
										
											2015-11-05 16:41:19 -08:00
										 |  |  |         'Run `npm install loopback-component-explorer` to enable ' + | 
					
						
							| 
									
										
										
										
											2019-02-18 19:32:49 +00:00
										 |  |  |           'the LoopBack explorer' | 
					
						
							| 
									
										
										
										
											2015-06-02 17:27:02 -07:00
										 |  |  |       ); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |     return; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  |   const restApiRoot = app.get('restApiRoot'); | 
					
						
							|  |  |  |   const mountPath = '/explorer'; | 
					
						
							| 
									
										
										
										
											2015-06-02 17:27:02 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-05 16:41:19 -08:00
										 |  |  |   explorer(app, { basePath: restApiRoot, mountPath }); | 
					
						
							| 
									
										
										
										
											2015-06-03 12:26:11 -07:00
										 |  |  |   app.once('started', function() { | 
					
						
							| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  |     const baseUrl = app.get('url').replace(/\/$/, ''); | 
					
						
							| 
									
										
										
										
											2015-11-05 16:41:19 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-06 11:24:08 -08:00
										 |  |  |     log('Browse your REST API at %s%s', baseUrl, mountPath); | 
					
						
							| 
									
										
										
										
											2015-06-02 17:27:02 -07:00
										 |  |  |   }); | 
					
						
							|  |  |  | }; |