-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsettings.js
More file actions
53 lines (45 loc) · 1.14 KB
/
settings.js
File metadata and controls
53 lines (45 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
'use strict';
var fs = require('fs');
var settings = require('nconf');
var os = require('os');
var path = require('path');
var log = require('loglevel');
var mkdirSync = function (path) {
try {
fs.mkdirSync(path);
} catch (e) {
if (e.code != 'EEXIST') throw e;
}
}
var homedir = os.homedir();
var settingsDir = path.join(homedir, '.bluz-gw');
mkdirSync(settingsDir);
var settingsFile = path.join(settingsDir, 'config.json');
var defaultSettings = {
'serverPort': 3000,
'cloud:host': 'device.spark.io',
'cloud:port': 5683,
'blacklist': [], // note: based on BL MAC Address
'serverEnabled': true,
'DEBUG': 'warn',
'deviceGroups:whitelist': ['Bluz DK'],
//'deviceGroups:blacklist'=[] //not enabled
}
settings.argv();
settings.env();
settings.file(settingsFile);
for (var key in defaultSettings) {
if (typeof settings.get(key) === "undefined")
settings.set(key, defaultSettings[key])
}
settings.saveSettings = function () {
this.save(function (err) {
if (err) {
log.error(err.message);
return;
}
log.info('Configuration saved successfully.');
});
}
settings.saveSettings();
module.exports = settings;