import { VideoModel } from '../../../models/video/video'
import { VideoCommentModel } from '../../../models/video/video-comment'
import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy'
-import { CONFIG, ROUTE_CACHE_LIFETIME } from '../../../initializers/constants'
+import { ROUTE_CACHE_LIFETIME } from '../../../initializers/constants'
import { cacheRoute } from '../../../middlewares/cache'
import { VideoFileModel } from '../../../models/video/video-file'
+import { CONFIG } from '../../../initializers/config'
+import { VideoRedundancyStrategyWithManual } from '@shared/models'
const statsRouter = express.Router()
statsRouter.get('/stats',
- asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.STATS)),
+ asyncMiddleware(cacheRoute()(ROUTE_CACHE_LIFETIME.STATS)),
asyncMiddleware(getStats)
)
const { totalInstanceFollowers, totalInstanceFollowing } = await ActorFollowModel.getStats()
const { totalLocalVideoFilesSize } = await VideoFileModel.getStats()
+ const strategies = CONFIG.REDUNDANCY.VIDEOS.STRATEGIES
+ .map(r => ({
+ strategy: r.strategy as VideoRedundancyStrategyWithManual,
+ size: r.size
+ }))
+
+ strategies.push({ strategy: 'manual', size: null })
+
const videosRedundancyStats = await Promise.all(
- CONFIG.REDUNDANCY.VIDEOS.STRATEGIES.map(r => {
+ strategies.map(r => {
return VideoRedundancyModel.getStats(r.strategy)
.then(stats => Object.assign(stats, { strategy: r.strategy, totalSize: r.size }))
})