mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 19:42:24 +02:00
Improve NSFW system
* Add NSFW flags to videos so the publisher can add more NSFW context * Add NSFW summary to videos, similar to content warning system so the publisher has a free text to describe NSFW aspect of its video * Add additional "warn" NSFW policy: the video thumbnail is not blurred and we display a tag below the video miniature, the video player includes the NSFW warning (with context if available) and it also prevent autoplay * "blur" NSFW settings inherits "warn" policy and also blur the video thumbnail * Add NSFW flag settings to users so they can have more granular control about what content they want to hide, warn or display
This commit is contained in:
parent
fac6b15ada
commit
dd4027a10f
181 changed files with 5081 additions and 2061 deletions
|
@ -1,23 +1,19 @@
|
|||
import { VideoFileStream, VideoInclude } from '@peertube/peertube-models'
|
||||
import { logger } from '@server/helpers/logger.js'
|
||||
import { getServerActor } from '@server/models/application/application.js'
|
||||
import express from 'express'
|
||||
import truncate from 'lodash-es/truncate.js'
|
||||
import { ErrorLevel, SitemapStream, streamToPromise } from 'sitemap'
|
||||
import { logger } from '@server/helpers/logger.js'
|
||||
import { getServerActor } from '@server/models/application/application.js'
|
||||
import { buildNSFWFilter } from '../helpers/express-utils.js'
|
||||
import { buildNSFWFilters } from '../helpers/express-utils.js'
|
||||
import { ROUTE_CACHE_LIFETIME, WEBSERVER } from '../initializers/constants.js'
|
||||
import { apiRateLimiter, asyncMiddleware, cacheRoute } from '../middlewares/index.js'
|
||||
import { AccountModel } from '../models/account/account.js'
|
||||
import { VideoModel } from '../models/video/video.js'
|
||||
import { VideoChannelModel } from '../models/video/video-channel.js'
|
||||
import { VideoFileStream, VideoInclude } from '@peertube/peertube-models'
|
||||
import { VideoModel } from '../models/video/video.js'
|
||||
|
||||
const sitemapRouter = express.Router()
|
||||
|
||||
sitemapRouter.use('/sitemap.xml',
|
||||
apiRateLimiter,
|
||||
cacheRoute(ROUTE_CACHE_LIFETIME.SITEMAP),
|
||||
asyncMiddleware(getSitemap)
|
||||
)
|
||||
sitemapRouter.use('/sitemap.xml', apiRateLimiter, cacheRoute(ROUTE_CACHE_LIFETIME.SITEMAP), asyncMiddleware(getSitemap))
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
|
@ -81,6 +77,8 @@ async function getSitemapLocalVideoUrls () {
|
|||
|
||||
while (hasData && i < 1000) {
|
||||
const { data } = await VideoModel.listForApi({
|
||||
...buildNSFWFilters(),
|
||||
|
||||
start: chunkSize * i,
|
||||
count: chunkSize,
|
||||
sort: 'createdAt',
|
||||
|
@ -89,7 +87,6 @@ async function getSitemapLocalVideoUrls () {
|
|||
orLocalVideos: true
|
||||
},
|
||||
isLocal: true,
|
||||
nsfw: buildNSFWFilter(),
|
||||
countVideos: false,
|
||||
include: VideoInclude.FILES | VideoInclude.TAGS
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue