X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Finitializers%2Fconstants.ts;h=bf99f4df6925425c7de5a02e8af2df65cb8e5620;hb=6fcd19ba737f1f5614a56c6925adb882dea43b8d;hp=6bdc261ad7040a47ae79bea99acccf4c86002ace;hpb=65fcc3119c334b75dd13bcfdebf186afdc580a8f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 6bdc261ad..bf99f4df6 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -1,6 +1,18 @@ -import config = require('config') +import * as config from 'config' import { join } from 'path' +// Do not use barrels, remain constants as independent as possible +import { root, isTestInstance } from '../helpers/core-utils' + +import { + UserRole, + VideoRateType, + RequestEndpoint, + RequestVideoEventType, + RequestVideoQaduType, + JobState +} from '../../shared/models' + // --------------------------------------------------------------------------- const LAST_MIGRATION_VERSION = 50 @@ -44,12 +56,12 @@ const CONFIG = { PASSWORD: config.get('database.password') }, STORAGE: { - CERT_DIR: join(__dirname, '..', '..', config.get('storage.certs')), - LOG_DIR: join(__dirname, '..', '..', config.get('storage.logs')), - VIDEOS_DIR: join(__dirname, '..', '..', config.get('storage.videos')), - THUMBNAILS_DIR: join(__dirname, '..', '..', config.get('storage.thumbnails')), - PREVIEWS_DIR: join(__dirname, '..', '..', config.get('storage.previews')), - TORRENTS_DIR: join(__dirname, '..', '..', config.get('storage.torrents')) + CERT_DIR: join(root(), config.get('storage.certs')), + LOG_DIR: join(root(), config.get('storage.logs')), + VIDEOS_DIR: join(root(), config.get('storage.videos')), + THUMBNAILS_DIR: join(root(), config.get('storage.thumbnails')), + PREVIEWS_DIR: join(root(), config.get('storage.previews')), + TORRENTS_DIR: join(root(), config.get('storage.torrents')) }, WEBSERVER: { SCHEME: config.get('webserver.https') === true ? 'https' : 'http', @@ -102,7 +114,7 @@ const CONSTRAINTS_FIELDS = { } } -const VIDEO_RATE_TYPES = { +const VIDEO_RATE_TYPES: { [ id: string ]: VideoRateType } = { LIKE: 'like', DISLIKE: 'dislike' } @@ -195,11 +207,11 @@ const REQUESTS_VIDEO_EVENT_LIMIT_PER_POD = 50 // Number of requests to retry for replay requests module const RETRY_REQUESTS = 5 -const REQUEST_ENDPOINTS = { +const REQUEST_ENDPOINTS: { [ id: string ]: RequestEndpoint } = { VIDEOS: 'videos' } -const REQUEST_ENDPOINT_ACTIONS = {} +const REQUEST_ENDPOINT_ACTIONS: { [ id: string ]: any } = {} REQUEST_ENDPOINT_ACTIONS[REQUEST_ENDPOINTS.VIDEOS] = { ADD: 'add', UPDATE: 'update', @@ -210,13 +222,13 @@ REQUEST_ENDPOINT_ACTIONS[REQUEST_ENDPOINTS.VIDEOS] = { const REQUEST_VIDEO_QADU_ENDPOINT = 'videos/qadu' const REQUEST_VIDEO_EVENT_ENDPOINT = 'videos/events' -const REQUEST_VIDEO_QADU_TYPES = { +const REQUEST_VIDEO_QADU_TYPES: { [ id: string ]: RequestVideoQaduType } = { LIKES: 'likes', DISLIKES: 'dislikes', VIEWS: 'views' } -const REQUEST_VIDEO_EVENT_TYPES = { +const REQUEST_VIDEO_EVENT_TYPES: { [ id: string ]: RequestVideoEventType } = { LIKES: 'likes', DISLIKES: 'dislikes', VIEWS: 'views' @@ -227,7 +239,7 @@ const REMOTE_SCHEME = { WS: 'wss' } -const JOB_STATES = { +const JOB_STATES: { [ id: string ]: JobState } = { PENDING: 'pending', PROCESSING: 'processing', ERROR: 'error', @@ -268,7 +280,7 @@ const PREVIEWS_SIZE = '640x480' // --------------------------------------------------------------------------- -const USER_ROLES = { +const USER_ROLES: { [ id: string ]: UserRole } = { ADMIN: 'admin', USER: 'user' } @@ -334,10 +346,3 @@ export { VIDEO_LICENCES, VIDEO_RATE_TYPES } - -// --------------------------------------------------------------------------- - -// This method exists in utils module but we want to let the constants module independent -function isTestInstance () { - return (process.env.NODE_ENV === 'test') -}