Files

61 lines
1003 B
JavaScript

import { model, Schema, Types } from "mongoose";
import { locationSchema } from "../../helpers";
const geofenceSchema = new Schema({
venue: {
type: Types.ObjectId,
required: false,
ref: "venue",
},
assignment: {
type: Types.ObjectId,
required: false,
ref: "assignment",
},
action: {
type: String,
required: false,
},
visit: {
type: Types.ObjectId,
ref: "visit",
},
});
const schema = new Schema({
user: {
type: Types.ObjectId,
required: true,
ref: "user",
},
coordinates: locationSchema,
createdOn: {
type: Date,
required: true,
},
battery: {
type: Number,
required: true,
},
event: {
type: String,
required: false,
},
activity: {
type: String,
required: false,
},
heading: {
type: Number,
required: false,
},
geofence: {
type: geofenceSchema,
required: false,
},
});
schema.index({ coordinates: "2dsphere" });
export default model("location", schema);