UNPKG

@ia2coop/ia2-annotation-tool

Version:
701 lines (570 loc) 22.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator")); var _axios = _interopRequireDefault(require("axios")); var _fileSaver = _interopRequireDefault(require("file-saver")); var _constants = require("./constants"); var Api = function Api(baseUrl) { var requester = _axios.default.create({ baseURL: baseUrl, headers: { "Content-Type": "application/json" } }); var interceptorFn = function interceptorFn(config) { var token = localStorage.getItem(_constants.ACCESS_TOKEN); var resultConfig = config; if (token) { resultConfig.headers.Authorization = "Bearer ".concat(token); } return resultConfig; }; requester.interceptors.request.use(interceptorFn, Promise.reject); var refreshToken = /*#__PURE__*/function () { var _refreshToken = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var ENDPOINT_URL, response, access; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: ENDPOINT_URL = "token/refresh/"; _context.prev = 1; _context.next = 4; return requester.post(ENDPOINT_URL, { refresh: localStorage.getItem(_constants.REFRESH_TOKEN) }); case 4: response = _context.sent; access = response.data.access; localStorage.setItem(_constants.ACCESS_TOKEN, access); return _context.abrupt("return", Promise.resolve(access)); case 10: _context.prev = 10; _context.t0 = _context["catch"](1); if (!_context.t0.response) { _context.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } return _context.abrupt("return", Promise.reject(_context.t0)); case 14: case "end": return _context.stop(); } } }, _callee, null, [[1, 10]]); })); function refreshToken() { return _refreshToken.apply(this, arguments); } return refreshToken; }(); requester.interceptors.response.use(function (response) { return response; }, /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(error) { var status, originalRequest; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: status = error.response.status; originalRequest = error.config; if (!(status === _constants.AUTH_FORBIDDEN_ERROR && // eslint-disable-next-line no-underscore-dangle !originalRequest._retry)) { _context2.next = 7; break; } // eslint-disable-next-line no-underscore-dangle originalRequest._retry = true; _context2.next = 6; return refreshToken(); case 6: return _context2.abrupt("return", requester(originalRequest)); case 7: throw error; case 8: case "end": return _context2.stop(); } } }, _callee2); })); return function (_x) { return _ref.apply(this, arguments); }; }()); var userLogin = /*#__PURE__*/function () { var _userLogin = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(email, password) { var response, _response$data, access, refresh; return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.prev = 0; _context3.next = 3; return requester.post("token/", { email: email, password: password }); case 3: response = _context3.sent; _response$data = response.data, access = _response$data.access, refresh = _response$data.refresh; localStorage.setItem(_constants.ACCESS_TOKEN, access); localStorage.setItem(_constants.REFRESH_TOKEN, refresh); return _context3.abrupt("return", response ? response.data : null); case 10: _context3.prev = 10; _context3.t0 = _context3["catch"](0); if (_context3.t0.response) { _context3.next = 14; break; } throw new Error("Existe un problema de conexión en este momento"); case 14: throw _context3.t0.response.data; case 15: case "end": return _context3.stop(); } } }, _callee3, null, [[0, 10]]); })); function userLogin(_x2, _x3) { return _userLogin.apply(this, arguments); } return userLogin; }(); var userLogout = function userLogout() { localStorage.removeItem(_constants.ACCESS_TOKEN); localStorage.removeItem(_constants.REFRESH_TOKEN); }; var getAnonymizedDoc = /*#__PURE__*/function () { var _getAnonymizedDoc = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(newAnnotations, docId, deleteAnnotations) { var ENDPOINT_URL, params, response; return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: ENDPOINT_URL = "act/".concat(docId, "/addAnnotations/"); params = { newOcurrencies: newAnnotations, deleteOcurrencies: deleteAnnotations }; _context4.prev = 2; _context4.next = 5; return requester.post(ENDPOINT_URL, params); case 5: response = _context4.sent; return _context4.abrupt("return", response.data); case 9: _context4.prev = 9; _context4.t0 = _context4["catch"](2); if (!_context4.t0.response) { _context4.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context4.t0; case 13: case "end": return _context4.stop(); } } }, _callee4, null, [[2, 9]]); })); function getAnonymizedDoc(_x4, _x5, _x6) { return _getAnonymizedDoc.apply(this, arguments); } return getAnonymizedDoc; }(); var blobToFile = function blobToFile(theBlob, fileName) { return new File([theBlob], fileName, { lastModified: new Date().getTime(), type: theBlob.type }); }; var getDocAnalysis = /*#__PURE__*/function () { var _getDocAnalysis = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(doc, docName) { var ENDPOINT_URL, formData, blob, file, response; return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: ENDPOINT_URL = "act/"; formData = new FormData(); _context5.next = 4; return fetch(doc).then(function (r) { return r.blob(); }); case 4: blob = _context5.sent; file = blobToFile(blob, docName); formData.append("file", file); _context5.prev = 7; _context5.next = 10; return requester.post(ENDPOINT_URL, formData); case 10: response = _context5.sent; return _context5.abrupt("return", response ? response.data : null); case 14: _context5.prev = 14; _context5.t0 = _context5["catch"](7); if (!_context5.t0.response) { _context5.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context5.t0; case 18: case "end": return _context5.stop(); } } }, _callee5, null, [[7, 14]]); })); function getDocAnalysis(_x7, _x8) { return _getDocAnalysis.apply(this, arguments); } return getDocAnalysis; }(); var getSubjects = /*#__PURE__*/function () { var _getSubjects = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() { var ENDPOINT_URL, data; return _regenerator.default.wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: ENDPOINT_URL = "subject/"; _context6.prev = 1; _context6.next = 4; return requester.get(ENDPOINT_URL); case 4: data = _context6.sent; return _context6.abrupt("return", data.data); case 8: _context6.prev = 8; _context6.t0 = _context6["catch"](1); if (!_context6.t0.response) { _context6.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context6.t0; case 12: case "end": return _context6.stop(); } } }, _callee6, null, [[1, 8]]); })); function getSubjects() { return _getSubjects.apply(this, arguments); } return getSubjects; }(); var selectSubject = /*#__PURE__*/function () { var _selectSubject = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(idSubject) { var ENDPOINT_URL, _yield$requester$post, data; return _regenerator.default.wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: ENDPOINT_URL = "subject/".concat(idSubject, "/useSubject/"); _context7.prev = 1; _context7.next = 4; return requester.post(ENDPOINT_URL); case 4: _yield$requester$post = _context7.sent; data = _yield$requester$post.data; return _context7.abrupt("return", { data: data }); case 9: _context7.prev = 9; _context7.t0 = _context7["catch"](1); if (!_context7.t0.response) { _context7.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context7.t0; case 13: case "end": return _context7.stop(); } } }, _callee7, null, [[1, 9]]); })); function selectSubject(_x9) { return _selectSubject.apply(this, arguments); } return selectSubject; }(); var getEntities = /*#__PURE__*/function () { var _getEntities = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() { var ENDPOINT_URL, data; return _regenerator.default.wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: ENDPOINT_URL = "entity/"; _context8.prev = 1; _context8.next = 4; return requester.get(ENDPOINT_URL); case 4: data = _context8.sent; return _context8.abrupt("return", data.data); case 8: _context8.prev = 8; _context8.t0 = _context8["catch"](1); if (!_context8.t0.response) { _context8.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context8.t0; case 12: case "end": return _context8.stop(); } } }, _callee8, null, [[1, 8]]); })); function getEntities() { return _getEntities.apply(this, arguments); } return getEntities; }(); var getDocToDownload = /*#__PURE__*/function () { var _getDocToDownload = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(docId, fileName, taskId) { var ENDPOINT_URL, response; return _regenerator.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: ENDPOINT_URL = "act/".concat(docId, "/getAnonymousDocument/?taskid=").concat(taskId); _context9.prev = 1; _context9.next = 4; return requester.get(ENDPOINT_URL, { responseType: "blob" }); case 4: response = _context9.sent; (0, _fileSaver.default)(response.data, fileName); _context9.next = 12; break; case 8: _context9.prev = 8; _context9.t0 = _context9["catch"](1); if (!_context9.t0.response) { _context9.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context9.t0; case 12: case "end": return _context9.stop(); } } }, _callee9, null, [[1, 8]]); })); function getDocToDownload(_x10, _x11, _x12) { return _getDocToDownload.apply(this, arguments); } return getDocToDownload; }(); var getDocPublishedToDrive = /*#__PURE__*/function () { var _getDocPublishedToDrive = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(docId) { var ENDPOINT_URL, data; return _regenerator.default.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: ENDPOINT_URL = "act/".concat(docId, "/publishDocumentInDrive/"); _context10.prev = 1; _context10.next = 4; return requester.post(ENDPOINT_URL); case 4: data = _context10.sent; return _context10.abrupt("return", data); case 8: _context10.prev = 8; _context10.t0 = _context10["catch"](1); if (!_context10.t0.response) { _context10.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context10.t0; case 12: case "end": return _context10.stop(); } } }, _callee10, null, [[1, 8]]); })); function getDocPublishedToDrive(_x13) { return _getDocPublishedToDrive.apply(this, arguments); } return getDocPublishedToDrive; }(); var getDocPublished = /*#__PURE__*/function () { var _getDocPublished = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(docId) { var ENDPOINT_URL, data; return _regenerator.default.wrap(function _callee11$(_context11) { while (1) { switch (_context11.prev = _context11.next) { case 0: ENDPOINT_URL = "act/".concat(docId, "/publishDocument/"); _context11.prev = 1; _context11.next = 4; return requester.post(ENDPOINT_URL); case 4: data = _context11.sent; return _context11.abrupt("return", data); case 8: _context11.prev = 8; _context11.t0 = _context11["catch"](1); if (!_context11.t0.response) { _context11.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context11.t0; case 12: case "end": return _context11.stop(); } } }, _callee11, null, [[1, 8]]); })); function getDocPublished(_x14) { return _getDocPublished.apply(this, arguments); } return getDocPublished; }(); var getApiStats = /*#__PURE__*/function () { var _getApiStats = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(url, start, end) { var params, data; return _regenerator.default.wrap(function _callee12$(_context12) { while (1) { switch (_context12.prev = _context12.next) { case 0: _context12.prev = 0; params = { start: start, end: end }; _context12.next = 4; return requester.get(url, { params: params }); case 4: data = _context12.sent; return _context12.abrupt("return", data); case 8: _context12.prev = 8; _context12.t0 = _context12["catch"](0); if (!_context12.t0.response) { _context12.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context12.t0; case 12: case "end": return _context12.stop(); } } }, _callee12, null, [[0, 8]]); })); function getApiStats(_x15, _x16, _x17) { return _getApiStats.apply(this, arguments); } return getApiStats; }(); var getAllOcurrenciesOf = /*#__PURE__*/function () { var _getAllOcurrenciesOf = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(newAnnotations, docId, deleteAnnotations, entityList) { var ENDPOINT_URL, params, response; return _regenerator.default.wrap(function _callee13$(_context13) { while (1) { switch (_context13.prev = _context13.next) { case 0: ENDPOINT_URL = "/act/".concat(docId, "/addAllOccurrencies/"); params = { newOcurrencies: newAnnotations, deleteOcurrencies: deleteAnnotations, entityList: entityList }; _context13.prev = 2; _context13.next = 5; return requester.post(ENDPOINT_URL, params); case 5: response = _context13.sent; return _context13.abrupt("return", response ? response.data : null); case 9: _context13.prev = 9; _context13.t0 = _context13["catch"](2); if (!_context13.t0.response) { _context13.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context13.t0; case 13: case "end": return _context13.stop(); } } }, _callee13, null, [[2, 9]]); })); function getAllOcurrenciesOf(_x18, _x19, _x20, _x21) { return _getAllOcurrenciesOf.apply(this, arguments); } return getAllOcurrenciesOf; }(); var checkStatusDownloadDocument = /*#__PURE__*/function () { var _checkStatusDownloadDocument = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(docId, taskId) { var ENDPOINT_URL, data; return _regenerator.default.wrap(function _callee14$(_context14) { while (1) { switch (_context14.prev = _context14.next) { case 0: ENDPOINT_URL = "act/".concat(docId, "/getStatusDocument/?taskid=").concat(taskId); _context14.prev = 1; _context14.next = 4; return requester.get(ENDPOINT_URL); case 4: data = _context14.sent; return _context14.abrupt("return", data); case 8: _context14.prev = 8; _context14.t0 = _context14["catch"](1); if (!_context14.t0.response) { _context14.t0.response.data.detail = "Existe un problema de conexión en este momento. Intente Luego."; } throw _context14.t0; case 12: case "end": return _context14.stop(); } } }, _callee14, null, [[1, 8]]); })); function checkStatusDownloadDocument(_x22, _x23) { return _checkStatusDownloadDocument.apply(this, arguments); } return checkStatusDownloadDocument; }(); return { userLogin: userLogin, userLogout: userLogout, refreshToken: refreshToken, getAnonymizedDoc: getAnonymizedDoc, getDocAnalysis: getDocAnalysis, getSubjects: getSubjects, selectSubject: selectSubject, getEntities: getEntities, getDocToDownload: getDocToDownload, getDocPublishedToDrive: getDocPublishedToDrive, getDocPublished: getDocPublished, getHechoStats: function getHechoStats(start, end) { return getApiStats("/stats/hecho/", start, end); }, getLugarStats: function getLugarStats(start, end) { return getApiStats("/stats/lugar/", start, end); }, getEdadStats: function getEdadStats(start, end) { return getApiStats("/stats/edad/", start, end); }, getAllOcurrenciesOf: getAllOcurrenciesOf, checkStatusDownloadDocument: checkStatusDownloadDocument }; }; var _default = Api; exports.default = _default;