advaya-mongo
Advanced tools
Comparing version 0.0.2 to 0.0.3
@@ -1,2 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
var autoCreatedAt= require('../utils/autoCreatedAt'); | ||
@@ -11,4 +10,5 @@ var autoUpdatedAt= require('../utils/autoUpdatedAt'); | ||
module.exports= function (model) { | ||
model.create= function (obj,embedParentId) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.create= function (obj,embedParentId) { | ||
@@ -26,3 +26,3 @@ //if obj is an array of length greater than one, then treat it with create and createEmbeded | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoCreatedAt(model)) | ||
@@ -36,3 +36,3 @@ .then(autoUpdatedAt(model)) | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoCreatedAt(model)) | ||
@@ -56,3 +56,3 @@ .then(autoUpdatedAt(model)) | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoCreatedAt(model)) | ||
@@ -66,3 +66,3 @@ .then(autoUpdatedAt(model)) | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoCreatedAt(model)) | ||
@@ -78,3 +78,3 @@ .then(autoUpdatedAt(model)) | ||
return model; | ||
return input; | ||
} |
@@ -1,3 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
//dbCore | ||
@@ -9,4 +7,5 @@ var destroyOne= require('../core/destroyOne'); | ||
module.exports= function (model) { | ||
model.destroy= function (selector) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.destroy= function (selector) { | ||
@@ -25,3 +24,3 @@ if(!model.schema.hasOwnProperty('embeded')) | ||
return model; | ||
return input; | ||
} |
@@ -1,3 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
//dbCore | ||
@@ -9,4 +7,5 @@ var destroy= require('../core/destroy'); | ||
module.exports= function (model) { | ||
model.destroyMany= function (selector) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.destroyMany= function (selector) { | ||
@@ -23,3 +22,3 @@ if(!model.schema.hasOwnProperty('embeded')) | ||
return model; | ||
return input; | ||
} |
@@ -1,3 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
//dbCore | ||
@@ -9,4 +7,5 @@ var find= require('../core/find'); | ||
module.exports= function (model) { | ||
model.find= function (query,projection) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.find= function (query,projection) { | ||
if(!query) | ||
@@ -31,3 +30,3 @@ { | ||
return model; | ||
return input; | ||
} |
@@ -1,3 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
//dbCore | ||
@@ -9,4 +7,5 @@ var findOne= require('../core/findOne'); | ||
module.exports= function (model) { | ||
model.findOne= function (query,projection) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.findOne= function (query,projection) { | ||
if(!query) | ||
@@ -31,3 +30,3 @@ { | ||
return model; | ||
return input; | ||
} |
@@ -1,3 +0,4 @@ | ||
module.exports= function (model) { | ||
model.native= function () { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
input.model.native= function () { | ||
var native = require( '../db' ).getDb().collection(model.modelName); | ||
@@ -7,3 +8,3 @@ return native; | ||
return model; | ||
return input; | ||
} |
@@ -9,6 +9,7 @@ var ObjectId= require('mongodb').ObjectId; | ||
var projectionUtil= require('../utils/projectionUtil'); | ||
var models= require(require('path').resolve('./advaya')).models(); | ||
module.exports= function (model) { | ||
model.populate= function (obj,fields) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
var allModels= input.allModels; | ||
input.model.populate= function (obj,fields) { | ||
if(model.schema.hasOwnProperty('reference') && typeof(model.schema.reference)==="object") | ||
@@ -26,4 +27,8 @@ { | ||
var arrayConverted= false; | ||
if(!Array.isArray(obj)) | ||
{ | ||
arrayConverted= true; | ||
obj=[obj]; | ||
} | ||
@@ -43,7 +48,7 @@ var allIds= filterReference.map(function (reference) { | ||
var allIdsPromise= allIds.map(function (reference) { | ||
if(!models[reference.reference].schema.hasOwnProperty('embeded')) | ||
if(!allModels[reference.reference].schema.hasOwnProperty('embeded')) | ||
return find( | ||
reference.reference, | ||
{_id:{$in:reference.referenceIds}}, | ||
projectionUtil(models[reference.reference],{}) | ||
projectionUtil(allModels[reference.reference],{}) | ||
).toArray(); | ||
@@ -54,4 +59,4 @@ else | ||
{_id:{$in:reference.referenceIds}}, | ||
projectionUtil(models[reference.reference],{}), | ||
models[reference.reference].schema.embeded | ||
projectionUtil(allModels[reference.reference],{}), | ||
allModels[reference.reference].schema.embeded | ||
); | ||
@@ -79,3 +84,3 @@ }); | ||
if(obj.length==1) | ||
if(arrayConverted) | ||
obj=obj[0]; | ||
@@ -95,3 +100,3 @@ return obj; | ||
return model; | ||
return input; | ||
} |
@@ -1,2 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
var autoUpdatedAt= require('../utils/autoUpdatedAt'); | ||
@@ -10,3 +9,4 @@ | ||
module.exports= function (model) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
model.update= function (selector,obj) { | ||
@@ -17,3 +17,3 @@ delete obj._id; | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoUpdatedAt(model)) | ||
@@ -26,3 +26,3 @@ .then(function (obj) { | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoUpdatedAt(model)) | ||
@@ -35,3 +35,3 @@ .then(function (obj) { | ||
return model; | ||
return input; | ||
} |
@@ -1,2 +0,1 @@ | ||
var validate= require(require('path').resolve('./advaya')).validation(); | ||
var autoUpdatedAt= require('../utils/autoUpdatedAt'); | ||
@@ -10,3 +9,4 @@ | ||
module.exports= function (model) { | ||
module.exports= function (input) { | ||
var model= input.model; | ||
model.updateMany= function (selector,obj) { | ||
@@ -17,3 +17,3 @@ delete obj._id; | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoUpdatedAt(model)) | ||
@@ -26,3 +26,3 @@ .then(function (obj) { | ||
{ | ||
return validate(model.schema,obj) | ||
return input.validate(model.schema,obj) | ||
.then(autoUpdatedAt(model)) | ||
@@ -35,3 +35,3 @@ .then(function (obj) { | ||
return model; | ||
return input; | ||
} |
48
index.js
@@ -1,3 +0,1 @@ | ||
var models= require(require('path').resolve('./advaya')).models(); | ||
var db= require('./db'); | ||
@@ -12,24 +10,28 @@ var initialize= require('./initialize'); | ||
var modelApi= Object.keys(models) | ||
.map(function (key) { | ||
return models[key]; | ||
}) | ||
.map(api.find) | ||
.map(api.findOne) | ||
.map(api.create) | ||
.map(api.updateMany) | ||
.map(api.update) | ||
.map(api.destroyMany) | ||
.map(api.destroy) | ||
.map(api.native) | ||
.map(api.populate) | ||
.reduce(function (modelObj,model) { | ||
modelObj[model.modelName]= model; | ||
return modelObj; | ||
},{}); | ||
module.exports ={ | ||
api: modelApi, | ||
connect: connect, | ||
initialize: initialize | ||
module.exports = function (models,validation) { | ||
var modelApi= Object.keys(models) | ||
.map(function (key) { | ||
return {model:models[key],validate:validation,allModels:models}; | ||
}) | ||
.map(api.find) | ||
.map(api.findOne) | ||
.map(api.create) | ||
.map(api.updateMany) | ||
.map(api.update) | ||
.map(api.destroyMany) | ||
.map(api.destroy) | ||
.map(api.native) | ||
.map(api.populate) | ||
.reduce(function (modelObj,obj) { | ||
modelObj[obj.model.modelName]= obj.model; | ||
return modelObj; | ||
},{}); | ||
return { | ||
api: modelApi, | ||
connect: db.connect, | ||
initialize: initialize | ||
} | ||
} |
{ | ||
"name": "advaya-mongo", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "Advaya mongo plugin", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
832
1
25659