const express = require('express'); const mongoose = require('mongoose'); const Users = require('../DB/Users'); const route = express.Router(); const multer = require('multer'); const fs = require('fs').promises; const Social = require('../DB/Social') // GET route: check if username already exists route.get('/:user', async(req,res)=> { const user = await Users.find({username: req.params.user}) res.send(user) }); // POST: add personal information to users table route.post('/', async(req,res)=>{ const user = req.body; const newUser = new Users(user) const friendInit = {"username": req.body.username} const newSocial = new Social(friendInit) try { await newUser.save() await newSocial.save() res.status(200).json(newSocial) } catch (error) { res.status(400).json({message: error.message}) } }); // PUT: add avg stats to user record route.put('/defAvgStat', async(req,res)=>{ const obj = { "bench_press": req.body.bench_press, "squat": req.body.squat, "deadlift": req.body.deadlift } Users.updateOne({'username': req.body.username}, {average_stats:obj}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add pr stats to user record route.put('/defPRStat', async(req,res)=>{ const obj = { "bench_press": req.body.bench_press, "squat": req.body.squat, "deadlift": req.body.deadlift } Users.updateOne({'username': req.body.username}, {personal_records:obj}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add other pr stats to user record route.put('/othPRStat', async(req,res)=>{ const obj = { "exercise": req.body.exercise, "stat": req.body.stat } Users.updateOne({'username': req.body.username}, {$push:{other_personal_records: obj}}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add other avg to user record route.put('/othAvgStat', async(req,res)=>{ const obj = { "exercise": req.body.exercise, "stat": req.body.stat } Users.updateOne({'username': req.body.username}, {$push:{other_avg_stats: obj}}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add level to user record route.put('/level', async(req,res)=>{ const obj = req.body.level Users.updateOne({'username': req.body.username}, {level: obj}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add interest to user record route.put('/interest', async(req,res)=>{ const obj = req.body.interests Users.updateOne({'username': req.body.username}, {interests: obj}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // PUT: add privacy setting to user record route.put('/privacy', async(req,res)=>{ const obj = req.body.privacy Users.updateOne({'username': req.body.username}, {privacy: obj}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); // POST: add profile picture to user record route.post('/picture', (req, res) => { const url = req.body.url; Users.updateOne({'username': req.body.username}, {profile_picture: url}, function (err, docs) { if (err){ res.status(400).json({message: error.message}) } else{ res.status(200).json(docs) } }); }); module.exports = route;