Files
PetitTeton/importAll.js

88 lines
4.4 KiB
JavaScript
Raw Normal View History

var Promise = require('bluebird');
var models = require("./models");
var fm = 0;
var res = 0;
var rt = 0;
var mail = 0;
//First get the basics, then load the items. Finally load sales and production data.
//Create the venue types.
Promise.each([
models.VenueType.findOrCreate({where: {name: 'Farmers Market'}, defaults: {name: 'Farmers Market'}}),
models.VenueType.findOrCreate({where: {name: 'Restaurant'}, defaults: {name: 'Restaurant'}}),
models.VenueType.findOrCreate({where: {name: 'Retail'}, defaults: {name: 'Retail'}}),
models.VenueType.findOrCreate({where: {name: 'Mail'}, defaults: {name: 'Mail'}})
], function(value, index, length) {
switch(index) {
case 0:
fm = value[0].id;
break;
case 1:
res = value[0].id;
break;
case 2:
rt = value[0].id;
break;
case 3:
mail = value[0].id;
break;
}
}).then(function() {
//Create the measures and venues.
Promise.each([
//Initialize the users.
models.User.findOrCreate({where: {login: 'wcrisman'}, defaults: {login: 'wcrisman', password: 'landFJ40', admin: true}}),
//Initialize the measures.
models.Measure.findOrCreate({where: {name: 'Jar 4oz'}, defaults: {name: 'Jar 4oz', postfix: '4oz'}}),
models.Measure.findOrCreate({where: {name: 'Jar 8oz'}, defaults: {name: 'Jar 8oz', postfix: '8oz'}}),
models.Measure.findOrCreate({where: {name: 'Jar 12oz'}, defaults: {name: 'Jar 12oz', postfix: '12oz'}}),
models.Measure.findOrCreate({where: {name: 'Jar 16oz'}, defaults: {name: 'Jar 16oz', postfix: '16oz'}}),
models.Measure.findOrCreate({where: {name: 'Jar 32oz'}, defaults: {name: 'Jar 32oz', postfix: '32oz'}}),
models.Measure.findOrCreate({where: {name: 'Jar 64oz'}, defaults: {name: 'Jar 64oz', postfix: '64oz'}}),
models.Measure.findOrCreate({where: {name: 'Pounds'}, defaults: {name: 'Pounds', postfix: 'lbs'}}),
models.Measure.findOrCreate({where: {name: 'Each'}, defaults: {name: 'Each', postfix: ''}}),
models.Measure.findOrCreate({where: {name: 'Bags'}, defaults: {name: 'Bags', postfix: 'bags'}}),
models.Measure.findOrCreate({where: {name: 'Dozen Large'}, defaults: {name: 'Dozen Large', postfix: '12/lg'}}),
models.Measure.findOrCreate({where: {name: 'Dozen Small'}, defaults: {name: 'Dozen Small', postfix: '12/sm'}}),
models.Measure.findOrCreate({where: {name: 'Half Dozen Large'}, defaults: {name: 'Half Dozen Large', postfix: '6/lg'}}),
models.Measure.findOrCreate({where: {name: 'Half Dozen Small'}, defaults: {name: 'Half Dozen Small', postfix: '6/sm'}}),
//Initialize the venues.
models.Venue.findOrCreate({where: {name: 'Boonville'}, defaults: {name: 'Boonville', typeId: fm}}),
models.Venue.findOrCreate({where: {name: 'Clement St'}, defaults: {name: 'Clement St', typeId: fm}}),
models.Venue.findOrCreate({where: {name: 'Ukiah'}, defaults: {name: 'Ukiah', typeId: fm}}),
models.Venue.findOrCreate({where: {name: 'Mendocino'}, defaults: {name: 'Mendocino', typeId: fm}}),
models.Venue.findOrCreate({where: {name: 'Ft Bragg'}, defaults: {name: 'Ft Bragg', typeId: fm}}),
models.Venue.findOrCreate({where: {name: 'On Farm'}, defaults: {name: 'On Farm', typeId: rt}}),
models.Venue.findOrCreate({where: {name: 'Unknown Restaurant'}, defaults: {name: 'Unknown Restaurant', typeId: res}}),
models.Venue.findOrCreate({where: {name: 'Yorkville Market'}, defaults: {name: 'Yorkville Market', typeId: rt}}),
models.Venue.findOrCreate({where: {name: 'Yorkville Cellars'}, defaults: {name: 'Yorkville Cellars', typeId: rt}}),
models.Venue.findOrCreate({where: {name: 'Mail Order'}, defaults: {name: 'Mail Order', typeId: mail}}),
models.Venue.findOrCreate({where: {name: 'Website Order'}, defaults: {name: 'Website Order', typeId: mail}})
], function(value, index, length) {
//Ignore results for now.
}).then(function() {
// var softErrors = [];
//
// //Read all the Categories, Subcategories, and Items.
// require('./importItems.js')(models, softErrors).then(function() {
// //Read all the sales data.
// require('./importSales.js')(models, softErrors).then(function() {
// //Log all errors at the end so they are easily visible.
// if(softErrors.length) {
// for(var i = 0; i < softErrors.length; i++) {
// console.log(softErrors[i]);
// }
// }
//
// process.exit(0);
// }).catch(function(e) {
// console.log(e);
// process.exit(1);
// });
// }).catch(function(e) {
// console.log(e);
// process.exit(1);
// });
});
});