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 { VideoPrivacy, VideosRedundancyStrategy } from '../../shared/models'
import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type'
import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils'
MINIATURE: {
get PREFER_AUTHOR_DISPLAY_NAME () { return config.get<boolean>('client.videos.miniature.prefer_author_display_name') }
}
+ },
+ MENU: {
+ LOGIN: {
+ get REDIRECT_ON_SINGLE_EXTERNAL_AUTH () { return config.get<boolean>('client.menu.login.redirect_on_single_external_auth') }
+ }
+ }
+ },
+
+ DEFAULTS: {
+ PUBLISH: {
+ DOWNLOAD_ENABLED: config.get<boolean>('defaults.publish.download_enabled'),
+ COMMENTS_ENABLED: config.get<boolean>('defaults.publish.comments_enabled'),
+ PRIVACY: config.get<VideoPrivacy>('defaults.publish.privacy'),
+ LICENCE: config.get<number>('defaults.publish.licence')
}
},
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'))
}
},
PLUGINS: {
delete require.cache[fileName]
}
- decache('config')
+ decacheModule('config')
}
purge()