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
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>