Files
DemoApp/data/schemas/user.js

36 lines
1.0 KiB
JavaScript

var mongoose = require('mongoose');
var Schema = require('mongoose').Schema;
var ExerciseStat = new Schema({
exerciseID: { type: Schema.ObjectId, ref: 'Exercise'},
modifier: {type: Number}
});
var UserSchema = new mongoose.Schema({
username: {type: String, unique: true, required: true},
name: String,
email: {type: String, unique: true, required: true},
password: String,
dob_month: String,
dob_year: String,
location: String,
is_admin: {type: Boolean, 'default': false },
gender: {type: Number, 'default': 1, min: 0 , max: 1 },
units_weight: {type: Number, 'default': 1, min: 0 , max: 1},
units_distance: {type: Number, 'default': 1, min: 0 , max: 1},
units_energy: {type: Number, 'default': 1, min: 0 , max: 1},
favorites: [{ type: Schema.ObjectId, ref: 'Exercises'}],
exercisestats: [ExerciseStat]
});
UserSchema.methods.recentworkouts = function(callback) {
return this.model('workout')
.find({userID: this._id})
//.sort('created_at', 1)
.limit(5)
.exec(callback);
};
module.exports = UserSchema;