28 lines
842 B
JavaScript
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
|