You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
const path = require('path');
 | 
						|
const process = require('process');
 | 
						|
 | 
						|
const { app } = require('electron');
 | 
						|
 | 
						|
const { start } = require('./base_config');
 | 
						|
const config = require('./config');
 | 
						|
 | 
						|
let storageProfile;
 | 
						|
 | 
						|
// Node makes sure all environment variables are strings
 | 
						|
const { NODE_ENV: environment, NODE_APP_INSTANCE: instance } = process.env;
 | 
						|
 | 
						|
// We need to make sure instance is not empty
 | 
						|
const isValidInstance = typeof instance === 'string' && instance.length > 0;
 | 
						|
const isProduction = environment === 'production' && !isValidInstance;
 | 
						|
 | 
						|
// Use seperate data directories for each different environment and app instances
 | 
						|
// We should prioritise config values first
 | 
						|
if (config.has(storageProfile)) {
 | 
						|
  storageProfile = config.get('storageProfile');
 | 
						|
} else if (!isProduction) {
 | 
						|
  storageProfile = environment;
 | 
						|
  if (isValidInstance) {
 | 
						|
    storageProfile = storageProfile.concat(`-${instance}`);
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
if (storageProfile) {
 | 
						|
  const userData = path.join(app.getPath('appData'), `Session-${storageProfile}`);
 | 
						|
 | 
						|
  app.setPath('userData', userData);
 | 
						|
}
 | 
						|
 | 
						|
console.log(`userData: ${app.getPath('userData')}`);
 | 
						|
 | 
						|
const userDataPath = app.getPath('userData');
 | 
						|
const targetPath = path.join(userDataPath, 'config.json');
 | 
						|
 | 
						|
const userConfig = start('user', targetPath);
 | 
						|
 | 
						|
module.exports = userConfig;
 |