plutoapi-v2/src/models/partyplaner/PartyPlaner.router.ts

42 lines
1.4 KiB
TypeScript

/**
* Required External Modules and Interfaces
*/
import express, {Request, Response} from 'express';
import {registerRouter} from './register/Register.router';
import logger from '../../middleware/logger';
import {loginRouter} from './login/Login.router';
import {userRouter} from './user/User.router';
import {eventRouter} from './event/Event.router';
import {friendshipRouter} from './friendship/Friendship.router';
import {inviteRouter} from './invite/Invite.router';
import {sessionRouter} from './session/Session.router';
import {Guid} from 'guid-typescript';
/**
* Router Definition
*/
export const partyPlanerRouter = express.Router();
// Sub-Endpoints
partyPlanerRouter.use('/event', eventRouter);
partyPlanerRouter.use('/friendship', friendshipRouter);
partyPlanerRouter.use('/invite', inviteRouter);
partyPlanerRouter.use('/login', loginRouter);
partyPlanerRouter.use('/register', registerRouter);
partyPlanerRouter.use('/session', sessionRouter);
partyPlanerRouter.use('/user', userRouter);
partyPlanerRouter.get('/', async (req: Request, res: Response) => {
try {
res.status(200).send('Pluto Development PartyPlaner API Endpoint V2');
} catch (e: any) {
let errorGuid = Guid.create().toString();
logger.error('Error handling a request: ' + e.message, {reference: errorGuid});
res.status(500).send({
'status': 'PROCESSING_ERROR',
'message': 'Internal Server Error. Try again later.',
'reference': errorGuid
});
}
});