UNPKG

periodicjs.ext.asyncadmin

Version:

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

135 lines (110 loc) 6.21 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>JSDoc: Source: controller/admin_extensions.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: controller/admin_extensions.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>'use strict'; var async = require('async'), path = require('path'), request = require('superagent'), pluralize = require('pluralize'), capitalize = require('capitalize'), fs = require('fs-extra'), merge = require('utils-merge'), CoreExtension, CoreUtilities, CoreController, appSettings, appenvironment, mongoose, logger; var extcmd = { search: function (options) { // console.log('options', options); var output = this.outputStream; var searchQuery = options._[2] || options.q || ''; output.write('searching github for extensions named: periodicjs.ext.' + searchQuery); // console.log('searching github for extensions named: periodicjs.ext.' + searchQuery); // console.log('search this', this); request .get('https://api.github.com/search/repositories') .query({ q: 'periodicjs.ext.' + searchQuery }) .set('Accept', 'application/json') .end(function (error, res) { // console.log('res.body.items', res.body.items); if (error) { output.write(error.message); } else if (!res.body.items) { output.write('could not find periodicjs.ext.' + searchQuery + ' on github'); } else { var returnhtml = '&lt;p>&lt;strong>Search Results:&lt;/strong>&lt;/p>&lt;ul>'; res.body.items.forEach(function (ext) { returnhtml += '&lt;li>&lt;span data-prefill-admin-input="execCommand extension install periodicjs.ext.' + ext.name + '" style="cursor:pointer">periodicjs.ext.' + ext.name + '&lt;/span> &lt;br>&lt;a class="ts-text-xs" target="_blank" href="' + ext.html_url + '">' + ext.full_name + '&lt;/a>&lt;/li>'; }); returnhtml += '&lt;/ul>&lt;p> To install, example: &lt;span class="ts-text-light-primary-color" data-prefill-admin-input="execCommand extension install periodicjs.ext.example" style="cursor:pointer">execCommand extension install &lt;em>periodicjs.ext.example&lt;/em>&lt;/span>'; output.write(returnhtml); } }); return options; }, install: function (options) { console.log('install theme ' + options.n); } }; /** * admin controller * @module authController * @{@link https://github.com/typesettin/periodic} * @author Yaw Joseph Etse * @copyright Copyright (c) 2014 Typesettin. All rights reserved. * @license MIT * @requires module:periodicjs.core.utilities * @requires module:periodicjs.core.controller * @requires module:periodicjs.core.extensions * @param {object} resources variable injection from current periodic instance with references to the active logger and mongo session * @return {object} */ var controller = function (resources) { logger = resources.logger; mongoose = resources.mongoose; appSettings = resources.settings; CoreController = resources.core.controller; CoreUtilities = resources.core.utilities; CoreExtension = resources.core.extension; return { extcmd: extcmd }; }; module.exports = controller; </code></pre> </article> </section> </div> <nav> <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-authController.html">authController</a></li><li><a href="module-settingsController.html">settingsController</a></li><li><a href="module-userroleController.html">userroleController</a></li><li><a href="periodicjs.ext.module_admin.html">admin</a></li></ul><h3>Classes</h3><ul><li><a href="filterlist.html">filterlist</a></li><li><a href="sortlist.html">sortlist</a></li><li><a href="StylieTextEditor.html">StylieTextEditor</a></li><li><a href="tsdatalist.html">tsdatalist</a></li><li><a href="tsmedialist.html">tsmedialist</a></li><li><a href="tstagmanager.html">tstagmanager</a></li></ul><h3>Global</h3><ul><li><a href="global.html#get_edit_page">get_edit_page</a></li><li><a href="global.html#get_index_page">get_index_page</a></li><li><a href="global.html#get_new_page">get_new_page</a></li><li><a href="global.html#get_show_page">get_show_page</a></li><li><a href="global.html#getHomepageStats">getHomepageStats</a></li><li><a href="global.html#getMarkdownReleases">getMarkdownReleases</a></li><li><a href="global.html#index">index</a></li><li><a href="global.html#load_app_settings">load_app_settings</a></li><li><a href="global.html#load_extension_settings">load_extension_settings</a></li><li><a href="global.html#load_theme_settings">load_theme_settings</a></li><li><a href="global.html#restart_app">restart_app</a></li><li><a href="global.html#sendSettingEmail">sendSettingEmail</a></li><li><a href="global.html#settings_faq">settings_faq</a></li><li><a href="global.html#settings_index">settings_index</a></li><li><a href="global.html#show">show</a></li><li><a href="global.html#styleWindowResizeEventHandler">styleWindowResizeEventHandler</a></li><li><a href="global.html#update_app">update_app</a></li><li><a href="global.html#update_app_settings">update_app_settings</a></li><li><a href="global.html#update_config_json_files">update_config_json_files</a></li><li><a href="global.html#update_ext_filedata">update_ext_filedata</a></li><li><a href="global.html#update_theme_filedata">update_theme_filedata</a></li><li><a href="global.html#update_theme_settings">update_theme_settings</a></li><li><a href="global.html#userrole_new">userrole_new</a></li></ul> </nav> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.4.0</a> on Wed Jun 15 2016 16:57:18 GMT-0400 (EDT) </footer> <script> prettyPrint(); </script> <script src="scripts/linenumber.js"> </script> </body> </html>