Hello guys,
I am starting to develop the plugin, but I did not understand how to add my code as a middleware and use the req
object.
For now it is not working because I don't know how to get the req
object (undefinied).
Here's my plugin:
'use strict';
const plugin = {};
var winston = module.parent.require('winston');
const helpers = require.main.require('./src/controllers/helpers');
plugin.init = function (params, callback) {
const { app, middleware, router } = params;
var allowedPages=["/login", "/register", "/reset"];
console.log("==================================");
console.log(" Plugin Private Forum Initialized ");
console.log("==================================");
if (allowedPages.indexOf(req.url) < 0) {
helpers.notAllowed(req, res, next);
} else {
console.log("PLUGIN PRIVATE FORUM: req.url="+req.url+", user is logged");
winston.log("PLUGIN PRIVATE FORUM: req.url="+req.url+", user is logged");
next();
}
};
module.exports = plugin;
You can see it here: https://github.com/LM1LC3N7/nodebb-plugin-private-forum/blob/master/library.js
Of course there are errors:
2020-06-03T15:55:06.696Z [4567/1731] - verbose: [plugins/fireHook] static:app.load
==================================
Plugin Private Forum Initialized
==================================
2020-06-03T15:55:06.733Z [4567/1731] - error: [plugins] Error executing 'static:app.load' in plugin 'nodebb-plugin-private-forum'
2020-06-03T15:55:06.734Z [4567/1731] - error: ReferenceError: req is not defined
at Object.plugin.init [as method] (/etc/nodebb/nodebb-plugin-private-forum/library.js:16:27)
at /nodebb/src/plugins/hooks.js:176:30
at /nodebb/node_modules/async/dist/async.js:2154:44
at eachOfArrayLike (/nodebb/node_modules/async/dist/async.js:500:13)
at eachOf (/nodebb/node_modules/async/dist/async.js:551:16)
at awaitable (/nodebb/node_modules/async/dist/async.js:208:32)
at Object.eachLimit (/nodebb/node_modules/async/dist/async.js:2216:16)
at /nodebb/node_modules/async/dist/async.js:216:25
at new Promise (<anonymous>)
at Object.awaitable (/nodebb/node_modules/async/dist/async.js:211:20)
Maybe @julian or @PitaJ you can help me on this?