UNPKG

objection

Version:
59 lines (39 loc) 4.94 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _QueryBuilderOperation = require('../../queryBuilder/operations/QueryBuilderOperation'); var _QueryBuilderOperation2 = _interopRequireDefault(_QueryBuilderOperation); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var HasManyUnrelateOperation = function (_QueryBuilderOperatio) { (0, _inherits3.default)(HasManyUnrelateOperation, _QueryBuilderOperatio); function HasManyUnrelateOperation(name, opt) { (0, _classCallCheck3.default)(this, HasManyUnrelateOperation); var _this = (0, _possibleConstructorReturn3.default)(this, _QueryBuilderOperatio.call(this, name, opt)); _this.isWriteOperation = true; _this.relation = opt.relation; _this.owner = opt.owner; _this.ids = null; return _this; } HasManyUnrelateOperation.prototype.queryExecutor = function queryExecutor(builder) { var patch = {}; for (var i = 0, l = this.relation.relatedProp.length; i < l; ++i) { patch[this.relation.relatedProp[i]] = null; } return this.relation.relatedModelClass.query().childQueryOf(builder).patch(patch).copyFrom(builder, /where/i).whereComposite(this.relation.fullRelatedCol(), this.owner.$values(this.relation.ownerProp)).modify(this.relation.modify); }; HasManyUnrelateOperation.prototype.onAfterInternal = function onAfterInternal() { return {}; }; return HasManyUnrelateOperation; }(_QueryBuilderOperation2.default); exports.default = HasManyUnrelateOperation; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkhhc01hbnlVbnJlbGF0ZU9wZXJhdGlvbi5qcyJdLCJuYW1lcyI6WyJIYXNNYW55VW5yZWxhdGVPcGVyYXRpb24iLCJuYW1lIiwib3B0IiwiaXNXcml0ZU9wZXJhdGlvbiIsInJlbGF0aW9uIiwib3duZXIiLCJpZHMiLCJxdWVyeUV4ZWN1dG9yIiwiYnVpbGRlciIsInBhdGNoIiwiaSIsImwiLCJyZWxhdGVkUHJvcCIsImxlbmd0aCIsInJlbGF0ZWRNb2RlbENsYXNzIiwicXVlcnkiLCJjaGlsZFF1ZXJ5T2YiLCJjb3B5RnJvbSIsIndoZXJlQ29tcG9zaXRlIiwiZnVsbFJlbGF0ZWRDb2wiLCIkdmFsdWVzIiwib3duZXJQcm9wIiwibW9kaWZ5Iiwib25BZnRlckludGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztJQUVxQkEsd0I7OztBQUVuQixvQ0FBWUMsSUFBWixFQUFrQkMsR0FBbEIsRUFBdUI7QUFBQTs7QUFBQSwrREFDckIsaUNBQU1ELElBQU4sRUFBWUMsR0FBWixDQURxQjs7QUFHckIsVUFBS0MsZ0JBQUwsR0FBd0IsSUFBeEI7QUFDQSxVQUFLQyxRQUFMLEdBQWdCRixJQUFJRSxRQUFwQjtBQUNBLFVBQUtDLEtBQUwsR0FBYUgsSUFBSUcsS0FBakI7QUFDQSxVQUFLQyxHQUFMLEdBQVcsSUFBWDtBQU5xQjtBQU90Qjs7cUNBRURDLGEsMEJBQWNDLE8sRUFBUztBQUNyQixRQUFJQyxRQUFRLEVBQVo7O0FBRUEsU0FBSyxJQUFJQyxJQUFJLENBQVIsRUFBV0MsSUFBSSxLQUFLUCxRQUFMLENBQWNRLFdBQWQsQ0FBMEJDLE1BQTlDLEVBQXNESCxJQUFJQyxDQUExRCxFQUE2RCxFQUFFRCxDQUEvRCxFQUFrRTtBQUNoRUQsWUFBTSxLQUFLTCxRQUFMLENBQWNRLFdBQWQsQ0FBMEJGLENBQTFCLENBQU4sSUFBc0MsSUFBdEM7QUFDRDs7QUFFRCxXQUFPLEtBQUtOLFFBQUwsQ0FBY1UsaUJBQWQsQ0FDSkMsS0FESSxHQUVKQyxZQUZJLENBRVNSLE9BRlQsRUFHSkMsS0FISSxDQUdFQSxLQUhGLEVBSUpRLFFBSkksQ0FJS1QsT0FKTCxFQUljLFFBSmQsRUFLSlUsY0FMSSxDQUtXLEtBQUtkLFFBQUwsQ0FBY2UsY0FBZCxFQUxYLEVBSzJDLEtBQUtkLEtBQUwsQ0FBV2UsT0FBWCxDQUFtQixLQUFLaEIsUUFBTCxDQUFjaUIsU0FBakMsQ0FMM0MsRUFNSkMsTUFOSSxDQU1HLEtBQUtsQixRQUFMLENBQWNrQixNQU5qQixDQUFQO0FBT0QsRzs7cUNBRURDLGUsOEJBQWtCO0FBQ2hCLFdBQU8sRUFBUDtBQUNELEc7Ozs7O2tCQTdCa0J2Qix3QiIsImZpbGUiOiJIYXNNYW55VW5yZWxhdGVPcGVyYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUXVlcnlCdWlsZGVyT3BlcmF0aW9uIGZyb20gJy4uLy4uL3F1ZXJ5QnVpbGRlci9vcGVyYXRpb25zL1F1ZXJ5QnVpbGRlck9wZXJhdGlvbidcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSGFzTWFueVVucmVsYXRlT3BlcmF0aW9uIGV4dGVuZHMgUXVlcnlCdWlsZGVyT3BlcmF0aW9uIHtcblxuICBjb25zdHJ1Y3RvcihuYW1lLCBvcHQpIHtcbiAgICBzdXBlcihuYW1lLCBvcHQpO1xuXG4gICAgdGhpcy5pc1dyaXRlT3BlcmF0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnJlbGF0aW9uID0gb3B0LnJlbGF0aW9uO1xuICAgIHRoaXMub3duZXIgPSBvcHQub3duZXI7XG4gICAgdGhpcy5pZHMgPSBudWxsO1xuICB9XG5cbiAgcXVlcnlFeGVjdXRvcihidWlsZGVyKSB7XG4gICAgdmFyIHBhdGNoID0ge307XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVsYXRpb24ucmVsYXRlZFByb3AubGVuZ3RoOyBpIDwgbDsgKytpKSB7XG4gICAgICBwYXRjaFt0aGlzLnJlbGF0aW9uLnJlbGF0ZWRQcm9wW2ldXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVsYXRpb24ucmVsYXRlZE1vZGVsQ2xhc3NcbiAgICAgIC5xdWVyeSgpXG4gICAgICAuY2hpbGRRdWVyeU9mKGJ1aWxkZXIpXG4gICAgICAucGF0Y2gocGF0Y2gpXG4gICAgICAuY29weUZyb20oYnVpbGRlciwgL3doZXJlL2kpXG4gICAgICAud2hlcmVDb21wb3NpdGUodGhpcy5yZWxhdGlvbi5mdWxsUmVsYXRlZENvbCgpLCB0aGlzLm93bmVyLiR2YWx1ZXModGhpcy5yZWxhdGlvbi5vd25lclByb3ApKVxuICAgICAgLm1vZGlmeSh0aGlzLnJlbGF0aW9uLm1vZGlmeSk7XG4gIH1cblxuICBvbkFmdGVySW50ZXJuYWwoKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG59XG4iXX0=