agmission/Development/server/model/area.js

28 lines
842 B
JavaScript

const mongoose = require('mongoose'),
Schema = mongoose.Schema,
UserTypes = require('../helpers/constants').UserTypes;
const schema = new Schema({
properties: {
name: { type: String },
type: { type: Number, default: 0 },
color: { type: String },
area: { type: Number, default: 0 },
crop: { type: Schema.Types.ObjectId, ref: 'Crop', required: false },
radius: { type: Number, required: false }, // in meters, store the original radius of the pivot area
},
geometry: {
type: {
type: String,
required: true,
enum: ['Polygon'],
default: 'Polygon'
},
coordinates: { type: Array, index: '2dsphere' }
},
client: { type: Schema.Types.ObjectId, ref: UserTypes.CLIENT, required: true }, // The client's Id
});
module.exports = mongoose.model('Area', schema);
// Not used now