First cut - add subroutes

This commit is contained in:
Raghunandan
2020-05-18 13:54:11 +02:00
parent d49a936d8c
commit 8793912e7e
3 changed files with 63 additions and 0 deletions
@@ -0,0 +1,22 @@
import express from 'express';
import Router from 'express-promise-router';
export const router = Router();
router.get('/', async (_req: express.Request, res: express.Response) => {
res.send('initiate auth');
});
router.get('/login', async (_req: express.Request, res: express.Response) => {
res.send('github provider login');
});
router.get('/logout', async (_req: express.Request, res: express.Response) => {
res.send('github provider logout');
});
router.get(
'/handler/frame',
async (req: express.Request, res: express.Response) => {
res.send('github provider frame response handler');
},
);
@@ -0,0 +1,22 @@
import express from 'express';
import Router from 'express-promise-router';
export const router = Router();
router.get('/', async (_req: express.Request, res: express.Response) => {
res.send('initiate auth');
});
router.get('/login', async (_req: express.Request, res: express.Response) => {
res.send('google provider login');
});
router.get('/logout', async (_req: express.Request, res: express.Response) => {
res.send('google provider logout');
});
router.get(
'/handler/frame',
async (req: express.Request, res: express.Response) => {
res.send('google provider frame response handler');
},
);
@@ -17,6 +17,8 @@
import express from 'express';
import Router from 'express-promise-router';
import { Logger } from 'winston';
import { router as googleAuthRouter } from './../providers/google/router';
import { router as githubAuthRouter } from './../providers/google/router';
export interface RouterOptions {
logger: Logger;
@@ -32,9 +34,26 @@ export async function createRouter(
res.status(200).send('pong');
});
router.use('/:provider', authProviderSwitcher);
const app = express();
app.set('logger', logger);
app.use(router);
return app;
}
const authProviderSwitcher = async (
req: express.Request,
res: express.Response,
next: express.NextFunction,
) => {
const provider = req.params.provider;
if (provider === 'google') {
return googleAuthRouter(req, res, next);
} else if (provider === 'github') {
return githubAuthRouter(req, res, next);
} else {
res.send('No such provider');
}
};