// ---------------------------------------------------------------------------
-const LAST_MIGRATION_VERSION = 305
+const LAST_MIGRATION_VERSION = 315
// ---------------------------------------------------------------------------
VIDEO_CHANNELS_SEARCH: [ 'match', 'displayName', 'createdAt' ],
ACCOUNTS_BLOCKLIST: [ 'createdAt' ],
- SERVERS_BLOCKLIST: [ 'createdAt' ]
+ SERVERS_BLOCKLIST: [ 'createdAt' ],
+
+ USER_NOTIFICATIONS: [ 'createdAt' ]
}
const OAUTH_LIFETIME = {
// 1 hour
let SCHEDULER_INTERVALS_MS = {
- badActorFollow: 60000 * 60, // 1 hour
+ actorFollowScores: 60000 * 60, // 1 hour
removeOldJobs: 60000 * 60, // 1 hour
updateVideos: 60000, // 1 minute
youtubeDLUpdate: 60000 * 60 * 24 // 1 day
ADMIN: {
get EMAIL () { return config.get<string>('admin.email') }
},
+ CONTACT_FORM: {
+ get ENABLED () { return config.get<boolean>('contact_form.enabled') }
+ },
SIGNUP: {
get ENABLED () { return config.get<boolean>('signup.enabled') },
get LIMIT () { return config.get<number>('signup.limit') },
},
VIDEO_SHARE: {
URL: { min: 3, max: 2000 } // Length
+ },
+ CONTACT_FORM: {
+ FROM_NAME: { min: 1, max: 120 }, // Length
+ BODY: { min: 3, max: 5000 } // Length
}
}
}
let VIDEO_VIEW_LIFETIME = 60000 * 60 // 1 hour
+let CONTACT_FORM_LIFETIME = 60000 * 60 // 1 hour
+
const VIDEO_TRANSCODING_FPS: VideoTranscodingFPS = {
MIN: 10,
AVERAGE: 30,
CONSTRAINTS_FIELDS.ACTORS.AVATAR.FILE_SIZE.max = 100 * 1024 // 100KB
- SCHEDULER_INTERVALS_MS.badActorFollow = 10000
+ SCHEDULER_INTERVALS_MS.actorFollowScores = 1000
SCHEDULER_INTERVALS_MS.removeOldJobs = 10000
SCHEDULER_INTERVALS_MS.updateVideos = 5000
REPEAT_JOBS['videos-views'] = { every: 5000 }
REDUNDANCY.VIDEOS.RANDOMIZED_FACTOR = 1
VIDEO_VIEW_LIFETIME = 1000 // 1 second
+ CONTACT_FORM_LIFETIME = 1000 // 1 second
JOB_ATTEMPTS['email'] = 1
HTTP_SIGNATURE,
VIDEO_IMPORT_STATES,
VIDEO_VIEW_LIFETIME,
+ CONTACT_FORM_LIFETIME,
buildLanguages
}