32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
const Schema = require('mongoose').Schema,
|
|
validator = require('validator');
|
|
|
|
const location = {
|
|
gdt: { type: Date, required: true }, // GPS DateTime
|
|
lat: { type: Number, required: true },
|
|
lon: { type: Number, required: true },
|
|
alt: { type: Number, default: 0 }, // m
|
|
inputs: { type: Number, default: 0 }, // input number
|
|
speed: { type: Number, default: 0 }, // km/h
|
|
head: { type: Number, default: 0 }, // degree 0-359
|
|
temp: { type: Number },
|
|
humid: { type: Number },
|
|
appRate: { type: Number },
|
|
windSpd: { type: Number },
|
|
windHdg: { type: Number },
|
|
};
|
|
|
|
const addressSchema = new Schema({
|
|
name: String,
|
|
city: { type: String, require: false },
|
|
line1: { type: String, require: false },
|
|
line2: { type: String, require: false },
|
|
postalCode: { type: String, require: false, alias: 'postal_code' },
|
|
state: { type: String, require: false }, // State would be used as Province in some countries
|
|
country: { type: String, require: true, validate: [validator.isISO31661Alpha2, 'invalid_country_code'] },
|
|
});
|
|
|
|
module.exports = {
|
|
location, addressSchema
|
|
}
|