Socket
Socket
Sign inDemoInstall

objection

Package Overview
Dependencies
Maintainers
2
Versions
201
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

objection - npm Package Compare versions

Comparing version 2.0.8 to 2.0.10

106

lib/model/Model.js

@@ -94,3 +94,8 @@ 'use strict';

$relatedQuery(relationName, trx) {
return this.constructor.relatedQuery(relationName, trx).for(this);
return relatedQuery({
modelClass: this.constructor,
relationName,
transaction: trx,
alwaysReturnArray: false
}).for(this);
}

@@ -546,47 +551,8 @@

static relatedQuery(relationName, trx) {
const relation = this.getRelation(relationName);
const RelatedModelClass = relation.relatedModelClass;
return RelatedModelClass.query(trx)
.findOperationFactory(builder => {
const isSubQuery = !builder.for();
const owner = isSubQuery
? RelationOwner.createParentReference(builder, relation)
: RelationOwner.create(builder.for());
const operation = relation.find(builder, owner);
operation.assignResultToOwner = this.getRelatedFindQueryMutates();
operation.alwaysReturnArray = !owner.isModels;
operation.alias = isSubQuery ? relation.name : null;
return operation;
})
.insertOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
const operation = relation.insert(builder, owner);
operation.assignResultToOwner = this.getRelatedInsertQueryMutates();
return operation;
})
.updateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.update(builder, owner);
})
.patchOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.patch(builder, owner);
})
.deleteOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.delete(builder, owner);
})
.relateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.relate(builder, owner);
})
.unrelateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.unrelate(builder, owner);
});
return relatedQuery({
modelClass: this,
relationName,
transaction: trx,
alwaysReturnArray: true
});
}

@@ -839,2 +805,50 @@

function relatedQuery({ modelClass, relationName, transaction, alwaysReturnArray } = {}) {
const relation = modelClass.getRelation(relationName);
const RelatedModelClass = relation.relatedModelClass;
return RelatedModelClass.query(transaction)
.findOperationFactory(builder => {
const isSubQuery = !builder.for();
const owner = isSubQuery
? RelationOwner.createParentReference(builder, relation)
: RelationOwner.create(builder.for());
const operation = relation.find(builder, owner);
operation.assignResultToOwner = modelClass.getRelatedFindQueryMutates();
operation.alwaysReturnArray = alwaysReturnArray;
operation.alias = isSubQuery ? relation.name : null;
return operation;
})
.insertOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
const operation = relation.insert(builder, owner);
operation.assignResultToOwner = modelClass.getRelatedInsertQueryMutates();
return operation;
})
.updateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.update(builder, owner);
})
.patchOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.patch(builder, owner);
})
.deleteOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.delete(builder, owner);
})
.relateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.relate(builder, owner);
})
.unrelateOperationFactory(builder => {
const owner = RelationOwner.create(builder.for());
return relation.unrelate(builder, owner);
});
}
function cachedGet(target, hiddenPropertyName, creator) {

@@ -841,0 +855,0 @@ if (!target.hasOwnProperty(hiddenPropertyName)) {

@@ -108,3 +108,3 @@ 'use strict';

} else if (Buffer.isBuffer(value)) {
return value.toString('hex')
return value.toString('hex');
} else if (isObject(value)) {

@@ -111,0 +111,0 @@ return JSON.stringify(value);

@@ -215,16 +215,8 @@ 'use strict';

const prop = path[0];
return obj => getValue(obj[prop]);
return obj => obj[prop];
} else {
return obj => getValue(get(obj, path));
return obj => get(obj, path);
}
}
function getValue(value) {
if (isObject(value) && !Buffer.isBuffer(value) && value.toString !== Object.prototype.toString) {
return value.toString();
} else {
return value;
}
}
function createSetter(path) {

@@ -231,0 +223,0 @@ if (path.length === 1) {

{
"name": "objection",
"version": "2.0.8",
"version": "2.0.10",
"description": "An SQL-friendly ORM for Node.js",

@@ -5,0 +5,0 @@ "main": "lib/objection.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc