backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
69 lines (68 loc) • 2.11 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.DataHive = void 0;
exports["default"] = HiveService;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _stores = require("./stores");
function HiveService(app) {
function getHive(name) {
if (!name || typeof name !== 'string') {
throw new Error('Hive name must be provided and must be a string.');
}
return new DataHive(name, {
app: app
});
}
getHive.getNames = function () {
return app.request.get({
url: app.urls.dataHives()
});
};
return getHive;
}
var DataHive = /*#__PURE__*/function () {
function DataHive(name, context) {
(0, _classCallCheck2["default"])(this, DataHive);
this.hiveName = name;
this.app = context.app;
this.KeyValueStore = _stores.KeyValueStore.registerType(this);
this.ListStore = _stores.ListStore.registerType(this);
this.MapStore = _stores.MapStore.registerType(this);
this.SetStore = _stores.SetStore.registerType(this);
this.SortedSetStore = _stores.SortedSetStore.registerType(this);
}
(0, _createClass2["default"])(DataHive, [{
key: "create",
value: function create() {
return this.app.request.post({
url: this.app.urls.dataHive(this.hiveName)
});
}
}, {
key: "delete",
value: function _delete() {
return this.app.request["delete"]({
url: this.app.urls.dataHive(this.hiveName)
});
}
}, {
key: "rename",
value: function rename(newName) {
if (!newName || typeof newName !== 'string') {
throw new Error('New Hive name must be provided and must be a string.');
}
return this.app.request.put({
url: this.app.urls.dataHive(this.hiveName),
query: {
newName: newName
}
});
}
}]);
return DataHive;
}();
exports.DataHive = DataHive;