test-lib-audits
Version:
React library for audits
635 lines (545 loc) • 21.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FrontEgg = undefined;
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; }; }();
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _fronteggClient = require("frontegg-client");
var _Table = require("./components/Table");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(function () {
var enterModule = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).enterModule;
enterModule && enterModule(module);
})();
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
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"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
return a;
};
var audits = new _fronteggClient.AuditsClient();
var BASE_URL = "https://frontegg.azure-api.net";
var FrontEgg = function (_React$Component) {
_inherits(FrontEgg, _React$Component);
function FrontEgg(props) {
_classCallCheck(this, FrontEgg);
var _this = _possibleConstructorReturn(this, (FrontEgg.__proto__ || Object.getPrototypeOf(FrontEgg)).call(this, props));
_this.state = {
rowsData: [],
headerProps: [],
filters: [],
sortBy: "time",
sortDirection: "desc",
error: "",
isLoading: true,
tenantId: "",
token: ""
};
FrontEgg.__singletonRef = _this;
_this._textSearch = _this._textSearch.bind(_this);
_this._filterData = _this._filterData.bind(_this);
_this._removeFilter = _this._removeFilter.bind(_this);
_this._dataSorting = _this._dataSorting.bind(_this);
_this._exportCSV = _this._exportCSV.bind(_this);
_this._exportPDF = _this._exportPDF.bind(_this);
_this._deleteAudits = _this._deleteAudits.bind(_this);
return _this;
}
_createClass(FrontEgg, [{
key: "__init",
value: function () {
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(clientId, accessKey, tenantId) {
var res, json, token, metaData, headerProps, rows, rowsData;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!(!clientId || !accessKey || !tenantId)) {
_context.next = 4;
break;
}
this.setState({
error: "client-id or access-key or tenant-id is missing",
isLoading: false
});
console.error("client-id or access-key or tenant-id is missing");
return _context.abrupt("return");
case 4:
this.setState({ isLoading: true });
_context.next = 7;
return audits.init(clientId, accessKey);
case 7:
_context.next = 9;
return fetch(BASE_URL + "/vendors/auth", {
method: "post",
headers: {
"Content-type": "application/json"
},
body: JSON.stringify({
clientId: clientId,
secret: accessKey
})
});
case 9:
res = _context.sent;
_context.next = 12;
return res.json();
case 12:
json = _context.sent;
token = json.token;
_context.next = 16;
return audits.getAuditsMetadata();
case 16:
metaData = _context.sent;
headerProps = metaData.rows[0].properties;
this.setState({
headerProps: headerProps,
token: token
});
_context.next = 21;
return audits.getAudits({
tenantId: tenantId,
filter: "",
filters: [],
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
offset: 0,
count: 50
});
case 21:
rows = _context.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData, headerProps: headerProps });
this.setState({
tenantId: tenantId,
rowsData: rowsData,
isLoading: false
});
case 25:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function __init(_x, _x2, _x3) {
return _ref.apply(this, arguments);
}
return __init;
}()
}, {
key: "_textSearch",
value: function () {
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(term) {
var rows, rowsData;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
this.setState({ isLoading: true, searchText: term });
console.log("searching...");
_context2.next = 4;
return audits.getAudits({
tenantId: this.state.tenantId,
filter: term,
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
offset: 0,
count: 50
});
case 4:
rows = _context2.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData });
this.setState({
rowsData: rowsData,
isLoading: false
});
case 8:
case "end":
return _context2.stop();
}
}
}, _callee2, this);
}));
function _textSearch(_x4) {
return _ref2.apply(this, arguments);
}
return _textSearch;
}()
}, {
key: "_filterData",
value: function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(filter) {
var allFilters, filterIndex, updatedFilters, filterObj, rows, rowsData;
return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
allFilters = this.state.filters;
filterIndex = allFilters.findIndex(function (item) {
return item.key == filter.key;
});
updatedFilters = void 0;
if (filterIndex >= 0) {
allFilters[filterIndex] = filter;
updatedFilters = allFilters;
} else {
updatedFilters = [].concat(_toConsumableArray(allFilters), [filter]);
}
filterObj = {};
updatedFilters.map(function (filter) {
return filterObj[filter.key] = filter.value;
});
this.setState({ isLoading: true, filters: updatedFilters });
console.log("filtering...");
_context3.next = 10;
return audits.getAudits({
tenantId: this.state.tenantId,
filter: this.state.searchText,
filters: filterObj,
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
offset: 0,
count: 50
});
case 10:
rows = _context3.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData });
this.setState({
rowsData: rowsData,
isLoading: false
});
case 14:
case "end":
return _context3.stop();
}
}
}, _callee3, this);
}));
function _filterData(_x5) {
return _ref3.apply(this, arguments);
}
return _filterData;
}()
}, {
key: "_removeFilter",
value: function () {
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(removedFilter) {
var allFilters, removedFilterIndex, updatedFilters, filterObj, rows, rowsData;
return regeneratorRuntime.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
allFilters = this.state.filters;
removedFilterIndex = allFilters.findIndex(function (item) {
return item.key == removedFilter.key;
});
updatedFilters = void 0;
if (removedFilterIndex > -1) {
allFilters.splice(removedFilterIndex, 1);
}
updatedFilters = allFilters;
filterObj = {};
updatedFilters.map(function (filter) {
return filterObj[filter.key] = filter.value;
});
this.setState({ isLoading: true, filters: updatedFilters });
console.log("filtering...");
_context4.next = 11;
return audits.getAudits({
tenantId: this.state.tenantId,
filter: this.state.searchText,
filters: filterObj,
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
offset: 0,
count: 50
});
case 11:
rows = _context4.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData });
this.setState({
rowsData: rowsData,
isLoading: false
});
case 15:
case "end":
return _context4.stop();
}
}
}, _callee4, this);
}));
function _removeFilter(_x6) {
return _ref4.apply(this, arguments);
}
return _removeFilter;
}()
}, {
key: "_dataSorting",
value: function () {
var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5(colName, direction) {
var switcher, directionIdentifier, filterObj, rows, rowsData;
return regeneratorRuntime.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
switcher = { asc: true, desc: false };
directionIdentifier = void 0;
if (switcher[direction]) {
directionIdentifier = "desc";
} else {
directionIdentifier = "asc";
}
this.setState({
isLoading: true,
sortBy: colName,
sortDirection: directionIdentifier
});
filterObj = {};
this.state.filters.map(function (filter) {
return filterObj[filter.key] = filter.value;
});
_context5.next = 8;
return audits.getAudits({
tenantId: this.state.tenantId,
filter: this.state.searchText,
filters: filterObj,
sortBy: colName,
sortDirection: directionIdentifier,
offset: 0,
count: 50
});
case 8:
rows = _context5.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData });
this.setState({
rowsData: rowsData,
isLoading: false
});
case 12:
case "end":
return _context5.stop();
}
}
}, _callee5, this);
}));
function _dataSorting(_x7, _x8) {
return _ref5.apply(this, arguments);
}
return _dataSorting;
}()
}, {
key: "_exportCSV",
value: function () {
var _ref6 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var res, json;
return regeneratorRuntime.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_context6.next = 2;
return fetch(BASE_URL + "/audits/export");
case 2:
res = _context6.sent;
_context6.next = 5;
return res.json();
case 5:
json = _context6.sent;
console.log({ json: json });
case 7:
case "end":
return _context6.stop();
}
}
}, _callee6, this);
}));
function _exportCSV() {
return _ref6.apply(this, arguments);
}
return _exportCSV;
}()
}, {
key: "_exportPDF",
value: function () {
var _ref7 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var res, json;
return regeneratorRuntime.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_context7.next = 2;
return fetch(BASE_URL + "/audits/export");
case 2:
res = _context7.sent;
_context7.next = 5;
return res.json();
case 5:
json = _context7.sent;
console.log({ json: json });
case 7:
case "end":
return _context7.stop();
}
}
}, _callee7, this);
}));
function _exportPDF() {
return _ref7.apply(this, arguments);
}
return _exportPDF;
}()
}, {
key: "_deleteAudits",
value: function () {
var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
var res, json, rows, rowsData;
return regeneratorRuntime.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
this.setState({ isLoading: false });
_context8.next = 3;
return fetch(BASE_URL + "/audits?tenantId=" + this.state.tenantId, {
method: "delete",
headers: {
"x-access-token": this.state.token
}
});
case 3:
res = _context8.sent;
_context8.next = 6;
return res.json();
case 6:
json = _context8.sent;
console.log({ json: json });
_context8.next = 10;
return audits.getAudits({
tenantId: this.state.tenantId,
filter: "",
filters: [],
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
offset: 0,
count: 50
});
case 10:
rows = _context8.sent;
rowsData = rows.data;
console.log({ rowsData: rowsData });
this.setState({
rowsData: rowsData,
isLoading: false
});
case 14:
case "end":
return _context8.stop();
}
}
}, _callee8, this);
}));
function _deleteAudits() {
return _ref8.apply(this, arguments);
}
return _deleteAudits;
}()
}, {
key: "render",
value: function render() {
var _state = this.state,
headerProps = _state.headerProps,
rowsData = _state.rowsData,
isLoading = _state.isLoading,
error = _state.error,
filters = _state.filters;
if (headerProps && headerProps.length > 0) {
return _react2.default.createElement(_Table.Table, {
rowsData: rowsData,
headerProps: headerProps,
textSearch: this._textSearch,
filterData: this._filterData,
removeFilter: this._removeFilter,
isLoading: isLoading,
filters: filters,
sortBy: this.state.sortBy,
sortDirection: this.state.sortDirection,
handleSorting: this._dataSorting,
exportCSV: this._exportCSV,
exportPDF: this._exportPDF,
deleteAudits: this._deleteAudits
});
}
if (isLoading) {
return _react2.default.createElement(
"div",
null,
"loading..."
);
}
if (error) {
return _react2.default.createElement(
"div",
null,
error
);
}
return _react2.default.createElement(
"div",
null,
"No data was found!"
);
}
}, {
key: "__reactstandin__regenerateByEval",
// @ts-ignore
value: function __reactstandin__regenerateByEval(key, code) {
// @ts-ignore
this[key] = eval(code);
}
}], [{
key: "configureComponent",
value: function () {
var _ref9 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9(clientId, accessKey, tenantId) {
return regeneratorRuntime.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
FrontEgg.__singletonRef.__init(clientId, accessKey, tenantId);
case 1:
case "end":
return _context9.stop();
}
}
}, _callee9, this);
}));
function configureComponent(_x9, _x10, _x11) {
return _ref9.apply(this, arguments);
}
return configureComponent;
}()
}]);
return FrontEgg;
}(_react2.default.Component);
exports.FrontEgg = FrontEgg;
;
(function () {
var reactHotLoader = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).default;
if (!reactHotLoader) {
return;
}
reactHotLoader.register(audits, "audits", "src/index.js");
reactHotLoader.register(BASE_URL, "BASE_URL", "src/index.js");
reactHotLoader.register(FrontEgg, "FrontEgg", "src/index.js");
})();
;
(function () {
var leaveModule = (typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal : require('react-hot-loader')).leaveModule;
leaveModule && leaveModule(module);
})();