SylowTech/sylow

View on GitHub
server/routes/admin.route.js

Summary

Maintainability
C
1 day
Test Coverage
import express from 'express';

import * as adminCtrl from '../controllers/admin.controller';
import * as authCtrl from '../controllers/auth.controller';
import * as OAuth from '../helpers/OAuth';


const router = express.Router(); // eslint-disable-line new-cap

router.route('/')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.index);

router.route('/entities')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.listEntities)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.createEntity);

router.route('/entities/:entityId')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.showEntity)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.updateEntity)
  .delete(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.deleteEntity);

router.route('/clients')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.listClients)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.createClient);

router.route('/clients/:clientId')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.showClient)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.updateClient)
  .delete(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.deleteClient);

router.route('/tokens/:tokenId')
  .delete(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.revokeToken);

router.route('/login')
  .get(authCtrl.login)
  .post(authCtrl.authenticate);

router.route('/logout')
  .get(authCtrl.logout);

router.route('/authorize')
  .get([authCtrl.authenticateUser, ...OAuth.authorization]);

router.route('/decision')
  .post([authCtrl.authenticateUser, ...OAuth.decision]);

router.route('/token')
  .all([authCtrl.authenticateClient, OAuth.Server.token(), OAuth.Server.errorHandler()]);

router.route('/settings')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.listSettings)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.updateSettings);

router.route('/servers')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.listServers);

router.route('/servers/:serverId')
  .get(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.showServer)
  .post(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.updateServer)
  .delete(authCtrl.authenticateUser, authCtrl.ensureAdmin, adminCtrl.deleteServer);

router.route('/servers/:serverId/export')
  .get(adminCtrl.exportServer);

router.route('/entities/:entityId/export')
  .get(adminCtrl.exportEntity);
export default router;