UNPKG

periodicjs.ext.asyncadmin

Version:

An authentication extension for periodicjs that uses passport to authenticate user sessions.

523 lines (394 loc) 17.9 kB
## Modules <dl> <dt><a href="#periodicjs.ext.module_admin">admin</a></dt> <dd><p>An authentication extension that uses passport to authenticate user sessions.</p> </dd> <dt><a href="#module_authController">authController</a><code>object</code></dt> <dd><p>admin controller</p> </dd> <dt><a href="#module_settingsController">settingsController</a><code>object</code></dt> <dd><p>settings controller</p> </dd> <dt><a href="#module_authController">authController</a><code>object</code></dt> <dd><p>admin controller</p> </dd> <dt><a href="#module_userroleController">userroleController</a><code>object</code></dt> <dd><p>user role controller</p> </dd> <dt><a href="#module_authController">authController</a><code>object</code></dt> <dd><p>admin controller</p> </dd> <dt><a href="#module_authController">authController</a><code>object</code></dt> <dd><p>admin controller</p> </dd> <dt><a href="#module_authController">authController</a><code>object</code></dt> <dd><p>admin controller</p> </dd> </dl> ## Functions <dl> <dt><a href="#sendSettingEmail">sendSettingEmail(options, callbackk)</a></dt> <dd><p>send setting update email</p> </dd> <dt><a href="#restart_app">restart_app(req, res)</a><code>object</code></dt> <dd><p>restarts application response handler and send notification email</p> </dd> <dt><a href="#update_app">update_app(req, res)</a><code>object</code></dt> <dd><p>placeholder response for updating application</p> </dd> <dt><a href="#load_extension_settings">load_extension_settings(req, res, next)</a></dt> <dd><p>load the extensions configuration files from the installed config folder in content/config/extensions/[extension]/[config files]</p> </dd> <dt><a href="#update_theme_filedata">update_theme_filedata(req, res)</a></dt> <dd><p>save data from theme page post</p> </dd> <dt><a href="#update_ext_filedata">update_ext_filedata(req, res)</a></dt> <dd><p>save data from config page post</p> </dd> <dt><a href="#load_app_settings">load_app_settings(req, res, next)</a><code>object</code></dt> <dd><p>load app configuration information</p> </dd> <dt><a href="#load_theme_settings">load_theme_settings(req, res, next)</a><code>object</code></dt> <dd><p>load theme configuration information</p> </dd> <dt><a href="#update_app_settings">update_app_settings(req, res, next)</a><code>object</code></dt> <dd><p>form upload handler to update app settings, and sends notification email</p> </dd> <dt><a href="#update_theme_settings">update_theme_settings(req, res, next)</a><code>object</code></dt> <dd><p>form upload handler to update theme settings, and sends notification email</p> </dd> <dt><a href="#update_config_json_files">update_config_json_files(req, res, next)</a><code>object</code></dt> <dd><p>form upload handler to update theme settings, and sends notification email</p> </dd> <dt><a href="#get_index_page">get_index_page(req, res)</a><code>object</code></dt> <dd><p>shows list of users page</p> </dd> <dt><a href="#get_show_page">get_show_page(req, res)</a><code>object</code></dt> <dd><p>shows user profile page</p> </dd> <dt><a href="#get_new_page">get_new_page(req, res)</a><code>object</code></dt> <dd><p>create a new user page</p> </dd> <dt><a href="#get_edit_page">get_edit_page(req, res)</a><code>function</code></dt> <dd><p>make sure a user is authenticated, if not logged in, send them to login page and return them to original resource after login</p> </dd> <dt><a href="#index">index(req, res)</a><code>object</code></dt> <dd><p>manage user role section</p> </dd> <dt><a href="#userrole_new">userrole_new(req, res)</a><code>object</code></dt> <dd><p>create a new usr role</p> </dd> <dt><a href="#show">show(req, res)</a><code>object</code></dt> <dd><p>show user role</p> </dd> <dt><a href="#getMarkdownReleases">getMarkdownReleases(req, res)</a><code>object</code></dt> <dd><p>load the markdown release data</p> </dd> <dt><a href="#getHomepageStats">getHomepageStats(req, res)</a><code>object</code></dt> <dd><p>does a query to get content counts for all content types</p> </dd> <dt><a href="#settings_index">settings_index(req, res)</a><code>object</code></dt> <dd><p>application settings and theme settings page</p> </dd> <dt><a href="#settings_faq">settings_faq(req, res)</a><code>object</code></dt> <dd><p>settings faq page</p> </dd> </dl> <a name="periodicjs.ext.module_admin"></a> ## admin An authentication extension that uses passport to authenticate user sessions. **Requires**: <code>module:passport</code> **{@link**: https://github.com/typesettin/periodicjs.ext.admin} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | periodic | <code>object</code> | variable injection of resources from current periodic instance | <a name="module_authController"></a> ## authController ⇒ <code>object</code> admin controller **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.extensions</code> **{@link**: https://github.com/typesettin/periodic} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_settingsController"></a> ## settingsController ⇒ <code>object</code> settings controller **Returns**: <code>object</code> - settings **Requires**: <code>module:async</code>, <code>module:path</code>, <code>module:string-to-json</code>, <code>module:utils-merge</code>, <code>module:ejs</code>, <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.mailer</code> **{@link**: https://github.com/typesettin/periodicjs.ext.admin} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_authController"></a> ## authController ⇒ <code>object</code> admin controller **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.extensions</code> **{@link**: https://github.com/typesettin/periodic} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_userroleController"></a> ## userroleController ⇒ <code>object</code> user role controller **Returns**: <code>object</code> - userlogin **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code> **{@link**: https://github.com/typesettin/periodicjs.ext.user_access_control} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_authController"></a> ## authController ⇒ <code>object</code> admin controller **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.extensions</code> **{@link**: https://github.com/typesettin/periodic} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_authController"></a> ## authController ⇒ <code>object</code> admin controller **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.extensions</code> **{@link**: https://github.com/typesettin/periodic} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="module_authController"></a> ## authController ⇒ <code>object</code> admin controller **Requires**: <code>module:periodicjs.core.utilities</code>, <code>module:periodicjs.core.controller</code>, <code>module:periodicjs.core.extensions</code> **{@link**: https://github.com/typesettin/periodic} **Author:** Yaw Joseph Etse **License**: MIT **Copyright**: Copyright (c) 2014 Typesettin. All rights reserved. | Param | Type | Description | | --- | --- | --- | | resources | <code>object</code> | variable injection from current periodic instance with references to the active logger and mongo session | <a name="sendSettingEmail"></a> ## sendSettingEmail(options, callbackk) send setting update email **Kind**: global function | Param | Type | Description | | --- | --- | --- | | options | <code>object</code> | contains email options and nodemailer transport | | callbackk | <code>function</code> | async callback | <a name="restart_app"></a> ## restart_app(req, res) ⇒ <code>object</code> restarts application response handler and send notification email **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="update_app"></a> ## update_app(req, res) ⇒ <code>object</code> placeholder response for updating application **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="load_extension_settings"></a> ## load_extension_settings(req, res, next) load the extensions configuration files from the installed config folder in content/config/extensions/[extension]/[config files] **Kind**: global function | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | | next | <code>function</code> | <a name="load_extension_settings..loadconfigfiles"></a> ### load_extension_settings~loadconfigfiles(callback) ⇒ <code>array</code> load config files into array of filejson **Kind**: inner method of <code>[load_extension_settings](#load_extension_settings)</code> **Returns**: <code>array</code> - array of file data objects | Param | Type | Description | | --- | --- | --- | | callback | <code>function</code> | async callbackk | <a name="update_theme_filedata"></a> ## update_theme_filedata(req, res) save data from theme page post **Kind**: global function | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="update_ext_filedata"></a> ## update_ext_filedata(req, res) save data from config page post **Kind**: global function | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="load_app_settings"></a> ## load_app_settings(req, res, next) ⇒ <code>object</code> load app configuration information **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | Description | | --- | --- | --- | | req | <code>object</code> | | | res | <code>object</code> | | | next | <code>object</code> | async callback | <a name="load_theme_settings"></a> ## load_theme_settings(req, res, next) ⇒ <code>object</code> load theme configuration information **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | Description | | --- | --- | --- | | req | <code>object</code> | | | res | <code>object</code> | | | next | <code>object</code> | async callback | <a name="update_app_settings"></a> ## update_app_settings(req, res, next) ⇒ <code>object</code> form upload handler to update app settings, and sends notification email **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | Description | | --- | --- | --- | | req | <code>object</code> | | | res | <code>object</code> | | | next | <code>object</code> | async callback | <a name="update_theme_settings"></a> ## update_theme_settings(req, res, next) ⇒ <code>object</code> form upload handler to update theme settings, and sends notification email **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | Description | | --- | --- | --- | | req | <code>object</code> | | | res | <code>object</code> | | | next | <code>object</code> | async callback | <a name="update_config_json_files"></a> ## update_config_json_files(req, res, next) ⇒ <code>object</code> form upload handler to update theme settings, and sends notification email **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | Description | | --- | --- | --- | | req | <code>object</code> | | | res | <code>object</code> | | | next | <code>object</code> | async callback | <a name="get_index_page"></a> ## get_index_page(req, res) ⇒ <code>object</code> shows list of users page **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="get_show_page"></a> ## get_show_page(req, res) ⇒ <code>object</code> shows user profile page **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="get_new_page"></a> ## get_new_page(req, res) ⇒ <code>object</code> create a new user page **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="get_edit_page"></a> ## get_edit_page(req, res) ⇒ <code>function</code> make sure a user is authenticated, if not logged in, send them to login page and return them to original resource after login **Kind**: global function **Returns**: <code>function</code> - next() callback | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="index"></a> ## index(req, res) ⇒ <code>object</code> manage user role section **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or requested view | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="userrole_new"></a> ## userrole_new(req, res) ⇒ <code>object</code> create a new usr role **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or requested view | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="show"></a> ## show(req, res) ⇒ <code>object</code> show user role **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or requested view | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="getMarkdownReleases"></a> ## getMarkdownReleases(req, res) ⇒ <code>object</code> load the markdown release data **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="getHomepageStats"></a> ## getHomepageStats(req, res) ⇒ <code>object</code> does a query to get content counts for all content types **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="settings_index"></a> ## settings_index(req, res) ⇒ <code>object</code> application settings and theme settings page **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> | <a name="settings_faq"></a> ## settings_faq(req, res) ⇒ <code>object</code> settings faq page **Kind**: global function **Returns**: <code>object</code> - reponds with an error page or sends user to authenicated in resource | Param | Type | | --- | --- | | req | <code>object</code> | | res | <code>object</code> |