X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconfig.ts;h=c6e478f5709be179ed37c1f29159361378c261c1;hb=47f6cb31d78f83d5734b11285b11147b0b42e191;hp=8dd62cba8c44aa0afeff027a969b0327017144c8;hpb=6dd9de95dfa39bd5c1faed00d1dbd52cd112bae0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 8dd62cba8..c6e478f57 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -2,7 +2,7 @@ import { IConfig } from 'config' import { dirname, join } from 'path' import { VideosRedundancy } from '../../shared/models' // Do not use barrels, remain constants as independent as possible -import { buildPath, parseBytes, parseDuration, root } from '../helpers/core-utils' +import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils' import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' import * as bytes from 'bytes' @@ -44,6 +44,14 @@ const CONFIG = { CA_FILE: config.get('smtp.ca_file'), FROM_ADDRESS: config.get('smtp.from_address') }, + EMAIL: { + BODY: { + SIGNATURE: config.get('email.body.signature') + }, + SUBJECT: { + PREFIX: config.get('email.subject.prefix') + ' ' + } + }, STORAGE: { TMP_DIR: buildPath(config.get('storage.tmp')), AVATARS_DIR: buildPath(config.get('storage.avatars')), @@ -55,7 +63,8 @@ const CONFIG = { PREVIEWS_DIR: buildPath(config.get('storage.previews')), CAPTIONS_DIR: buildPath(config.get('storage.captions')), TORRENTS_DIR: buildPath(config.get('storage.torrents')), - CACHE_DIR: buildPath(config.get('storage.cache')) + CACHE_DIR: buildPath(config.get('storage.cache')), + PLUGINS_DIR: buildPath(config.get('storage.plugins')) }, WEBSERVER: { SCHEME: config.get('webserver.https') === true ? 'https' : 'http', @@ -63,9 +72,28 @@ const CONFIG = { HOSTNAME: config.get('webserver.hostname'), PORT: config.get('webserver.port') }, + RATES_LIMIT: { + API: { + WINDOW_MS: parseDurationToMs(config.get('rates_limit.api.window')), + MAX: config.get('rates_limit.api.max') + }, + SIGNUP: { + WINDOW_MS: parseDurationToMs(config.get('rates_limit.signup.window')), + MAX: config.get('rates_limit.signup.max') + }, + LOGIN: { + WINDOW_MS: parseDurationToMs(config.get('rates_limit.login.window')), + MAX: config.get('rates_limit.login.max') + }, + ASK_SEND_EMAIL: { + WINDOW_MS: parseDurationToMs(config.get('rates_limit.ask_send_email.window')), + MAX: config.get('rates_limit.ask_send_email.max') + } + }, TRUST_PROXY: config.get('trust_proxy'), LOG: { - LEVEL: config.get('log.level') + LEVEL: config.get('log.level'), + ROTATION: config.get('log.rotation.enabled') }, SEARCH: { REMOTE_URI: { @@ -80,7 +108,7 @@ const CONFIG = { }, REDUNDANCY: { VIDEOS: { - CHECK_INTERVAL: parseDuration(config.get('redundancy.videos.check_interval')), + CHECK_INTERVAL: parseDurationToMs(config.get('redundancy.videos.check_interval')), STRATEGIES: buildVideosRedundancy(config.get('redundancy.videos.strategies')) } }, @@ -94,6 +122,25 @@ const CONFIG = { PRIVATE: config.get('tracker.private'), REJECT_TOO_MANY_ANNOUNCES: config.get('tracker.reject_too_many_announces') }, + HISTORY: { + VIDEOS: { + MAX_AGE: parseDurationToMs(config.get('history.videos.max_age')) + } + }, + VIEWS: { + VIDEOS: { + REMOTE: { + MAX_AGE: parseDurationToMs(config.get('views.videos.remote.max_age')) + } + } + }, + PLUGINS: { + INDEX: { + ENABLED: config.get('plugins.index.enabled'), + CHECK_LATEST_VERSIONS_INTERVAL: parseDurationToMs(config.get('plugins.index.check_latest_versions_interval')), + URL: config.get('plugins.index.url') + } + }, ADMIN: { get EMAIL () { return config.get('admin.email') } }, @@ -118,16 +165,22 @@ const CONFIG = { TRANSCODING: { get ENABLED () { return config.get('transcoding.enabled') }, get ALLOW_ADDITIONAL_EXTENSIONS () { return config.get('transcoding.allow_additional_extensions') }, + get ALLOW_AUDIO_FILES () { return config.get('transcoding.allow_audio_files') }, get THREADS () { return config.get('transcoding.threads') }, RESOLUTIONS: { + get '0p' () { return config.get('transcoding.resolutions.0p') }, get '240p' () { return config.get('transcoding.resolutions.240p') }, get '360p' () { return config.get('transcoding.resolutions.360p') }, get '480p' () { return config.get('transcoding.resolutions.480p') }, get '720p' () { return config.get('transcoding.resolutions.720p') }, - get '1080p' () { return config.get('transcoding.resolutions.1080p') } + get '1080p' () { return config.get('transcoding.resolutions.1080p') }, + get '2160p' () { return config.get('transcoding.resolutions.2160p') } }, HLS: { get ENABLED () { return config.get('transcoding.hls.enabled') } + }, + WEBTORRENT: { + get ENABLED () { return config.get('transcoding.webtorrent.enabled') } } }, IMPORT: { @@ -160,6 +213,19 @@ const CONFIG = { get SHORT_DESCRIPTION () { return config.get('instance.short_description') }, get DESCRIPTION () { return config.get('instance.description') }, get TERMS () { return config.get('instance.terms') }, + get CODE_OF_CONDUCT () { return config.get('instance.code_of_conduct') }, + + get CREATION_REASON () { return config.get('instance.creation_reason') }, + + get MODERATION_INFORMATION () { return config.get('instance.moderation_information') }, + get ADMINISTRATOR () { return config.get('instance.administrator') }, + get MAINTENANCE_LIFETIME () { return config.get('instance.maintenance_lifetime') }, + get BUSINESS_MODEL () { return config.get('instance.business_model') }, + get HARDWARE_INFORMATION () { return config.get('instance.hardware_information') }, + + get LANGUAGES () { return config.get('instance.languages') || [] }, + get CATEGORIES () { return config.get('instance.categories') || [] }, + get IS_NSFW () { return config.get('instance.is_nsfw') }, get DEFAULT_CLIENT_ROUTE () { return config.get('instance.default_client_route') }, get DEFAULT_NSFW_POLICY () { return config.get('instance.default_nsfw_policy') }, @@ -182,6 +248,26 @@ const CONFIG = { get ENABLED () { return config.get('followers.instance.enabled') }, get MANUAL_APPROVAL () { return config.get('followers.instance.manual_approval') } } + }, + FOLLOWINGS: { + INSTANCE: { + AUTO_FOLLOW_BACK: { + get ENABLED () { + return config.get('followings.instance.auto_follow_back.enabled') + } + }, + AUTO_FOLLOW_INDEX: { + get ENABLED () { + return config.get('followings.instance.auto_follow_index.enabled') + }, + get INDEX_URL () { + return config.get('followings.instance.auto_follow_index.index_url') + } + } + } + }, + THEME: { + get DEFAULT () { return config.get('theme.default') } } } @@ -216,7 +302,7 @@ function buildVideosRedundancy (objs: any[]): VideosRedundancy[] { return objs.map(obj => { return Object.assign({}, obj, { - minLifetime: parseDuration(obj.min_lifetime), + minLifetime: parseDurationToMs(obj.min_lifetime), size: bytes.parse(obj.size), minViews: obj.min_views })