wheelshare-old-backend/src/api/user.ts
2021-04-10 21:41:24 -04:00

44 lines
1.1 KiB
TypeScript

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 });
});