redink
Version:
RethinkDB model layer
29 lines (22 loc) • 2.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _checks = require('../../checks');
exports.default = function (relationship, data, conn) {
var inverse = relationship.inverse;
var type = relationship.type;
var relation = inverse.relation;
var field = inverse.field;
switch (relation) {
case 'hasMany':
// check relationship with inverse relation `hasMany`
return (0, _checks.checkValidId)(type, data, conn);
case 'hasOne':
// check relationship with inverse relation `hasOne`
return (0, _checks.checkInverseHasOne)(type, data, field, conn);
default:
throw new Error('Invalid inverse relationship of type \'' + relation + '\'');
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25zdHJhaW50cy9jcmVhdGUvdXRpbHMvaXNCZWxvbmdzVG9Db21wbGlhbnQuanMiXSwibmFtZXMiOlsicmVsYXRpb25zaGlwIiwiZGF0YSIsImNvbm4iLCJpbnZlcnNlIiwidHlwZSIsInJlbGF0aW9uIiwiZmllbGQiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O2tCQUVlLFVBQUNBLFlBQUQsRUFBZUMsSUFBZixFQUFxQkMsSUFBckIsRUFBOEI7QUFBQSxNQUNuQ0MsT0FEbUMsR0FDakJILFlBRGlCLENBQ25DRyxPQURtQztBQUFBLE1BQzFCQyxJQUQwQixHQUNqQkosWUFEaUIsQ0FDMUJJLElBRDBCO0FBQUEsTUFFbkNDLFFBRm1DLEdBRWZGLE9BRmUsQ0FFbkNFLFFBRm1DO0FBQUEsTUFFekJDLEtBRnlCLEdBRWZILE9BRmUsQ0FFekJHLEtBRnlCOzs7QUFJM0MsVUFBUUQsUUFBUjtBQUNFLFNBQUssU0FBTDtBQUNFO0FBQ0EsYUFBTywwQkFBYUQsSUFBYixFQUFtQkgsSUFBbkIsRUFBeUJDLElBQXpCLENBQVA7O0FBRUYsU0FBSyxRQUFMO0FBQ0U7QUFDQSxhQUFPLGdDQUFtQkUsSUFBbkIsRUFBeUJILElBQXpCLEVBQStCSyxLQUEvQixFQUFzQ0osSUFBdEMsQ0FBUDs7QUFFRjtBQUNFLFlBQU0sSUFBSUssS0FBSiw2Q0FBbURGLFFBQW5ELFFBQU47QUFWSjtBQVlELEMiLCJmaWxlIjoiaXNCZWxvbmdzVG9Db21wbGlhbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGVja1ZhbGlkSWQsIGNoZWNrSW52ZXJzZUhhc09uZSB9IGZyb20gJy4uLy4uL2NoZWNrcyc7XG5cbmV4cG9ydCBkZWZhdWx0IChyZWxhdGlvbnNoaXAsIGRhdGEsIGNvbm4pID0+IHtcbiAgY29uc3QgeyBpbnZlcnNlLCB0eXBlIH0gPSByZWxhdGlvbnNoaXA7XG4gIGNvbnN0IHsgcmVsYXRpb24sIGZpZWxkIH0gPSBpbnZlcnNlO1xuXG4gIHN3aXRjaCAocmVsYXRpb24pIHtcbiAgICBjYXNlICdoYXNNYW55JzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGhhc01hbnlgXG4gICAgICByZXR1cm4gY2hlY2tWYWxpZElkKHR5cGUsIGRhdGEsIGNvbm4pO1xuXG4gICAgY2FzZSAnaGFzT25lJzpcbiAgICAgIC8vIGNoZWNrIHJlbGF0aW9uc2hpcCB3aXRoIGludmVyc2UgcmVsYXRpb24gYGhhc09uZWBcbiAgICAgIHJldHVybiBjaGVja0ludmVyc2VIYXNPbmUodHlwZSwgZGF0YSwgZmllbGQsIGNvbm4pO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnZlcnNlIHJlbGF0aW9uc2hpcCBvZiB0eXBlICcke3JlbGF0aW9ufSdgKTtcbiAgfVxufTtcbiJdfQ==