Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Mysql = require('mysql');
- function Dbmanager(proxyconfig, nodeconfig)
- {
- var self = this;
- self.proxy = Mysql.createPool
- ({
- connectionLimit : 10,
- host: proxyconfig.host,
- user: proxyconfig.user,
- password: proxyconfig.password,
- database: 'kamailio'
- });
- self.nodes = [];
- nodeconfig.forEach
- (
- function(node)
- {
- self.nodes[node.host] = Mysql.createPool
- ({
- connectionLimit : 10,
- host: node.host,
- user: node.user,
- password: node.password
- });
- }
- );
- };
- Dbmanager.prototype.getDomains = function(cb_func)
- {
- var self = this;
- var domains = [];
- self.proxy.query('SELECT domain FROM domain',
- function(err, rows)
- {
- if (err) throw err;
- rows.forEach
- (
- function(row)
- {
- domains.push(row.domain);
- }
- );
- return cb_func(domains);
- });
- };
- Dbmanager.prototype.updateNodes = function(domains, cb_func)
- {
- var self = this;
- for (var key in self.nodes)
- {
- var insert = "insert ignore into `asterisk`.`bit_sip_devices` ( `host`, `nat`, `type`, `allow`, `fromdomain`, `name`, `disallow`, `context`, `qualify`) values ";
- var values = "";
- domains.forEach
- (
- function (domain) {
- values = values + "( '" + domain + "', 'force_rport,comedia', 'peer', 'alaw,ulaw,g729', '" + domain + "', '" + domain + "', 'all', 'test-in', 'yes'),";
- }
- );
- values = values.substring(0, values.length - 1);
- console.log(values);
- self.nodes[key].query
- (
- insert + values,
- function(err, rows)
- {
- if (err) throw err;
- console.log(rows);
- return cb_func(rows.affectedRows);
- }
- );
- };
- };
- module.exports = Dbmanager;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement