import { Router } from 'express'; import { GroupModel, PoolModel, UserModel } from '../models'; import requireApiAuth from '../requireApiAuth'; import { ObjectID } from 'mongodb'; export const router = Router(); router.use(requireApiAuth); router.get('/@me/groups', async (req, res) => { let userID = req.session.accountID; let groups = await GroupModel.find({ member_ids: { $all: [userID] }, }); res.json({ status: 'success', data: groups }); }); router.get('/@me/pools', async (req, res) => { let userID = req.session.accountID; let pools = await PoolModel.find({ participant_ids: { $all: [userID] }, }).exec(); res.json({ status: 'success', data: pools }); }); router.get('/@me', async (req, res) => { let user = await UserModel.findById( new ObjectID(req.session.accountID) ).exec(); res.json({ status: 'success', data: user }); }); router.get('/:userID', async (req, res) => { let userID = req.params.userID; let user = await UserModel.findById(new ObjectID(userID)).exec(); let data = user.toJSON(); delete data['email']; res.json({ status: 'success', data }); });