UNPKG

periodicjs.ext.user_access_control

Version:

A user access control extension for Periodicjs that uses user roles and user privleges to controll access

92 lines (68 loc) 3.43 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: index.js</title> <script src="scripts/prettify/prettify.js"> </script> <script src="scripts/prettify/lang-css.js"> </script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <div id="main"> <h1 class="page-title">Source: index.js</h1> <section> <article> <pre class="prettyprint source"><code>'use strict'; /** * A User access control extension for Periodicjs that uses user roles and user privleges to controll access. * @{@link https://github.com/typesettin/periodicjs.ext.user_access_control} * @author Yaw Joseph Etse * @copyright Copyright (c) 2014 Typesettin. All rights reserved. * @license MIT * @exports periodicjs.ext.user_access_control * @param {object} periodic variable injection of resources from current periodic instance */ module.exports = function (periodic) { // express,app,logger,config/settings,db var adminRouter = periodic.express.Router(), periodicRouter = periodic.express.Router(), authController = require('../periodicjs.ext.login/controller/auth')(periodic), userroleController = require('./controller/userrole')(periodic), uacController = require('./controller/uac')(periodic); adminRouter.all('*', authController.ensureAuthenticated, uacController.loadUserRoles, uacController.check_user_access); //user roles adminRouter.get('/userroles', uacController.loadUserAccesControls, userroleController.index); adminRouter.get('/userrole/new', userroleController.userrole_new); adminRouter.get('/userrole/:id', uacController.loadUserrole, userroleController.show); adminRouter.get('/userrole/edit/:id', uacController.loadUserrole, userroleController.show); adminRouter.post('/userrole/new', userroleController.create); adminRouter.post('/userrole/edit', userroleController.update); adminRouter.post('/userrole/:id/delete', uacController.loadUserrole, userroleController.remove); periodicRouter.get('/userroles/search.:ext', uacController.loadUserroles, uacController.userroleSearchResults); periodicRouter.get('/userroles/search', uacController.loadUserroles, uacController.userroleSearchResults); //user priviliges periodicRouter.get('/userprivileges/search.:ext', uacController.loadUserprivileges, uacController.userprivilegeSearchResults); periodicRouter.get('/userprivileges/search', uacController.loadUserprivileges, uacController.userprivilegeSearchResults); //add routes periodic.app.use('/p-admin', adminRouter); periodic.app.use(periodicRouter); }; </code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-uacController.html">uacController</a></li><li><a href="module-userroleController.html">userroleController</a></li><li><a href="user_access_control.html">user_access_control</a></li></ul> </nav> <br clear="both"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sun Oct 12 2014 19:22:27 GMT-0400 (EDT) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>