// ---------------------------------------------------------------------------
-const LAST_MIGRATION_VERSION = 50
+const LAST_MIGRATION_VERSION = 65
// ---------------------------------------------------------------------------
VIDEOS_DIR: join(root(), config.get<string>('storage.videos')),
THUMBNAILS_DIR: join(root(), config.get<string>('storage.thumbnails')),
PREVIEWS_DIR: join(root(), config.get<string>('storage.previews')),
- TORRENTS_DIR: join(root(), config.get<string>('storage.torrents'))
+ TORRENTS_DIR: join(root(), config.get<string>('storage.torrents')),
+ CACHE_DIR: join(root(), config.get<string>('storage.cache'))
},
WEBSERVER: {
SCHEME: config.get<boolean>('webserver.https') === true ? 'https' : 'http',
EMAIL: config.get<string>('admin.email')
},
SIGNUP: {
- ENABLED: config.get<boolean>('signup.enabled')
+ ENABLED: config.get<boolean>('signup.enabled'),
+ LIMIT: config.get<number>('signup.limit')
},
TRANSCODING: {
ENABLED: config.get<boolean>('transcoding.enabled'),
THREADS: config.get<number>('transcoding.threads')
+ },
+ CACHE: {
+ PREVIEWS: {
+ SIZE: config.get<number>('cache.previews.size')
+ }
}
}
CONFIG.WEBSERVER.URL = CONFIG.WEBSERVER.SCHEME + '://' + CONFIG.WEBSERVER.HOSTNAME + ':' + CONFIG.WEBSERVER.PORT
THUMBNAIL_DATA: { min: 0, max: 20000 }, // Bytes
VIEWS: { min: 0 },
LIKES: { min: 0 },
- DISLIKES: { min: 0 }
+ DISLIKES: { min: 0 },
+ FILE_SIZE: { min: 10, max: 1024 * 1024 * 1024 * 3 /* 3Go */ }
},
VIDEO_EVENTS: {
COUNT: { min: 0 }
14: 'Italien'
}
+const VIDEO_FILE_RESOLUTIONS = {
+ 0: 'original',
+ 1: '360p',
+ 2: '480p',
+ 3: '720p',
+ 4: '1080p'
+}
+
// ---------------------------------------------------------------------------
// Score a pod has when we create it as a friend
const THUMBNAILS_SIZE = '200x110'
const PREVIEWS_SIZE = '640x480'
+// Subfolders of cache directory
+const CACHE = {
+ DIRECTORIES: {
+ PREVIEWS: join(CONFIG.STORAGE.CACHE_DIR, 'previews')
+ }
+}
+
// ---------------------------------------------------------------------------
const USER_ROLES: { [ id: string ]: UserRole } = {
export {
API_VERSION,
BCRYPT_SALT_SIZE,
+ CACHE,
CONFIG,
CONSTRAINTS_FIELDS,
FRIEND_SCORE,
THUMBNAILS_SIZE,
USER_ROLES,
VIDEO_CATEGORIES,
+ VIDEO_FILE_RESOLUTIONS,
VIDEO_LANGUAGES,
VIDEO_LICENCES,
VIDEO_RATE_TYPES