genesis-core
Version:
the core module that cordinates everything inside the genesis server, cannpt be used alone...still work in progress
65 lines (50 loc) • 1.63 kB
JavaScript
var seed = require('./seed');
var feedFixturesSimple = require("./simpleKeys.js")
var feedFixturesOneToOne = require('./simpleOneToOne');
var feedFixturesOneToMany = require('./simpleOneToMany');
function ModuleAvailable(name){
try{
require(name)
return true
}
catch(e){}
return false
}
module.exports = function(db,results,testFixtures,callback){
var Fixtures = []
testFixtures.map(function(x){
var reqString = "../../../Endpoints/" + x.version + "/collections/" + x.collection + "/Fixtures"
if(ModuleAvailable(reqString)){
Fixtures.push(require(reqString))
}
}
)
var reqUrl = ""
var fixtureCounter = 0;
var fixtureLength = Fixtures.length
// console.log(fixtureLength);
var allFixturesLength = 0
function seedFixtures(){
var Fixture = Fixtures[fixtureCounter];
var fixtureMeta = seed(db,Fixture)
// console.log(fixtureMeta[fixtureCounter])
// // for(x in fixtureMeta[1]){
// // console.log(fixtureMeta[1][x])
// // }
// console.log("-----------------------------")
feedFixturesSimple(db,Fixture,fixtureMeta,function(){
feedFixturesOneToOne(db,Fixture,fixtureMeta,function(){
feedFixturesOneToMany(db,Fixture,fixtureMeta,function(){
if(fixtureCounter === fixtureLength - 1){
//call this callback after passing through all fixtures
callback(Fixture);
}else{
fixtureCounter ++
seedFixtures()
}
})
})
});
}
seedFixtures()
}