mirror of
https://github.com/myfatemi04/wheelshare-old-backend.git
synced 2025-05-05 18:29:50 -04:00
44 lines
1.1 KiB
TypeScript
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 });
|
|
});
|