// ---------------------------------------------------------------------------
-const LAST_MIGRATION_VERSION = 255
+const LAST_MIGRATION_VERSION = 260
// ---------------------------------------------------------------------------
FOLLOWERS: [ 'createdAt' ],
FOLLOWING: [ 'createdAt' ],
- VIDEOS_SEARCH: [ 'match', 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes' ]
+ VIDEOS_SEARCH: [ 'match', 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes' ],
+ VIDEO_CHANNELS_SEARCH: [ 'match', 'displayName', 'createdAt' ]
}
const OAUTH_LIFETIME = {
'email': 60000 * 10 // 10 minutes
}
const BROADCAST_CONCURRENCY = 10 // How many requests in parallel we do in activitypub-http-broadcast job
+const CRAWL_REQUEST_CONCURRENCY = 1 // How many requests in parallel to fetch remote data (likes, shares...)
const JOB_REQUEST_TIMEOUT = 3000 // 3 seconds
const JOB_COMPLETED_LIFETIME = 60000 * 60 * 24 * 2 // 2 days
LOG: {
LEVEL: config.get<string>('log.level')
},
+ SEARCH: {
+ REMOTE_URI: {
+ USERS: config.get<boolean>('search.remote_uri.users'),
+ ANONYMOUS: config.get<boolean>('search.remote_uri.anonymous')
+ }
+ },
ADMIN: {
get EMAIL () { return config.get<string>('admin.email') }
},
}
},
USER: {
- get VIDEO_QUOTA () { return config.get<number>('user.video_quota') }
+ get VIDEO_QUOTA () { return config.get<number>('user.video_quota') },
+ get VIDEO_QUOTA_DAILY () { return config.get<number>('user.video_quota_daily') }
},
TRANSCODING: {
get ENABLED () { return config.get<boolean>('transcoding.enabled') },
USERNAME: { min: 3, max: 20 }, // Length
PASSWORD: { min: 6, max: 255 }, // Length
VIDEO_QUOTA: { min: -1 },
+ VIDEO_QUOTA_DAILY: { min: -1 },
BLOCKED_REASON: { min: 3, max: 250 } // Length
},
VIDEO_ABUSES: {
MAGNET: [ 'application/x-bittorrent;x-scheme-handler/magnet' ]
},
MAX_RECURSION_COMMENTS: 100,
- ACTOR_REFRESH_INTERVAL: 3600 * 24 * 1000 // 1 day
+ ACTOR_REFRESH_INTERVAL: 3600 * 24 * 1000, // 1 day
+ VIDEO_REFRESH_INTERVAL: 3600 * 24 * 1000 // 1 day
}
const ACTIVITY_PUB_ACTOR_TYPES: { [ id: string ]: ActivityPubActorType } = {
ACTIVITY_PUB.COLLECTION_ITEMS_PER_PAGE = 2
ACTIVITY_PUB.ACTOR_REFRESH_INTERVAL = 10 * 1000 // 10 seconds
+ ACTIVITY_PUB.VIDEO_REFRESH_INTERVAL = 10 * 1000 // 10 seconds
CONSTRAINTS_FIELDS.ACTORS.AVATAR.FILE_SIZE.max = 100 * 1024 // 100KB
STATIC_DOWNLOAD_PATHS,
RATES_LIMIT,
VIDEO_EXT_MIMETYPE,
+ CRAWL_REQUEST_CONCURRENCY,
JOB_COMPLETED_LIFETIME,
VIDEO_IMPORT_STATES,
VIDEO_VIEW_LIFETIME,