Re-use route function

This commit is contained in:
Michael Jackson 2018-12-17 13:58:59 -08:00
parent 19b2e5574b
commit 995a977e59
1 changed files with 79 additions and 81 deletions

View File

@ -9,97 +9,95 @@ function route(setup) {
} }
function createRouter() { function createRouter() {
const app = express.Router(); return route(app => {
app.get('/', require('./actions/serveRootPage'));
app.get('/', require('./actions/serveRootPage')); app.use(cors());
app.use(bodyParser.json());
app.use(require('./middleware/userToken'));
app.use(cors()); app.use(
app.use(bodyParser.json()); '/api',
app.use(require('./middleware/userToken')); route(app => {
app.get('/publicKey', require('./actions/showPublicKey'));
app.use( app.post('/auth', require('./actions/createAuth'));
'/api', app.get('/auth', require('./actions/showAuth'));
route(app => {
app.get('/publicKey', require('./actions/showPublicKey'));
app.post('/auth', require('./actions/createAuth')); app.post(
app.get('/auth', require('./actions/showAuth')); '/blacklist',
require('./middleware/requireAuth')('blacklist.add'),
require('./actions/addToBlacklist')
);
app.get(
'/blacklist',
require('./middleware/requireAuth')('blacklist.read'),
require('./actions/showBlacklist')
);
app.delete(
'/blacklist',
require('./middleware/requireAuth')('blacklist.remove'),
require('./actions/removeFromBlacklist')
);
app.post( if (process.env.NODE_ENV !== 'test') {
'/blacklist', app.get('/stats', require('./actions/showStats'));
require('./middleware/requireAuth')('blacklist.add'), }
require('./actions/addToBlacklist') })
); );
app.get(
'/blacklist',
require('./middleware/requireAuth')('blacklist.read'),
require('./actions/showBlacklist')
);
app.delete(
'/blacklist',
require('./middleware/requireAuth')('blacklist.remove'),
require('./actions/removeFromBlacklist')
);
if (process.env.NODE_ENV !== 'test') { // TODO: Remove
app.get('/stats', require('./actions/showStats')); app.get('/_publicKey', require('./actions/showPublicKey'));
}
})
);
// TODO: Remove // TODO: Remove
app.get('/_publicKey', require('./actions/showPublicKey')); app.use(
'/_auth',
route(app => {
app.post('/', require('./actions/createAuth'));
app.get('/', require('./actions/showAuth'));
})
);
// TODO: Remove // TODO: Remove
app.use( app.use(
'/_auth', '/_blacklist',
route(app => { route(app => {
app.post('/', require('./actions/createAuth')); app.post(
app.get('/', require('./actions/showAuth')); '/',
}) require('./middleware/requireAuth')('blacklist.add'),
); require('./actions/addToBlacklist')
);
app.get(
'/',
require('./middleware/requireAuth')('blacklist.read'),
require('./actions/showBlacklist')
);
app.delete(
'*',
require('./middleware/requireAuth')('blacklist.remove'),
require('./middleware/validatePackageURL'),
require('./actions/removeFromBlacklist')
);
})
);
// TODO: Remove // TODO: Remove
app.use( if (process.env.NODE_ENV !== 'test') {
'/_blacklist', app.get('/_stats', require('./actions/showStats'));
route(app => { }
app.post(
'/',
require('./middleware/requireAuth')('blacklist.add'),
require('./actions/addToBlacklist')
);
app.get(
'/',
require('./middleware/requireAuth')('blacklist.read'),
require('./actions/showBlacklist')
);
app.delete(
'*',
require('./middleware/requireAuth')('blacklist.remove'),
require('./middleware/validatePackageURL'),
require('./actions/removeFromBlacklist')
);
})
);
// TODO: Remove app.get(
if (process.env.NODE_ENV !== 'test') { '*',
app.get('/_stats', require('./actions/showStats')); require('./middleware/redirectLegacyURLs'),
} require('./middleware/validatePackageURL'),
require('./middleware/validatePackageName'),
app.get( require('./middleware/validateQuery'),
'*', require('./middleware/checkBlacklist'),
require('./middleware/redirectLegacyURLs'), require('./middleware/fetchPackage'),
require('./middleware/validatePackageURL'), require('./middleware/findFile'),
require('./middleware/validatePackageName'), require('./actions/serveFile')
require('./middleware/validateQuery'), );
require('./middleware/checkBlacklist'), });
require('./middleware/fetchPackage'),
require('./middleware/findFile'),
require('./actions/serveFile')
);
return app;
} }
module.exports = createRouter; module.exports = createRouter;