+import { AbusePredefinedReasonsString } from '../../moderation/abuse/abuse-reason.model'
+
export interface ActivityIdentifierObject {
identifier: string
name: string
+ url?: string
}
export interface ActivityIconObject {
type: 'Image'
url: string
- mediaType: 'image/jpeg'
- width: number
- height: number
+ mediaType: string
+ width?: number
+ height?: number
}
export type ActivityVideoUrlObject = {
href: string
}
-export type ActivityPlaylistInfohashesObject = {
+export type ActivityVideoFileMetadataUrlObject = {
+ type: 'Link'
+ rel: [ 'metadata', any ]
+ mediaType: 'application/json'
+ height: number
+ href: string
+ fps: number
+}
+
+export type ActivityTrackerUrlObject = {
+ type: 'Link'
+ rel: [ 'tracker', 'websocket' | 'http' ]
+ name: string
+ href: string
+}
+
+export type ActivityStreamingPlaylistInfohashesObject = {
type: 'Infohash'
name: string
}
}
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 type ActivityTagObject = ActivityPlaylistSegmentHashesObject |
- ActivityPlaylistInfohashesObject |
- ActivityVideoUrlObject |
- ActivityHashTagObject |
- ActivityMentionObject |
- ActivityBitTorrentUrlObject |
- ActivityMagnetUrlObject
+export interface ActivityFlagReasonObject {
+ type: 'Hashtag'
+ name: AbusePredefinedReasonsString
+}
+
+export type ActivityTagObject =
+ ActivityPlaylistSegmentHashesObject
+ | ActivityStreamingPlaylistInfohashesObject
+ | ActivityVideoUrlObject
+ | ActivityHashTagObject
+ | ActivityMentionObject
+ | ActivityBitTorrentUrlObject
+ | ActivityMagnetUrlObject
+ | ActivityVideoFileMetadataUrlObject
-export type ActivityUrlObject = ActivityVideoUrlObject |
- ActivityPlaylistUrlObject |
- ActivityBitTorrentUrlObject |
- ActivityMagnetUrlObject |
- ActivityHtmlUrlObject
+export type ActivityUrlObject =
+ ActivityVideoUrlObject
+ | ActivityPlaylistUrlObject
+ | ActivityBitTorrentUrlObject
+ | ActivityMagnetUrlObject
+ | ActivityHtmlUrlObject
+ | ActivityVideoFileMetadataUrlObject
+ | ActivityTrackerUrlObject
export interface ActivityPubAttributedTo {
type: 'Group' | 'Person'
export interface ActivityTombstoneObject {
'@context'?: any
id: string
+ url?: string
type: 'Tombstone'
name?: string
formerType?: string
+ inReplyTo?: string
published: string
updated: string
deleted: string