Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. 'use strict'
  2.  
  3. const Influx = require('influx');
  4.  
  5. const influxAPI = function(parameters) {
  6. /* Attributes */
  7. this.m_ip_address = parameters.ip;
  8. this.m_port = parameters.port;
  9.  
  10. /* Member functions */
  11. this.createDatabases = function(databaseName) {
  12. return this.influx.createDatabase(databaseName);
  13. }
  14. this.connect = function(parameters) {
  15. this.m_database = parameters.database;
  16. this.m_username = parameters.username;
  17. this.m_password = parameters.password;
  18. var ip = this.m_ip_address;
  19. var port = this.m_port;
  20. this.influx = new Influx.InfluxDB({
  21. host: ip,
  22. database : parameters.database,
  23. username : parameters.username,
  24. password : parameters.password,
  25. port : port
  26. })
  27. return this.influx.getDatabaseNames()
  28. .then(names => {
  29. if (!names.find(name => { return name === parameters.database })) {
  30. return this.createDatabases(parameters.database);
  31. }
  32. })
  33. }
  34. this.insertItem = function(parameters) {
  35. return this.influx.writePoints([{
  36. measurement: parameters.name,
  37. tags : { host : parameters.host },
  38. fields : parameters.param
  39. }])
  40. }
  41. this.select = function(query) {
  42. return this.influx.query(query);
  43. }
  44. this.removeItem = function(whereClause) {
  45. return this.influx.dropMeasurement(whereClause);
  46. }
  47. this.removeDatabase = function(database) {
  48. return this.influx.dropDatabase(database);
  49. }
  50. }
  51.  
  52. module.exports = {
  53. create : function(parameters) {
  54. return new influxAPI(parameters);
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement