✨
This commit is contained in:
		
							parent
							
								
									a134358144
								
							
						
					
					
						commit
						240b10ed6e
					
				
					 1 changed files with 16 additions and 19 deletions
				
			
		
							
								
								
									
										35
									
								
								src/index.ts
									
										
									
									
									
								
							
							
						
						
									
										35
									
								
								src/index.ts
									
										
									
									
									
								
							|  | @ -27,13 +27,10 @@ require('babel-polyfill'); | |||
| 
 | ||||
| global.config = require('./config').default(`${__dirname}/../.config/config.yml`); | ||||
| 
 | ||||
| /** | ||||
|  * Initialize state | ||||
|  */ | ||||
| enum State { | ||||
| 	success, | ||||
| 	warn, | ||||
| 	failed | ||||
| enum InitResult { | ||||
| 	Success, | ||||
| 	Warn, | ||||
| 	Failure | ||||
| } | ||||
| 
 | ||||
| // Set process title
 | ||||
|  | @ -58,25 +55,25 @@ function main(): void { | |||
|  * Init master proccess | ||||
|  */ | ||||
| async function master(): Promise<void> { | ||||
| 	let state: State; | ||||
| 	let initResult: InitResult; | ||||
| 
 | ||||
| 	try { | ||||
| 		// initialize app
 | ||||
| 		state = await init(); | ||||
| 		initResult = await init(); | ||||
| 	} catch (e) { | ||||
| 		console.error(e); | ||||
| 		process.exit(1); | ||||
| 	} | ||||
| 
 | ||||
| 	switch (state) { | ||||
| 		case State.failed: | ||||
| 	switch (initResult) { | ||||
| 		case InitResult.Failure: | ||||
| 			Logger.error(chalk.red('Fatal error occurred during initializing :(')); | ||||
| 			process.exit(); | ||||
| 			return; | ||||
| 		case State.warn: | ||||
| 		case InitResult.Warn: | ||||
| 			Logger.warn(chalk.yellow('Initialized with some problem(s) :|')); | ||||
| 			break; | ||||
| 		case State.success: | ||||
| 		case InitResult.Success: | ||||
| 			Logger.info(chalk.green('Successfully initialized :)')); | ||||
| 			break; | ||||
| 	} | ||||
|  | @ -127,7 +124,7 @@ function worker(): void { | |||
| /** | ||||
|  * Init app | ||||
|  */ | ||||
| async function init(): Promise<State> { | ||||
| async function init(): Promise<InitResult> { | ||||
| 	let warn = false; | ||||
| 
 | ||||
| 	Logger.info('Welcome to Misskey!'); | ||||
|  | @ -142,7 +139,7 @@ async function init(): Promise<State> { | |||
| 	let configLogger = new Logger('Config'); | ||||
| 	if (!fs.existsSync(`${__dirname}/../.config/config.yml`)) { | ||||
| 		configLogger.error('Configuration not found'); | ||||
| 		return State.failed; | ||||
| 		return InitResult.Failure; | ||||
| 	} | ||||
| 
 | ||||
| 	configLogger.info('Successfully loaded'); | ||||
|  | @ -150,13 +147,13 @@ async function init(): Promise<State> { | |||
| 
 | ||||
| 	if (process.platform === 'linux' && !isRoot() && config.port < 1024) { | ||||
| 		Logger.error('You need root privileges to listen on port below 1024 on Linux'); | ||||
| 		return State.failed; | ||||
| 		return InitResult.Failure; | ||||
| 	} | ||||
| 
 | ||||
| 	// Check if a port is being used
 | ||||
| 	if (await portUsed.check(config.port)) { | ||||
| 		Logger.error(`Port ${config.port} is already used`); | ||||
| 		return State.failed; | ||||
| 		return InitResult.Failure; | ||||
| 	} | ||||
| 
 | ||||
| 	// Try to connect to MongoDB
 | ||||
|  | @ -167,10 +164,10 @@ async function init(): Promise<State> { | |||
| 		db.close(); | ||||
| 	} catch (e) { | ||||
| 		mongoDBLogger.error(`${e}`); | ||||
| 		return State.failed; | ||||
| 		return InitResult.Failure; | ||||
| 	} | ||||
| 
 | ||||
| 	return warn ? State.warn : State.success; | ||||
| 	return warn ? InitResult.Warn : InitResult.Success; | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue