UNPKG

limacharlie

Version:

An API for limacharlie.io, a cloud hosted endpoint detection and response platform.

157 lines (129 loc) 5.21 kB
"use strict"; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (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(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var request = require("request-promise"); var Payloads = function () { function Payloads(manager) { _classCallCheck(this, Payloads); this._man = manager; } _createClass(Payloads, [{ key: "list", value: function () { var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var data; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return this._man._apiCall("payload/" + this._man._oid, "GET", {}); case 2: data = _context.sent; return _context.abrupt("return", data); case 4: case "end": return _context.stop(); } } }, _callee, this); })); function list() { return _ref.apply(this, arguments); } return list; }() }, { key: "get", value: function () { var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(name) { var data, url, req; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return this._man._apiCall("payload/" + this._man._oid + "/" + name, "GET", {}); case 2: data = _context2.sent; url = data.get_url; if (url) { _context2.next = 6; break; } return _context2.abrupt("return", null); case 6: req = { method: "GET", timeout: 60 * 1000 }; return _context2.abrupt("return", request("" + url, req)); case 8: case "end": return _context2.stop(); } } }, _callee2, this); })); function get(_x) { return _ref2.apply(this, arguments); } return get; }() }, { key: "create", value: function () { var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(name) { var data; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return this._man._apiCall("payload/" + this._man._oid + "/" + name, "POST", {}); case 2: data = _context3.sent; return _context3.abrupt("return", data.put_url); case 4: case "end": return _context3.stop(); } } }, _callee3, this); })); function create(_x2) { return _ref3.apply(this, arguments); } return create; }() }, { key: "delete", value: function () { var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(name) { var data; return regeneratorRuntime.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return this._man._apiCall("payload/" + this._man._oid + "/" + name, "DELETE", {}); case 2: data = _context4.sent; return _context4.abrupt("return", data); case 4: case "end": return _context4.stop(); } } }, _callee4, this); })); function _delete(_x3) { return _ref4.apply(this, arguments); } return _delete; }() }]); return Payloads; }(); module.exports = Payloads;