88 lines
4.4 KiB
JavaScript
88 lines
4.4 KiB
JavaScript
|
|
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);
|
||
|
|
// });
|
||
|
|
});
|
||
|
|
});
|