const Student = require('../models/Student') ; const User = require('../models/User') ; //function for trimming strings function trim_arr(arr) { let newArr = arr.map(a => { return a.trim() ; }) return newArr ; } module.exports.getProfile =async (req , res , next) => { try { //we can get the profile of the user including the courses which user has bought const userId = req.user._id ; let user = await User.findById(userId) ; let student = await Student.findOne({user : userId}).populate("courses.basicInfo") ; res.json({ user:user , student:student }) ; } catch(err) { res.json({ error:err }) ; } } module.exports.postProfile = async (req , res , next) => { try { //Here we are updating the profile of the user const userId = req.user._id ; let interests = req.body.interests ; let projects = req.body.projects ; let yearofgrad = req.body.yearofgrad ; let phoneNumber = req.body.phoneNumber ; let institute = req.body.institute ; let skills = req.body.skills ; let student = await Student.findOne({user : userId}) ; if(interests) { student.interests = trim_arr(interests.split(",")) ; } if(projects) { student.projects = trim_arr(projects.split(",")) ; } if(skills) { student.skills = trim_arr(skills.split(",")) ; } if(yearofgrad) { student.yearofgrad = yearofgrad.trim() ; } if(phoneNumber) { student.phoneNumber = phoneNumber.trim() ; } if(institute) { student.institute = institute.trim() ; } await student.save() ; res.json({ message:"Updated profile" }) } catch(err) { console.log(err); res.json({ error:err }) ; } } module.exports.deleteUser = async (req , res , next) => { //here we are deleting the user const userId = req.user._id ; try { await Student.deleteOne({user:userId}) ; await User.deleteOne({_id : userId}) ; res.json({ message:"Successfully deleted" }) ; } catch(err) { console.log(err); res.json({ error:err }) ; } }