@mytmpvpn/mytmpvpn-client
Version:
MyTmpVpn Client Library
43 lines (42 loc) • 1.81 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDefaultUserConfigDir = exports.loadUserConfig = exports.loadUserProfile = exports.getDefaultUserProfile = exports.getDefaultUserConfigFile = void 0;
const path = require("path");
const os = require("os");
const log = require("loglevel");
const errors_1 = require("@mytmpvpn/mytmpvpn-common/errors");
function getDefaultUserConfigDir() {
return path.join(os.homedir(), '.config', 'mytmpvpn');
}
exports.getDefaultUserConfigDir = getDefaultUserConfigDir;
function getDefaultUserConfigFile() {
return path.join(getDefaultUserConfigDir(), 'mytmpvpn.json');
}
exports.getDefaultUserConfigFile = getDefaultUserConfigFile;
function getDefaultUserProfile() {
return 'default';
}
exports.getDefaultUserProfile = getDefaultUserProfile;
function loadUserConfig(userConfigFile) {
try {
log.debug(`Loading user config from: ${userConfigFile}`);
/* eslint-disable-next-line @typescript-eslint/no-var-requires */
const userConfig = require(userConfigFile);
return userConfig;
}
catch (err) {
throw new errors_1.MyTmpVpnError(`Can't find user config: ${userConfigFile} -- caused by: ${JSON.stringify(err)}`);
}
}
exports.loadUserConfig = loadUserConfig;
function loadUserProfile(userConfigFile, profileName) {
const userConfig = loadUserConfig(userConfigFile);
const profileNameKey = profileName;
log.debug(`Loading user profile ${profileName} from ${JSON.stringify(userConfig)}`);
const userProfile = userConfig.profiles[profileNameKey];
if (userProfile == null) {
throw new errors_1.MyTmpVpnError(`Can't find configuration for ${profileName} in ${userConfigFile}`);
}
return userProfile;
}
exports.loadUserProfile = loadUserProfile;