Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict'
- let conf = require('../../config/config');
- let serviceNow = require('../../lib/service_now/requests')
- let log = require('./../../lib/service_now/logger')
- let CircuitBreaker = require('circuit-breaker-js')
- let breaker = new CircuitBreaker()
- let runWithBreaker = (f, cbr) => {
- return new Promise((resolve, reject) => {
- let command = (success, failed) => {
- f()
- .then((obj) => { success(); resolve(obj) })
- .catch((err) => { failed(); reject(err)})
- }
- cbr.run(command)
- })
- }
- let doStuff = () => {
- let username = conf.get('snow_username')
- let password = conf.get('snow_password')
- let endpointUrl = conf.get('snow_active_workflows_url')
- return serviceNow.doGet({url: endpointUrl, username: username, password: password})
- .then((res) => {
- log('get-active-workflows', endpointUrl, 'empty', res)
- return res['result'].map((e) => { return {
- id: e['sys_id'],
- name: e['name'],
- started_at: e['started']
- }
- })
- })
- }
- module.exports = () => {
- var f = function() {
- return doStuff.apply(this, Array.prototype.slice.call(arguments, 0))
- }
- return runWithBreaker(f, breaker)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement