Splitting site field: Now we track site and domain.

This commit is contained in:
baldo 2018-12-17 20:06:39 +01:00
parent 7cec2788f8
commit 84b20b209e
8 changed files with 46 additions and 6 deletions

View file

@ -97,7 +97,8 @@ var defaultConfig = {
name: 'Freifunk Musterstadt',
domain: 'musterstadt.freifunk.net',
contactEmail: 'kontakt@musterstadt.freifunk.net',
sites: []
sites: [],
domains: []
},
legal: {
privacyUrl: null,

View file

@ -0,0 +1 @@
ALTER TABLE node_state ADD COLUMN domain VARCHAR(32);

View file

@ -128,6 +128,7 @@ angular.module('ffffng').factory('NodeResource', function (
if (nodeState) {
return deepExtend({}, node, {
site: nodeState.site,
domain: nodeState.domain,
onlineState: nodeState.state
});
}
@ -144,6 +145,7 @@ angular.module('ffffng').factory('NodeResource', function (
'token',
'mac',
'site',
'domain',
'key',
'onlineState'
],
@ -161,6 +163,7 @@ angular.module('ffffng').factory('NodeResource', function (
'mac',
'key',
'site',
'domain',
'coords',
'onlineState',
'monitoringState'

View file

@ -44,12 +44,13 @@ angular.module('ffffng')
return Database.run(
'INSERT INTO node_state ' +
'(hostname, mac, site, monitoring_state, state, last_seen, import_timestamp, last_status_mail_sent, last_status_mail_type) ' +
'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
'(hostname, mac, site, domain, monitoring_state, state, last_seen, import_timestamp, last_status_mail_sent, last_status_mail_type) ' +
'VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
[
node.hostname,
node.mac,
nodeData.site,
nodeData.domain,
node.monitoringState,
nodeData.state,
nodeData.lastSeen.unix(),
@ -84,6 +85,7 @@ angular.module('ffffng')
'SET ' +
'hostname = ?, ' +
'site = ?, ' +
'domain = ?, ' +
'monitoring_state = ?, ' +
'state = ?, ' +
'last_seen = ?, ' +
@ -93,6 +95,7 @@ angular.module('ffffng')
[
node.hostname,
nodeData.site || row.site,
nodeData.domain || row.domain,
node.monitoringState,
nodeData.state,
nodeData.lastSeen.unix(),
@ -119,6 +122,7 @@ angular.module('ffffng')
nodeDataForStoring = {
mac: node.mac,
site: _.isUndefined(row) ? null : row.site,
domain: _.isUndefined(row) ? null : row.domain,
state: 'OFFLINE',
// jshint -W106
lastSeen: _.isUndefined(row) ? moment() : moment.unix(row.last_seen),
@ -197,12 +201,20 @@ angular.module('ffffng')
}
// jshint +W106
var domain = null;
// jshint -W106
if (_.isPlainObject(nodeData.nodeinfo.system) && _.isString(nodeData.nodeinfo.system.domain_code)) {
domain = nodeData.nodeinfo.system.domain_code;
}
// jshint +W106
return {
mac: mac,
importTimestamp: importTimestamp,
state: isOnline ? 'ONLINE' : 'OFFLINE',
lastSeen: lastSeen,
site: site
site: site,
domain: domain
};
}
@ -564,6 +576,7 @@ angular.module('ffffng')
'hostname',
'mac',
'site',
'domain',
'monitoring_state',
'state',
'last_seen',