backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
116 lines (115 loc) • 5.23 kB
JavaScript
;
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/asyncToGenerator"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _utils = _interopRequireDefault(require("../utils"));
var _user = _interopRequireDefault(require("../users/user"));
var _store = _interopRequireDefault(require("./store"));
var _dataQueryBuilder = _interopRequireDefault(require("./data-query-builder"));
var _groupQueryBuilder = _interopRequireDefault(require("./group-query-builder"));
var _loadRelationsQueryBuilder = _interopRequireDefault(require("./load-relations-query-builder"));
var _jsonUpdateBuilder = _interopRequireDefault(require("./json-update-builder"));
var _point = _interopRequireDefault(require("./geo/point"));
var _linestring = _interopRequireDefault(require("./geo/linestring"));
var _polygon = _interopRequireDefault(require("./geo/polygon"));
var _geometry = _interopRequireDefault(require("./geo/geometry"));
var _spatialReferenceSystem = _interopRequireDefault(require("./geo/spatial-reference-system"));
var _wktParser = _interopRequireDefault(require("./geo/wkt-parser"));
var _geoJsonParser = _interopRequireDefault(require("./geo/geo-json-parser"));
var _persmission = _interopRequireDefault(require("./persmission"));
var Data = /*#__PURE__*/function () {
function Data(app) {
(0, _classCallCheck2["default"])(this, Data);
this.app = app;
this.classToTableMap = (0, _defineProperty2["default"])({}, _user["default"].className, _user["default"]);
this.Permissions = {
FIND: new _persmission["default"]('FIND', app),
REMOVE: new _persmission["default"]('REMOVE', app),
UPDATE: new _persmission["default"]('UPDATE', app)
};
this.QueryBuilder = _dataQueryBuilder["default"];
this.GroupQueryBuilder = _groupQueryBuilder["default"];
this.LoadRelationsQueryBuilder = _loadRelationsQueryBuilder["default"];
this.JSONUpdateBuilder = _jsonUpdateBuilder["default"];
this.Point = _point["default"];
this.LineString = _linestring["default"];
this.Polygon = _polygon["default"];
this.Geometry = _geometry["default"];
this.GeoJSONParser = _geoJsonParser["default"];
this.WKTParser = _wktParser["default"];
this.SpatialReferenceSystem = _spatialReferenceSystem["default"];
}
(0, _createClass2["default"])(Data, [{
key: "of",
value: function of(model) {
return new _store["default"](model, this);
}
}, {
key: "describe",
value: function () {
var _describe = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(className) {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
className = typeof className === 'string' ? className : _utils["default"].getClassName(className);
return _context.abrupt("return", this.app.request.get({
url: this.app.urls.dataTableProps(className)
}));
case 2:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function describe(_x) {
return _describe.apply(this, arguments);
}
return describe;
}()
}, {
key: "getTableNameById",
value: function () {
var _getTableNameById = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(tableId) {
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
return _context2.abrupt("return", this.app.request.get({
url: this.app.urls.dataTableNameById(tableId)
}));
case 1:
case "end":
return _context2.stop();
}
}, _callee2, this);
}));
function getTableNameById(_x2) {
return _getTableNameById.apply(this, arguments);
}
return getTableNameById;
}()
}, {
key: "mapTableToClass",
value: function mapTableToClass(tableName, clientClass) {
if (typeof tableName === 'function') {
clientClass = tableName;
tableName = _utils["default"].getClassName(clientClass);
}
if (!tableName || typeof tableName !== 'string') {
throw new Error('Table Name must be provided and must be a string.');
}
if (!clientClass || typeof clientClass !== 'function') {
throw new Error('Class must be provided and must be a constructor function.');
}
this.classToTableMap[tableName] = clientClass;
}
}]);
return Data;
}();
exports["default"] = Data;