Advertisement
Guest User

Untitled

a guest
Jul 1st, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. var Mysql = require('mysql');
  2.  
  3. function Dbmanager(proxyconfig, nodeconfig)
  4. {
  5. var self = this;
  6. self.proxy = Mysql.createPool
  7. ({
  8. connectionLimit : 10,
  9. host: proxyconfig.host,
  10. user: proxyconfig.user,
  11. password: proxyconfig.password,
  12. database: 'kamailio'
  13. });
  14.  
  15.  
  16. self.nodes = [];
  17.  
  18. nodeconfig.forEach
  19. (
  20. function(node)
  21. {
  22. self.nodes[node.host] = Mysql.createPool
  23. ({
  24. connectionLimit : 10,
  25. host: node.host,
  26. user: node.user,
  27. password: node.password
  28. });
  29. }
  30. );
  31.  
  32. };
  33.  
  34. Dbmanager.prototype.getDomains = function(cb_func)
  35. {
  36. var self = this;
  37. var domains = [];
  38. self.proxy.query('SELECT domain FROM domain',
  39. function(err, rows)
  40. {
  41. if (err) throw err;
  42.  
  43. rows.forEach
  44. (
  45. function(row)
  46. {
  47. domains.push(row.domain);
  48. }
  49. );
  50. return cb_func(domains);
  51. });
  52. };
  53.  
  54. Dbmanager.prototype.updateNodes = function(domains, cb_func)
  55. {
  56. var self = this;
  57. for (var key in self.nodes)
  58. {
  59. var insert = "insert ignore into `asterisk`.`bit_sip_devices` ( `host`, `nat`, `type`, `allow`, `fromdomain`, `name`, `disallow`, `context`, `qualify`) values ";
  60. var values = "";
  61. domains.forEach
  62. (
  63. function (domain) {
  64. values = values + "( '" + domain + "', 'force_rport,comedia', 'peer', 'alaw,ulaw,g729', '" + domain + "', '" + domain + "', 'all', 'test-in', 'yes'),";
  65. }
  66. );
  67. values = values.substring(0, values.length - 1);
  68.  
  69. console.log(values);
  70.  
  71. self.nodes[key].query
  72. (
  73. insert + values,
  74. function(err, rows)
  75. {
  76. if (err) throw err;
  77. console.log(rows);
  78. return cb_func(rows.affectedRows);
  79. }
  80. );
  81.  
  82.  
  83. };
  84. };
  85. module.exports = Dbmanager;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement