From 3092e9bbb05fe292fd13bc685b89069c3dda55d9 Mon Sep 17 00:00:00 2001 From: Levi Bard Date: Wed, 3 Jun 2020 09:42:07 +0200 Subject: Make federation of unlisted videos an instance-level server preference (#2802) * Add preference for federating unlisted videos * Connect unlisted video federation with new preference * Apply pull request feedback * Fix lint issues * Remove preference for federating unlisted videos from web admin interface --- server/models/video/video.ts | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'server/models') diff --git a/server/models/video/video.ts b/server/models/video/video.ts index f5194e259..02a4c851c 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts @@ -126,6 +126,7 @@ import { ModelCache } from '@server/models/model-cache' import { buildListQuery, BuildVideosQueryOptions, wrapForAPIResults } from './video-query-builder' import { buildNSFWFilter } from '@server/helpers/express-utils' import { getServerActor } from '@server/models/application/application' +import { getPrivaciesForFederation, isPrivacyForFederation } from "@server/helpers/video" export enum ScopeNames { AVAILABLE_FOR_LIST_IDS = 'AVAILABLE_FOR_LIST_IDS', @@ -864,10 +865,7 @@ export class VideoModel extends Model { id: { [Op.in]: Sequelize.literal('(' + rawQuery + ')') }, - [Op.or]: [ - { privacy: VideoPrivacy.PUBLIC }, - { privacy: VideoPrivacy.UNLISTED } - ] + [Op.or]: getPrivaciesForFederation() }, include: [ { @@ -1582,12 +1580,6 @@ export class VideoModel extends Model { return videos } - private static isPrivacyForFederation (privacy: VideoPrivacy) { - const castedPrivacy = parseInt(privacy + '', 10) - - return castedPrivacy === VideoPrivacy.PUBLIC || castedPrivacy === VideoPrivacy.UNLISTED - } - static getCategoryLabel (id: number) { return VIDEO_CATEGORIES[id] || 'Misc' } @@ -1813,11 +1805,11 @@ export class VideoModel extends Model { } hasPrivacyForFederation () { - return VideoModel.isPrivacyForFederation(this.privacy) + return isPrivacyForFederation(this.privacy) } isNewVideo (newPrivacy: VideoPrivacy) { - return this.hasPrivacyForFederation() === false && VideoModel.isPrivacyForFederation(newPrivacy) === true + return this.hasPrivacyForFederation() === false && isPrivacyForFederation(newPrivacy) === true } setAsRefreshed () { -- cgit v1.2.3