]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/bots.ts
Merge branch 'release/2.1.0' into develop
[github/Chocobozzz/PeerTube.git] / server / controllers / bots.ts
index e25d9c21b01c8a8dd48b10d6dcdcfb63aa43766e..63280dabbf2e14f2182c4d52ce02f2495e6eb122 100644 (file)
@@ -2,7 +2,6 @@ import * as express from 'express'
 import { asyncMiddleware } from '../middlewares'
 import { ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants'
 import * as sitemapModule from 'sitemap'
-import { logger } from '../helpers/logger'
 import { VideoModel } from '../models/video/video'
 import { VideoChannelModel } from '../models/video/video-channel'
 import { AccountModel } from '../models/account/account'
@@ -15,7 +14,7 @@ const botsRouter = express.Router()
 // Special route that add OpenGraph and oEmbed tags
 // Do not use a template engine for a so little thing
 botsRouter.use('/sitemap.xml',
-  asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.SITEMAP)),
+  asyncMiddleware(cacheRoute()(ROUTE_CACHE_LIFETIME.SITEMAP)),
   asyncMiddleware(getSitemap)
 )
 
@@ -39,15 +38,10 @@ async function getSitemap (req: express.Request, res: express.Response) {
     urls: urls
   })
 
-  sitemap.toXML((err, xml) => {
-    if (err) {
-      logger.error('Cannot generate sitemap.', { err })
-      return res.sendStatus(500)
-    }
+  const xml = sitemap.toXML()
 
-    res.header('Content-Type', 'application/xml')
-    res.send(xml)
-  })
+  res.header('Content-Type', 'application/xml')
+  res.send(xml)
 }
 
 async function getSitemapVideoChannelUrls () {
@@ -67,17 +61,18 @@ async function getSitemapAccountUrls () {
 }
 
 async function getSitemapLocalVideoUrls () {
-  const resultList = await VideoModel.listForApi({
+  const { data } = await VideoModel.listForApi({
     start: 0,
     count: undefined,
     sort: 'createdAt',
     includeLocalVideos: true,
     nsfw: buildNSFWFilter(),
     filter: 'local',
-    withFiles: false
+    withFiles: false,
+    countVideos: false
   })
 
-  return resultList.data.map(v => ({
+  return data.map(v => ({
     url: WEBSERVER.URL + '/videos/watch/' + v.uuid,
     video: [
       {