Moved RSS module -> services & controllers

refs #5091, #9192, #9178

- Get the RSS module into a much better shape
- Controller -> /controllers/rss
- Remainder -> /services/rss
- Moved tests to match & updated requires
This commit is contained in:
Hannah Wolfe 2017-11-08 07:58:52 +00:00
parent be1d46a1fd
commit 86c6cec433
9 changed files with 29 additions and 29 deletions

View File

@ -1,12 +1,12 @@
var express = require('express'),
_ = require('lodash'),
config = require('../../config'),
errors = require('../../errors'),
i18n = require('../../i18n'),
rss = require('../../data/xml/rss'),
utils = require('../../utils'),
_ = require('lodash'),
config = require('../../config'),
errors = require('../../errors'),
i18n = require('../../i18n'),
utils = require('../../utils'),
channelLoader = require('./loader'),
channelController = require('../channel'),
rssController = require('../rss'),
rssRouter,
channelRouter,
channelsRouter;
@ -53,8 +53,8 @@ rssRouter = function rssRouter(channelMiddleware) {
pageRoute = utils.url.urlJoin(baseRoute, ':page(\\d+)/');
// @TODO figure out how to collapse this into a single rule
router.get(baseRoute, channelMiddleware, rssConfigMiddleware, rss);
router.get(pageRoute, channelMiddleware, rssConfigMiddleware, rss);
router.get(baseRoute, channelMiddleware, rssConfigMiddleware, rssController);
router.get(pageRoute, channelMiddleware, rssConfigMiddleware, rssController);
// Extra redirect rule
router.get('/feed/', function redirectToRSS(req, res) {
return utils.url.redirect301(res, utils.url.urlJoin(utils.url.getSubdir(), req.baseUrl, baseRoute));

View File

@ -1,16 +1,16 @@
var _ = require('lodash'),
url = require('url'),
utils = require('../../../utils'),
errors = require('../../../errors'),
i18n = require('../../../i18n'),
safeString = require('../../../utils/index').safeString,
settingsCache = require('../../../settings/cache'),
utils = require('../utils'),
errors = require('../errors'),
i18n = require('../i18n'),
safeString = require('../utils/index').safeString,
settingsCache = require('../settings/cache'),
// Really ugly temporary hack for location of things
fetchData = require('../../../controllers/frontend/fetch-data'),
handleError = require('../../../controllers/frontend/error'),
// Slightly less ugly temporary hack for location of things
fetchData = require('./frontend/fetch-data'),
handleError = require('./frontend/error'),
feedCache = require('./cache'),
rssCache = require('../services/rss'),
generate;
// @TODO: is this the right logic? Where should this live?!
@ -73,7 +73,7 @@ generate = function generate(req, res, next) {
data.secure = req.secure;
// @TODO this is effectively a renderer
return feedCache.getXML(baseUrl, data).then(function then(feedXml) {
return rssCache.getXML(baseUrl, data).then(function then(feedXml) {
res.set('Content-Type', 'text/xml; charset=UTF-8');
res.send(feedXml);
});

View File

@ -1 +0,0 @@
module.exports = require('./controller');

View File

@ -1,8 +1,8 @@
var downsize = require('downsize'),
RSS = require('rss'),
utils = require('../../../utils'),
filters = require('../../../filters'),
processUrls = require('../../../utils/make-absolute-urls'),
utils = require('../../utils'),
filters = require('../../filters'),
processUrls = require('../../utils/make-absolute-urls'),
generateFeed,
generateTags;

View File

@ -0,0 +1 @@
module.exports = require('./cache');

View File

@ -7,8 +7,8 @@ var should = require('should'),
channelUtils = require('../../utils/channelUtils'),
api = require('../../../server/api'),
settingsCache = require('../../../server/settings/cache'),
rssController = rewire('../../../server/data/xml/rss/controller'),
rssCache = require('../../../server/data/xml/rss/cache'),
rssController = rewire('../../../server/controllers/rss'),
rssCache = require('../../../server/services/rss'),
configUtils = require('../../utils/configUtils'),
sandbox = sinon.sandbox.create();

View File

@ -1,8 +1,8 @@
var should = require('should'),
sinon = require('sinon'),
rewire = require('rewire'),
configUtils = require('../../utils/configUtils'),
rssCache = rewire('../../../server/data/xml/rss/cache'),
configUtils = require('../../../utils/configUtils'),
rssCache = rewire('../../../../server/services/rss/cache'),
sandbox = sinon.sandbox.create();

View File

@ -1,9 +1,9 @@
var should = require('should'),
_ = require('lodash'),
testUtils = require('../../utils'),
configUtils = require('../../utils/configUtils'),
testUtils = require('../../../utils'),
configUtils = require('../../../utils/configUtils'),
generateFeed = require('../../../server/data/xml/rss/generate-feed');
generateFeed = require('../../../../server/services/rss/generate-feed');
describe('RSS: Generate Feed', function () {
var data = {},