Advertisement
Guest User

Untitled

a guest
Mar 10th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. 'use strict'
  2.  
  3. let conf = require('../../config/config');
  4. let serviceNow = require('../../lib/service_now/requests')
  5. let log = require('./../../lib/service_now/logger')
  6.  
  7. let CircuitBreaker = require('circuit-breaker-js')
  8. let breaker = new CircuitBreaker()
  9.  
  10. let runWithBreaker = (f, cbr) => {
  11. return new Promise((resolve, reject) => {
  12. let command = (success, failed) => {
  13. f()
  14. .then((obj) => { success(); resolve(obj) })
  15. .catch((err) => { failed(); reject(err)})
  16. }
  17.  
  18. cbr.run(command)
  19. })
  20. }
  21.  
  22. let doStuff = () => {
  23. let username = conf.get('snow_username')
  24. let password = conf.get('snow_password')
  25. let endpointUrl = conf.get('snow_active_workflows_url')
  26.  
  27. return serviceNow.doGet({url: endpointUrl, username: username, password: password})
  28. .then((res) => {
  29. log('get-active-workflows', endpointUrl, 'empty', res)
  30. return res['result'].map((e) => { return {
  31. id: e['sys_id'],
  32. name: e['name'],
  33. started_at: e['started']
  34. }
  35. })
  36. })
  37. }
  38.  
  39. module.exports = () => {
  40. var f = function() {
  41. return doStuff.apply(this, Array.prototype.slice.call(arguments, 0))
  42. }
  43. return runWithBreaker(f, breaker)
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement