mirror of
https://github.com/myfatemi04/wheelshare-old-backend.git
synced 2025-05-03 17:29:50 -04:00
feat: added address obj
This commit is contained in:
parent
db69fa2443
commit
afc7f05e78
53
src/api/address.ts
Normal file
53
src/api/address.ts
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
import { Router } from 'express';
|
||||||
|
import { AddressModel } from '../models';
|
||||||
|
import { ObjectID } from 'mongodb';
|
||||||
|
import requireApiAuth from '../requireApiAuth';
|
||||||
|
|
||||||
|
export const router = Router();
|
||||||
|
|
||||||
|
router.get('/pool/:poolID', async (req, res) => {
|
||||||
|
let pool = req.params.poolID;
|
||||||
|
let addresses = await AddressModel.find({ pool: pool }).exec();
|
||||||
|
|
||||||
|
res.json({ status: 'success', data: addresses });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/user/:userID', async (req, res) => {
|
||||||
|
const userID = req.session.accountID;
|
||||||
|
let addresses = await AddressModel.find({ user: userID }).exec();
|
||||||
|
|
||||||
|
res.json({ status: 'success', data: addresses });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.post('/remove', async (req, res) => {
|
||||||
|
const userID = req.session.accountID;
|
||||||
|
const poolID = req.body.pool;
|
||||||
|
let addresses = await AddressModel.deleteOne({
|
||||||
|
user: userID,
|
||||||
|
pool: poolID,
|
||||||
|
}).exec();
|
||||||
|
|
||||||
|
res.json({ status: 'success', data: addresses });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.post('/', async (req, res) => {
|
||||||
|
const userID = req.session.accountID;
|
||||||
|
const poolID = req.body.pool;
|
||||||
|
const location = req.body.location;
|
||||||
|
|
||||||
|
const address = new AddressModel();
|
||||||
|
Object.assign(address, {
|
||||||
|
user: userID,
|
||||||
|
pool: poolID,
|
||||||
|
location: location,
|
||||||
|
});
|
||||||
|
address
|
||||||
|
.save()
|
||||||
|
.then((address) => {
|
||||||
|
res.json({ status: 'success', id: address._id });
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error('Error when creating address:', err);
|
||||||
|
res.json({ status: 'error' });
|
||||||
|
});
|
||||||
|
});
|
|
@ -4,6 +4,7 @@ import { createSessionFromCodeAndProvider } from '../auth';
|
||||||
import * as browse from './browse';
|
import * as browse from './browse';
|
||||||
import * as group from './group';
|
import * as group from './group';
|
||||||
import * as pool from './pool';
|
import * as pool from './pool';
|
||||||
|
import * as address from './address';
|
||||||
import * as user from './user';
|
import * as user from './user';
|
||||||
|
|
||||||
export const router = Router();
|
export const router = Router();
|
||||||
|
@ -12,6 +13,7 @@ router.use('/browse', browse.router);
|
||||||
router.use('/users', user.router);
|
router.use('/users', user.router);
|
||||||
router.use('/pools', pool.router);
|
router.use('/pools', pool.router);
|
||||||
router.use('/groups', group.router);
|
router.use('/groups', group.router);
|
||||||
|
router.use('/addresses', address.router);
|
||||||
|
|
||||||
router.post('/create_session', (req, res) => {
|
router.post('/create_session', (req, res) => {
|
||||||
const { code, provider } = req.body;
|
const { code, provider } = req.body;
|
||||||
|
|
|
@ -79,4 +79,18 @@ const PoolSchema: Schema = new Schema({
|
||||||
|
|
||||||
const PoolModel: Model<Pool> = model('Pool', PoolSchema);
|
const PoolModel: Model<Pool> = model('Pool', PoolSchema);
|
||||||
|
|
||||||
export { UserModel, GroupModel, CommentModel, PoolModel };
|
export interface Address extends Document {
|
||||||
|
user: string;
|
||||||
|
pool: string;
|
||||||
|
location: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const AddressSchema: Schema = new Schema({
|
||||||
|
user: { type: String, required: true },
|
||||||
|
pool: { type: String, required: true },
|
||||||
|
location: { type: String, required: true },
|
||||||
|
});
|
||||||
|
|
||||||
|
const AddressModel: Model<Pool> = model('Address', AddressSchema);
|
||||||
|
|
||||||
|
export { UserModel, GroupModel, CommentModel, PoolModel, AddressModel };
|
||||||
|
|
Loading…
Reference in New Issue
Block a user