X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fconfig.ts;h=27c416a12bc75c995ca83394056c0e6198518275;hb=b91bc1d1f3591c35ab4426f6ab594b4bd9f1ef62;hp=1f3341bc0c2c21c71f6239f40b44844cb60901a7;hpb=28f3d1b36a70426795240c9370e47b6c4ba847f8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 1f3341bc0..27c416a12 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -4,7 +4,7 @@ import { ServerConfig, UserRight } from '../../../shared' import { About } from '../../../shared/models/server/about.model' import { CustomConfig } from '../../../shared/models/server/custom-config.model' import { isSignupAllowed, isSignupAllowedForCurrentIP } from '../../helpers/signup' -import { CONFIG, CONSTRAINTS_FIELDS, reloadConfig } from '../../initializers' +import { CONSTRAINTS_FIELDS } from '../../initializers/constants' import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares' import { customConfigUpdateValidator } from '../../middlewares/validators/config' import { ClientHtml } from '../../lib/client-html' @@ -14,6 +14,7 @@ import { getServerCommit } from '../../helpers/utils' import { Emailer } from '../../lib/emailer' import { isNumeric } from 'validator' import { objectConverter } from '../../helpers/core-utils' +import { CONFIG, reloadConfig } from '../../initializers/config' const packageJSON = require('../../../../package.json') const configRouter = express.Router() @@ -50,7 +51,7 @@ async function getConfig (req: express.Request, res: express.Response) { if (serverCommit === undefined) serverCommit = await getServerCommit() const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS) - .filter(key => CONFIG.TRANSCODING.ENABLED === CONFIG.TRANSCODING.RESOLUTIONS[key] === true) + .filter(key => CONFIG.TRANSCODING.ENABLED && CONFIG.TRANSCODING.RESOLUTIONS[key] === true) .map(r => parseInt(r, 10)) const json: ServerConfig = { @@ -58,6 +59,7 @@ async function getConfig (req: express.Request, res: express.Response) { name: CONFIG.INSTANCE.NAME, shortDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION, defaultClientRoute: CONFIG.INSTANCE.DEFAULT_CLIENT_ROUTE, + isNSFW: CONFIG.INSTANCE.IS_NSFW, defaultNSFWPolicy: CONFIG.INSTANCE.DEFAULT_NSFW_POLICY, customizations: { javascript: CONFIG.INSTANCE.CUSTOMIZATIONS.JAVASCRIPT, @@ -93,6 +95,13 @@ async function getConfig (req: express.Request, res: express.Response) { } } }, + autoBlacklist: { + videos: { + ofUsers: { + enabled: CONFIG.AUTO_BLACKLIST.VIDEOS.OF_USERS.ENABLED + } + } + }, avatar: { file: { size: { @@ -128,13 +137,16 @@ async function getConfig (req: express.Request, res: express.Response) { videos: { intervalDays: CONFIG.TRENDING.VIDEOS.INTERVAL_DAYS } + }, + tracker: { + enabled: CONFIG.TRACKER.ENABLED } } return res.json(json) } -function getAbout (req: express.Request, res: express.Response, next: express.NextFunction) { +function getAbout (req: express.Request, res: express.Response) { const about: About = { instance: { name: CONFIG.INSTANCE.NAME, @@ -147,13 +159,13 @@ function getAbout (req: express.Request, res: express.Response, next: express.Ne return res.json(about).end() } -async function getCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { +async function getCustomConfig (req: express.Request, res: express.Response) { const data = customConfig() return res.json(data).end() } -async function deleteCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { +async function deleteCustomConfig (req: express.Request, res: express.Response) { await remove(CONFIG.CUSTOM_FILE) auditLogger.delete(getAuditIdFromRes(res), new CustomConfigAuditView(customConfig())) @@ -166,7 +178,7 @@ async function deleteCustomConfig (req: express.Request, res: express.Response, return res.json(data).end() } -async function updateCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { +async function updateCustomConfig (req: express.Request, res: express.Response) { const oldCustomConfigAuditKeys = new CustomConfigAuditView(customConfig()) // camelCase to snake_case key + Force number conversion @@ -203,6 +215,7 @@ function customConfig (): CustomConfig { shortDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION, description: CONFIG.INSTANCE.DESCRIPTION, terms: CONFIG.INSTANCE.TERMS, + isNSFW: CONFIG.INSTANCE.IS_NSFW, defaultClientRoute: CONFIG.INSTANCE.DEFAULT_CLIENT_ROUTE, defaultNSFWPolicy: CONFIG.INSTANCE.DEFAULT_NSFW_POLICY, customizations: { @@ -242,6 +255,7 @@ function customConfig (): CustomConfig { transcoding: { enabled: CONFIG.TRANSCODING.ENABLED, allowAdditionalExtensions: CONFIG.TRANSCODING.ALLOW_ADDITIONAL_EXTENSIONS, + allowAudioFiles: CONFIG.TRANSCODING.ALLOW_AUDIO_FILES, threads: CONFIG.TRANSCODING.THREADS, resolutions: { '240p': CONFIG.TRANSCODING.RESOLUTIONS[ '240p' ], @@ -263,6 +277,19 @@ function customConfig (): CustomConfig { enabled: CONFIG.IMPORT.VIDEOS.TORRENT.ENABLED } } + }, + autoBlacklist: { + videos: { + ofUsers: { + enabled: CONFIG.AUTO_BLACKLIST.VIDEOS.OF_USERS.ENABLED + } + } + }, + followers: { + instance: { + enabled: CONFIG.FOLLOWERS.INSTANCE.ENABLED, + manualApproval: CONFIG.FOLLOWERS.INSTANCE.MANUAL_APPROVAL + } } } }