diff options
Diffstat (limited to 'server/initializers')
95 files changed, 532 insertions, 337 deletions
diff --git a/server/initializers/checker-after-init.ts b/server/initializers/checker-after-init.ts index 44efd346c..f111be2ae 100644 --- a/server/initializers/checker-after-init.ts +++ b/server/initializers/checker-after-init.ts | |||
@@ -1,22 +1,21 @@ | |||
1 | import * as config from 'config' | 1 | import * as config from 'config' |
2 | import { isProdInstance, isTestInstance } from '../helpers/core-utils' | 2 | import { isProdInstance, isTestInstance } from '../helpers/core-utils' |
3 | import { UserModel } from '../models/account/user' | 3 | import { UserModel } from '../models/account/user' |
4 | import { ApplicationModel } from '../models/application/application' | 4 | import { getServerActor, ApplicationModel } from '../models/application/application' |
5 | import { OAuthClientModel } from '../models/oauth/oauth-client' | 5 | import { OAuthClientModel } from '../models/oauth/oauth-client' |
6 | import { parse } from 'url' | 6 | import { URL } from 'url' |
7 | import { CONFIG } from './config' | 7 | import { CONFIG, isEmailEnabled } from './config' |
8 | import { logger } from '../helpers/logger' | 8 | import { logger } from '../helpers/logger' |
9 | import { getServerActor } from '../helpers/utils' | ||
10 | import { RecentlyAddedStrategy } from '../../shared/models/redundancy' | 9 | import { RecentlyAddedStrategy } from '../../shared/models/redundancy' |
11 | import { isArray } from '../helpers/custom-validators/misc' | 10 | import { isArray } from '../helpers/custom-validators/misc' |
12 | import { uniq } from 'lodash' | 11 | import { uniq } from 'lodash' |
13 | import { Emailer } from '../lib/emailer' | ||
14 | import { WEBSERVER } from './constants' | 12 | import { WEBSERVER } from './constants' |
13 | import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' | ||
15 | 14 | ||
16 | async function checkActivityPubUrls () { | 15 | async function checkActivityPubUrls () { |
17 | const actor = await getServerActor() | 16 | const actor = await getServerActor() |
18 | 17 | ||
19 | const parsed = parse(actor.url) | 18 | const parsed = new URL(actor.url) |
20 | if (WEBSERVER.HOST !== parsed.host) { | 19 | if (WEBSERVER.HOST !== parsed.host) { |
21 | const NODE_ENV = config.util.getEnv('NODE_ENV') | 20 | const NODE_ENV = config.util.getEnv('NODE_ENV') |
22 | const NODE_CONFIG_DIR = config.util.getEnv('NODE_CONFIG_DIR') | 21 | const NODE_CONFIG_DIR = config.util.getEnv('NODE_CONFIG_DIR') |
@@ -41,7 +40,7 @@ function checkConfig () { | |||
41 | } | 40 | } |
42 | 41 | ||
43 | // Email verification | 42 | // Email verification |
44 | if (!Emailer.isEnabled()) { | 43 | if (!isEmailEnabled()) { |
45 | if (CONFIG.SIGNUP.ENABLED && CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION) { | 44 | if (CONFIG.SIGNUP.ENABLED && CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION) { |
46 | return 'Emailer is disabled but you require signup email verification.' | 45 | return 'Emailer is disabled but you require signup email verification.' |
47 | } | 46 | } |
@@ -55,7 +54,7 @@ function checkConfig () { | |||
55 | const defaultNSFWPolicy = CONFIG.INSTANCE.DEFAULT_NSFW_POLICY | 54 | const defaultNSFWPolicy = CONFIG.INSTANCE.DEFAULT_NSFW_POLICY |
56 | { | 55 | { |
57 | const available = [ 'do_not_list', 'blur', 'display' ] | 56 | const available = [ 'do_not_list', 'blur', 'display' ] |
58 | if (available.indexOf(defaultNSFWPolicy) === -1) { | 57 | if (available.includes(defaultNSFWPolicy) === false) { |
59 | return 'NSFW policy setting should be ' + available.join(' or ') + ' instead of ' + defaultNSFWPolicy | 58 | return 'NSFW policy setting should be ' + available.join(' or ') + ' instead of ' + defaultNSFWPolicy |
60 | } | 59 | } |
61 | } | 60 | } |
@@ -65,7 +64,7 @@ function checkConfig () { | |||
65 | if (isArray(redundancyVideos)) { | 64 | if (isArray(redundancyVideos)) { |
66 | const available = [ 'most-views', 'trending', 'recently-added' ] | 65 | const available = [ 'most-views', 'trending', 'recently-added' ] |
67 | for (const r of redundancyVideos) { | 66 | for (const r of redundancyVideos) { |
68 | if (available.indexOf(r.strategy) === -1) { | 67 | if (available.includes(r.strategy) === false) { |
69 | return 'Videos redundancy should have ' + available.join(' or ') + ' strategy instead of ' + r.strategy | 68 | return 'Videos redundancy should have ' + available.join(' or ') + ' strategy instead of ' + r.strategy |
70 | } | 69 | } |
71 | 70 | ||
@@ -88,6 +87,13 @@ function checkConfig () { | |||
88 | return 'Videos redundancy should be an array (you must uncomment lines containing - too)' | 87 | return 'Videos redundancy should be an array (you must uncomment lines containing - too)' |
89 | } | 88 | } |
90 | 89 | ||
90 | // Remote redundancies | ||
91 | const acceptFrom = CONFIG.REMOTE_REDUNDANCY.VIDEOS.ACCEPT_FROM | ||
92 | const acceptFromValues = new Set<VideoRedundancyConfigFilter>([ 'nobody', 'anybody', 'followings' ]) | ||
93 | if (acceptFromValues.has(acceptFrom) === false) { | ||
94 | return 'remote_redundancy.videos.accept_from has an incorrect value' | ||
95 | } | ||
96 | |||
91 | // Check storage directory locations | 97 | // Check storage directory locations |
92 | if (isProdInstance()) { | 98 | if (isProdInstance()) { |
93 | const configStorage = config.get('storage') | 99 | const configStorage = config.get('storage') |
diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts index 9731a0af9..56f8156c6 100644 --- a/server/initializers/checker-before-init.ts +++ b/server/initializers/checker-before-init.ts | |||
@@ -22,6 +22,8 @@ function checkMissedConfig () { | |||
22 | 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', | 22 | 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', |
23 | 'redundancy.videos.strategies', 'redundancy.videos.check_interval', | 23 | 'redundancy.videos.strategies', 'redundancy.videos.check_interval', |
24 | 'transcoding.enabled', 'transcoding.threads', 'transcoding.allow_additional_extensions', 'transcoding.hls.enabled', | 24 | 'transcoding.enabled', 'transcoding.threads', 'transcoding.allow_additional_extensions', 'transcoding.hls.enabled', |
25 | 'transcoding.resolutions.0p', 'transcoding.resolutions.240p', 'transcoding.resolutions.360p', 'transcoding.resolutions.480p', | ||
26 | 'transcoding.resolutions.720p', 'transcoding.resolutions.1080p', 'transcoding.resolutions.2160p', | ||
25 | 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'auto_blacklist.videos.of_users.enabled', | 27 | 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'auto_blacklist.videos.of_users.enabled', |
26 | 'trending.videos.interval_days', | 28 | 'trending.videos.interval_days', |
27 | 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route', | 29 | 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route', |
@@ -31,12 +33,13 @@ function checkMissedConfig () { | |||
31 | 'tracker.enabled', 'tracker.private', 'tracker.reject_too_many_announces', | 33 | 'tracker.enabled', 'tracker.private', 'tracker.reject_too_many_announces', |
32 | 'history.videos.max_age', 'views.videos.remote.max_age', | 34 | 'history.videos.max_age', 'views.videos.remote.max_age', |
33 | 'rates_limit.login.window', 'rates_limit.login.max', 'rates_limit.ask_send_email.window', 'rates_limit.ask_send_email.max', | 35 | 'rates_limit.login.window', 'rates_limit.login.max', 'rates_limit.ask_send_email.window', 'rates_limit.ask_send_email.max', |
34 | 'theme.default' | 36 | 'theme.default', |
37 | 'remote_redundancy.videos.accept_from' | ||
35 | ] | 38 | ] |
36 | const requiredAlternatives = [ | 39 | const requiredAlternatives = [ |
37 | [ // set | 40 | [ // set |
38 | ['redis.hostname', 'redis.port'], // alternative | 41 | [ 'redis.hostname', 'redis.port' ], // alternative |
39 | ['redis.socket'] | 42 | [ 'redis.socket' ] |
40 | ] | 43 | ] |
41 | ] | 44 | ] |
42 | const miss: string[] = [] | 45 | const miss: string[] = [] |
diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 7fd77f3e8..6932b41e1 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts | |||
@@ -1,10 +1,11 @@ | |||
1 | import { IConfig } from 'config' | 1 | import { IConfig } from 'config' |
2 | import { dirname, join } from 'path' | 2 | import { dirname, join } from 'path' |
3 | import { VideosRedundancy } from '../../shared/models' | 3 | import { VideosRedundancyStrategy } from '../../shared/models' |
4 | // Do not use barrels, remain constants as independent as possible | 4 | // Do not use barrels, remain constants as independent as possible |
5 | import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils' | 5 | import { buildPath, parseBytes, parseDurationToMs, root } from '../helpers/core-utils' |
6 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' | 6 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' |
7 | import * as bytes from 'bytes' | 7 | import * as bytes from 'bytes' |
8 | import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' | ||
8 | 9 | ||
9 | // Use a variable to reload the configuration if we need | 10 | // Use a variable to reload the configuration if we need |
10 | let config: IConfig = require('config') | 11 | let config: IConfig = require('config') |
@@ -35,6 +36,8 @@ const CONFIG = { | |||
35 | DB: config.has('redis.db') ? config.get<number>('redis.db') : null | 36 | DB: config.has('redis.db') ? config.get<number>('redis.db') : null |
36 | }, | 37 | }, |
37 | SMTP: { | 38 | SMTP: { |
39 | TRANSPORT: config.has('smtp.transport') ? config.get<string>('smtp.transport') : 'smtp', | ||
40 | SENDMAIL: config.has('smtp.sendmail') ? config.get<string>('smtp.sendmail') : null, | ||
38 | HOSTNAME: config.get<string>('smtp.hostname'), | 41 | HOSTNAME: config.get<string>('smtp.hostname'), |
39 | PORT: config.get<number>('smtp.port'), | 42 | PORT: config.get<number>('smtp.port'), |
40 | USERNAME: config.get<string>('smtp.username'), | 43 | USERNAME: config.get<string>('smtp.username'), |
@@ -117,6 +120,11 @@ const CONFIG = { | |||
117 | STRATEGIES: buildVideosRedundancy(config.get<any[]>('redundancy.videos.strategies')) | 120 | STRATEGIES: buildVideosRedundancy(config.get<any[]>('redundancy.videos.strategies')) |
118 | } | 121 | } |
119 | }, | 122 | }, |
123 | REMOTE_REDUNDANCY: { | ||
124 | VIDEOS: { | ||
125 | ACCEPT_FROM: config.get<VideoRedundancyConfigFilter>('remote_redundancy.videos.accept_from') | ||
126 | } | ||
127 | }, | ||
120 | CSP: { | 128 | CSP: { |
121 | ENABLED: config.get<boolean>('csp.enabled'), | 129 | ENABLED: config.get<boolean>('csp.enabled'), |
122 | REPORT_ONLY: config.get<boolean>('csp.report_only'), | 130 | REPORT_ONLY: config.get<boolean>('csp.report_only'), |
@@ -284,11 +292,16 @@ function registerConfigChangedHandler (fun: Function) { | |||
284 | configChangedHandlers.push(fun) | 292 | configChangedHandlers.push(fun) |
285 | } | 293 | } |
286 | 294 | ||
295 | function isEmailEnabled () { | ||
296 | return !!CONFIG.SMTP.HOSTNAME && !!CONFIG.SMTP.PORT | ||
297 | } | ||
298 | |||
287 | // --------------------------------------------------------------------------- | 299 | // --------------------------------------------------------------------------- |
288 | 300 | ||
289 | export { | 301 | export { |
290 | CONFIG, | 302 | CONFIG, |
291 | registerConfigChangedHandler | 303 | registerConfigChangedHandler, |
304 | isEmailEnabled | ||
292 | } | 305 | } |
293 | 306 | ||
294 | // --------------------------------------------------------------------------- | 307 | // --------------------------------------------------------------------------- |
@@ -301,10 +314,10 @@ function getLocalConfigFilePath () { | |||
301 | if (process.env.NODE_ENV) filename += `-${process.env.NODE_ENV}` | 314 | if (process.env.NODE_ENV) filename += `-${process.env.NODE_ENV}` |
302 | if (process.env.NODE_APP_INSTANCE) filename += `-${process.env.NODE_APP_INSTANCE}` | 315 | if (process.env.NODE_APP_INSTANCE) filename += `-${process.env.NODE_APP_INSTANCE}` |
303 | 316 | ||
304 | return join(dirname(configSources[ 0 ].name), filename + '.json') | 317 | return join(dirname(configSources[0].name), filename + '.json') |
305 | } | 318 | } |
306 | 319 | ||
307 | function buildVideosRedundancy (objs: any[]): VideosRedundancy[] { | 320 | function buildVideosRedundancy (objs: any[]): VideosRedundancyStrategy[] { |
308 | if (!objs) return [] | 321 | if (!objs) return [] |
309 | 322 | ||
310 | if (!Array.isArray(objs)) return objs | 323 | if (!Array.isArray(objs)) return objs |
@@ -330,7 +343,7 @@ export function reloadConfig () { | |||
330 | 343 | ||
331 | function purge () { | 344 | function purge () { |
332 | for (const fileName in require.cache) { | 345 | for (const fileName in require.cache) { |
333 | if (-1 === fileName.indexOf(directory())) { | 346 | if (fileName.includes(directory()) === false) { |
334 | continue | 347 | continue |
335 | } | 348 | } |
336 | 349 | ||
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 13e32b6d2..134560717 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts | |||
@@ -4,7 +4,7 @@ import { ActivityPubActorType } from '../../shared/models/activitypub' | |||
4 | import { FollowState } from '../../shared/models/actors' | 4 | import { FollowState } from '../../shared/models/actors' |
5 | import { VideoAbuseState, VideoImportState, VideoPrivacy, VideoTranscodingFPS } from '../../shared/models/videos' | 5 | import { VideoAbuseState, VideoImportState, VideoPrivacy, VideoTranscodingFPS } from '../../shared/models/videos' |
6 | // Do not use barrels, remain constants as independent as possible | 6 | // Do not use barrels, remain constants as independent as possible |
7 | import { isTestInstance, sanitizeHost, sanitizeUrl, root, parseDurationToMs } from '../helpers/core-utils' | 7 | import { isTestInstance, sanitizeHost, sanitizeUrl, root } from '../helpers/core-utils' |
8 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' | 8 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' |
9 | import { invert } from 'lodash' | 9 | import { invert } from 'lodash' |
10 | import { CronRepeatOptions, EveryRepeatOptions } from 'bull' | 10 | import { CronRepeatOptions, EveryRepeatOptions } from 'bull' |
@@ -14,7 +14,7 @@ import { CONFIG, registerConfigChangedHandler } from './config' | |||
14 | 14 | ||
15 | // --------------------------------------------------------------------------- | 15 | // --------------------------------------------------------------------------- |
16 | 16 | ||
17 | const LAST_MIGRATION_VERSION = 470 | 17 | const LAST_MIGRATION_VERSION = 505 |
18 | 18 | ||
19 | // --------------------------------------------------------------------------- | 19 | // --------------------------------------------------------------------------- |
20 | 20 | ||
@@ -59,9 +59,9 @@ const SORTABLE_COLUMNS = { | |||
59 | FOLLOWERS: [ 'createdAt', 'state', 'score' ], | 59 | FOLLOWERS: [ 'createdAt', 'state', 'score' ], |
60 | FOLLOWING: [ 'createdAt', 'redundancyAllowed', 'state' ], | 60 | FOLLOWING: [ 'createdAt', 'redundancyAllowed', 'state' ], |
61 | 61 | ||
62 | VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes', 'trending' ], | 62 | VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'originallyPublishedAt', 'views', 'likes', 'trending' ], |
63 | 63 | ||
64 | VIDEOS_SEARCH: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes', 'match' ], | 64 | VIDEOS_SEARCH: [ 'name', 'duration', 'createdAt', 'publishedAt', 'originallyPublishedAt', 'views', 'likes', 'match' ], |
65 | VIDEO_CHANNELS_SEARCH: [ 'match', 'displayName', 'createdAt' ], | 65 | VIDEO_CHANNELS_SEARCH: [ 'match', 'displayName', 'createdAt' ], |
66 | 66 | ||
67 | ACCOUNTS_BLOCKLIST: [ 'createdAt' ], | 67 | ACCOUNTS_BLOCKLIST: [ 'createdAt' ], |
@@ -73,7 +73,9 @@ const SORTABLE_COLUMNS = { | |||
73 | 73 | ||
74 | PLUGINS: [ 'name', 'createdAt', 'updatedAt' ], | 74 | PLUGINS: [ 'name', 'createdAt', 'updatedAt' ], |
75 | 75 | ||
76 | AVAILABLE_PLUGINS: [ 'npmName', 'popularity' ] | 76 | AVAILABLE_PLUGINS: [ 'npmName', 'popularity' ], |
77 | |||
78 | VIDEO_REDUNDANCIES: [ 'name' ] | ||
77 | } | 79 | } |
78 | 80 | ||
79 | const OAUTH_LIFETIME = { | 81 | const OAUTH_LIFETIME = { |
@@ -88,9 +90,6 @@ const ROUTE_CACHE_LIFETIME = { | |||
88 | SECURITYTXT: '2 hours', | 90 | SECURITYTXT: '2 hours', |
89 | NODEINFO: '10 minutes', | 91 | NODEINFO: '10 minutes', |
90 | DNT_POLICY: '1 week', | 92 | DNT_POLICY: '1 week', |
91 | OVERVIEWS: { | ||
92 | VIDEOS: '1 hour' | ||
93 | }, | ||
94 | ACTIVITY_PUB: { | 93 | ACTIVITY_PUB: { |
95 | VIDEOS: '1 second' // 1 second, cache concurrent requests after a broadcast for example | 94 | VIDEOS: '1 second' // 1 second, cache concurrent requests after a broadcast for example |
96 | }, | 95 | }, |
@@ -117,45 +116,44 @@ const REMOTE_SCHEME = { | |||
117 | WS: 'wss' | 116 | WS: 'wss' |
118 | } | 117 | } |
119 | 118 | ||
120 | // TODO: remove 'video-file' | 119 | const JOB_ATTEMPTS: { [id in JobType]: number } = { |
121 | const JOB_ATTEMPTS: { [id in (JobType | 'video-file')]: number } = { | ||
122 | 'activitypub-http-broadcast': 5, | 120 | 'activitypub-http-broadcast': 5, |
123 | 'activitypub-http-unicast': 5, | 121 | 'activitypub-http-unicast': 5, |
124 | 'activitypub-http-fetcher': 5, | 122 | 'activitypub-http-fetcher': 5, |
125 | 'activitypub-follow': 5, | 123 | 'activitypub-follow': 5, |
126 | 'video-file-import': 1, | 124 | 'video-file-import': 1, |
127 | 'video-transcoding': 1, | 125 | 'video-transcoding': 1, |
128 | 'video-file': 1, | ||
129 | 'video-import': 1, | 126 | 'video-import': 1, |
130 | 'email': 5, | 127 | 'email': 5, |
131 | 'videos-views': 1, | 128 | 'videos-views': 1, |
132 | 'activitypub-refresher': 1 | 129 | 'activitypub-refresher': 1, |
130 | 'video-redundancy': 1 | ||
133 | } | 131 | } |
134 | const JOB_CONCURRENCY: { [id in (JobType | 'video-file')]: number } = { | 132 | const JOB_CONCURRENCY: { [id in JobType]: number } = { |
135 | 'activitypub-http-broadcast': 1, | 133 | 'activitypub-http-broadcast': 1, |
136 | 'activitypub-http-unicast': 5, | 134 | 'activitypub-http-unicast': 5, |
137 | 'activitypub-http-fetcher': 1, | 135 | 'activitypub-http-fetcher': 1, |
138 | 'activitypub-follow': 1, | 136 | 'activitypub-follow': 1, |
139 | 'video-file-import': 1, | 137 | 'video-file-import': 1, |
140 | 'video-transcoding': 1, | 138 | 'video-transcoding': 1, |
141 | 'video-file': 1, | ||
142 | 'video-import': 1, | 139 | 'video-import': 1, |
143 | 'email': 5, | 140 | 'email': 5, |
144 | 'videos-views': 1, | 141 | 'videos-views': 1, |
145 | 'activitypub-refresher': 1 | 142 | 'activitypub-refresher': 1, |
143 | 'video-redundancy': 1 | ||
146 | } | 144 | } |
147 | const JOB_TTL: { [id in (JobType | 'video-file')]: number } = { | 145 | const JOB_TTL: { [id in JobType]: number } = { |
148 | 'activitypub-http-broadcast': 60000 * 10, // 10 minutes | 146 | 'activitypub-http-broadcast': 60000 * 10, // 10 minutes |
149 | 'activitypub-http-unicast': 60000 * 10, // 10 minutes | 147 | 'activitypub-http-unicast': 60000 * 10, // 10 minutes |
150 | 'activitypub-http-fetcher': 60000 * 10, // 10 minutes | 148 | 'activitypub-http-fetcher': 1000 * 3600 * 10, // 10 hours |
151 | 'activitypub-follow': 60000 * 10, // 10 minutes | 149 | 'activitypub-follow': 60000 * 10, // 10 minutes |
152 | 'video-file-import': 1000 * 3600, // 1 hour | 150 | 'video-file-import': 1000 * 3600, // 1 hour |
153 | 'video-transcoding': 1000 * 3600 * 48, // 2 days, transcoding could be long | 151 | 'video-transcoding': 1000 * 3600 * 48, // 2 days, transcoding could be long |
154 | 'video-file': 1000 * 3600 * 48, // 2 days, transcoding could be long | 152 | 'video-import': 1000 * 3600 * 2, // 2 hours |
155 | 'video-import': 1000 * 3600 * 2, // hours | ||
156 | 'email': 60000 * 10, // 10 minutes | 153 | 'email': 60000 * 10, // 10 minutes |
157 | 'videos-views': undefined, // Unlimited | 154 | 'videos-views': undefined, // Unlimited |
158 | 'activitypub-refresher': 60000 * 10 // 10 minutes | 155 | 'activitypub-refresher': 60000 * 10, // 10 minutes |
156 | 'video-redundancy': 1000 * 3600 * 3 // 3 hours | ||
159 | } | 157 | } |
160 | const REPEAT_JOBS: { [ id: string ]: EveryRepeatOptions | CronRepeatOptions } = { | 158 | const REPEAT_JOBS: { [ id: string ]: EveryRepeatOptions | CronRepeatOptions } = { |
161 | 'videos-views': { | 159 | 'videos-views': { |
@@ -285,7 +283,7 @@ const CONSTRAINTS_FIELDS = { | |||
285 | COUNT: { min: 0 } | 283 | COUNT: { min: 0 } |
286 | }, | 284 | }, |
287 | VIDEO_COMMENTS: { | 285 | VIDEO_COMMENTS: { |
288 | TEXT: { min: 1, max: 3000 }, // Length | 286 | TEXT: { min: 1, max: 10000 }, // Length |
289 | URL: { min: 3, max: 2000 } // Length | 287 | URL: { min: 3, max: 2000 } // Length |
290 | }, | 288 | }, |
291 | VIDEO_SHARE: { | 289 | VIDEO_SHARE: { |
@@ -309,6 +307,8 @@ let CONTACT_FORM_LIFETIME = 60000 * 60 // 1 hour | |||
309 | 307 | ||
310 | const VIDEO_TRANSCODING_FPS: VideoTranscodingFPS = { | 308 | const VIDEO_TRANSCODING_FPS: VideoTranscodingFPS = { |
311 | MIN: 10, | 309 | MIN: 10, |
310 | STANDARD: [ 24, 25, 30 ], | ||
311 | HD_STANDARD: [ 50, 60 ], | ||
312 | AVERAGE: 30, | 312 | AVERAGE: 30, |
313 | MAX: 60, | 313 | MAX: 60, |
314 | KEEP_ORIGIN_FPS_RESOLUTION_MIN: 720 // We keep the original FPS on high resolutions (720 minimum) | 314 | KEEP_ORIGIN_FPS_RESOLUTION_MIN: 720 // We keep the original FPS on high resolutions (720 minimum) |
@@ -358,42 +358,42 @@ const VIDEO_LICENCES = { | |||
358 | 7: 'Public Domain Dedication' | 358 | 7: 'Public Domain Dedication' |
359 | } | 359 | } |
360 | 360 | ||
361 | let VIDEO_LANGUAGES: { [id: string]: string } = {} | 361 | const VIDEO_LANGUAGES: { [id: string]: string } = {} |
362 | 362 | ||
363 | const VIDEO_PRIVACIES = { | 363 | const VIDEO_PRIVACIES = { |
364 | [ VideoPrivacy.PUBLIC ]: 'Public', | 364 | [VideoPrivacy.PUBLIC]: 'Public', |
365 | [ VideoPrivacy.UNLISTED ]: 'Unlisted', | 365 | [VideoPrivacy.UNLISTED]: 'Unlisted', |
366 | [ VideoPrivacy.PRIVATE ]: 'Private', | 366 | [VideoPrivacy.PRIVATE]: 'Private', |
367 | [ VideoPrivacy.INTERNAL ]: 'Internal' | 367 | [VideoPrivacy.INTERNAL]: 'Internal' |
368 | } | 368 | } |
369 | 369 | ||
370 | const VIDEO_STATES = { | 370 | const VIDEO_STATES = { |
371 | [ VideoState.PUBLISHED ]: 'Published', | 371 | [VideoState.PUBLISHED]: 'Published', |
372 | [ VideoState.TO_TRANSCODE ]: 'To transcode', | 372 | [VideoState.TO_TRANSCODE]: 'To transcode', |
373 | [ VideoState.TO_IMPORT ]: 'To import' | 373 | [VideoState.TO_IMPORT]: 'To import' |
374 | } | 374 | } |
375 | 375 | ||
376 | const VIDEO_IMPORT_STATES = { | 376 | const VIDEO_IMPORT_STATES = { |
377 | [ VideoImportState.FAILED ]: 'Failed', | 377 | [VideoImportState.FAILED]: 'Failed', |
378 | [ VideoImportState.PENDING ]: 'Pending', | 378 | [VideoImportState.PENDING]: 'Pending', |
379 | [ VideoImportState.SUCCESS ]: 'Success' | 379 | [VideoImportState.SUCCESS]: 'Success' |
380 | } | 380 | } |
381 | 381 | ||
382 | const VIDEO_ABUSE_STATES = { | 382 | const VIDEO_ABUSE_STATES = { |
383 | [ VideoAbuseState.PENDING ]: 'Pending', | 383 | [VideoAbuseState.PENDING]: 'Pending', |
384 | [ VideoAbuseState.REJECTED ]: 'Rejected', | 384 | [VideoAbuseState.REJECTED]: 'Rejected', |
385 | [ VideoAbuseState.ACCEPTED ]: 'Accepted' | 385 | [VideoAbuseState.ACCEPTED]: 'Accepted' |
386 | } | 386 | } |
387 | 387 | ||
388 | const VIDEO_PLAYLIST_PRIVACIES = { | 388 | const VIDEO_PLAYLIST_PRIVACIES = { |
389 | [ VideoPlaylistPrivacy.PUBLIC ]: 'Public', | 389 | [VideoPlaylistPrivacy.PUBLIC]: 'Public', |
390 | [ VideoPlaylistPrivacy.UNLISTED ]: 'Unlisted', | 390 | [VideoPlaylistPrivacy.UNLISTED]: 'Unlisted', |
391 | [ VideoPlaylistPrivacy.PRIVATE ]: 'Private' | 391 | [VideoPlaylistPrivacy.PRIVATE]: 'Private' |
392 | } | 392 | } |
393 | 393 | ||
394 | const VIDEO_PLAYLIST_TYPES = { | 394 | const VIDEO_PLAYLIST_TYPES = { |
395 | [ VideoPlaylistType.REGULAR ]: 'Regular', | 395 | [VideoPlaylistType.REGULAR]: 'Regular', |
396 | [ VideoPlaylistType.WATCH_LATER ]: 'Watch later' | 396 | [VideoPlaylistType.WATCH_LATER]: 'Watch later' |
397 | } | 397 | } |
398 | 398 | ||
399 | const MIMETYPES = { | 399 | const MIMETYPES = { |
@@ -419,7 +419,8 @@ const MIMETYPES = { | |||
419 | 'image/png': '.png', | 419 | 'image/png': '.png', |
420 | 'image/jpg': '.jpg', | 420 | 'image/jpg': '.jpg', |
421 | 'image/jpeg': '.jpg' | 421 | 'image/jpeg': '.jpg' |
422 | } | 422 | }, |
423 | EXT_MIMETYPE: null as { [ id: string ]: string } | ||
423 | }, | 424 | }, |
424 | VIDEO_CAPTIONS: { | 425 | VIDEO_CAPTIONS: { |
425 | MIMETYPE_EXT: { | 426 | MIMETYPE_EXT: { |
@@ -435,13 +436,14 @@ const MIMETYPES = { | |||
435 | } | 436 | } |
436 | } | 437 | } |
437 | MIMETYPES.AUDIO.EXT_MIMETYPE = invert(MIMETYPES.AUDIO.MIMETYPE_EXT) | 438 | MIMETYPES.AUDIO.EXT_MIMETYPE = invert(MIMETYPES.AUDIO.MIMETYPE_EXT) |
439 | MIMETYPES.IMAGE.EXT_MIMETYPE = invert(MIMETYPES.IMAGE.MIMETYPE_EXT) | ||
438 | 440 | ||
439 | // --------------------------------------------------------------------------- | 441 | // --------------------------------------------------------------------------- |
440 | 442 | ||
441 | const OVERVIEWS = { | 443 | const OVERVIEWS = { |
442 | VIDEOS: { | 444 | VIDEOS: { |
443 | SAMPLE_THRESHOLD: 6, | 445 | SAMPLE_THRESHOLD: 6, |
444 | SAMPLES_COUNT: 2 | 446 | SAMPLES_COUNT: 20 |
445 | } | 447 | } |
446 | } | 448 | } |
447 | 449 | ||
@@ -462,7 +464,7 @@ const ACTIVITY_PUB = { | |||
462 | ACCEPT_HEADER: 'application/activity+json, application/ld+json', | 464 | ACCEPT_HEADER: 'application/activity+json, application/ld+json', |
463 | PUBLIC: 'https://www.w3.org/ns/activitystreams#Public', | 465 | PUBLIC: 'https://www.w3.org/ns/activitystreams#Public', |
464 | COLLECTION_ITEMS_PER_PAGE: 10, | 466 | COLLECTION_ITEMS_PER_PAGE: 10, |
465 | FETCH_PAGE_LIMIT: 100, | 467 | FETCH_PAGE_LIMIT: 2000, |
466 | URL_MIME_TYPES: { | 468 | URL_MIME_TYPES: { |
467 | VIDEO: [] as string[], | 469 | VIDEO: [] as string[], |
468 | TORRENT: [ 'application/x-bittorrent' ], | 470 | TORRENT: [ 'application/x-bittorrent' ], |
@@ -497,6 +499,7 @@ let PRIVATE_RSA_KEY_SIZE = 2048 | |||
497 | const BCRYPT_SALT_SIZE = 10 | 499 | const BCRYPT_SALT_SIZE = 10 |
498 | 500 | ||
499 | const USER_PASSWORD_RESET_LIFETIME = 60000 * 60 // 60 minutes | 501 | const USER_PASSWORD_RESET_LIFETIME = 60000 * 60 // 60 minutes |
502 | const USER_PASSWORD_CREATE_LIFETIME = 60000 * 60 * 24 * 7 // 7 days | ||
500 | 503 | ||
501 | const USER_EMAIL_VERIFY_LIFETIME = 60000 * 60 // 60 minutes | 504 | const USER_EMAIL_VERIFY_LIFETIME = 60000 * 60 // 60 minutes |
502 | 505 | ||
@@ -533,7 +536,7 @@ const LAZY_STATIC_PATHS = { | |||
533 | } | 536 | } |
534 | 537 | ||
535 | // Cache control | 538 | // Cache control |
536 | let STATIC_MAX_AGE = { | 539 | const STATIC_MAX_AGE = { |
537 | SERVER: '2h', | 540 | SERVER: '2h', |
538 | CLIENT: '30d' | 541 | CLIENT: '30d' |
539 | } | 542 | } |
@@ -541,11 +544,13 @@ let STATIC_MAX_AGE = { | |||
541 | // Videos thumbnail size | 544 | // Videos thumbnail size |
542 | const THUMBNAILS_SIZE = { | 545 | const THUMBNAILS_SIZE = { |
543 | width: 223, | 546 | width: 223, |
544 | height: 122 | 547 | height: 122, |
548 | minWidth: 150 | ||
545 | } | 549 | } |
546 | const PREVIEWS_SIZE = { | 550 | const PREVIEWS_SIZE = { |
547 | width: 850, | 551 | width: 850, |
548 | height: 480 | 552 | height: 480, |
553 | minWidth: 400 | ||
549 | } | 554 | } |
550 | const AVATARS_SIZE = { | 555 | const AVATARS_SIZE = { |
551 | width: 120, | 556 | width: 120, |
@@ -640,6 +645,8 @@ const P2P_MEDIA_LOADER_PEER_VERSION = 2 | |||
640 | const PLUGIN_GLOBAL_CSS_FILE_NAME = 'plugins-global.css' | 645 | const PLUGIN_GLOBAL_CSS_FILE_NAME = 'plugins-global.css' |
641 | const PLUGIN_GLOBAL_CSS_PATH = join(CONFIG.STORAGE.TMP_DIR, PLUGIN_GLOBAL_CSS_FILE_NAME) | 646 | const PLUGIN_GLOBAL_CSS_PATH = join(CONFIG.STORAGE.TMP_DIR, PLUGIN_GLOBAL_CSS_FILE_NAME) |
642 | 647 | ||
648 | let PLUGIN_EXTERNAL_AUTH_TOKEN_LIFETIME = 1000 * 60 * 5 // 5 minutes | ||
649 | |||
643 | const DEFAULT_THEME_NAME = 'default' | 650 | const DEFAULT_THEME_NAME = 'default' |
644 | const DEFAULT_USER_THEME_NAME = 'instance-default' | 651 | const DEFAULT_USER_THEME_NAME = 'instance-default' |
645 | 652 | ||
@@ -669,18 +676,20 @@ if (isTestInstance() === true) { | |||
669 | SCHEDULER_INTERVALS_MS.removeOldViews = 5000 | 676 | SCHEDULER_INTERVALS_MS.removeOldViews = 5000 |
670 | SCHEDULER_INTERVALS_MS.updateVideos = 5000 | 677 | SCHEDULER_INTERVALS_MS.updateVideos = 5000 |
671 | SCHEDULER_INTERVALS_MS.autoFollowIndexInstances = 5000 | 678 | SCHEDULER_INTERVALS_MS.autoFollowIndexInstances = 5000 |
672 | REPEAT_JOBS[ 'videos-views' ] = { every: 5000 } | 679 | REPEAT_JOBS['videos-views'] = { every: 5000 } |
673 | 680 | ||
674 | REDUNDANCY.VIDEOS.RANDOMIZED_FACTOR = 1 | 681 | REDUNDANCY.VIDEOS.RANDOMIZED_FACTOR = 1 |
675 | 682 | ||
676 | VIDEO_VIEW_LIFETIME = 1000 // 1 second | 683 | VIDEO_VIEW_LIFETIME = 1000 // 1 second |
677 | CONTACT_FORM_LIFETIME = 1000 // 1 second | 684 | CONTACT_FORM_LIFETIME = 1000 // 1 second |
678 | 685 | ||
679 | JOB_ATTEMPTS[ 'email' ] = 1 | 686 | JOB_ATTEMPTS['email'] = 1 |
680 | 687 | ||
681 | FILES_CACHE.VIDEO_CAPTIONS.MAX_AGE = 3000 | 688 | FILES_CACHE.VIDEO_CAPTIONS.MAX_AGE = 3000 |
682 | MEMOIZE_TTL.OVERVIEWS_SAMPLE = 1 | 689 | MEMOIZE_TTL.OVERVIEWS_SAMPLE = 3000 |
683 | ROUTE_CACHE_LIFETIME.OVERVIEWS.VIDEOS = '0ms' | 690 | OVERVIEWS.VIDEOS.SAMPLE_THRESHOLD = 2 |
691 | |||
692 | PLUGIN_EXTERNAL_AUTH_TOKEN_LIFETIME = 5000 | ||
684 | } | 693 | } |
685 | 694 | ||
686 | updateWebserverUrls() | 695 | updateWebserverUrls() |
@@ -757,6 +766,7 @@ export { | |||
757 | LRU_CACHE, | 766 | LRU_CACHE, |
758 | JOB_REQUEST_TIMEOUT, | 767 | JOB_REQUEST_TIMEOUT, |
759 | USER_PASSWORD_RESET_LIFETIME, | 768 | USER_PASSWORD_RESET_LIFETIME, |
769 | USER_PASSWORD_CREATE_LIFETIME, | ||
760 | MEMOIZE_TTL, | 770 | MEMOIZE_TTL, |
761 | USER_EMAIL_VERIFY_LIFETIME, | 771 | USER_EMAIL_VERIFY_LIFETIME, |
762 | OVERVIEWS, | 772 | OVERVIEWS, |
@@ -772,6 +782,7 @@ export { | |||
772 | VIDEO_VIEW_LIFETIME, | 782 | VIDEO_VIEW_LIFETIME, |
773 | CONTACT_FORM_LIFETIME, | 783 | CONTACT_FORM_LIFETIME, |
774 | VIDEO_PLAYLIST_PRIVACIES, | 784 | VIDEO_PLAYLIST_PRIVACIES, |
785 | PLUGIN_EXTERNAL_AUTH_TOKEN_LIFETIME, | ||
775 | ASSETS_PATH, | 786 | ASSETS_PATH, |
776 | loadLanguages, | 787 | loadLanguages, |
777 | buildLanguages | 788 | buildLanguages |
@@ -837,42 +848,42 @@ function loadLanguages () { | |||
837 | function buildLanguages () { | 848 | function buildLanguages () { |
838 | const iso639 = require('iso-639-3') | 849 | const iso639 = require('iso-639-3') |
839 | 850 | ||
840 | const languages: { [ id: string ]: string } = {} | 851 | const languages: { [id: string]: string } = {} |
841 | 852 | ||
842 | const additionalLanguages = { | 853 | const additionalLanguages = { |
843 | 'sgn': true, // Sign languages (macro language) | 854 | sgn: true, // Sign languages (macro language) |
844 | 'ase': true, // American sign language | 855 | ase: true, // American sign language |
845 | 'sdl': true, // Arabian sign language | 856 | sdl: true, // Arabian sign language |
846 | 'bfi': true, // British sign language | 857 | bfi: true, // British sign language |
847 | 'bzs': true, // Brazilian sign language | 858 | bzs: true, // Brazilian sign language |
848 | 'csl': true, // Chinese sign language | 859 | csl: true, // Chinese sign language |
849 | 'cse': true, // Czech sign language | 860 | cse: true, // Czech sign language |
850 | 'dsl': true, // Danish sign language | 861 | dsl: true, // Danish sign language |
851 | 'fsl': true, // French sign language | 862 | fsl: true, // French sign language |
852 | 'gsg': true, // German sign language | 863 | gsg: true, // German sign language |
853 | 'pks': true, // Pakistan sign language | 864 | pks: true, // Pakistan sign language |
854 | 'jsl': true, // Japanese sign language | 865 | jsl: true, // Japanese sign language |
855 | 'sfs': true, // South African sign language | 866 | sfs: true, // South African sign language |
856 | 'swl': true, // Swedish sign language | 867 | swl: true, // Swedish sign language |
857 | 'rsl': true, // Russian sign language: true | 868 | rsl: true, // Russian sign language: true |
858 | 869 | ||
859 | 'epo': true, // Esperanto | 870 | epo: true, // Esperanto |
860 | 'tlh': true, // Klingon | 871 | tlh: true, // Klingon |
861 | 'jbo': true, // Lojban | 872 | jbo: true, // Lojban |
862 | 'avk': true // Kotava | 873 | avk: true // Kotava |
863 | } | 874 | } |
864 | 875 | ||
865 | // Only add ISO639-1 languages and some sign languages (ISO639-3) | 876 | // Only add ISO639-1 languages and some sign languages (ISO639-3) |
866 | iso639 | 877 | iso639 |
867 | .filter(l => { | 878 | .filter(l => { |
868 | return (l.iso6391 !== null && l.type === 'living') || | 879 | return (l.iso6391 !== undefined && l.type === 'living') || |
869 | additionalLanguages[ l.iso6393 ] === true | 880 | additionalLanguages[l.iso6393] === true |
870 | }) | 881 | }) |
871 | .forEach(l => languages[ l.iso6391 || l.iso6393 ] = l.name) | 882 | .forEach(l => { languages[l.iso6391 || l.iso6393] = l.name }) |
872 | 883 | ||
873 | // Override Occitan label | 884 | // Override Occitan label |
874 | languages[ 'oc' ] = 'Occitan' | 885 | languages['oc'] = 'Occitan' |
875 | languages[ 'el' ] = 'Greek' | 886 | languages['el'] = 'Greek' |
876 | 887 | ||
877 | return languages | 888 | return languages |
878 | } | 889 | } |
diff --git a/server/initializers/database.ts b/server/initializers/database.ts index 9ec146ab1..eedaf3c4e 100644 --- a/server/initializers/database.ts +++ b/server/initializers/database.ts | |||
@@ -119,8 +119,6 @@ async function initDatabaseModels (silent: boolean) { | |||
119 | await createFunctions() | 119 | await createFunctions() |
120 | 120 | ||
121 | if (!silent) logger.info('Database %s is ready.', dbname) | 121 | if (!silent) logger.info('Database %s is ready.', dbname) |
122 | |||
123 | return | ||
124 | } | 122 | } |
125 | 123 | ||
126 | // --------------------------------------------------------------------------- | 124 | // --------------------------------------------------------------------------- |
diff --git a/server/initializers/index.ts b/server/initializers/index.ts deleted file mode 100644 index 0fc1a7363..000000000 --- a/server/initializers/index.ts +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | export * from './database' | ||
2 | export * from './installer' | ||
3 | export * from './migrator' | ||
diff --git a/server/initializers/migrations/0005-email-pod.ts b/server/initializers/migrations/0005-email-pod.ts index c34a12255..417c33b1f 100644 --- a/server/initializers/migrations/0005-email-pod.ts +++ b/server/initializers/migrations/0005-email-pod.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0010-email-user.ts b/server/initializers/migrations/0010-email-user.ts index 37a7b0bb3..f7d01f6d6 100644 --- a/server/initializers/migrations/0010-email-user.ts +++ b/server/initializers/migrations/0010-email-user.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0015-video-views.ts b/server/initializers/migrations/0015-video-views.ts index 25164ff4d..47dd4069b 100644 --- a/server/initializers/migrations/0015-video-views.ts +++ b/server/initializers/migrations/0015-video-views.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0020-video-likes.ts b/server/initializers/migrations/0020-video-likes.ts index 945be5a98..44333f3b0 100644 --- a/server/initializers/migrations/0020-video-likes.ts +++ b/server/initializers/migrations/0020-video-likes.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0025-video-dislikes.ts b/server/initializers/migrations/0025-video-dislikes.ts index 27144c437..2aa22e2d7 100644 --- a/server/initializers/migrations/0025-video-dislikes.ts +++ b/server/initializers/migrations/0025-video-dislikes.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0030-video-category.ts b/server/initializers/migrations/0030-video-category.ts index f784f820d..00cd2d8cf 100644 --- a/server/initializers/migrations/0030-video-category.ts +++ b/server/initializers/migrations/0030-video-category.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0035-video-licence.ts b/server/initializers/migrations/0035-video-licence.ts index 3d0b0bac9..61d666c5e 100644 --- a/server/initializers/migrations/0035-video-licence.ts +++ b/server/initializers/migrations/0035-video-licence.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0040-video-nsfw.ts b/server/initializers/migrations/0040-video-nsfw.ts index f7f70d3c4..44aec8a6c 100644 --- a/server/initializers/migrations/0040-video-nsfw.ts +++ b/server/initializers/migrations/0040-video-nsfw.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0045-user-display-nsfw.ts b/server/initializers/migrations/0045-user-display-nsfw.ts index aef420f0e..07795bd75 100644 --- a/server/initializers/migrations/0045-user-display-nsfw.ts +++ b/server/initializers/migrations/0045-user-display-nsfw.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0050-video-language.ts b/server/initializers/migrations/0050-video-language.ts index 796fa5f95..6f90abb44 100644 --- a/server/initializers/migrations/0050-video-language.ts +++ b/server/initializers/migrations/0050-video-language.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0055-video-uuid.ts b/server/initializers/migrations/0055-video-uuid.ts index e0f904080..8a58aebb8 100644 --- a/server/initializers/migrations/0055-video-uuid.ts +++ b/server/initializers/migrations/0055-video-uuid.ts | |||
@@ -3,8 +3,8 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0060-video-file.ts b/server/initializers/migrations/0060-video-file.ts index c362cf71a..00647e60e 100644 --- a/server/initializers/migrations/0060-video-file.ts +++ b/server/initializers/migrations/0060-video-file.ts | |||
@@ -2,9 +2,9 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize, | 7 | sequelize: Sequelize.Sequelize |
8 | db: any | 8 | db: any |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0065-video-file-size.ts b/server/initializers/migrations/0065-video-file-size.ts index e9ce77e50..0bdc675c2 100644 --- a/server/initializers/migrations/0065-video-file-size.ts +++ b/server/initializers/migrations/0065-video-file-size.ts | |||
@@ -5,9 +5,9 @@ import { VideoModel } from '../../models/video/video' | |||
5 | import { getVideoFilePath } from '@server/lib/video-paths' | 5 | import { getVideoFilePath } from '@server/lib/video-paths' |
6 | 6 | ||
7 | function up (utils: { | 7 | function up (utils: { |
8 | transaction: Sequelize.Transaction, | 8 | transaction: Sequelize.Transaction |
9 | queryInterface: Sequelize.QueryInterface, | 9 | queryInterface: Sequelize.QueryInterface |
10 | sequelize: Sequelize.Sequelize, | 10 | sequelize: Sequelize.Sequelize |
11 | db: any | 11 | db: any |
12 | }): Promise<void> { | 12 | }): Promise<void> { |
13 | return utils.db.Video.listOwnedAndPopulateAuthorAndTags() | 13 | return utils.db.Video.listOwnedAndPopulateAuthorAndTags() |
diff --git a/server/initializers/migrations/0070-user-video-quota.ts b/server/initializers/migrations/0070-user-video-quota.ts index 37683432f..1d073f244 100644 --- a/server/initializers/migrations/0070-user-video-quota.ts +++ b/server/initializers/migrations/0070-user-video-quota.ts | |||
@@ -3,9 +3,9 @@ import * as Promise from 'bluebird' | |||
3 | import { Migration } from '../../models/migrations' | 3 | import { Migration } from '../../models/migrations' |
4 | 4 | ||
5 | function up (utils: { | 5 | function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize, | 8 | sequelize: Sequelize.Sequelize |
9 | db: any | 9 | db: any |
10 | }): Promise<void> { | 10 | }): Promise<void> { |
11 | const q = utils.queryInterface | 11 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0075-video-resolutions.ts b/server/initializers/migrations/0075-video-resolutions.ts index e4f26cb77..f56c1b2c3 100644 --- a/server/initializers/migrations/0075-video-resolutions.ts +++ b/server/initializers/migrations/0075-video-resolutions.ts | |||
@@ -5,9 +5,9 @@ import { getVideoFileResolution } from '../../helpers/ffmpeg-utils' | |||
5 | import { readdir, rename } from 'fs-extra' | 5 | import { readdir, rename } from 'fs-extra' |
6 | 6 | ||
7 | function up (utils: { | 7 | function up (utils: { |
8 | transaction: Sequelize.Transaction, | 8 | transaction: Sequelize.Transaction |
9 | queryInterface: Sequelize.QueryInterface, | 9 | queryInterface: Sequelize.QueryInterface |
10 | sequelize: Sequelize.Sequelize, | 10 | sequelize: Sequelize.Sequelize |
11 | db: any | 11 | db: any |
12 | }): Promise<void> { | 12 | }): Promise<void> { |
13 | const torrentDir = CONFIG.STORAGE.TORRENTS_DIR | 13 | const torrentDir = CONFIG.STORAGE.TORRENTS_DIR |
diff --git a/server/initializers/migrations/0080-video-channels.ts b/server/initializers/migrations/0080-video-channels.ts index 5512bdcf1..883224cb0 100644 --- a/server/initializers/migrations/0080-video-channels.ts +++ b/server/initializers/migrations/0080-video-channels.ts | |||
@@ -1,10 +1,10 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | import * as uuidv4 from 'uuid/v4' | 2 | import { v4 as uuidv4 } from 'uuid' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize, | 7 | sequelize: Sequelize.Sequelize |
8 | db: any | 8 | db: any |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | const q = utils.queryInterface | 10 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0085-user-role.ts b/server/initializers/migrations/0085-user-role.ts index de75faec2..ec7428fd5 100644 --- a/server/initializers/migrations/0085-user-role.ts +++ b/server/initializers/migrations/0085-user-role.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0090-videos-description.ts b/server/initializers/migrations/0090-videos-description.ts index 6f98dcade..32e518d75 100644 --- a/server/initializers/migrations/0090-videos-description.ts +++ b/server/initializers/migrations/0090-videos-description.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0095-videos-privacy.ts b/server/initializers/migrations/0095-videos-privacy.ts index 4c2bf91d0..c732d6f6a 100644 --- a/server/initializers/migrations/0095-videos-privacy.ts +++ b/server/initializers/migrations/0095-videos-privacy.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0100-activitypub.ts b/server/initializers/migrations/0100-activitypub.ts index 96d44a7ce..05fd37406 100644 --- a/server/initializers/migrations/0100-activitypub.ts +++ b/server/initializers/migrations/0100-activitypub.ts | |||
@@ -7,9 +7,9 @@ import { ApplicationModel } from '../../models/application/application' | |||
7 | import { SERVER_ACTOR_NAME } from '../constants' | 7 | import { SERVER_ACTOR_NAME } from '../constants' |
8 | 8 | ||
9 | async function up (utils: { | 9 | async function up (utils: { |
10 | transaction: Sequelize.Transaction, | 10 | transaction: Sequelize.Transaction |
11 | queryInterface: Sequelize.QueryInterface, | 11 | queryInterface: Sequelize.QueryInterface |
12 | sequelize: Sequelize.Sequelize, | 12 | sequelize: Sequelize.Sequelize |
13 | db: any | 13 | db: any |
14 | }): Promise<void> { | 14 | }): Promise<void> { |
15 | const q = utils.queryInterface | 15 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0105-server-mail.ts b/server/initializers/migrations/0105-server-mail.ts index 4b9600e91..5ee37c418 100644 --- a/server/initializers/migrations/0105-server-mail.ts +++ b/server/initializers/migrations/0105-server-mail.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.queryInterface.removeColumn('Servers', 'email') | 9 | await utils.queryInterface.removeColumn('Servers', 'email') |
diff --git a/server/initializers/migrations/0110-server-key.ts b/server/initializers/migrations/0110-server-key.ts index 5ff6daf69..354cd7e76 100644 --- a/server/initializers/migrations/0110-server-key.ts +++ b/server/initializers/migrations/0110-server-key.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.queryInterface.removeColumn('Servers', 'publicKey') | 9 | await utils.queryInterface.removeColumn('Servers', 'publicKey') |
diff --git a/server/initializers/migrations/0115-account-avatar.ts b/server/initializers/migrations/0115-account-avatar.ts index b318e8163..604b6394a 100644 --- a/server/initializers/migrations/0115-account-avatar.ts +++ b/server/initializers/migrations/0115-account-avatar.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.db.Avatar.sync() | 9 | await utils.db.Avatar.sync() |
diff --git a/server/initializers/migrations/0120-video-null.ts b/server/initializers/migrations/0120-video-null.ts index 6d253f04f..1b407b270 100644 --- a/server/initializers/migrations/0120-video-null.ts +++ b/server/initializers/migrations/0120-video-null.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | 9 | ||
diff --git a/server/initializers/migrations/0125-table-lowercase.ts b/server/initializers/migrations/0125-table-lowercase.ts index 78041ccb0..f75a56791 100644 --- a/server/initializers/migrations/0125-table-lowercase.ts +++ b/server/initializers/migrations/0125-table-lowercase.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | await utils.queryInterface.renameTable('Applications', 'application') | 8 | await utils.queryInterface.renameTable('Applications', 'application') |
diff --git a/server/initializers/migrations/0130-user-autoplay-video.ts b/server/initializers/migrations/0130-user-autoplay-video.ts index 9f6878e39..d57934588 100644 --- a/server/initializers/migrations/0130-user-autoplay-video.ts +++ b/server/initializers/migrations/0130-user-autoplay-video.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import * as Promise from 'bluebird' | 2 | import * as Promise from 'bluebird' |
3 | 3 | ||
4 | function up (utils: { | 4 | function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const q = utils.queryInterface | 9 | const q = utils.queryInterface |
diff --git a/server/initializers/migrations/0135-video-channel-actor.ts b/server/initializers/migrations/0135-video-channel-actor.ts index 5ace0f4d2..3f620dfa3 100644 --- a/server/initializers/migrations/0135-video-channel-actor.ts +++ b/server/initializers/migrations/0135-video-channel-actor.ts | |||
@@ -3,8 +3,8 @@ import { DataType } from 'sequelize-typescript' | |||
3 | import { createPrivateAndPublicKeys } from '../../helpers/peertube-crypto' | 3 | import { createPrivateAndPublicKeys } from '../../helpers/peertube-crypto' |
4 | 4 | ||
5 | async function up (utils: { | 5 | async function up (utils: { |
6 | transaction: Sequelize.Transaction, | 6 | transaction: Sequelize.Transaction |
7 | queryInterface: Sequelize.QueryInterface, | 7 | queryInterface: Sequelize.QueryInterface |
8 | sequelize: Sequelize.Sequelize | 8 | sequelize: Sequelize.Sequelize |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | // Create actor table | 10 | // Create actor table |
@@ -64,10 +64,10 @@ async function up (utils: { | |||
64 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", | 64 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", |
65 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" | 65 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" |
66 | ) | 66 | ) |
67 | SELECT | 67 | SELECT |
68 | 'Application', uuid, name, url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", | 68 | 'Application', uuid, name, url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", |
69 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" | 69 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" |
70 | FROM account | 70 | FROM account |
71 | WHERE "applicationId" IS NOT NULL | 71 | WHERE "applicationId" IS NOT NULL |
72 | ` | 72 | ` |
73 | await utils.sequelize.query(query1) | 73 | await utils.sequelize.query(query1) |
@@ -79,10 +79,10 @@ async function up (utils: { | |||
79 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", | 79 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", |
80 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" | 80 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" |
81 | ) | 81 | ) |
82 | SELECT | 82 | SELECT |
83 | 'Person', uuid, name, url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", | 83 | 'Person', uuid, name, url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", |
84 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" | 84 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" |
85 | FROM account | 85 | FROM account |
86 | WHERE "applicationId" IS NULL | 86 | WHERE "applicationId" IS NULL |
87 | ` | 87 | ` |
88 | await utils.sequelize.query(query2) | 88 | await utils.sequelize.query(query2) |
@@ -108,17 +108,17 @@ async function up (utils: { | |||
108 | } | 108 | } |
109 | 109 | ||
110 | { | 110 | { |
111 | const query = ` | 111 | const query = ` |
112 | INSERT INTO actor | 112 | INSERT INTO actor |
113 | ( | 113 | ( |
114 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", | 114 | type, uuid, "preferredUsername", url, "publicKey", "privateKey", "followersCount", "followingCount", "inboxUrl", "outboxUrl", |
115 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" | 115 | "sharedInboxUrl", "followersUrl", "followingUrl", "avatarId", "serverId", "createdAt", "updatedAt" |
116 | ) | 116 | ) |
117 | SELECT | 117 | SELECT |
118 | 'Group', "videoChannel".uuid, "videoChannel".uuid, "videoChannel".url, null, null, 0, 0, "videoChannel".url || '/inbox', | 118 | 'Group', "videoChannel".uuid, "videoChannel".uuid, "videoChannel".url, null, null, 0, 0, "videoChannel".url || '/inbox', |
119 | "videoChannel".url || '/outbox', "videoChannel".url || '/inbox', "videoChannel".url || '/followers', "videoChannel".url || '/following', | 119 | "videoChannel".url || '/outbox', "videoChannel".url || '/inbox', "videoChannel".url || '/followers', "videoChannel".url || '/following', |
120 | null, account."serverId", "videoChannel"."createdAt", "videoChannel"."updatedAt" | 120 | null, account."serverId", "videoChannel"."createdAt", "videoChannel"."updatedAt" |
121 | FROM "videoChannel" | 121 | FROM "videoChannel" |
122 | INNER JOIN "account" on "videoChannel"."accountId" = "account".id | 122 | INNER JOIN "account" on "videoChannel"."accountId" = "account".id |
123 | ` | 123 | ` |
124 | await utils.sequelize.query(query) | 124 | await utils.sequelize.query(query) |
@@ -157,13 +157,13 @@ async function up (utils: { | |||
157 | } | 157 | } |
158 | 158 | ||
159 | { | 159 | { |
160 | const query1 = `UPDATE "actorFollow" | 160 | const query1 = `UPDATE "actorFollow" |
161 | SET "actorId" = | 161 | SET "actorId" = |
162 | (SELECT "account"."actorId" FROM account WHERE "account"."id" = "actorFollow"."actorId")` | 162 | (SELECT "account"."actorId" FROM account WHERE "account"."id" = "actorFollow"."actorId")` |
163 | await utils.sequelize.query(query1) | 163 | await utils.sequelize.query(query1) |
164 | 164 | ||
165 | const query2 = `UPDATE "actorFollow" | 165 | const query2 = `UPDATE "actorFollow" |
166 | SET "targetActorId" = | 166 | SET "targetActorId" = |
167 | (SELECT "account"."actorId" FROM account WHERE "account"."id" = "actorFollow"."targetActorId")` | 167 | (SELECT "account"."actorId" FROM account WHERE "account"."id" = "actorFollow"."targetActorId")` |
168 | 168 | ||
169 | await utils.sequelize.query(query2) | 169 | await utils.sequelize.query(query2) |
@@ -189,8 +189,8 @@ async function up (utils: { | |||
189 | await utils.queryInterface.removeConstraint('videoShare', 'videoShare_accountId_fkey') | 189 | await utils.queryInterface.removeConstraint('videoShare', 'videoShare_accountId_fkey') |
190 | } | 190 | } |
191 | 191 | ||
192 | const query = `UPDATE "videoShare" | 192 | const query = `UPDATE "videoShare" |
193 | SET "actorId" = | 193 | SET "actorId" = |
194 | (SELECT "actorId" FROM account WHERE id = "videoShare"."actorId")` | 194 | (SELECT "actorId" FROM account WHERE id = "videoShare"."actorId")` |
195 | await utils.sequelize.query(query) | 195 | await utils.sequelize.query(query) |
196 | 196 | ||
@@ -240,7 +240,7 @@ async function up (utils: { | |||
240 | { | 240 | { |
241 | const query = 'SELECT * FROM "actor" WHERE "serverId" IS NULL AND "publicKey" IS NULL' | 241 | const query = 'SELECT * FROM "actor" WHERE "serverId" IS NULL AND "publicKey" IS NULL' |
242 | const options = { type: Sequelize.QueryTypes.SELECT as Sequelize.QueryTypes.SELECT } | 242 | const options = { type: Sequelize.QueryTypes.SELECT as Sequelize.QueryTypes.SELECT } |
243 | const [ res ] = await utils.sequelize.query(query, options) | 243 | const [ res ] = await utils.sequelize.query<any>(query, options) |
244 | 244 | ||
245 | for (const actor of res) { | 245 | for (const actor of res) { |
246 | const { privateKey, publicKey } = await createPrivateAndPublicKeys() | 246 | const { privateKey, publicKey } = await createPrivateAndPublicKeys() |
diff --git a/server/initializers/migrations/0140-actor-url.ts b/server/initializers/migrations/0140-actor-url.ts index 020499391..d790988ad 100644 --- a/server/initializers/migrations/0140-actor-url.ts +++ b/server/initializers/migrations/0140-actor-url.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import { WEBSERVER } from '../constants' | 2 | import { WEBSERVER } from '../constants' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const toReplace = WEBSERVER.HOSTNAME + ':443' | 9 | const toReplace = WEBSERVER.HOSTNAME + ':443' |
diff --git a/server/initializers/migrations/0145-delete-author.ts b/server/initializers/migrations/0145-delete-author.ts index cb23d1cc2..6c9427997 100644 --- a/server/initializers/migrations/0145-delete-author.ts +++ b/server/initializers/migrations/0145-delete-author.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | await utils.queryInterface.dropTable('Authors') | 8 | await utils.queryInterface.dropTable('Authors') |
diff --git a/server/initializers/migrations/0150-avatar-cascade.ts b/server/initializers/migrations/0150-avatar-cascade.ts index 821696717..fb3b25773 100644 --- a/server/initializers/migrations/0150-avatar-cascade.ts +++ b/server/initializers/migrations/0150-avatar-cascade.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | await utils.queryInterface.removeConstraint('actor', 'actor_avatarId_fkey') | 8 | await utils.queryInterface.removeConstraint('actor', 'actor_avatarId_fkey') |
diff --git a/server/initializers/migrations/0155-video-comments-enabled.ts b/server/initializers/migrations/0155-video-comments-enabled.ts index 6949d3a0c..691640b35 100644 --- a/server/initializers/migrations/0155-video-comments-enabled.ts +++ b/server/initializers/migrations/0155-video-comments-enabled.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import { Migration } from '../../models/migrations' | 2 | import { Migration } from '../../models/migrations' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0160-account-route.ts b/server/initializers/migrations/0160-account-route.ts index cab4c72f1..97469948b 100644 --- a/server/initializers/migrations/0160-account-route.ts +++ b/server/initializers/migrations/0160-account-route.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0165-video-route.ts b/server/initializers/migrations/0165-video-route.ts index 56d98bc69..aa7c75128 100644 --- a/server/initializers/migrations/0165-video-route.ts +++ b/server/initializers/migrations/0165-video-route.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0170-actor-follow-score.ts b/server/initializers/migrations/0170-actor-follow-score.ts index a12b35da9..901a3c799 100644 --- a/server/initializers/migrations/0170-actor-follow-score.ts +++ b/server/initializers/migrations/0170-actor-follow-score.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import { ACTOR_FOLLOW_SCORE } from '../constants' | 2 | import { ACTOR_FOLLOW_SCORE } from '../constants' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.queryInterface.removeColumn('server', 'score') | 9 | await utils.queryInterface.removeColumn('server', 'score') |
diff --git a/server/initializers/migrations/0175-actor-follow-counts.ts b/server/initializers/migrations/0175-actor-follow-counts.ts index 4fb524181..d7853f8dc 100644 --- a/server/initializers/migrations/0175-actor-follow-counts.ts +++ b/server/initializers/migrations/0175-actor-follow-counts.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | const query = 'UPDATE "actor" SET ' + | 8 | const query = 'UPDATE "actor" SET ' + |
diff --git a/server/initializers/migrations/0180-job-table-delete.ts b/server/initializers/migrations/0180-job-table-delete.ts index df29145d0..fb48a0c9d 100644 --- a/server/initializers/migrations/0180-job-table-delete.ts +++ b/server/initializers/migrations/0180-job-table-delete.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | await utils.queryInterface.dropTable('job') | 8 | await utils.queryInterface.dropTable('job') |
diff --git a/server/initializers/migrations/0185-video-share-url.ts b/server/initializers/migrations/0185-video-share-url.ts index f7eeb0878..f59931e0f 100644 --- a/server/initializers/migrations/0185-video-share-url.ts +++ b/server/initializers/migrations/0185-video-share-url.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0190-video-comment-unique-url.ts b/server/initializers/migrations/0190-video-comment-unique-url.ts index b196c9352..a8769ed41 100644 --- a/server/initializers/migrations/0190-video-comment-unique-url.ts +++ b/server/initializers/migrations/0190-video-comment-unique-url.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0195-support.ts b/server/initializers/migrations/0195-support.ts index 3b9eabe79..3f7c75dce 100644 --- a/server/initializers/migrations/0195-support.ts +++ b/server/initializers/migrations/0195-support.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0200-video-published-at.ts b/server/initializers/migrations/0200-video-published-at.ts index 1701ea07a..d8c7b42a7 100644 --- a/server/initializers/migrations/0200-video-published-at.ts +++ b/server/initializers/migrations/0200-video-published-at.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0205-user-nsfw-policy.ts b/server/initializers/migrations/0205-user-nsfw-policy.ts index d0f6e8962..9c2786f12 100644 --- a/server/initializers/migrations/0205-user-nsfw-policy.ts +++ b/server/initializers/migrations/0205-user-nsfw-policy.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0210-video-language.ts b/server/initializers/migrations/0210-video-language.ts index ca95c7527..ee4ce9266 100644 --- a/server/initializers/migrations/0210-video-language.ts +++ b/server/initializers/migrations/0210-video-language.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import { CONSTRAINTS_FIELDS } from '../constants' | 2 | import { CONSTRAINTS_FIELDS } from '../constants' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | 9 | ||
diff --git a/server/initializers/migrations/0215-video-support-length.ts b/server/initializers/migrations/0215-video-support-length.ts index ba395050f..26c0ca700 100644 --- a/server/initializers/migrations/0215-video-support-length.ts +++ b/server/initializers/migrations/0215-video-support-length.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | { | 8 | { |
diff --git a/server/initializers/migrations/0255-video-blacklist-reason.ts b/server/initializers/migrations/0255-video-blacklist-reason.ts index 69d6efb9e..7de982f93 100644 --- a/server/initializers/migrations/0255-video-blacklist-reason.ts +++ b/server/initializers/migrations/0255-video-blacklist-reason.ts | |||
@@ -1,5 +1,4 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | import { VideoAbuseState } from '../../../shared/models/videos' | ||
3 | 2 | ||
4 | async function up (utils: { | 3 | async function up (utils: { |
5 | transaction: Sequelize.Transaction | 4 | transaction: Sequelize.Transaction |
diff --git a/server/initializers/migrations/0285-description-support.ts b/server/initializers/migrations/0285-description-support.ts index 85ef4ef39..aab3a938f 100644 --- a/server/initializers/migrations/0285-description-support.ts +++ b/server/initializers/migrations/0285-description-support.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0290-account-video-rate-url.ts b/server/initializers/migrations/0290-account-video-rate-url.ts index bdabf2929..b974b1a81 100644 --- a/server/initializers/migrations/0290-account-video-rate-url.ts +++ b/server/initializers/migrations/0290-account-video-rate-url.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0295-video-file-extname.ts b/server/initializers/migrations/0295-video-file-extname.ts index dbf249f66..e1999b072 100644 --- a/server/initializers/migrations/0295-video-file-extname.ts +++ b/server/initializers/migrations/0295-video-file-extname.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0300-user-videos-history-enabled.ts b/server/initializers/migrations/0300-user-videos-history-enabled.ts index aa5fc21fb..5e35e14ba 100644 --- a/server/initializers/migrations/0300-user-videos-history-enabled.ts +++ b/server/initializers/migrations/0300-user-videos-history-enabled.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0305-fix-unfederated-videos.ts b/server/initializers/migrations/0305-fix-unfederated-videos.ts index be206601f..9c5d56b7b 100644 --- a/server/initializers/migrations/0305-fix-unfederated-videos.ts +++ b/server/initializers/migrations/0305-fix-unfederated-videos.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0310-drop-unused-video-indexes.ts b/server/initializers/migrations/0310-drop-unused-video-indexes.ts index d51f430c0..181858d3d 100644 --- a/server/initializers/migrations/0310-drop-unused-video-indexes.ts +++ b/server/initializers/migrations/0310-drop-unused-video-indexes.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const indexNames = [ | 9 | const indexNames = [ |
diff --git a/server/initializers/migrations/0315-user-notifications.ts b/server/initializers/migrations/0315-user-notifications.ts index 8284c58a0..0e3f4fbef 100644 --- a/server/initializers/migrations/0315-user-notifications.ts +++ b/server/initializers/migrations/0315-user-notifications.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0320-blacklist-unfederate.ts b/server/initializers/migrations/0320-blacklist-unfederate.ts index 6fb7bbb90..41de41c55 100644 --- a/server/initializers/migrations/0320-blacklist-unfederate.ts +++ b/server/initializers/migrations/0320-blacklist-unfederate.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0325-video-abuse-fields.ts b/server/initializers/migrations/0325-video-abuse-fields.ts index fca6d666f..d88724a20 100644 --- a/server/initializers/migrations/0325-video-abuse-fields.ts +++ b/server/initializers/migrations/0325-video-abuse-fields.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0330-video-streaming-playlist.ts b/server/initializers/migrations/0330-video-streaming-playlist.ts index c85a762ab..f75541a7f 100644 --- a/server/initializers/migrations/0330-video-streaming-playlist.ts +++ b/server/initializers/migrations/0330-video-streaming-playlist.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0335-video-downloading-enabled.ts b/server/initializers/migrations/0335-video-downloading-enabled.ts index e79466447..c745f1f02 100644 --- a/server/initializers/migrations/0335-video-downloading-enabled.ts +++ b/server/initializers/migrations/0335-video-downloading-enabled.ts | |||
@@ -2,8 +2,8 @@ import * as Sequelize from 'sequelize' | |||
2 | import { Migration } from '../../models/migrations' | 2 | import { Migration } from '../../models/migrations' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize | 7 | sequelize: Sequelize.Sequelize |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0340-add-originally-published-at.ts b/server/initializers/migrations/0340-add-originally-published-at.ts index fe4f4a5f9..7cbc14ab5 100644 --- a/server/initializers/migrations/0340-add-originally-published-at.ts +++ b/server/initializers/migrations/0340-add-originally-published-at.ts | |||
@@ -1,8 +1,8 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize | 6 | sequelize: Sequelize.Sequelize |
7 | }): Promise<void> { | 7 | }): Promise<void> { |
8 | 8 | ||
diff --git a/server/initializers/migrations/0345-video-playlists.ts b/server/initializers/migrations/0345-video-playlists.ts index de69f5b9e..89a14a6ee 100644 --- a/server/initializers/migrations/0345-video-playlists.ts +++ b/server/initializers/migrations/0345-video-playlists.ts | |||
@@ -1,11 +1,11 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | import { VideoPlaylistPrivacy, VideoPlaylistType } from '../../../shared/models/videos' | 2 | import { VideoPlaylistPrivacy, VideoPlaylistType } from '../../../shared/models/videos' |
3 | import * as uuidv4 from 'uuid/v4' | 3 | import { v4 as uuidv4 } from 'uuid' |
4 | import { WEBSERVER } from '../constants' | 4 | import { WEBSERVER } from '../constants' |
5 | 5 | ||
6 | async function up (utils: { | 6 | async function up (utils: { |
7 | transaction: Sequelize.Transaction, | 7 | transaction: Sequelize.Transaction |
8 | queryInterface: Sequelize.QueryInterface, | 8 | queryInterface: Sequelize.QueryInterface |
9 | sequelize: Sequelize.Sequelize | 9 | sequelize: Sequelize.Sequelize |
10 | }): Promise<void> { | 10 | }): Promise<void> { |
11 | const transaction = utils.transaction | 11 | const transaction = utils.transaction |
diff --git a/server/initializers/migrations/0350-video-blacklist-type.ts b/server/initializers/migrations/0350-video-blacklist-type.ts index 4849020ef..f79ae5ec7 100644 --- a/server/initializers/migrations/0350-video-blacklist-type.ts +++ b/server/initializers/migrations/0350-video-blacklist-type.ts | |||
@@ -2,9 +2,9 @@ import * as Sequelize from 'sequelize' | |||
2 | import { VideoBlacklistType } from '../../../shared/models/videos' | 2 | import { VideoBlacklistType } from '../../../shared/models/videos' |
3 | 3 | ||
4 | async function up (utils: { | 4 | async function up (utils: { |
5 | transaction: Sequelize.Transaction, | 5 | transaction: Sequelize.Transaction |
6 | queryInterface: Sequelize.QueryInterface, | 6 | queryInterface: Sequelize.QueryInterface |
7 | sequelize: Sequelize.Sequelize, | 7 | sequelize: Sequelize.Sequelize |
8 | db: any | 8 | db: any |
9 | }): Promise<void> { | 9 | }): Promise<void> { |
10 | { | 10 | { |
diff --git a/server/initializers/migrations/0355-p2p-peer-version.ts b/server/initializers/migrations/0355-p2p-peer-version.ts index 18f23d9b7..89af28d07 100644 --- a/server/initializers/migrations/0355-p2p-peer-version.ts +++ b/server/initializers/migrations/0355-p2p-peer-version.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | 9 | ||
diff --git a/server/initializers/migrations/0360-notification-instance-follower.ts b/server/initializers/migrations/0360-notification-instance-follower.ts index 05caf8e1d..6f9a01a9c 100644 --- a/server/initializers/migrations/0360-notification-instance-follower.ts +++ b/server/initializers/migrations/0360-notification-instance-follower.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0365-user-admin-flags.ts b/server/initializers/migrations/0365-user-admin-flags.ts index 20553100a..b705387da 100644 --- a/server/initializers/migrations/0365-user-admin-flags.ts +++ b/server/initializers/migrations/0365-user-admin-flags.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0370-thumbnail.ts b/server/initializers/migrations/0370-thumbnail.ts index 384ca1a15..07c25436a 100644 --- a/server/initializers/migrations/0370-thumbnail.ts +++ b/server/initializers/migrations/0370-thumbnail.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0375-account-description.ts b/server/initializers/migrations/0375-account-description.ts index 1258563fd..f9af942e0 100644 --- a/server/initializers/migrations/0375-account-description.ts +++ b/server/initializers/migrations/0375-account-description.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0380-cleanup-timestamps.ts b/server/initializers/migrations/0380-cleanup-timestamps.ts index 2a9fd6f02..18ecfb997 100644 --- a/server/initializers/migrations/0380-cleanup-timestamps.ts +++ b/server/initializers/migrations/0380-cleanup-timestamps.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | try { | 9 | try { |
diff --git a/server/initializers/migrations/0385-remove-actor-uuid.ts b/server/initializers/migrations/0385-remove-actor-uuid.ts index 032c0562b..eefbc386b 100644 --- a/server/initializers/migrations/0385-remove-actor-uuid.ts +++ b/server/initializers/migrations/0385-remove-actor-uuid.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.queryInterface.removeColumn('actor', 'uuid') | 9 | await utils.queryInterface.removeColumn('actor', 'uuid') |
diff --git a/server/initializers/migrations/0390-user-pending-email.ts b/server/initializers/migrations/0390-user-pending-email.ts index 5ca871746..9cf0affa5 100644 --- a/server/initializers/migrations/0390-user-pending-email.ts +++ b/server/initializers/migrations/0390-user-pending-email.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0395-user-video-languages.ts b/server/initializers/migrations/0395-user-video-languages.ts index 278698bf4..9c24fbc9a 100644 --- a/server/initializers/migrations/0395-user-video-languages.ts +++ b/server/initializers/migrations/0395-user-video-languages.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0400-user-theme.ts b/server/initializers/migrations/0400-user-theme.ts index f74d76115..7addb1bb3 100644 --- a/server/initializers/migrations/0400-user-theme.ts +++ b/server/initializers/migrations/0400-user-theme.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0405-plugin.ts b/server/initializers/migrations/0405-plugin.ts index c55b81960..5c290b986 100644 --- a/server/initializers/migrations/0405-plugin.ts +++ b/server/initializers/migrations/0405-plugin.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0410-video-playlist-element.ts b/server/initializers/migrations/0410-video-playlist-element.ts index f536632a2..1b4692357 100644 --- a/server/initializers/migrations/0410-video-playlist-element.ts +++ b/server/initializers/migrations/0410-video-playlist-element.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0415-thumbnail-auto-generated.ts b/server/initializers/migrations/0415-thumbnail-auto-generated.ts index f822a4c05..98d563c88 100644 --- a/server/initializers/migrations/0415-thumbnail-auto-generated.ts +++ b/server/initializers/migrations/0415-thumbnail-auto-generated.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0420-avatar-lazy.ts b/server/initializers/migrations/0420-avatar-lazy.ts index 5fc57aac2..5c74819d2 100644 --- a/server/initializers/migrations/0420-avatar-lazy.ts +++ b/server/initializers/migrations/0420-avatar-lazy.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0425-nullable-actor-fields.ts b/server/initializers/migrations/0425-nullable-actor-fields.ts index 4e5f9e6ab..720b99ccc 100644 --- a/server/initializers/migrations/0425-nullable-actor-fields.ts +++ b/server/initializers/migrations/0425-nullable-actor-fields.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | const data = { | 9 | const data = { |
diff --git a/server/initializers/migrations/0430-auto-follow-notification-setting.ts b/server/initializers/migrations/0430-auto-follow-notification-setting.ts index 034bdd46d..1734828a4 100644 --- a/server/initializers/migrations/0430-auto-follow-notification-setting.ts +++ b/server/initializers/migrations/0430-auto-follow-notification-setting.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0435-user-modals.ts b/server/initializers/migrations/0435-user-modals.ts index 5c2aa85b5..737440e9b 100644 --- a/server/initializers/migrations/0435-user-modals.ts +++ b/server/initializers/migrations/0435-user-modals.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0440-user-auto-play-next-video.ts b/server/initializers/migrations/0440-user-auto-play-next-video.ts index f0baafe7b..f3f663f59 100644 --- a/server/initializers/migrations/0440-user-auto-play-next-video.ts +++ b/server/initializers/migrations/0440-user-auto-play-next-video.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0445-shared-inbox-optional.ts b/server/initializers/migrations/0445-shared-inbox-optional.ts index dad2d6569..ade1a2a57 100644 --- a/server/initializers/migrations/0445-shared-inbox-optional.ts +++ b/server/initializers/migrations/0445-shared-inbox-optional.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0450-streaming-playlist-files.ts b/server/initializers/migrations/0450-streaming-playlist-files.ts index 460dac8be..08e2e3989 100644 --- a/server/initializers/migrations/0450-streaming-playlist-files.ts +++ b/server/initializers/migrations/0450-streaming-playlist-files.ts | |||
@@ -1,15 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | import { join } from 'path' | ||
3 | import { HLS_STREAMING_PLAYLIST_DIRECTORY, WEBSERVER } from '@server/initializers/constants' | ||
4 | import { CONFIG } from '@server/initializers/config' | ||
5 | import { pathExists, stat, writeFile } from 'fs-extra' | ||
6 | import * as parseTorrent from 'parse-torrent' | ||
7 | import { createTorrentPromise } from '@server/helpers/webtorrent' | ||
8 | 2 | ||
9 | async function up (utils: { | 3 | async function up (utils: { |
10 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
11 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
12 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
13 | db: any | 7 | db: any |
14 | }): Promise<void> { | 8 | }): Promise<void> { |
15 | { | 9 | { |
@@ -42,8 +36,8 @@ async function up (utils: { | |||
42 | { | 36 | { |
43 | const query = 'insert into "videoFile" ' + | 37 | const query = 'insert into "videoFile" ' + |
44 | '(resolution, size, "infoHash", "videoId", "createdAt", "updatedAt", fps, extname, "videoStreamingPlaylistId")' + | 38 | '(resolution, size, "infoHash", "videoId", "createdAt", "updatedAt", fps, extname, "videoStreamingPlaylistId")' + |
45 | '(SELECT "videoFile".resolution, "videoFile".size, \'fake\', NULL, "videoFile"."createdAt", "videoFile"."updatedAt", "videoFile"."fps", ' + | 39 | '(SELECT "videoFile".resolution, "videoFile".size, \'fake\', NULL, "videoFile"."createdAt", "videoFile"."updatedAt", ' + |
46 | '"videoFile".extname, "videoStreamingPlaylist".id FROM "videoStreamingPlaylist" ' + | 40 | '"videoFile"."fps", "videoFile".extname, "videoStreamingPlaylist".id FROM "videoStreamingPlaylist" ' + |
47 | 'inner join video ON video.id = "videoStreamingPlaylist"."videoId" inner join "videoFile" ON "videoFile"."videoId" = video.id)' | 41 | 'inner join video ON video.id = "videoStreamingPlaylist"."videoId" inner join "videoFile" ON "videoFile"."videoId" = video.id)' |
48 | 42 | ||
49 | await utils.sequelize.query(query, { transaction: utils.transaction }) | 43 | await utils.sequelize.query(query, { transaction: utils.transaction }) |
diff --git a/server/initializers/migrations/0455-soft-delete-video-comments.ts b/server/initializers/migrations/0455-soft-delete-video-comments.ts index bcfb97b56..00e56015f 100644 --- a/server/initializers/migrations/0455-soft-delete-video-comments.ts +++ b/server/initializers/migrations/0455-soft-delete-video-comments.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0460-user-playlist-autoplay.ts b/server/initializers/migrations/0460-user-playlist-autoplay.ts index 3067ac1a4..d6f5081ab 100644 --- a/server/initializers/migrations/0460-user-playlist-autoplay.ts +++ b/server/initializers/migrations/0460-user-playlist-autoplay.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0465-thumbnail-file-url-length.ts b/server/initializers/migrations/0465-thumbnail-file-url-length.ts index db8c85c29..84a4fa0ba 100644 --- a/server/initializers/migrations/0465-thumbnail-file-url-length.ts +++ b/server/initializers/migrations/0465-thumbnail-file-url-length.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | { | 9 | { |
diff --git a/server/initializers/migrations/0470-cleaup-indexes.ts b/server/initializers/migrations/0470-cleaup-indexes.ts index 53e401c2b..7365c30f8 100644 --- a/server/initializers/migrations/0470-cleaup-indexes.ts +++ b/server/initializers/migrations/0470-cleaup-indexes.ts | |||
@@ -1,9 +1,9 @@ | |||
1 | import * as Sequelize from 'sequelize' | 1 | import * as Sequelize from 'sequelize' |
2 | 2 | ||
3 | async function up (utils: { | 3 | async function up (utils: { |
4 | transaction: Sequelize.Transaction, | 4 | transaction: Sequelize.Transaction |
5 | queryInterface: Sequelize.QueryInterface, | 5 | queryInterface: Sequelize.QueryInterface |
6 | sequelize: Sequelize.Sequelize, | 6 | sequelize: Sequelize.Sequelize |
7 | db: any | 7 | db: any |
8 | }): Promise<void> { | 8 | }): Promise<void> { |
9 | await utils.sequelize.query('DROP INDEX IF EXISTS video_share_account_id;') | 9 | await utils.sequelize.query('DROP INDEX IF EXISTS video_share_account_id;') |
diff --git a/server/initializers/migrations/0475-redundancy-expires-on.ts b/server/initializers/migrations/0475-redundancy-expires-on.ts new file mode 100644 index 000000000..edbddba37 --- /dev/null +++ b/server/initializers/migrations/0475-redundancy-expires-on.ts | |||
@@ -0,0 +1,27 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | db: any | ||
8 | }): Promise<void> { | ||
9 | { | ||
10 | const data = { | ||
11 | type: Sequelize.DATE, | ||
12 | allowNull: true, | ||
13 | defaultValue: null | ||
14 | } | ||
15 | |||
16 | await utils.queryInterface.changeColumn('videoRedundancy', 'expiresOn', data) | ||
17 | } | ||
18 | } | ||
19 | |||
20 | function down (options) { | ||
21 | throw new Error('Not implemented.') | ||
22 | } | ||
23 | |||
24 | export { | ||
25 | up, | ||
26 | down | ||
27 | } | ||
diff --git a/server/initializers/migrations/0480-caption-file-url.ts b/server/initializers/migrations/0480-caption-file-url.ts new file mode 100644 index 000000000..1f88206d3 --- /dev/null +++ b/server/initializers/migrations/0480-caption-file-url.ts | |||
@@ -0,0 +1,27 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | db: any | ||
8 | }): Promise<void> { | ||
9 | { | ||
10 | const data = { | ||
11 | type: Sequelize.STRING, | ||
12 | allowNull: true, | ||
13 | defaultValue: null | ||
14 | } | ||
15 | |||
16 | await utils.queryInterface.addColumn('videoCaption', 'fileUrl', data) | ||
17 | } | ||
18 | } | ||
19 | |||
20 | function down (options) { | ||
21 | throw new Error('Not implemented.') | ||
22 | } | ||
23 | |||
24 | export { | ||
25 | up, | ||
26 | down | ||
27 | } | ||
diff --git a/server/initializers/migrations/0490-abuse-video.ts b/server/initializers/migrations/0490-abuse-video.ts new file mode 100644 index 000000000..610307aa4 --- /dev/null +++ b/server/initializers/migrations/0490-abuse-video.ts | |||
@@ -0,0 +1,26 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | }): Promise<void> { | ||
8 | |||
9 | const deletedVideo = { | ||
10 | type: Sequelize.JSONB, | ||
11 | allowNull: true | ||
12 | } | ||
13 | await utils.queryInterface.addColumn('videoAbuse', 'deletedVideo', deletedVideo) | ||
14 | await utils.sequelize.query(`ALTER TABLE "videoAbuse" ALTER COLUMN "videoId" DROP NOT NULL;`) | ||
15 | await utils.sequelize.query(`ALTER TABLE "videoAbuse" DROP CONSTRAINT IF EXISTS "videoAbuse_videoId_fkey";`) | ||
16 | |||
17 | } | ||
18 | |||
19 | function down (options) { | ||
20 | throw new Error('Not implemented.') | ||
21 | } | ||
22 | |||
23 | export { | ||
24 | up, | ||
25 | down | ||
26 | } | ||
diff --git a/server/initializers/migrations/0495-plugin-auth.ts b/server/initializers/migrations/0495-plugin-auth.ts new file mode 100644 index 000000000..ea636a4ad --- /dev/null +++ b/server/initializers/migrations/0495-plugin-auth.ts | |||
@@ -0,0 +1,42 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | }): Promise<void> { | ||
8 | |||
9 | { | ||
10 | const password = { | ||
11 | type: Sequelize.STRING, | ||
12 | allowNull: true | ||
13 | } | ||
14 | await utils.queryInterface.changeColumn('user', 'password', password) | ||
15 | } | ||
16 | |||
17 | { | ||
18 | const pluginAuth = { | ||
19 | type: Sequelize.STRING, | ||
20 | allowNull: true | ||
21 | } | ||
22 | await utils.queryInterface.addColumn('user', 'pluginAuth', pluginAuth) | ||
23 | } | ||
24 | |||
25 | { | ||
26 | const authName = { | ||
27 | type: Sequelize.STRING, | ||
28 | allowNull: true | ||
29 | } | ||
30 | await utils.queryInterface.addColumn('oAuthToken', 'authName', authName) | ||
31 | } | ||
32 | |||
33 | } | ||
34 | |||
35 | function down (options) { | ||
36 | throw new Error('Not implemented.') | ||
37 | } | ||
38 | |||
39 | export { | ||
40 | up, | ||
41 | down | ||
42 | } | ||
diff --git a/server/initializers/migrations/0500-playlist-description-length.ts b/server/initializers/migrations/0500-playlist-description-length.ts new file mode 100644 index 000000000..f47f3d96a --- /dev/null +++ b/server/initializers/migrations/0500-playlist-description-length.ts | |||
@@ -0,0 +1,26 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | }): Promise<void> { | ||
8 | |||
9 | { | ||
10 | const description = { | ||
11 | type: Sequelize.STRING(1000), | ||
12 | allowNull: true | ||
13 | } | ||
14 | await utils.queryInterface.changeColumn('videoPlaylist', 'description', description) | ||
15 | } | ||
16 | |||
17 | } | ||
18 | |||
19 | function down (options) { | ||
20 | throw new Error('Not implemented.') | ||
21 | } | ||
22 | |||
23 | export { | ||
24 | up, | ||
25 | down | ||
26 | } | ||
diff --git a/server/initializers/migrations/0505-user-last-login-date.ts b/server/initializers/migrations/0505-user-last-login-date.ts new file mode 100644 index 000000000..29d970802 --- /dev/null +++ b/server/initializers/migrations/0505-user-last-login-date.ts | |||
@@ -0,0 +1,26 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | async function up (utils: { | ||
4 | transaction: Sequelize.Transaction | ||
5 | queryInterface: Sequelize.QueryInterface | ||
6 | sequelize: Sequelize.Sequelize | ||
7 | }): Promise<void> { | ||
8 | |||
9 | { | ||
10 | const field = { | ||
11 | type: Sequelize.DATE, | ||
12 | allowNull: true | ||
13 | } | ||
14 | await utils.queryInterface.addColumn('user', 'lastLoginDate', field) | ||
15 | } | ||
16 | |||
17 | } | ||
18 | |||
19 | function down (options) { | ||
20 | throw new Error('Not implemented.') | ||
21 | } | ||
22 | |||
23 | export { | ||
24 | up, | ||
25 | down | ||
26 | } | ||
diff --git a/server/initializers/migrator.ts b/server/initializers/migrator.ts index 1cb0116b7..77203ae24 100644 --- a/server/initializers/migrator.ts +++ b/server/initializers/migrator.ts | |||
@@ -20,7 +20,7 @@ async function migrate () { | |||
20 | } | 20 | } |
21 | 21 | ||
22 | const rows = await sequelizeTypescript.query<{ migrationVersion: number }>(query, options) | 22 | const rows = await sequelizeTypescript.query<{ migrationVersion: number }>(query, options) |
23 | if (rows && rows[0] && rows[0].migrationVersion) { | 23 | if (rows?.[0]?.migrationVersion) { |
24 | actualVersion = rows[0].migrationVersion | 24 | actualVersion = rows[0].migrationVersion |
25 | } | 25 | } |
26 | 26 | ||
@@ -60,7 +60,7 @@ export { | |||
60 | async function getMigrationScripts () { | 60 | async function getMigrationScripts () { |
61 | const files = await readdir(path.join(__dirname, 'migrations')) | 61 | const files = await readdir(path.join(__dirname, 'migrations')) |
62 | const filesToMigrate: { | 62 | const filesToMigrate: { |
63 | version: string, | 63 | version: string |
64 | script: string | 64 | script: string |
65 | }[] = [] | 65 | }[] = [] |
66 | 66 | ||