const express = require('express'); const mongoose = require('mongoose'); const Users = require('../DB/Users'); const route = express.Router(); // GET: friend information for a given user route.get('/topstandard', async(req,res)=>{ var result = [] // Initialize result json objects var b = { "username": "", "exercise": "bench_press", "stat": -1 } var s = { "username": "", "exercise": "squat", "stat": -1 } var d = { "username": "", "exercise": "deadlift", "stat": -1 } // Get all users with their respective standard personal records const temp = await Users.aggregate([ {$project: { _id: 0, username: 1, "deadlift": "$personal_records.deadlift", "squat": "$personal_records.squat", "bench_press": "$personal_records.bench_press" } } ]) // Traverse result from query and find max value and corresponding user for (var i = 0; i < temp.length; i++) { var current = temp[i]; if (current.bench_press != null) { if (current.bench_press > b["stat"]) { b["stat"] = current.bench_press; b["username"] = current.username; } } if (current.squat != null) { if (current.squat > s["stat"]) { s["stat"] = current.squat; s["username"] = current.username; } } if (current.deadlift != null) { if (current.deadlift > d["stat"]) { d["stat"] = current.deadlift; d["username"] = current.username; } } } // Add json objects to result.push(d); result.push(s); result.push(b); res.send(result); }); route.get('/publicRecords', async(req,res)=>{ var deadlift_public = [] var squat_public = [] var bench_press_public = [] // Get all users with their respective standard personal records const temp = await Users.aggregate([ {$project: { _id: 0, privacy: 1, "deadlift": "$personal_records.deadlift", "squat": "$personal_records.squat", "bench_press": "$personal_records.bench_press" } } ]) for (var i = 0; i < temp.length; i++) { var current = temp[i]; if (Object.keys(current).length) { if (current.privacy == 2 || current.privacy == 3) { if (current.deadlift != undefined) { console.log(current.deadlift) deadlift_public.push(current.deadlift); } if (current.squat != undefined) { squat_public.push(current.squat); } if (current.bench_press != undefined) { bench_press_public.push(current.bench_press); } } } } console.log(deadlift_public) var result = [bench_press_public, squat_public, deadlift_public]; res.send({public: result}) }); module.exports = route;