-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathseed.js
114 lines (95 loc) · 2.96 KB
/
seed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*
This seed file is only a placeholder. It should be expanded and altered
to fit the development of your application.
It uses the same file the server uses to establish
the database connection:
--- server/db/index.js
The name of the database used is set in your environment files:
--- server/env/*
This seed file has a safety check to see if you already have users
in the database. If you are developing multiple applications with the
fsg scaffolding, keep in mind that fsg always uses the same database
name in the environment files.
*/
var mongoose = require('mongoose');
var Promise = require('bluebird');
var chalk = require('chalk');
var connectToDb = require('./server/db');
var User = Promise.promisifyAll(mongoose.model('User'));
var Dancers = Promise.promisifyAll(mongoose.model('Dancers'));
var seedUsers = function () {
var users = [
{
email: '[email protected]',
password: 'password'
},
{
email: '[email protected]',
password: 'potus'
}
];
return User.createAsync(users);
};
var seedDancers = function() {
var dancers = [
{
danceName: 'Carlton',
dance: '/js/videos/carlton.gif'
},
{
danceName: 'Paul Rudd',
dance: '/js/videos/paulrudd.gif'
},
{
danceName: 'Spiderman',
dance: '/js/videos/spiderman.gif'
},
{
danceName: 'The Elaine',
dance: '/js/videos/elaine.gif'
}
];
return Dancers.createAsync(dancers);
};
connectToDb.then(function () {
User.findAsync({}).then(function (users) {
if (users.length === 0) {
return seedUsers();
} else {
console.log(chalk.magenta('Seems to already be user data, exiting!'));
process.kill(0);
}
}).then(function () {
Dancers.findAsync({}).then(function (dancers) {
if (dancers.length === 0) {
return seedDancers();
} else {
console.log(chalk.magenta('Seems to already be dancer data, exiting!'));
process.kill(0);
}
}).then(function () {
console.log(chalk.green('Seed successful!'));
process.kill(0);
}).catch(function (err) {
console.error(err);
process.kill(1);
});
}).catch(function (err) {
console.error(err);
process.kill(1);
});
Dancers.findAsync({}).then(function (dancers) {
if (dancers.length === 0) {
return seedDancers();
} else {
console.log(chalk.magenta('Seems to already be dancer data, exiting!'));
process.kill(0);
}
}).then(function () {
console.log(chalk.green('Seed successful!'));
process.kill(0);
}).catch(function (err) {
console.error(err);
process.kill(1);
});
});