From 1ebddadd0704812a4600c39cabe2268321e88331 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 22 Jun 2020 13:00:39 +0200 Subject: predefined report reasons & improved reporter UI (#2842) - added `startAt` and `endAt` optional timestamps to help pin down reported sections of a video - added predefined report reasons - added video player with report modal --- shared/models/activitypub/activity.ts | 5 ++++- shared/models/activitypub/objects/common-objects.ts | 11 +++++++++-- shared/models/activitypub/objects/video-abuse-object.ts | 5 +++++ 3 files changed, 18 insertions(+), 3 deletions(-) (limited to 'shared/models/activitypub') diff --git a/shared/models/activitypub/activity.ts b/shared/models/activitypub/activity.ts index 20ecf176c..31b9e4673 100644 --- a/shared/models/activitypub/activity.ts +++ b/shared/models/activitypub/activity.ts @@ -1,6 +1,6 @@ import { ActivityPubActor } from './activitypub-actor' import { ActivityPubSignature } from './activitypub-signature' -import { CacheFileObject, VideoTorrentObject } from './objects' +import { CacheFileObject, VideoTorrentObject, ActivityFlagReasonObject } from './objects' import { DislikeObject } from './objects/dislike-object' import { VideoAbuseObject } from './objects/video-abuse-object' import { VideoCommentObject } from './objects/video-comment-object' @@ -113,4 +113,7 @@ export interface ActivityFlag extends BaseActivity { type: 'Flag' content: string object: APObject | APObject[] + tag?: ActivityFlagReasonObject[] + startAt?: number + endAt?: number } diff --git a/shared/models/activitypub/objects/common-objects.ts b/shared/models/activitypub/objects/common-objects.ts index bb3ffe678..096d422ea 100644 --- a/shared/models/activitypub/objects/common-objects.ts +++ b/shared/models/activitypub/objects/common-objects.ts @@ -1,3 +1,5 @@ +import { VideoAbusePredefinedReasonsString } from '@shared/models/videos' + export interface ActivityIdentifierObject { identifier: string name: string @@ -70,17 +72,22 @@ export type ActivityHtmlUrlObject = { } export interface ActivityHashTagObject { - type: 'Hashtag' | 'Mention' + type: 'Hashtag' href?: string name: string } export interface ActivityMentionObject { - type: 'Hashtag' | 'Mention' + type: 'Mention' href?: string name: string } +export interface ActivityFlagReasonObject { + type: 'Hashtag' + name: VideoAbusePredefinedReasonsString +} + export type ActivityTagObject = ActivityPlaylistSegmentHashesObject | ActivityPlaylistInfohashesObject diff --git a/shared/models/activitypub/objects/video-abuse-object.ts b/shared/models/activitypub/objects/video-abuse-object.ts index d9622b414..73add8ef4 100644 --- a/shared/models/activitypub/objects/video-abuse-object.ts +++ b/shared/models/activitypub/objects/video-abuse-object.ts @@ -1,5 +1,10 @@ +import { ActivityFlagReasonObject } from './common-objects' + export interface VideoAbuseObject { type: 'Flag' content: string object: string | string[] + tag?: ActivityFlagReasonObject[] + startAt?: number + endAt?: number } -- cgit v1.2.3