aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/hipchat/index.js
blob: 5c550d865ac5eae95dce0494185ccdeb568dfa58 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function _asyncToGenerator(fn) { return function () { const gen = fn.apply(this, arguments); return new Promise((resolve, reject) => { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then((value) => { step('next', value); }, (err) => { step('throw', err); }); } } return step('next'); }); }; }

module.exports = Ferdi => class HipChat extends Ferdi {
  validateUrl(url) {
    return _asyncToGenerator(function* () {
      try {
        const resp = yield window.fetch(`${url}/api/features`, {
          method: 'GET',
          headers: {
            'Content-Type': 'application/json',
          },
        });
        const data = yield resp.json();

        return Object.hasOwnProperty.call(data, 'features');
      } catch (err) {
        console.error(err);
      }

      return false;
    })();
  }

  buildUrl(url) {
    return `${url}/chat`;
  }
};