Skip to content

Commit fa50a16

Browse files
committed
ch19: added Dealers model, populated with test data.
1 parent e5b1364 commit fa50a16

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

ch19/meadowlark.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var https = require('https'),
55
fs = require('fs'),
66
vhost = require('vhost'),
77
Q = require('q'),
8+
Dealer = require('./models/dealer.js'),
89
Vacation = require('./models/vacation.js'),
910
VacationInSeasonListener = require('./models/vacationInSeasonListener.js');
1011

@@ -187,6 +188,61 @@ Vacation.find(function(err, vacations){
187188
}).save();
188189
});
189190

191+
// initialize dealers
192+
Dealer.find({}, function(err, dealers){
193+
if(dealers.length) return;
194+
195+
new Dealer({
196+
name: 'Oregon Novelties',
197+
address1: '912 NW Davis St',
198+
city: 'Portland',
199+
state: 'OR',
200+
zip: '97209',
201+
country: 'US',
202+
phone: '503-555-1212',
203+
}).save();
204+
205+
new Dealer({
206+
name: 'Bruce\'s Bric-a-Brac',
207+
address1: '159 Beeswax Ln',
208+
city: 'Manzanita',
209+
state: 'OR',
210+
zip: '97209',
211+
country: 'US',
212+
phone: '503-555-1212',
213+
}).save();
214+
215+
new Dealer({
216+
name: 'Aunt Beru\'s Oregon Souveniers',
217+
address1: '544 NE Emerson Ave',
218+
city: 'Bend',
219+
state: 'OR',
220+
zip: '97701',
221+
country: 'US',
222+
phone: '503-555-1212',
223+
}).save();
224+
225+
new Dealer({
226+
name: 'Oregon Goodies',
227+
address1: '1353 NW Beca Ave',
228+
city: 'Corvallis',
229+
state: 'OR',
230+
zip: '97330',
231+
country: 'US',
232+
phone: '503-555-1212',
233+
}).save();
234+
235+
new Dealer({
236+
name: 'Oregon Grab-n-Fly',
237+
address1: '7000 NE Airport Way',
238+
city: 'Portland',
239+
state: 'OR',
240+
zip: '97219',
241+
country: 'US',
242+
phone: '503-555-1212',
243+
}).save();
244+
});
245+
190246
// flash message middleware
191247
app.use(function(req, res, next){
192248
// if there's a flash message, transfer

ch19/models/dealer.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
var mongoose = require('mongoose');
2+
3+
var dealerSchema = mongoose.Schema({
4+
name: String,
5+
address1: String,
6+
address2: String,
7+
city: String,
8+
state: String,
9+
zip: String,
10+
country: String,
11+
phone: String,
12+
website: String,
13+
active: Boolean,
14+
geocodedAddress: String,
15+
lat: Number,
16+
lng: Number,
17+
});
18+
19+
dealerSchema.methods.getAddress = function(lineDelim){
20+
if(!lineDelim) lineDelim = '<br>';
21+
var addr = this.address1;
22+
if(this.address2 && this.address2.match(/\S/))
23+
addr += lineDelim + this.address2;
24+
addr += lineDelim + this.city + ', ' +
25+
this.state + this.zip;
26+
addr += lineDelim + (this.country || 'US');
27+
return addr;
28+
};
29+
30+
var Dealer = mongoose.model("Dealer", dealerSchema);
31+
module.exports = Dealer;

0 commit comments

Comments
 (0)