@uql/mongo
Advanced tools
Comparing version 0.4.66 to 0.4.67
@@ -113,4 +113,4 @@ "use strict"; | ||
let changes; | ||
if (meta.softDeleteKey && !opts.softDelete) { | ||
const updateResult = await this.collection(entity).updateMany({ _id: { $in: ids } }, { $set: { [meta.softDeleteKey]: meta.fields[meta.softDeleteKey].onDelete() } }, { | ||
if (meta.softDelete && !opts.softDelete) { | ||
const updateResult = await this.collection(entity).updateMany({ _id: { $in: ids } }, { $set: { [meta.softDelete]: meta.fields[meta.softDelete].onDelete() } }, { | ||
session: this.session, | ||
@@ -171,2 +171,2 @@ }); | ||
exports.MongodbQuerier = MongodbQuerier; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9uZ29kYlF1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0NBQWdEO0FBQ2hELDBEQUFxRDtBQUNyRCx5Q0FBd0c7QUFJeEcsTUFBYSxjQUFlLFNBQVEscUJBQVc7SUFHN0MsWUFBcUIsT0FBcUIsRUFBVyxJQUFpQixFQUFXLE1BQWU7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVM7SUFFaEcsQ0FBQztJQUVRLEtBQUssQ0FBSSxNQUFlLEVBQUUsS0FBcUIsRUFBRTs7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFBLElBQUksQ0FBQyxNQUFNLCtDQUFYLElBQUksRUFBVSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNwRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVcsQ0FBSSxNQUFlLEVBQUUsRUFBYyxFQUFFLEVBQWtCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRVEsS0FBSyxDQUFDLFFBQVEsQ0FBSSxNQUFlLEVBQUUsRUFBWTs7UUFDdEQsTUFBTSxJQUFJLEdBQUcsbUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3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QWlCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRVEsS0FBSyxDQUFDLG1CQUFtQjs7UUFDaEMsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxhQUFhLEVBQUUsQ0FBQSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNsRDtRQUNELE1BQUEsSUFBSSxDQUFDLE1BQU0sK0NBQVgsSUFBSSxFQUFVLHFCQUFxQixDQUFDLENBQUM7UUFDckMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBZTs7UUFDcEMsSUFBSSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLGFBQWEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUM1QztRQUNELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBekxELHdDQXlMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbmdvQ2xpZW50LCBDbGllbnRTZXNzaW9uIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBRdWVyeSwgVHlwZSwgUXVlcnlDcml0ZXJpYSwgUXVlcnlPcHRpb25zLCBRdWVyeVNlYXJjaCwgSWRWYWx1ZSwgRmllbGRWYWx1ZSwgTG9nZ2VyLCBRdWVyeVVuaXF1ZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEJhc2VRdWVyaWVyIH0gZnJvbSAnQHVxbC9jb3JlL3F1ZXJpZXInO1xuaW1wb3J0IHsgZ2V0TWV0YSB9IGZyb20gJ0B1cWwvY29yZS9lbnRpdHkvZGVjb3JhdG9yJztcbmltcG9ydCB7IGNsb25lLCBnZXRQZXJzaXN0YWJsZSwgZ2V0UGVyc2lzdGFibGVzLCBoYXNLZXlzLCBpc1Byb2plY3RpbmdSZWxhdGlvbnMgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbmltcG9ydCB7IE1vbmdvRGlhbGVjdCB9IGZyb20gJy4vbW9uZ29EaWFsZWN0JztcblxuZXhwb3J0IGNsYXNzIE1vbmdvZGJRdWVyaWVyIGV4dGVuZHMgQmFzZVF1ZXJpZXIge1xuICBwcml2YXRlIHNlc3Npb246IENsaWVudFNlc3Npb247XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGlhbGVjdDogTW9uZ29EaWFsZWN0LCByZWFkb25seSBjb25uOiBNb25nb0NsaWVudCwgcmVhZG9ubHkgbG9nZ2VyPzogTG9nZ2VyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5U2VhcmNoPEU+ID0ge30pIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgdGhpcy5sb2dnZXI/LignY291bnQnLCBlbnRpdHkubmFtZSwgZmlsdGVyKTtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuY291bnREb2N1bWVudHMoZmlsdGVyLCB7XG4gICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBmaW5kT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBxbTogUXVlcnlVbmlxdWU8RT4pIHtcbiAgICByZXR1cm4gdGhpcy5maW5kT25lKGVudGl0eSwgeyAuLi5xbSwgJGZpbHRlcjogaWQgfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG5cbiAgICBsZXQgZG9jdW1lbnRzOiBFW107XG4gICAgY29uc3QgaGFzUHJvamVjdFJlbGF0aW9ucyA9IGlzUHJvamVjdGluZ1JlbGF0aW9ucyhtZXRhLCBxbS4kcHJvamVjdCk7XG5cbiAgICBpZiAoaGFzUHJvamVjdFJlbGF0aW9ucykge1xuICAgICAgY29uc3QgcGlwZWxpbmUgPSB0aGlzLmRpYWxlY3QuYWdncmVnYXRpb25QaXBlbGluZShlbnRpdHksIHFtKTtcbiAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICB0aGlzLmxvZ2dlcignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgSlNPTi5zdHJpbmdpZnkocGlwZWxpbmUsIG51bGwsIDIpKTtcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50cyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmFnZ3JlZ2F0ZTxFPihwaXBlbGluZSwgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSkudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgICAgYXdhaXQgdGhpcy5maW5kVG9NYW55UmVsYXRpb25zKGVudGl0eSwgZG9jdW1lbnRzLCBxbS4kcHJvamVjdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmZpbmQ8RT4oe30sIHsgc2Vzc2lvbjogdGhpcy5zZXNzaW9uIH0pO1xuXG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgICBpZiAoaGFzS2V5cyhmaWx0ZXIpKSB7XG4gICAgICAgIGN1cnNvci5maWx0ZXIoZmlsdGVyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLmRpYWxlY3QucHJvamVjdChlbnRpdHksIHFtLiRwcm9qZWN0KTtcbiAgICAgIGlmIChoYXNLZXlzKHByb2plY3QpKSB7XG4gICAgICAgIGN1cnNvci5wcm9qZWN0KHByb2plY3QpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc29ydCA9IHRoaXMuZGlhbGVjdC5zb3J0KGVudGl0eSwgcW0uJHNvcnQpO1xuICAgICAgaWYgKGhhc0tleXMoc29ydCkpIHtcbiAgICAgICAgY3Vyc29yLnNvcnQoc29ydCk7XG4gICAgICB9XG4gICAgICBpZiAocW0uJHNraXApIHtcbiAgICAgICAgY3Vyc29yLnNraXAocW0uJHNraXApO1xuICAgICAgfVxuICAgICAgaWYgKHFtLiRsaW1pdCkge1xuICAgICAgICBjdXJzb3IubGltaXQocW0uJGxpbWl0KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXI/LignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgcW0pO1xuXG4gICAgICBkb2N1bWVudHMgPSBhd2FpdCBjdXJzb3IudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudHM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbnNlcnRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKSB7XG4gICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcblxuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcGF5bG9hZHMgPSBBcnJheS5pc0FycmF5KHBheWxvYWQpID8gcGF5bG9hZCA6IFtwYXlsb2FkXTtcbiAgICBjb25zdCBwZXJzaXN0YWJsZXMgPSBnZXRQZXJzaXN0YWJsZXMobWV0YSwgcGF5bG9hZCwgJ29uSW5zZXJ0Jyk7XG5cbiAgICB0aGlzLmxvZ2dlcj8uKCdpbnNlcnRNYW55JywgZW50aXR5Lm5hbWUsIHBlcnNpc3RhYmxlcyk7XG5cbiAgICBjb25zdCB7IGluc2VydGVkSWRzIH0gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KS5pbnNlcnRNYW55KHBlcnNpc3RhYmxlcywgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSk7XG5cbiAgICBjb25zdCBpZHM6IElkVmFsdWU8RT5bXSA9IE9iamVjdC52YWx1ZXMoaW5zZXJ0ZWRJZHMpO1xuXG4gICAgZm9yIChjb25zdCBbaW5kZXgsIGl0XSBvZiBwYXlsb2Fkcy5lbnRyaWVzKCkpIHtcbiAgICAgIGl0W21ldGEuaWRdID0gaWRzW2luZGV4XSBhcyBGaWVsZFZhbHVlPEU+O1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0UmVsYXRpb25zKGVudGl0eSwgcGF5bG9hZHMpO1xuXG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IHBlcnNpc3RhYmxlID0gZ2V0UGVyc2lzdGFibGUobWV0YSwgcGF5bG9hZCwgJ29uVXBkYXRlJyk7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5kaWFsZWN0LmZpbHRlcihlbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgJHNldDogcGVyc2lzdGFibGUgfTtcblxuICAgIHRoaXMubG9nZ2VyPy4oJ3VwZGF0ZU1hbnknLCBlbnRpdHkubmFtZSwgZmlsdGVyLCB1cGRhdGUpO1xuXG4gICAgY29uc3QgeyBtYXRjaGVkQ291bnQgfSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLnVwZGF0ZU1hbnkoZmlsdGVyLCB1cGRhdGUsIHtcbiAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMudXBkYXRlUmVsYXRpb25zKGVudGl0eSwgcW0sIHBheWxvYWQpO1xuXG4gICAgcmV0dXJuIG1hdGNoZWRDb3VudDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgb3B0czogUXVlcnlPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZGlhbGVjdC5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICB0aGlzLmxvZ2dlcj8uKCdkZWxldGVNYW55JywgZW50aXR5Lm5hbWUsIGZpbHRlciwgb3B0cyk7XG4gICAgY29uc3QgZm91bmRzOiBFW10gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KVxuICAgICAgLmZpbmQoZmlsdGVyLCB7XG4gICAgICAgIHByb2plY3Rpb246IHsgX2lkOiB0cnVlIH0sXG4gICAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICAgIH0pXG4gICAgICAudG9BcnJheSgpO1xuICAgIGlmICghZm91bmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IGlkczogSWRWYWx1ZTxFPltdID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBmb3VuZHMpLm1hcCgoZm91bmQpID0+IGZvdW5kW21ldGEuaWRdKTtcbiAgICBsZXQgY2hhbmdlczogbnVtYmVyO1xuICAgIGlmIChtZXRhLnNvZnREZWxldGVLZXkgJiYgIW9wdHMuc29mdERlbGV0ZSkge1xuICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkudXBkYXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7ICRzZXQ6IHsgW21ldGEuc29mdERlbGV0ZUtleV06IG1ldGEuZmllbGRzW21ldGEuc29mdERlbGV0ZUtleV0ub25EZWxldGUoKSB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBjaGFuZ2VzID0gdXBkYXRlUmVzdWx0Lm1hdGNoZWRDb3VudDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVsZXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuZGVsZXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY2hhbmdlcyA9IGRlbGV0ZVJlc3VsdC5kZWxldGVkQ291bnQ7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVsYXRpb25zKGVudGl0eSwgaWRzLCBvcHRzKTtcbiAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBoYXNPcGVuVHJhbnNhY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbj8uaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgY29sbGVjdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIHJldHVybiB0aGlzLmNvbm4uZGIoKS5jb2xsZWN0aW9uKG1ldGEubmFtZSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBiZWdpblRyYW5zYWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNlc3Npb24/LmluVHJhbnNhY3Rpb24oKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlcj8uKCdiZWdpblRyYW5zYWN0aW9uJyk7XG4gICAgdGhpcy5zZXNzaW9uID0gdGhpcy5jb25uLnN0YXJ0U2Vzc2lvbigpO1xuICAgIHRoaXMuc2Vzc2lvbi5zdGFydFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjb21taXRUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbj8uaW5UcmFuc2FjdGlvbigpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdub3QgYSBwZW5kaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyPy4oJ2NvbW1pdFRyYW5zYWN0aW9uJyk7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByb2xsYmFja1RyYW5zYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5zZXNzaW9uPy5pblRyYW5zYWN0aW9uKCkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXI/Ligncm9sbGJhY2tUcmFuc2FjdGlvbicpO1xuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5hYm9ydFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByZWxlYXNlKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnNlc3Npb24/LmluVHJhbnNhY3Rpb24oKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmNvbm4uY2xvc2UoZm9yY2UpO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29kYlF1ZXJpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9uZ29kYlF1ZXJpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0NBQWdEO0FBQ2hELDBEQUFxRDtBQUNyRCx5Q0FBd0c7QUFJeEcsTUFBYSxjQUFlLFNBQVEscUJBQVc7SUFHN0MsWUFBcUIsT0FBcUIsRUFBVyxJQUFpQixFQUFXLE1BQWU7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEVyxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQVcsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFXLFdBQU0sR0FBTixNQUFNLENBQVM7SUFFaEcsQ0FBQztJQUVRLEtBQUssQ0FBSSxNQUFlLEVBQUUsS0FBcUIsRUFBRTs7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFBLElBQUksQ0FBQyxNQUFNLCtDQUFYLElBQUksRUFBVSxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNwRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVcsQ0FBSSxNQUFlLEVBQUUsRUFBYyxFQUFFLEVBQWtCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRVEsS0FBSyxDQUFDLFFBQVEsQ0FBSSxNQUFlLEVBQUUsRUFBWTs7UUFDdEQsTUFBTSxJQUFJLEdBQUcsbUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3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QWlCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRVEsS0FBSyxDQUFDLG1CQUFtQjs7UUFDaEMsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxhQUFhLEVBQUUsQ0FBQSxFQUFFO1lBQ2xDLE1BQU0sSUFBSSxTQUFTLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUNsRDtRQUNELE1BQUEsSUFBSSxDQUFDLE1BQU0sK0NBQVgsSUFBSSxFQUFVLHFCQUFxQixDQUFDLENBQUM7UUFDckMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVRLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBZTs7UUFDcEMsSUFBSSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLGFBQWEsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUM1QztRQUNELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBekxELHdDQXlMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vbmdvQ2xpZW50LCBDbGllbnRTZXNzaW9uIH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQgeyBRdWVyeSwgVHlwZSwgUXVlcnlDcml0ZXJpYSwgUXVlcnlPcHRpb25zLCBRdWVyeVNlYXJjaCwgSWRWYWx1ZSwgRmllbGRWYWx1ZSwgTG9nZ2VyLCBRdWVyeVVuaXF1ZSB9IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IEJhc2VRdWVyaWVyIH0gZnJvbSAnQHVxbC9jb3JlL3F1ZXJpZXInO1xuaW1wb3J0IHsgZ2V0TWV0YSB9IGZyb20gJ0B1cWwvY29yZS9lbnRpdHkvZGVjb3JhdG9yJztcbmltcG9ydCB7IGNsb25lLCBnZXRQZXJzaXN0YWJsZSwgZ2V0UGVyc2lzdGFibGVzLCBoYXNLZXlzLCBpc1Byb2plY3RpbmdSZWxhdGlvbnMgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbmltcG9ydCB7IE1vbmdvRGlhbGVjdCB9IGZyb20gJy4vbW9uZ29EaWFsZWN0JztcblxuZXhwb3J0IGNsYXNzIE1vbmdvZGJRdWVyaWVyIGV4dGVuZHMgQmFzZVF1ZXJpZXIge1xuICBwcml2YXRlIHNlc3Npb246IENsaWVudFNlc3Npb247XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGlhbGVjdDogTW9uZ29EaWFsZWN0LCByZWFkb25seSBjb25uOiBNb25nb0NsaWVudCwgcmVhZG9ubHkgbG9nZ2VyPzogTG9nZ2VyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvdW50PEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5U2VhcmNoPEU+ID0ge30pIHtcbiAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgdGhpcy5sb2dnZXI/LignY291bnQnLCBlbnRpdHkubmFtZSwgZmlsdGVyKTtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuY291bnREb2N1bWVudHMoZmlsdGVyLCB7XG4gICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBmaW5kT25lQnlJZDxFPihlbnRpdHk6IFR5cGU8RT4sIGlkOiBJZFZhbHVlPEU+LCBxbTogUXVlcnlVbmlxdWU8RT4pIHtcbiAgICByZXR1cm4gdGhpcy5maW5kT25lKGVudGl0eSwgeyAuLi5xbSwgJGZpbHRlcjogaWQgfSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBmaW5kTWFueTxFPihlbnRpdHk6IFR5cGU8RT4sIHFtOiBRdWVyeTxFPikge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG5cbiAgICBsZXQgZG9jdW1lbnRzOiBFW107XG4gICAgY29uc3QgaGFzUHJvamVjdFJlbGF0aW9ucyA9IGlzUHJvamVjdGluZ1JlbGF0aW9ucyhtZXRhLCBxbS4kcHJvamVjdCk7XG5cbiAgICBpZiAoaGFzUHJvamVjdFJlbGF0aW9ucykge1xuICAgICAgY29uc3QgcGlwZWxpbmUgPSB0aGlzLmRpYWxlY3QuYWdncmVnYXRpb25QaXBlbGluZShlbnRpdHksIHFtKTtcbiAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICB0aGlzLmxvZ2dlcignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgSlNPTi5zdHJpbmdpZnkocGlwZWxpbmUsIG51bGwsIDIpKTtcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50cyA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmFnZ3JlZ2F0ZTxFPihwaXBlbGluZSwgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSkudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgICAgYXdhaXQgdGhpcy5maW5kVG9NYW55UmVsYXRpb25zKGVudGl0eSwgZG9jdW1lbnRzLCBxbS4kcHJvamVjdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGN1cnNvciA9IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLmZpbmQ8RT4oe30sIHsgc2Vzc2lvbjogdGhpcy5zZXNzaW9uIH0pO1xuXG4gICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmRpYWxlY3QuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgICBpZiAoaGFzS2V5cyhmaWx0ZXIpKSB7XG4gICAgICAgIGN1cnNvci5maWx0ZXIoZmlsdGVyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLmRpYWxlY3QucHJvamVjdChlbnRpdHksIHFtLiRwcm9qZWN0KTtcbiAgICAgIGlmIChoYXNLZXlzKHByb2plY3QpKSB7XG4gICAgICAgIGN1cnNvci5wcm9qZWN0KHByb2plY3QpO1xuICAgICAgfVxuICAgICAgY29uc3Qgc29ydCA9IHRoaXMuZGlhbGVjdC5zb3J0KGVudGl0eSwgcW0uJHNvcnQpO1xuICAgICAgaWYgKGhhc0tleXMoc29ydCkpIHtcbiAgICAgICAgY3Vyc29yLnNvcnQoc29ydCk7XG4gICAgICB9XG4gICAgICBpZiAocW0uJHNraXApIHtcbiAgICAgICAgY3Vyc29yLnNraXAocW0uJHNraXApO1xuICAgICAgfVxuICAgICAgaWYgKHFtLiRsaW1pdCkge1xuICAgICAgICBjdXJzb3IubGltaXQocW0uJGxpbWl0KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXI/LignZmluZE1hbnknLCBlbnRpdHkubmFtZSwgcW0pO1xuXG4gICAgICBkb2N1bWVudHMgPSBhd2FpdCBjdXJzb3IudG9BcnJheSgpO1xuICAgICAgZG9jdW1lbnRzID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBkb2N1bWVudHMpO1xuICAgIH1cblxuICAgIHJldHVybiBkb2N1bWVudHM7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbnNlcnRNYW55PEU+KGVudGl0eTogVHlwZTxFPiwgcGF5bG9hZDogRVtdKSB7XG4gICAgaWYgKCFwYXlsb2FkLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcblxuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG4gICAgY29uc3QgcGF5bG9hZHMgPSBBcnJheS5pc0FycmF5KHBheWxvYWQpID8gcGF5bG9hZCA6IFtwYXlsb2FkXTtcbiAgICBjb25zdCBwZXJzaXN0YWJsZXMgPSBnZXRQZXJzaXN0YWJsZXMobWV0YSwgcGF5bG9hZCwgJ29uSW5zZXJ0Jyk7XG5cbiAgICB0aGlzLmxvZ2dlcj8uKCdpbnNlcnRNYW55JywgZW50aXR5Lm5hbWUsIHBlcnNpc3RhYmxlcyk7XG5cbiAgICBjb25zdCB7IGluc2VydGVkSWRzIH0gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KS5pbnNlcnRNYW55KHBlcnNpc3RhYmxlcywgeyBzZXNzaW9uOiB0aGlzLnNlc3Npb24gfSk7XG5cbiAgICBjb25zdCBpZHM6IElkVmFsdWU8RT5bXSA9IE9iamVjdC52YWx1ZXMoaW5zZXJ0ZWRJZHMpO1xuXG4gICAgZm9yIChjb25zdCBbaW5kZXgsIGl0XSBvZiBwYXlsb2Fkcy5lbnRyaWVzKCkpIHtcbiAgICAgIGl0W21ldGEuaWRdID0gaWRzW2luZGV4XSBhcyBGaWVsZFZhbHVlPEU+O1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0UmVsYXRpb25zKGVudGl0eSwgcGF5bG9hZHMpO1xuXG4gICAgcmV0dXJuIGlkcztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgcGF5bG9hZDogRSkge1xuICAgIHBheWxvYWQgPSBjbG9uZShwYXlsb2FkKTtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IHBlcnNpc3RhYmxlID0gZ2V0UGVyc2lzdGFibGUobWV0YSwgcGF5bG9hZCwgJ29uVXBkYXRlJyk7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5kaWFsZWN0LmZpbHRlcihlbnRpdHksIHFtLiRmaWx0ZXIpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHsgJHNldDogcGVyc2lzdGFibGUgfTtcblxuICAgIHRoaXMubG9nZ2VyPy4oJ3VwZGF0ZU1hbnknLCBlbnRpdHkubmFtZSwgZmlsdGVyLCB1cGRhdGUpO1xuXG4gICAgY29uc3QgeyBtYXRjaGVkQ291bnQgfSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbihlbnRpdHkpLnVwZGF0ZU1hbnkoZmlsdGVyLCB1cGRhdGUsIHtcbiAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMudXBkYXRlUmVsYXRpb25zKGVudGl0eSwgcW0sIHBheWxvYWQpO1xuXG4gICAgcmV0dXJuIG1hdGNoZWRDb3VudDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGRlbGV0ZU1hbnk8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnlDcml0ZXJpYTxFPiwgb3B0czogUXVlcnlPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZGlhbGVjdC5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICB0aGlzLmxvZ2dlcj8uKCdkZWxldGVNYW55JywgZW50aXR5Lm5hbWUsIGZpbHRlciwgb3B0cyk7XG4gICAgY29uc3QgZm91bmRzOiBFW10gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb24oZW50aXR5KVxuICAgICAgLmZpbmQoZmlsdGVyLCB7XG4gICAgICAgIHByb2plY3Rpb246IHsgX2lkOiB0cnVlIH0sXG4gICAgICAgIHNlc3Npb246IHRoaXMuc2Vzc2lvbixcbiAgICAgIH0pXG4gICAgICAudG9BcnJheSgpO1xuICAgIGlmICghZm91bmRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIGNvbnN0IGlkczogSWRWYWx1ZTxFPltdID0gdGhpcy5kaWFsZWN0Lm5vcm1hbGl6ZUlkcyhtZXRhLCBmb3VuZHMpLm1hcCgoZm91bmQpID0+IGZvdW5kW21ldGEuaWRdKTtcbiAgICBsZXQgY2hhbmdlczogbnVtYmVyO1xuICAgIGlmIChtZXRhLnNvZnREZWxldGUgJiYgIW9wdHMuc29mdERlbGV0ZSkge1xuICAgICAgY29uc3QgdXBkYXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkudXBkYXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7ICRzZXQ6IHsgW21ldGEuc29mdERlbGV0ZV06IG1ldGEuZmllbGRzW21ldGEuc29mdERlbGV0ZV0ub25EZWxldGUoKSB9IH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZXNzaW9uOiB0aGlzLnNlc3Npb24sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICBjaGFuZ2VzID0gdXBkYXRlUmVzdWx0Lm1hdGNoZWRDb3VudDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGVsZXRlUmVzdWx0ID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uKGVudGl0eSkuZGVsZXRlTWFueShcbiAgICAgICAgeyBfaWQ6IHsgJGluOiBpZHMgfSB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2Vzc2lvbjogdGhpcy5zZXNzaW9uLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgY2hhbmdlcyA9IGRlbGV0ZVJlc3VsdC5kZWxldGVkQ291bnQ7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVsYXRpb25zKGVudGl0eSwgaWRzLCBvcHRzKTtcbiAgICByZXR1cm4gY2hhbmdlcztcbiAgfVxuXG4gIG92ZXJyaWRlIGdldCBoYXNPcGVuVHJhbnNhY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbj8uaW5UcmFuc2FjdGlvbigpO1xuICB9XG5cbiAgY29sbGVjdGlvbjxFPihlbnRpdHk6IFR5cGU8RT4pIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuICAgIHJldHVybiB0aGlzLmNvbm4uZGIoKS5jb2xsZWN0aW9uKG1ldGEubmFtZSk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBiZWdpblRyYW5zYWN0aW9uKCkge1xuICAgIGlmICh0aGlzLnNlc3Npb24/LmluVHJhbnNhY3Rpb24oKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlcj8uKCdiZWdpblRyYW5zYWN0aW9uJyk7XG4gICAgdGhpcy5zZXNzaW9uID0gdGhpcy5jb25uLnN0YXJ0U2Vzc2lvbigpO1xuICAgIHRoaXMuc2Vzc2lvbi5zdGFydFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBjb21taXRUcmFuc2FjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuc2Vzc2lvbj8uaW5UcmFuc2FjdGlvbigpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdub3QgYSBwZW5kaW5nIHRyYW5zYWN0aW9uJyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyPy4oJ2NvbW1pdFRyYW5zYWN0aW9uJyk7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uLmNvbW1pdFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByb2xsYmFja1RyYW5zYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5zZXNzaW9uPy5pblRyYW5zYWN0aW9uKCkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ25vdCBhIHBlbmRpbmcgdHJhbnNhY3Rpb24nKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXI/Ligncm9sbGJhY2tUcmFuc2FjdGlvbicpO1xuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5hYm9ydFRyYW5zYWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyByZWxlYXNlKGZvcmNlPzogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLnNlc3Npb24/LmluVHJhbnNhY3Rpb24oKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigncGVuZGluZyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLmNvbm4uY2xvc2UoZm9yY2UpO1xuICB9XG59XG4iXX0= |
@@ -11,4 +11,4 @@ "use strict"; | ||
filter = util_1.getQueryFilterAsMap(meta, filter); | ||
if (meta.softDeleteKey && (softDelete || softDelete === undefined) && !filter[meta.softDeleteKey]) { | ||
filter[meta.softDeleteKey] = null; | ||
if (meta.softDelete && (softDelete || softDelete === undefined) && !filter[meta.softDelete]) { | ||
filter[meta.softDelete] = null; | ||
} | ||
@@ -75,3 +75,3 @@ return util_1.getKeys(filter).reduce((acc, key) => { | ||
from: relMeta.name, | ||
localField: relOpts.references[0].source, | ||
localField: relOpts.references[0].local, | ||
foreignField: '_id', | ||
@@ -83,6 +83,6 @@ as: relKey, | ||
else { | ||
const referenceKey = relOpts.mappedBy ? relOpts.references[0].target : relOpts.references[0].source; | ||
const foreignField = relOpts.references[0].foreign; | ||
const referenceFilter = this.filter(relEntity, qm.$filter); | ||
const referenceSort = this.sort(relEntity, qm.$sort); | ||
const referencePipelineEntry = { $match: { [referenceKey]: referenceFilter._id } }; | ||
const referencePipelineEntry = { $match: { [foreignField]: referenceFilter._id } }; | ||
if (util_1.hasKeys(referenceSort)) { | ||
@@ -134,2 +134,2 @@ referencePipelineEntry.$sort = referenceSort; | ||
exports.MongoDialect = MongoDialect; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29EaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvRGlhbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0U7QUFhbEUsMERBQXFEO0FBQ3JELHlDQUE2RztBQUU3RyxNQUFhLFlBQVk7SUFDdkIsTUFBTSxDQUFJLE1BQWUsRUFBRSxTQUF5QixFQUFFLEVBQUUsRUFBRSxVQUFVLEtBQW1CLEVBQUU7UUFDdkYsTUFBTSxJQUFJLEdBQUcsbUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QixNQUFNLEdBQUcsMEJBQW1CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQXVCLENBQUMsRUFBRTtZQUMzRyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQXVCLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDN0M7UUFFRCxPQUFPLGNBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO2dCQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDbkY7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO29CQUNwQyxHQUFHLEdBQUcsS0FBSyxD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SyxDQUFDLEVBQUU7WUFDeEIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFNLENBQUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksa0JBQVEsQ0FBQyxLQUFLLENBQU0sQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFoSkQsb0NBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyUXVlcnksIE9iamVjdElkLCBTb3J0T3B0aW9uT2JqZWN0IH0gZnJvbSAnbW9uZ29kYic7XG5pbXBvcnQge1xuICBRdWVyeUZpbHRlcixcbiAgUXVlcnksXG4gIEVudGl0eU1ldGEsXG4gIFR5cGUsXG4gIFF1ZXJ5UHJvamVjdCxcbiAgUXVlcnlQcm9qZWN0TWFwLFxuICBRdWVyeU9wdGlvbnMsXG4gIFF1ZXJ5U29ydCxcbiAgRmllbGRWYWx1ZSxcbiAgUmVsYXRpb25LZXksXG59IGZyb20gJ0B1cWwvY29yZS90eXBlJztcbmltcG9ydCB7IGdldE1ldGEgfSBmcm9tICdAdXFsL2NvcmUvZW50aXR5L2RlY29yYXRvcic7XG5pbXBvcnQgeyBnZXRLZXlzLCBoYXNLZXlzLCBidWlsZFNvcnRNYXAsIGdldFByb2plY3RSZWxhdGlvbktleXMsIGdldFF1ZXJ5RmlsdGVyQXNNYXAgfSBmcm9tICdAdXFsL2NvcmUvdXRpbCc7XG5cbmV4cG9ydCBjbGFzcyBNb25nb0RpYWxlY3Qge1xuICBmaWx0ZXI8RT4oZW50aXR5OiBUeXBlPEU+LCBmaWx0ZXI6IFF1ZXJ5RmlsdGVyPEU+ID0ge30sIHsgc29mdERlbGV0ZSB9OiBRdWVyeU9wdGlvbnMgPSB7fSk6IEZpbHRlclF1ZXJ5PEU+IHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuXG4gICAgZmlsdGVyID0gZ2V0UXVlcnlGaWx0ZXJBc01hcChtZXRhLCBmaWx0ZXIpO1xuXG4gICAgaWYgKG1ldGEuc29mdERlbGV0ZUtleSAmJiAoc29mdERlbGV0ZSB8fCBzb2Z0RGVsZXRlID09PSB1bmRlZmluZWQpICYmICFmaWx0ZXJbbWV0YS5zb2Z0RGVsZXRlS2V5IGFzIHN0cmluZ10pIHtcbiAgICAgIGZpbHRlclttZXRhLnNvZnREZWxldGVLZXkgYXMgc3RyaW5nXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldEtleXMoZmlsdGVyKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICBsZXQgdmFsdWUgPSBmaWx0ZXJba2V5XTtcbiAgICAgIGlmIChrZXkgPT09ICckYW5kJyB8fCBrZXkgPT09ICckb3InKSB7XG4gICAgICAgIGFjY1trZXldID0gdmFsdWUubWFwKChmaWx0ZXJJdDogUXVlcnlGaWx0ZXI8RT4pID0+IHRoaXMuZmlsdGVyKGVudGl0eSwgZmlsdGVySXQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdfaWQnIHx8IGtleSA9PT0gbWV0YS5pZCkge1xuICAgICAgICAgIGtleSA9ICdfaWQnO1xuICAgICAgICAgIHZhbHVlID0gdGhpcy5nZXRJZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgJGluOiB2YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGFjY1trZXkgYXMga2V5b2YgRmlsdGVyUXVlcnk8RT5dID0gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9IGFzIEZpbHRlclF1ZXJ5PEU+KTtcbiAgfVxuXG4gIHByb2plY3Q8RT4oZW50aXR5OiBUeXBlPEU+LCBwcm9qZWN0OiBRdWVyeVByb2plY3Q8RT4pOiBRdWVyeVByb2plY3RNYXA8RT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb2plY3QpKSB7XG4gICAgICByZXR1cm4gcHJvamVjdC5yZWR1Y2UoKGFjYywgaXQpID0+IHtcbiAgICAgICAgYWNjW2l0IGFzIHN0cmluZ10gPSB0cnVlO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30gYXMgUXVlcnlQcm9qZWN0TWFwPEU+KTtcbiAgICB9XG4gICAgcmV0dXJuIHByb2plY3QgYXMgUXVlcnlQcm9qZWN0TWFwPEU+O1xuICB9XG5cbiAgc29ydDxFPihlbnRpdHk6IFR5cGU8RT4sIHNvcnQ6IFF1ZXJ5U29ydDxFPik6IE1vbmdvU29ydDxFPiB7XG4gICAgcmV0dXJuIGJ1aWxkU29ydE1hcChzb3J0KSBhcyBNb25nb1NvcnQ8RT47XG4gIH1cblxuICBhZ2dyZWdhdGlvblBpcGVsaW5lPEU+KGVudGl0eTogVHlwZTxFPiwgcW06IFF1ZXJ5PEU+KTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT5bXSB7XG4gICAgY29uc3QgbWV0YSA9IGdldE1ldGEoZW50aXR5KTtcblxuICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyKGVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgY29uc3Qgc29ydCA9IHRoaXMuc29ydChlbnRpdHksIHFtLiRzb3J0KTtcbiAgICBjb25zdCBmaXJzdFBpcGVsaW5lRW50cnk6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEU+ID0ge307XG5cbiAgICBpZiAoaGFzS2V5cyhmaWx0ZXIpKSB7XG4gICAgICBmaXJzdFBpcGVsaW5lRW50cnkuJG1hdGNoID0gZmlsdGVyO1xuICAgIH1cbiAgICBpZiAoaGFzS2V5cyhzb3J0KSkge1xuICAgICAgZmlyc3RQaXBlbGluZUVudHJ5LiRzb3J0ID0gc29ydDtcbiAgICB9XG5cbiAgICBjb25zdCBwaXBlbGluZTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT5bXSA9IFtdO1xuXG4gICAgaWYgKGhhc0tleXMoZmlyc3RQaXBlbGluZUVudHJ5KSkge1xuICAgICAgcGlwZWxpbmUucHVzaChmaXJzdFBpcGVsaW5lRW50cnkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGF0aW9ucyA9IGdldFByb2plY3RSZWxhdGlvbktleXMobWV0YSwgcW0uJHByb2plY3QpO1xuXG4gICAgZm9yIChjb25zdCByZWxLZXkgb2YgcmVsYXRpb25zKSB7XG4gICAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5XTtcblxuICAgICAgaWYgKHJlbE9wdHMuY2FyZGluYWxpdHkgPT09ICcxbScgfHwgcmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ21tJykge1xuICAgICAgICAvLyAnMW0nIGFuZCAnbW0nIHNob3VsZCBiZSByZXNvbHZlZCBpbiBhIGhpZ2hlciBsYXllciBiZWNhdXNlIHRoZXkgd2lsbCBuZWVkIG11bHRpcGxlIHF1ZXJpZXNcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlbEVudGl0eSA9IHJlbE9wdHMuZW50aXR5KCk7XG4gICAgICBjb25zdCByZWxNZXRhID0gZ2V0TWV0YShyZWxFbnRpdHkpO1xuXG4gICAgICBpZiAocmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJ20xJykge1xuICAgICAgICBwaXBlbGluZS5wdXNoKHtcbiAgICAgICAgICAkbG9va3VwOiB7XG4gICAgICAgICAgICBmcm9tOiByZWxNZXRhLm5hbWUsXG4gICAgICAgICAgICBsb2NhbEZpZWxkOiByZWxPcHRzLnJlZmVyZW5jZXNbMF0uc291cmNlLFxuICAgICAgICAgICAgZm9yZWlnbkZpZWxkOiAnX2lkJyxcbiAgICAgICAgICAgIGFzOiByZWxLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZWZlcmVuY2VLZXkgPSByZWxPcHRzLm1hcHBlZEJ5ID8gcmVsT3B0cy5yZWZlcmVuY2VzWzBdLnRhcmdldCA6IHJlbE9wdHMucmVmZXJlbmNlc1swXS5zb3VyY2U7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZUZpbHRlciA9IHRoaXMuZmlsdGVyKHJlbEVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVNvcnQgPSB0aGlzLnNvcnQocmVsRW50aXR5LCBxbS4kc29ydCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVBpcGVsaW5lRW50cnk6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEZpZWxkVmFsdWU8RT4+ID0geyAkbWF0Y2g6IHsgW3JlZmVyZW5jZUtleV06IHJlZmVyZW5jZUZpbHRlci5faWQgfSB9O1xuICAgICAgICBpZiAoaGFzS2V5cyhyZWZlcmVuY2VTb3J0KSkge1xuICAgICAgICAgIHJlZmVyZW5jZVBpcGVsaW5lRW50cnkuJHNvcnQgPSByZWZlcmVuY2VTb3J0O1xuICAgICAgICB9XG4gICAgICAgIHBpcGVsaW5lLnB1c2goe1xuICAgICAgICAgICRsb29rdXA6IHtcbiAgICAgICAgICAgIGZyb206IHJlbE1ldGEubmFtZSxcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbcmVmZXJlbmNlUGlwZWxpbmVFbnRyeV0sXG4gICAgICAgICAgICBhczogcmVsS2V5LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBwaXBlbGluZS5wdXNoKHsgJHVud2luZDogeyBwYXRoOiBgJCR7cmVsS2V5fWAsIHByZXNlcnZlTnVsbEFuZEVtcHR5QXJyYXlzOiB0cnVlIH0gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBpcGVsaW5lO1xuICB9XG5cbiAgbm9ybWFsaXplSWRzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIGRvY3M6IEVbXSk6IEVbXSB7XG4gICAgcmV0dXJuIGRvY3M/Lm1hcCgoZG9jKSA9PiB0aGlzLm5vcm1hbGl6ZUlkKG1ldGEsIGRvYykpO1xuICB9XG5cbiAgbm9ybWFsaXplSWQ8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgZG9jOiBFKTogRSB7XG4gICAgaWYgKCFkb2MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXMgPSBkb2MgYXMgRSAmIHsgX2lkOiBhbnkgfTtcblxuICAgIGlmIChyZXMuX2lkKSB7XG4gICAgICByZXNbbWV0YS5pZF0gPSByZXMuX2lkO1xuICAgICAgZGVsZXRlIHJlcy5faWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsS2V5cyA9IGdldEtleXMobWV0YS5yZWxhdGlvbnMpLmZpbHRlcigoa2V5KSA9PiBkb2Nba2V5XSk7XG5cbiAgICBmb3IgKGNvbnN0IHJlbEtleSBvZiByZWxLZXlzKSB7XG4gICAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5XTtcbiAgICAgIGNvbnN0IHJlbE1ldGEgPSBnZXRNZXRhKHJlbE9wdHMuZW50aXR5KCkpO1xuICAgICAgcmVzW3JlbEtleV0gPSBBcnJheS5pc0FycmF5KHJlc1tyZWxLZXldKSA/IHRoaXMubm9ybWFsaXplSWRzKHJlbE1ldGEsIHJlc1tyZWxLZXldKSA6IHRoaXMubm9ybWFsaXplSWQocmVsTWV0YSwgcmVzW3JlbEtleV0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXMgYXMgRTtcbiAgfVxuXG4gIGdldElkVmFsdWU8VCBleHRlbmRzIHN0cmluZyB8IHN0cmluZ1tdIHwgT2JqZWN0SWQgfCBPYmplY3RJZFtdPih2YWx1ZTogVCk6IFQge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdElkKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoaXQpID0+IHRoaXMuZ2V0SWRWYWx1ZShpdCkpIGFzIFQ7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JqZWN0SWQodmFsdWUpIGFzIFQ7XG4gIH1cbn1cblxudHlwZSBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxFPiA9IHtcbiAgcmVhZG9ubHkgJGxvb2t1cD86IE1vbmdvQWdncmVnYXRpb25Mb29rdXA8RT47XG4gICRtYXRjaD86IEZpbHRlclF1ZXJ5PEU+IHwgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgJHNvcnQ/OiBNb25nb1NvcnQ8RT47XG4gIHJlYWRvbmx5ICR1bndpbmQ/OiBNb25nb0FnZ3JlZ2F0aW9uVW53aW5kO1xufTtcblxudHlwZSBNb25nb0FnZ3JlZ2F0aW9uTG9va3VwPEU+ID0ge1xuICByZWFkb25seSBmcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBmb3JlaWduRmllbGQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsRmllbGQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBpcGVsaW5lPzogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RmllbGRWYWx1ZTxFPj5bXTtcbiAgcmVhZG9ubHkgYXM/OiBSZWxhdGlvbktleTxFPjtcbn07XG5cbnR5cGUgTW9uZ29BZ2dyZWdhdGlvblVud2luZCA9IHtcbiAgcmVhZG9ubHkgcGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJlc2VydmVOdWxsQW5kRW1wdHlBcnJheXM/OiBib29sZWFuO1xufTtcblxudHlwZSBNb25nb1NvcnQ8RT4gPSBbc3RyaW5nLCBudW1iZXJdW10gfCBTb3J0T3B0aW9uT2JqZWN0PEU+O1xuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29EaWFsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vbmdvRGlhbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0U7QUFhbEUsMERBQXFEO0FBQ3JELHlDQUE2RztBQUU3RyxNQUFhLFlBQVk7SUFDdkIsTUFBTSxDQUFJLE1BQWUsRUFBRSxTQUF5QixFQUFFLEVBQUUsRUFBRSxVQUFVLEtBQW1CLEVBQUU7UUFDdkYsTUFBTSxJQUFJLEdBQUcsbUJBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QixNQUFNLEdBQUcsMEJBQW1CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEtBQUssU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQW9CLENBQUMsRUFBRTtZQUNyRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQW9CLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDMUM7UUFFRCxPQUFPLGNBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDekMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO2dCQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDbkY7aUJBQU07Z0JBQ0wsSUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxFQUFFO29CQUNwQyxHQUFHLEdBQUcsS0FBSyxDQUFDO29CQUNaLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNoQztxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQy9CLEtBQUssR0FBRzt3QkFDTixHQUFHLEVBQUUsS0FBSztxQkFDWCxDQUFDO2lCQUNIO2dCQUNELEdBQUcsQ0FBQyxHQUEyQixDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQzFDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBb0IsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxPQUFPLENBQUksTUFBZSxFQUFFLE9BQXdCO1FBQ2xELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLEdBQUcsQ0FBQyxFQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQXdCLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sT0FBNkIsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxDQUFJLE1BQWUsRUFBRSxJQUFrQjtRQUN6QyxPQUFPLG1CQUFZLENBQUMsSUFBSSxDQUFpQixDQUFDO0lBQzVDLENBQUM7SUFFRCxtQkFBbUIsQ0FBSSxNQUFlLEVBQUUsRUFBWTtRQUNsRCxNQUFNLElBQUksR0FBRyxtQkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxrQkFBa0IsR0FBcUMsRUFBRSxDQUFDO1FBRWhFLElBQUksY0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDcEM7UUFDRCxJQUFJLGNBQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO1FBRUQsTUFBTSxRQUFRLEdBQXVDLEVBQUUsQ0FBQztRQUV4RCxJQUFJLGNBQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQy9CLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuQztRQUVELE1BQU0sU0FBUyxHQUFHLDZCQUFzQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2QyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO2dCQUNoRSw2RkFBNkY7Z0JBQzdGLFNBQVM7YUFDVjtZQUVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE9BQU8sR0FBRyxtQkFBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRW5DLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7Z0JBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ1osT0FBTyxFQUFFO3dCQUNQLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTt3QkFDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSzt3QkFDdkMsWUFBWSxFQUFFLEtBQUs7d0JBQ25CLEVBQUUsRUFBRSxNQUFNO3FCQUNYO2lCQUNGLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNuRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsTUFBTSxzQkFBc0IsR0FBaUQsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUNqSSxJQUFJLGNBQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDMUIsc0JBQXNCLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztpQkFDOUM7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQztvQkFDWixPQUFPLEVBQUU7d0JBQ1AsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO3dCQUNsQixRQUFRLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzt3QkFDbEMsRUFBRSxFQUFFLE1BQU07cUJBQ1g7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7WUFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksTUFBTSxFQUFFLEVBQUUsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBSSxJQUFtQixFQUFFLElBQVM7UUFDNUMsT0FBTyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXLENBQUksSUFBbUIsRUFBRSxHQUFNO1FBQ3hDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPO1NBQ1I7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUF1QixDQUFDO1FBRXBDLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNYLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7U0FDaEI7UUFFRCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbEUsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2QyxNQUFNLE9BQU8sR0FBRyxtQkFBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDN0g7UUFFRCxPQUFPLEdBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsVUFBVSxDQUFzRCxLQUFRO1FBQ3RFLElBQUksS0FBSyxZQUFZLGtCQUFRLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQU0sQ0FBQztTQUNwRDtRQUNELE9BQU8sSUFBSSxrQkFBUSxDQUFDLEtBQUssQ0FBTSxDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQWhKRCxvQ0FnSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJRdWVyeSwgT2JqZWN0SWQsIFNvcnRPcHRpb25PYmplY3QgfSBmcm9tICdtb25nb2RiJztcbmltcG9ydCB7XG4gIFF1ZXJ5RmlsdGVyLFxuICBRdWVyeSxcbiAgRW50aXR5TWV0YSxcbiAgVHlwZSxcbiAgUXVlcnlQcm9qZWN0LFxuICBRdWVyeVByb2plY3RNYXAsXG4gIFF1ZXJ5T3B0aW9ucyxcbiAgUXVlcnlTb3J0LFxuICBGaWVsZFZhbHVlLFxuICBSZWxhdGlvbktleSxcbn0gZnJvbSAnQHVxbC9jb3JlL3R5cGUnO1xuaW1wb3J0IHsgZ2V0TWV0YSB9IGZyb20gJ0B1cWwvY29yZS9lbnRpdHkvZGVjb3JhdG9yJztcbmltcG9ydCB7IGdldEtleXMsIGhhc0tleXMsIGJ1aWxkU29ydE1hcCwgZ2V0UHJvamVjdFJlbGF0aW9uS2V5cywgZ2V0UXVlcnlGaWx0ZXJBc01hcCB9IGZyb20gJ0B1cWwvY29yZS91dGlsJztcblxuZXhwb3J0IGNsYXNzIE1vbmdvRGlhbGVjdCB7XG4gIGZpbHRlcjxFPihlbnRpdHk6IFR5cGU8RT4sIGZpbHRlcjogUXVlcnlGaWx0ZXI8RT4gPSB7fSwgeyBzb2Z0RGVsZXRlIH06IFF1ZXJ5T3B0aW9ucyA9IHt9KTogRmlsdGVyUXVlcnk8RT4ge1xuICAgIGNvbnN0IG1ldGEgPSBnZXRNZXRhKGVudGl0eSk7XG5cbiAgICBmaWx0ZXIgPSBnZXRRdWVyeUZpbHRlckFzTWFwKG1ldGEsIGZpbHRlcik7XG5cbiAgICBpZiAobWV0YS5zb2Z0RGVsZXRlICYmIChzb2Z0RGVsZXRlIHx8IHNvZnREZWxldGUgPT09IHVuZGVmaW5lZCkgJiYgIWZpbHRlclttZXRhLnNvZnREZWxldGUgYXMgc3RyaW5nXSkge1xuICAgICAgZmlsdGVyW21ldGEuc29mdERlbGV0ZSBhcyBzdHJpbmddID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZ2V0S2V5cyhmaWx0ZXIpLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IGZpbHRlcltrZXldO1xuICAgICAgaWYgKGtleSA9PT0gJyRhbmQnIHx8IGtleSA9PT0gJyRvcicpIHtcbiAgICAgICAgYWNjW2tleV0gPSB2YWx1ZS5tYXAoKGZpbHRlckl0OiBRdWVyeUZpbHRlcjxFPikgPT4gdGhpcy5maWx0ZXIoZW50aXR5LCBmaWx0ZXJJdCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ19pZCcgfHwga2V5ID09PSBtZXRhLmlkKSB7XG4gICAgICAgICAga2V5ID0gJ19pZCc7XG4gICAgICAgICAgdmFsdWUgPSB0aGlzLmdldElkVmFsdWUodmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAkaW46IHZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYWNjW2tleSBhcyBrZXlvZiBGaWx0ZXJRdWVyeTxFPl0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30gYXMgRmlsdGVyUXVlcnk8RT4pO1xuICB9XG5cbiAgcHJvamVjdDxFPihlbnRpdHk6IFR5cGU8RT4sIHByb2plY3Q6IFF1ZXJ5UHJvamVjdDxFPik6IFF1ZXJ5UHJvamVjdE1hcDxFPiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocHJvamVjdCkpIHtcbiAgICAgIHJldHVybiBwcm9qZWN0LnJlZHVjZSgoYWNjLCBpdCkgPT4ge1xuICAgICAgICBhY2NbaXQgYXMgc3RyaW5nXSA9IHRydWU7XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSBhcyBRdWVyeVByb2plY3RNYXA8RT4pO1xuICAgIH1cbiAgICByZXR1cm4gcHJvamVjdCBhcyBRdWVyeVByb2plY3RNYXA8RT47XG4gIH1cblxuICBzb3J0PEU+KGVudGl0eTogVHlwZTxFPiwgc29ydDogUXVlcnlTb3J0PEU+KTogTW9uZ29Tb3J0PEU+IHtcbiAgICByZXR1cm4gYnVpbGRTb3J0TWFwKHNvcnQpIGFzIE1vbmdvU29ydDxFPjtcbiAgfVxuXG4gIGFnZ3JlZ2F0aW9uUGlwZWxpbmU8RT4oZW50aXR5OiBUeXBlPEU+LCBxbTogUXVlcnk8RT4pOiBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxFPltdIHtcbiAgICBjb25zdCBtZXRhID0gZ2V0TWV0YShlbnRpdHkpO1xuXG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoZW50aXR5LCBxbS4kZmlsdGVyKTtcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5zb3J0KGVudGl0eSwgcW0uJHNvcnQpO1xuICAgIGNvbnN0IGZpcnN0UGlwZWxpbmVFbnRyeTogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RT4gPSB7fTtcblxuICAgIGlmIChoYXNLZXlzKGZpbHRlcikpIHtcbiAgICAgIGZpcnN0UGlwZWxpbmVFbnRyeS4kbWF0Y2ggPSBmaWx0ZXI7XG4gICAgfVxuICAgIGlmIChoYXNLZXlzKHNvcnQpKSB7XG4gICAgICBmaXJzdFBpcGVsaW5lRW50cnkuJHNvcnQgPSBzb3J0O1xuICAgIH1cblxuICAgIGNvbnN0IHBpcGVsaW5lOiBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxFPltdID0gW107XG5cbiAgICBpZiAoaGFzS2V5cyhmaXJzdFBpcGVsaW5lRW50cnkpKSB7XG4gICAgICBwaXBlbGluZS5wdXNoKGZpcnN0UGlwZWxpbmVFbnRyeSk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25zID0gZ2V0UHJvamVjdFJlbGF0aW9uS2V5cyhtZXRhLCBxbS4kcHJvamVjdCk7XG5cbiAgICBmb3IgKGNvbnN0IHJlbEtleSBvZiByZWxhdGlvbnMpIHtcbiAgICAgIGNvbnN0IHJlbE9wdHMgPSBtZXRhLnJlbGF0aW9uc1tyZWxLZXldO1xuXG4gICAgICBpZiAocmVsT3B0cy5jYXJkaW5hbGl0eSA9PT0gJzFtJyB8fCByZWxPcHRzLmNhcmRpbmFsaXR5ID09PSAnbW0nKSB7XG4gICAgICAgIC8vICcxbScgYW5kICdtbScgc2hvdWxkIGJlIHJlc29sdmVkIGluIGEgaGlnaGVyIGxheWVyIGJlY2F1c2UgdGhleSB3aWxsIG5lZWQgbXVsdGlwbGUgcXVlcmllc1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsRW50aXR5ID0gcmVsT3B0cy5lbnRpdHkoKTtcbiAgICAgIGNvbnN0IHJlbE1ldGEgPSBnZXRNZXRhKHJlbEVudGl0eSk7XG5cbiAgICAgIGlmIChyZWxPcHRzLmNhcmRpbmFsaXR5ID09PSAnbTEnKSB7XG4gICAgICAgIHBpcGVsaW5lLnB1c2goe1xuICAgICAgICAgICRsb29rdXA6IHtcbiAgICAgICAgICAgIGZyb206IHJlbE1ldGEubmFtZSxcbiAgICAgICAgICAgIGxvY2FsRmllbGQ6IHJlbE9wdHMucmVmZXJlbmNlc1swXS5sb2NhbCxcbiAgICAgICAgICAgIGZvcmVpZ25GaWVsZDogJ19pZCcsXG4gICAgICAgICAgICBhczogcmVsS2V5LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZm9yZWlnbkZpZWxkID0gcmVsT3B0cy5yZWZlcmVuY2VzWzBdLmZvcmVpZ247XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZUZpbHRlciA9IHRoaXMuZmlsdGVyKHJlbEVudGl0eSwgcW0uJGZpbHRlcik7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVNvcnQgPSB0aGlzLnNvcnQocmVsRW50aXR5LCBxbS4kc29ydCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZVBpcGVsaW5lRW50cnk6IE1vbmdvQWdncmVnYXRpb25QaXBlbGluZUVudHJ5PEZpZWxkVmFsdWU8RT4+ID0geyAkbWF0Y2g6IHsgW2ZvcmVpZ25GaWVsZF06IHJlZmVyZW5jZUZpbHRlci5faWQgfSB9O1xuICAgICAgICBpZiAoaGFzS2V5cyhyZWZlcmVuY2VTb3J0KSkge1xuICAgICAgICAgIHJlZmVyZW5jZVBpcGVsaW5lRW50cnkuJHNvcnQgPSByZWZlcmVuY2VTb3J0O1xuICAgICAgICB9XG4gICAgICAgIHBpcGVsaW5lLnB1c2goe1xuICAgICAgICAgICRsb29rdXA6IHtcbiAgICAgICAgICAgIGZyb206IHJlbE1ldGEubmFtZSxcbiAgICAgICAgICAgIHBpcGVsaW5lOiBbcmVmZXJlbmNlUGlwZWxpbmVFbnRyeV0sXG4gICAgICAgICAgICBhczogcmVsS2V5LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBwaXBlbGluZS5wdXNoKHsgJHVud2luZDogeyBwYXRoOiBgJCR7cmVsS2V5fWAsIHByZXNlcnZlTnVsbEFuZEVtcHR5QXJyYXlzOiB0cnVlIH0gfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBpcGVsaW5lO1xuICB9XG5cbiAgbm9ybWFsaXplSWRzPEU+KG1ldGE6IEVudGl0eU1ldGE8RT4sIGRvY3M6IEVbXSk6IEVbXSB7XG4gICAgcmV0dXJuIGRvY3M/Lm1hcCgoZG9jKSA9PiB0aGlzLm5vcm1hbGl6ZUlkKG1ldGEsIGRvYykpO1xuICB9XG5cbiAgbm9ybWFsaXplSWQ8RT4obWV0YTogRW50aXR5TWV0YTxFPiwgZG9jOiBFKTogRSB7XG4gICAgaWYgKCFkb2MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXMgPSBkb2MgYXMgRSAmIHsgX2lkOiBhbnkgfTtcblxuICAgIGlmIChyZXMuX2lkKSB7XG4gICAgICByZXNbbWV0YS5pZF0gPSByZXMuX2lkO1xuICAgICAgZGVsZXRlIHJlcy5faWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsS2V5cyA9IGdldEtleXMobWV0YS5yZWxhdGlvbnMpLmZpbHRlcigoa2V5KSA9PiBkb2Nba2V5XSk7XG5cbiAgICBmb3IgKGNvbnN0IHJlbEtleSBvZiByZWxLZXlzKSB7XG4gICAgICBjb25zdCByZWxPcHRzID0gbWV0YS5yZWxhdGlvbnNbcmVsS2V5XTtcbiAgICAgIGNvbnN0IHJlbE1ldGEgPSBnZXRNZXRhKHJlbE9wdHMuZW50aXR5KCkpO1xuICAgICAgcmVzW3JlbEtleV0gPSBBcnJheS5pc0FycmF5KHJlc1tyZWxLZXldKSA/IHRoaXMubm9ybWFsaXplSWRzKHJlbE1ldGEsIHJlc1tyZWxLZXldKSA6IHRoaXMubm9ybWFsaXplSWQocmVsTWV0YSwgcmVzW3JlbEtleV0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXMgYXMgRTtcbiAgfVxuXG4gIGdldElkVmFsdWU8VCBleHRlbmRzIHN0cmluZyB8IHN0cmluZ1tdIHwgT2JqZWN0SWQgfCBPYmplY3RJZFtdPih2YWx1ZTogVCk6IFQge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdElkKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoaXQpID0+IHRoaXMuZ2V0SWRWYWx1ZShpdCkpIGFzIFQ7XG4gICAgfVxuICAgIHJldHVybiBuZXcgT2JqZWN0SWQodmFsdWUpIGFzIFQ7XG4gIH1cbn1cblxudHlwZSBNb25nb0FnZ3JlZ2F0aW9uUGlwZWxpbmVFbnRyeTxFPiA9IHtcbiAgcmVhZG9ubHkgJGxvb2t1cD86IE1vbmdvQWdncmVnYXRpb25Mb29rdXA8RT47XG4gICRtYXRjaD86IEZpbHRlclF1ZXJ5PEU+IHwgUmVjb3JkPHN0cmluZywgYW55PjtcbiAgJHNvcnQ/OiBNb25nb1NvcnQ8RT47XG4gIHJlYWRvbmx5ICR1bndpbmQ/OiBNb25nb0FnZ3JlZ2F0aW9uVW53aW5kO1xufTtcblxudHlwZSBNb25nb0FnZ3JlZ2F0aW9uTG9va3VwPEU+ID0ge1xuICByZWFkb25seSBmcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBmb3JlaWduRmllbGQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvY2FsRmllbGQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBpcGVsaW5lPzogTW9uZ29BZ2dyZWdhdGlvblBpcGVsaW5lRW50cnk8RmllbGRWYWx1ZTxFPj5bXTtcbiAgcmVhZG9ubHkgYXM/OiBSZWxhdGlvbktleTxFPjtcbn07XG5cbnR5cGUgTW9uZ29BZ2dyZWdhdGlvblVud2luZCA9IHtcbiAgcmVhZG9ubHkgcGF0aD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJlc2VydmVOdWxsQW5kRW1wdHlBcnJheXM/OiBib29sZWFuO1xufTtcblxudHlwZSBNb25nb1NvcnQ8RT4gPSBbc3RyaW5nLCBudW1iZXJdW10gfCBTb3J0T3B0aW9uT2JqZWN0PEU+O1xuIl19 |
@@ -6,3 +6,3 @@ { | ||
"license": "MIT", | ||
"version": "0.4.66", | ||
"version": "0.4.67", | ||
"main": "index.js", | ||
@@ -20,8 +20,8 @@ "types": "index.d.ts", | ||
"peerDependencies": { | ||
"@uql/core": "^0.4.64" | ||
"@uql/core": "^0.4.66" | ||
}, | ||
"devDependencies": { | ||
"@types/mongodb": "^3.6.20", | ||
"@types/node": "^16.4.8", | ||
"@uql/core": "^0.4.66", | ||
"@types/node": "^16.4.10", | ||
"@uql/core": "^0.4.67", | ||
"copyfiles": "^2.4.1", | ||
@@ -28,0 +28,0 @@ "rimraf": "^3.0.2", |
@@ -324,3 +324,3 @@ # [uql](https://uql.io) · [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/impensables/uql/blob/master/LICENSE) [![tests](https://github.com/impensables/uql/actions/workflows/tests.yml/badge.svg)](https://github.com/impensables/uql) [![coverage status](https://coveralls.io/repos/impensables/uql/badge.svg?branch=master)](https://coveralls.io/r/impensables/uql?branch=master) [![npm version](https://badge.fury.io/js/%40uql%2Fcore.svg)](https://badge.fury.io/js/%40uql%2Fcore) | ||
import { augmentFilter } from '@uql/core/util'; | ||
import { Query, EntityMeta } from '@uql/core/type'; | ||
import { Query, QueryFilter, EntityMeta } from '@uql/core/type'; | ||
import { querierMiddleware } from '@uql/express'; | ||
@@ -345,4 +345,4 @@ | ||
augmentQuery: <E>(meta: EntityMeta<E>, qm: Query<E>, req: express.Request): Query<E> => { | ||
// ensure the user can only see the data that belongs to the related company. | ||
qm.$filter = augmentFilter(qm.$filter, { companyId: req.identity.companyId }); | ||
// ensure the user can only see the data that belongs to his company. | ||
qm.$filter = augmentFilter(meta, qm.$filter, { companyId: req.identity.companyId } as QueryFilter<E>); | ||
return qm; | ||
@@ -349,0 +349,0 @@ }, |
63873