forest-express
Version:
Official package for all Forest Express Lianas
47 lines (46 loc) • 1.84 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _require = require('@forestadmin/context'),
inject = _require.inject;
var ResourceSerializer = require('../../serializers/resource');
var AbstractRecordService = /*#__PURE__*/function () {
function AbstractRecordService(model, user, params) {
var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : inject(),
configStore = _ref.configStore,
modelsManager = _ref.modelsManager;
(0, _classCallCheck2["default"])(this, AbstractRecordService);
if (!params.timezone) throw new Error('Missing timezone in parameters');
this.model = model;
this.user = user;
this.params = params;
this.configStore = configStore;
this.modelsManager = modelsManager;
this.excludesScope = false;
}
(0, _createClass2["default"])(AbstractRecordService, [{
key: "Implementation",
get: function get() {
return this.configStore.Implementation;
}
}, {
key: "lianaOptions",
get: function get() {
return this.configStore.lianaOptions;
}
}, {
key: "integrator",
get: function get() {
return this.configStore.integrator;
}
}, {
key: "serialize",
value: function serialize(records) {
var meta = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
return new ResourceSerializer(this.Implementation, this.model, records, this.integrator, meta, this.fieldsSearched, this.searchValue, this.fieldsPerModel).perform();
}
}]);
return AbstractRecordService;
}();
module.exports = AbstractRecordService;