redink
Version:
RethinkDB model layer
26 lines (20 loc) • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _rethinkdb = require('rethinkdb');
var _rethinkdb2 = _interopRequireDefault(_rethinkdb);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
exports.default = function (inverseType, inverseField, idsToUpdate, idToSplice) {
return _rethinkdb2.default.table(inverseType).getAll(_rethinkdb2.default.args(idsToUpdate)).update(function (row) {
return _defineProperty({}, inverseField, row(inverseField).map(function (data) {
return _rethinkdb2.default.branch(data('id').eq(idToSplice), {
id: data('id'),
_archived: true,
_related: data('_related')
}, data);
}));
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2FyY2hpdmVTcGxpY2VJZEZyb21JbnZlcnNlRmllbGQuanMiXSwibmFtZXMiOlsiaW52ZXJzZVR5cGUiLCJpbnZlcnNlRmllbGQiLCJpZHNUb1VwZGF0ZSIsImlkVG9TcGxpY2UiLCJ0YWJsZSIsImdldEFsbCIsImFyZ3MiLCJ1cGRhdGUiLCJyb3ciLCJtYXAiLCJicmFuY2giLCJkYXRhIiwiZXEiLCJpZCIsIl9hcmNoaXZlZCIsIl9yZWxhdGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7Ozs7a0JBRWUsVUFBQ0EsV0FBRCxFQUFjQyxZQUFkLEVBQTRCQyxXQUE1QixFQUF5Q0MsVUFBekM7QUFBQSxTQUNiLG9CQUFFQyxLQUFGLENBQVFKLFdBQVIsRUFBcUJLLE1BQXJCLENBQTRCLG9CQUFFQyxJQUFGLENBQU9KLFdBQVAsQ0FBNUIsRUFBaURLLE1BQWpELENBQXdEO0FBQUEsK0JBQ3JETixZQURxRCxFQUN0Q08sSUFBSVAsWUFBSixFQUFrQlEsR0FBbEIsQ0FBc0I7QUFBQSxhQUNwQyxvQkFBRUMsTUFBRixDQUFTQyxLQUFLLElBQUwsRUFBV0MsRUFBWCxDQUFjVCxVQUFkLENBQVQsRUFDRTtBQUNFVSxZQUFJRixLQUFLLElBQUwsQ0FETjtBQUVFRyxtQkFBVyxJQUZiO0FBR0VDLGtCQUFVSixLQUFLLFVBQUw7QUFIWixPQURGLEVBS0tBLElBTEwsQ0FEb0M7QUFBQSxLQUF0QixDQURzQztBQUFBLEdBQXhELENBRGE7QUFBQSxDIiwiZmlsZSI6ImFyY2hpdmVTcGxpY2VJZEZyb21JbnZlcnNlRmllbGQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgciBmcm9tICdyZXRoaW5rZGInO1xuXG5leHBvcnQgZGVmYXVsdCAoaW52ZXJzZVR5cGUsIGludmVyc2VGaWVsZCwgaWRzVG9VcGRhdGUsIGlkVG9TcGxpY2UpID0+IChcbiAgci50YWJsZShpbnZlcnNlVHlwZSkuZ2V0QWxsKHIuYXJncyhpZHNUb1VwZGF0ZSkpLnVwZGF0ZShyb3cgPT4gKHtcbiAgICBbaW52ZXJzZUZpZWxkXTogcm93KGludmVyc2VGaWVsZCkubWFwKGRhdGEgPT4gKFxuICAgICAgci5icmFuY2goZGF0YSgnaWQnKS5lcShpZFRvU3BsaWNlKSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBkYXRhKCdpZCcpLFxuICAgICAgICAgIF9hcmNoaXZlZDogdHJ1ZSxcbiAgICAgICAgICBfcmVsYXRlZDogZGF0YSgnX3JlbGF0ZWQnKSxcbiAgICAgICAgfSwgZGF0YVxuICAgICAgKVxuICAgICkpLFxuICB9KSlcbik7XG4iXX0=