From d9bdd007d7a1368d2a13127ecb5c0a81a18a8c04 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 19 Sep 2018 16:12:07 +0200 Subject: Put config redundancy strategies in "strategies" subkey --- server/controllers/api/server/stats.ts | 2 +- server/initializers/checker.ts | 3 ++- server/initializers/constants.ts | 4 +++- server/lib/activitypub/actor.ts | 3 +++ server/lib/schedulers/videos-redundancy-scheduler.ts | 6 ++---- server/models/video/tag.ts | 5 ++--- 6 files changed, 13 insertions(+), 10 deletions(-) (limited to 'server') diff --git a/server/controllers/api/server/stats.ts b/server/controllers/api/server/stats.ts index bb6311e81..85803f69e 100644 --- a/server/controllers/api/server/stats.ts +++ b/server/controllers/api/server/stats.ts @@ -23,7 +23,7 @@ async function getStats (req: express.Request, res: express.Response, next: expr const { totalInstanceFollowers, totalInstanceFollowing } = await ActorFollowModel.getStats() const videosRedundancyStats = await Promise.all( - CONFIG.REDUNDANCY.VIDEOS.map(r => { + CONFIG.REDUNDANCY.VIDEOS.STRATEGIES.map(r => { return VideoRedundancyModel.getStats(r.strategy) .then(stats => Object.assign(stats, { strategy: r.strategy, totalSize: r.size })) }) diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index b9dc1e725..8b5280848 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts @@ -40,7 +40,7 @@ function checkConfig () { } // Redundancies - const redundancyVideos = config.get('redundancy.videos') + const redundancyVideos = config.get('redundancy.videos.strategies') if (isArray(redundancyVideos)) { for (const r of redundancyVideos) { if ([ 'most-views', 'trending', 'recently-added' ].indexOf(r.strategy) === -1) { @@ -75,6 +75,7 @@ function checkMissedConfig () { 'cache.previews.size', 'admin.email', 'signup.enabled', 'signup.limit', 'signup.requires_email_verification', 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', + 'redundancy.videos.strategies', 'transcoding.enabled', 'transcoding.threads', 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'trending.videos.interval_days', diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index fa9093918..881978753 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -212,7 +212,9 @@ const CONFIG = { } }, REDUNDANCY: { - VIDEOS: buildVideosRedundancy(config.get('redundancy.videos')) + VIDEOS: { + STRATEGIES: buildVideosRedundancy(config.get('redundancy.videos.strategies')) + } }, ADMIN: { get EMAIL () { return config.get('admin.email') } diff --git a/server/lib/activitypub/actor.ts b/server/lib/activitypub/actor.ts index 0bdb7d12e..d37a695a7 100644 --- a/server/lib/activitypub/actor.ts +++ b/server/lib/activitypub/actor.ts @@ -78,6 +78,9 @@ async function getOrCreateActorAndServerAndModel ( created = true } + if (actor.Account) actor.Account.Actor = actor + if (actor.VideoChannel) actor.VideoChannel.Actor = actor + const { actor: actorRefreshed, refreshed } = await retryTransactionWrapper(refreshActorIfNeeded, actor, fetchType) if (!actorRefreshed) throw new Error('Actor ' + actorRefreshed.url + ' does not exist anymore.') diff --git a/server/lib/schedulers/videos-redundancy-scheduler.ts b/server/lib/schedulers/videos-redundancy-scheduler.ts index 7079600a9..5f9fd9911 100644 --- a/server/lib/schedulers/videos-redundancy-scheduler.ts +++ b/server/lib/schedulers/videos-redundancy-scheduler.ts @@ -1,10 +1,9 @@ import { AbstractScheduler } from './abstract-scheduler' import { CONFIG, JOB_TTL, REDUNDANCY, SCHEDULER_INTERVALS_MS } from '../../initializers' import { logger } from '../../helpers/logger' -import { RecentlyAddedStrategy, VideoRedundancyStrategy, VideosRedundancy } from '../../../shared/models/redundancy' +import { VideoRedundancyStrategy, VideosRedundancy } from '../../../shared/models/redundancy' import { VideoRedundancyModel } from '../../models/redundancy/video-redundancy' import { VideoFileModel } from '../../models/video/video-file' -import { sortBy } from 'lodash' import { downloadWebTorrentVideo } from '../../helpers/webtorrent' import { join } from 'path' import { rename } from 'fs-extra' @@ -12,7 +11,6 @@ import { getServerActor } from '../../helpers/utils' import { sendCreateCacheFile, sendUpdateCacheFile } from '../activitypub/send' import { VideoModel } from '../../models/video/video' import { getVideoCacheFileActivityPubUrl } from '../activitypub/url' -import { removeVideoRedundancy } from '../redundancy' import { isTestInstance } from '../../helpers/core-utils' export class VideosRedundancyScheduler extends AbstractScheduler { @@ -31,7 +29,7 @@ export class VideosRedundancyScheduler extends AbstractScheduler { this.executing = true - for (const obj of CONFIG.REDUNDANCY.VIDEOS) { + for (const obj of CONFIG.REDUNDANCY.VIDEOS.STRATEGIES) { try { const videoToDuplicate = await this.findVideoToDuplicate(obj) if (!videoToDuplicate) continue diff --git a/server/models/video/tag.ts b/server/models/video/tag.ts index e39a418cd..b39621eaf 100644 --- a/server/models/video/tag.ts +++ b/server/models/video/tag.ts @@ -48,11 +48,10 @@ export class TagModel extends Model { }, defaults: { name: tag - } + }, + transaction } - if (transaction) query['transaction'] = transaction - const promise = TagModel.findOrCreate(query) .then(([ tagInstance ]) => tagInstance) tasks.push(promise) -- cgit v1.2.3