X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Factivitypub%2Fobjects%2Fcommon-objects.ts;h=9bf9943799a36494e839da61ad5b2088bb2fd75e;hb=f18a060a83d7053897173b2a24fb7984893131c7;hp=df287d5709fb1b71856e452c22b21412d79ac16b;hpb=69222afac8f8c41d90295b33f0695bbff352851e;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/activitypub/objects/common-objects.ts b/shared/models/activitypub/objects/common-objects.ts index df287d570..9bf994379 100644 --- a/shared/models/activitypub/objects/common-objects.ts +++ b/shared/models/activitypub/objects/common-objects.ts @@ -1,14 +1,17 @@ +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 = { @@ -27,7 +30,23 @@ export type ActivityPlaylistSegmentHashesObject = { 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 } @@ -60,30 +79,40 @@ 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 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' @@ -93,9 +122,11 @@ export interface ActivityPubAttributedTo { export interface ActivityTombstoneObject { '@context'?: any id: string + url?: string type: 'Tombstone' name?: string formerType?: string + inReplyTo?: string published: string updated: string deleted: string