const mongoose = require('mongoose'); const definedAvgSchema = new mongoose.Schema({ "bench_press": { type: Number }, "squat": { type: Number }, "deadlift": { type: Number }, }); const definedPRSchema = new mongoose.Schema({ "bench_press": { type: Number }, "squat": { type: Number }, "deadlift": { type: Number }, }); const users = new mongoose.Schema({ uid: { type: String }, username: { type: String, required: true, unique: true }, first_name: { type: String, required: true, }, last_name: { type: String, required: true, }, age: { type: Number, required: true, }, gender: { type: String, required: true, }, height: { type: Number, required: true, }, weight: { type: Number, required: true, }, average_stats: { type: definedAvgSchema, default: () => ({}) }, personal_records: { type: definedPRSchema, default: () => ({}) }, other_avg_stats: [{ exercise: String, stat: Number }], other_personal_records: [{ exercise: String, stat: Number }], level: [{ type: String }], interests: [ { type: String } ], privacy: { type: Number }, profile_picture: { type: String }, calories: [{ daily_intake: [{ date: Date, food: String, calorie_value: Number }] }], macros: [{ daily_intake: [{ date: Date, carbohydrates: Number, protein: Number, fats: Number }] }], workouts: [{ type: String }], }); module.exports = Users = mongoose.model('Users', users);