UNPKG

backendless-console-sdk

Version:

Backendless Console SDK for Node.js and browser

150 lines (149 loc) 7.89 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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _urls = _interopRequireDefault(require("./urls")); var _totalRows = _interopRequireDefault(require("./utils/total-rows")); var _cacheTags = require("./utils/cache-tags"); var _path = require("./utils/path"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var getFileFolder = function getFileFolder(file) { var tokens = file.split('/'); if (tokens.length > 1) { tokens.pop(); return tokens.join('/'); } return ''; }; var _default = function _default(req) { return { loadDirectory: function loadDirectory(appId, path, params) { path = path || '/'; var _ref = params || {}, pattern = _ref.pattern, sub = _ref.sub, sortBy = _ref.sortBy, sortDirection = _ref.sortDirection, pageSize = _ref.pageSize, offset = _ref.offset; var dataReq = req.get(_urls["default"].directoryView(appId, path)).query({ pattern: pattern, sub: sub, sortBy: sortBy, sortDirection: sortDirection, pageSize: pageSize, offset: offset }).cacheTags((0, _cacheTags.FOLDER)(appId, path)); return (0, _totalRows["default"])(req).getWithData(dataReq); }, loadFullDirectory: function loadFullDirectory(appId, path, params) { return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var currentQuery, url, totalCount, filesList, requests, results; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: currentQuery = _objectSpread(_objectSpread({}, params), {}, { pageSize: 100, offset: 0 }); url = _urls["default"].directoryView(appId, path); _context.next = 4; return (0, _totalRows["default"])(req).get(url); case 4: totalCount = _context.sent; filesList = []; requests = []; while (currentQuery.offset < totalCount) { requests.push(req.get(url).query(currentQuery)); currentQuery = _objectSpread(_objectSpread({}, currentQuery), {}, { offset: currentQuery.offset + 100 }); } _context.next = 10; return Promise.all(requests); case 10: results = _context.sent; results.forEach(function (files) { return filesList.push.apply(filesList, (0, _toConsumableArray2["default"])(files)); }); return _context.abrupt("return", filesList); case 13: case "end": return _context.stop(); } }, _callee); }))(); }, createDir: function createDir(appId, path, folderName) { return req.post(_urls["default"].createDir(appId, path, folderName)).cacheTags((0, _cacheTags.FOLDER)(appId, path)); }, getFileContent: function getFileContent(appId, filePath) { return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: return _context2.abrupt("return", req.get(_urls["default"].fileDownload(appId, filePath))); case 1: case "end": return _context2.stop(); } }, _callee2); }))(); }, performOperation: function performOperation(appId, filePath, operation) { //for root directory operations it has send '/' as path var path = filePath ? (0, _path.encodePath)(filePath) : encodeURIComponent('/'); return req.put("".concat(_urls["default"].appConsole(appId), "/files/").concat(path)).query({ operation: operation }).cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(path))); }, fileExists: function fileExists(appId, filePath) { return req.get(_urls["default"].fileExists(appId, filePath)); }, editFile: function editFile(appId, filePath, fileContent) { return req.post(_urls["default"].fileEdit(appId, filePath), { file: fileContent }); }, createFile: function createFile(appId, filePath, fileContent) { return req.post(_urls["default"].fileCreate(appId, filePath), { file: fileContent }).set('Accept', '*/*') //workarround for BKNDLSS-13702 .cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(filePath))); }, moveFile: function moveFile(appId, filePath, newFilePath) { return req.post(_urls["default"].fileMove(appId, filePath), (0, _path.encodePath)(newFilePath)).cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(filePath))); }, copyFile: function copyFile(appId, filePath, newFilePath) { return req.post(_urls["default"].fileCopy(appId, filePath), (0, _path.encodePath)(newFilePath)).cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(filePath))); }, renameFile: function renameFile(appId, filePath, newFileName) { return req.post(_urls["default"].fileRename(appId, filePath), encodeURIComponent(newFileName)).cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(filePath))); }, deleteFile: function deleteFile(appId, filePath) { return req["delete"](_urls["default"].fileDelete(appId, filePath)).cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(filePath))); }, uploadFile: function uploadFile(appId, file, path, fileName) { var overwrite = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; return req.post(_urls["default"].fileUpload(appId, "".concat(path, "/").concat(fileName)), file).query({ overwrite: overwrite }).cacheTags((0, _cacheTags.FOLDER)(appId, path)); }, createConsoleFile: function createConsoleFile(appId, path, content) { return req.post("".concat(_urls["default"].appConsole(appId), "/files/create/").concat((0, _path.encodePath)(path)), content).set('Accept', '*/*') //workarround for BKNDLSS-13702 .cacheTags((0, _cacheTags.FOLDER)(appId, getFileFolder(path))); }, viewFiles: function viewFiles(appId) { var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; return req.get(_urls["default"].fileView(appId, path)); } }; }; exports["default"] = _default;