X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconfig.ts;h=c76a839bc76f6b58c9c49b0df69d19572cba72eb;hb=2e401e8575decb1d491d0db48ca1ab1eba5b2a66;hp=1288768d82b08768739bb9f3b5790cf5654e043c;hpb=df1db951c512a58110171d046ef367789df02733;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 1288768d8..c76a839bc 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -1,12 +1,13 @@ import bytes from 'bytes' import { IConfig } from 'config' -import decache from 'decache' import { dirname, join } from 'path' +import { decacheModule } from '@server/helpers/decache' import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' import { BroadcastMessageLevel } from '@shared/models/server' -import { VideosRedundancyStrategy } from '../../shared/models' +import { buildPath, root } from '../../shared/core-utils' +import { VideoPrivacy, VideosRedundancyStrategy } from '../../shared/models' import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' -import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils' +import { parseBytes, parseDurationToMs } from '../helpers/core-utils' // Use a variable to reload the configuration if we need let config: IConfig = require('config') @@ -61,7 +62,33 @@ const CONFIG = { CLIENT: { VIDEOS: { MINIATURE: { - get PREFER_AUTHOR_DISPLAY_NAME () { return config.get('client.videos.miniature.prefer_author_display_name') } + get PREFER_AUTHOR_DISPLAY_NAME () { return config.get('client.videos.miniature.prefer_author_display_name') }, + get DISPLAY_AUTHOR_AVATAR () { return config.get('client.videos.miniature.display_author_avatar') } + }, + RESUMABLE_UPLOAD: { + get MAX_CHUNK_SIZE () { return parseBytes(config.get('client.videos.resumable_upload.max_chunk_size') || 0) } + } + }, + MENU: { + LOGIN: { + get REDIRECT_ON_SINGLE_EXTERNAL_AUTH () { return config.get('client.menu.login.redirect_on_single_external_auth') } + } + } + }, + + DEFAULTS: { + PUBLISH: { + DOWNLOAD_ENABLED: config.get('defaults.publish.download_enabled'), + COMMENTS_ENABLED: config.get('defaults.publish.comments_enabled'), + PRIVACY: config.get('defaults.publish.privacy'), + LICENCE: config.get('defaults.publish.licence') + }, + P2P: { + WEBAPP: { + ENABLED: config.get('defaults.p2p.webapp.enabled') + }, + EMBED: { + ENABLED: config.get('defaults.p2p.embed.enabled') } } }, @@ -87,6 +114,7 @@ const CONFIG = { MAX_UPLOAD_PART: bytes.parse(config.get('object_storage.max_upload_part')), ENDPOINT: config.get('object_storage.endpoint'), REGION: config.get('object_storage.region'), + UPLOAD_ACL: config.get('object_storage.upload_acl'), CREDENTIALS: { ACCESS_KEY_ID: config.get('object_storage.credentials.access_key_id'), SECRET_ACCESS_KEY: config.get('object_storage.credentials.secret_access_key') @@ -182,7 +210,15 @@ const CONFIG = { VIDEOS: { REMOTE: { MAX_AGE: parseDurationToMs(config.get('views.videos.remote.max_age')) - } + }, + LOCAL_BUFFER_UPDATE_INTERVAL: parseDurationToMs(config.get('views.videos.local_buffer_update_interval')), + IP_VIEW_EXPIRATION: parseDurationToMs(config.get('views.videos.ip_view_expiration')) + } + }, + GEO_IP: { + ENABLED: config.get('geo_ip.enabled'), + COUNTRY: { + DATABASE_URL: config.get('geo_ip.country.database_url') } }, PLUGINS: { @@ -211,6 +247,14 @@ const CONFIG = { } } }, + FEEDS: { + VIDEOS: { + COUNT: config.get('feeds.videos.count') + }, + COMMENTS: { + COUNT: config.get('feeds.comments.count') + } + }, ADMIN: { get EMAIL () { return config.get('admin.email') } }, @@ -270,14 +314,22 @@ const CONFIG = { get ALLOW_REPLAY () { return config.get('live.allow_replay') }, + LATENCY_SETTING: { + get ENABLED () { return config.get('live.latency_setting.enabled') } + }, + RTMP: { get ENABLED () { return config.get('live.rtmp.enabled') }, - get PORT () { return config.get('live.rtmp.port') } + get PORT () { return config.get('live.rtmp.port') }, + get HOSTNAME () { return config.get('live.rtmp.hostname') }, + get PUBLIC_HOSTNAME () { return config.get('live.rtmp.public_hostname') } }, RTMPS: { get ENABLED () { return config.get('live.rtmps.enabled') }, get PORT () { return config.get('live.rtmps.port') }, + get HOSTNAME () { return config.get('live.rtmps.hostname') }, + get PUBLIC_HOSTNAME () { return config.get('live.rtmps.public_hostname') }, get KEY_FILE () { return config.get('live.rtmps.key_file') }, get CERT_FILE () { return config.get('live.rtmps.cert_file') } }, @@ -299,16 +351,21 @@ const CONFIG = { } } }, + VIDEO_STUDIO: { + get ENABLED () { return config.get('video_studio.enabled') } + }, IMPORT: { VIDEOS: { get CONCURRENCY () { return config.get('import.videos.concurrency') }, + get TIMEOUT () { return parseDurationToMs(config.get('import.videos.timeout')) }, HTTP: { get ENABLED () { return config.get('import.videos.http.enabled') }, YOUTUBE_DL_RELEASE: { get URL () { return config.get('import.videos.http.youtube_dl_release.url') }, - get NAME () { return config.get('import.videos.http.youtube_dl_release.name') } + get NAME () { return config.get('import.videos.http.youtube_dl_release.name') }, + get PYTHON_PATH () { return config.get('import.videos.http.youtube_dl_release.python_path') } }, get FORCE_IPV4 () { return config.get('import.videos.http.force_ipv4') } @@ -495,7 +552,7 @@ export function reloadConfig () { delete require.cache[fileName] } - decache('config') + decacheModule('config') } purge()