fix #23, add feed links in pages
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const { event: Event, place: Place, tag: Tag } = require('../models')
|
||||
const { Op } = require('sequelize')
|
||||
const moment = require('moment')
|
||||
const config = require('config')
|
||||
const ics = require('ics')
|
||||
|
||||
const exportController = {
|
||||
@@ -21,6 +22,7 @@ const exportController = {
|
||||
if (places) {
|
||||
where.placeId = places.split(',')
|
||||
}
|
||||
|
||||
const events = await Event.findAll({
|
||||
order: ['start_datetime'],
|
||||
where: {
|
||||
@@ -30,7 +32,9 @@ const exportController = {
|
||||
},
|
||||
include: [ { model: Tag, ...where_tags }, { model: Place, attributes: ['name', 'id', 'address'] }]
|
||||
})
|
||||
|
||||
switch (type) {
|
||||
case 'rss':
|
||||
case 'feed':
|
||||
return exportController.feed(res, events.slice(0, 20))
|
||||
case 'ics':
|
||||
@@ -42,7 +46,7 @@ const exportController = {
|
||||
|
||||
feed (res, events) {
|
||||
res.type('application/rss+xml; charset=UTF-8')
|
||||
res.render('feed/rss.pug', { events, config: process.env, moment })
|
||||
res.render('feed/rss.pug', { events, config, moment })
|
||||
},
|
||||
|
||||
ics (res, events) {
|
||||
|
||||
@@ -6,6 +6,7 @@ const federation = require('./federation')
|
||||
const webfinger = require('./federation/webfinger')
|
||||
const { spamFilter } = require('./federation/helpers')
|
||||
const debug = require('debug')('routes')
|
||||
const exportController = require('./api/controller/export')
|
||||
|
||||
const router = express.Router()
|
||||
router.use((req, res, next) => {
|
||||
@@ -18,19 +19,19 @@ router.use(spamFilter)
|
||||
|
||||
router.use('/favicon.ico', express.static(path.resolve(config.favicon || 'assets/favicon.ico')))
|
||||
router.use('/media/', express.static(config.upload_path))
|
||||
router.get('/feed/:type', exportController.export)
|
||||
router.use('/api', api)
|
||||
|
||||
// federation api / activitypub / webfinger / nodeinfo
|
||||
router.use('/.well-known', webfinger)
|
||||
router.use('/federation', federation)
|
||||
|
||||
// Handle 404
|
||||
// router.use((req, res) => res.status(404).send('404: Page not found'))
|
||||
|
||||
// Handle 500
|
||||
router.use((error, req, res, next) => {
|
||||
debug('Error 500: %s', error)
|
||||
res.status(500).send('500: Internal Server Error')
|
||||
})
|
||||
|
||||
// remaining request are for nuxt...
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user