X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=shared%2Fmodels%2Factivitypub%2Fobjects%2Fcommon-objects.ts;h=e94d054295448fdf3d1c60780b81a3b500963f8a;hb=338eb9d33af690db716805fd2277bf68f473b58f;hp=8c89810d686cd8e8f828da7cdd7ca26fa322009f;hpb=97567dd81f508dd6295ac4d73d849aa2ce0a6549;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/activitypub/objects/common-objects.ts b/shared/models/activitypub/objects/common-objects.ts index 8c89810d6..e94d05429 100644 --- a/shared/models/activitypub/objects/common-objects.ts +++ b/shared/models/activitypub/objects/common-objects.ts @@ -1,26 +1,19 @@ export interface ActivityIdentifierObject { identifier: string name: string -} - -export interface ActivityTagObject { - type: 'Hashtag' | 'Mention' - href?: string - name: string + url?: string } export interface ActivityIconObject { type: 'Image' url: string - mediaType: 'image/jpeg' - width: number - height: number + mediaType: 'image/jpeg' | 'image/png' + width?: number + height?: number } export type ActivityVideoUrlObject = { type: 'Link' - // TODO: remove mimeType (backward compatibility, introduced in v1.1.0) - mimeType?: 'video/mp4' | 'video/webm' | 'video/ogg' mediaType: 'video/mp4' | 'video/webm' | 'video/ogg' href: string height: number @@ -31,8 +24,6 @@ export type ActivityVideoUrlObject = { export type ActivityPlaylistSegmentHashesObject = { type: 'Link' name: 'sha256' - // TODO: remove mimeType (backward compatibility, introduced in v1.1.0) - mimeType?: 'application/json' mediaType: 'application/json' href: string } @@ -44,33 +35,73 @@ export type ActivityPlaylistInfohashesObject = { export type ActivityPlaylistUrlObject = { type: 'Link' - // TODO: remove mimeType (backward compatibility, introduced in v1.1.0) - mimeType?: 'application/x-mpegURL' mediaType: 'application/x-mpegURL' href: string - tag?: (ActivityPlaylistSegmentHashesObject | ActivityPlaylistInfohashesObject)[] + tag?: ActivityTagObject[] } export type ActivityBitTorrentUrlObject = { type: 'Link' - // TODO: remove mimeType (backward compatibility, introduced in v1.1.0) - mimeType?: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' href: string height: number } +export type ActivityMagnetUrlObject = { + type: 'Link' + mediaType: 'application/x-bittorrent;x-scheme-handler/magnet' + href: string + height: number +} + export type ActivityHtmlUrlObject = { type: 'Link' - // TODO: remove mimeType (backward compatibility, introduced in v1.1.0) - mimeType?: 'text/html' mediaType: 'text/html' href: string } -export type ActivityUrlObject = ActivityVideoUrlObject | ActivityPlaylistUrlObject | ActivityBitTorrentUrlObject | ActivityHtmlUrlObject +export interface ActivityHashTagObject { + type: 'Hashtag' | 'Mention' + href?: string + name: string +} + +export interface ActivityMentionObject { + type: 'Hashtag' | 'Mention' + href?: string + name: string +} + +export type ActivityTagObject = + ActivityPlaylistSegmentHashesObject + | ActivityPlaylistInfohashesObject + | ActivityVideoUrlObject + | ActivityHashTagObject + | ActivityMentionObject + | ActivityBitTorrentUrlObject + | ActivityMagnetUrlObject + +export type ActivityUrlObject = + ActivityVideoUrlObject + | ActivityPlaylistUrlObject + | ActivityBitTorrentUrlObject + | ActivityMagnetUrlObject + | ActivityHtmlUrlObject export interface ActivityPubAttributedTo { type: 'Group' | 'Person' id: string } + +export interface ActivityTombstoneObject { + '@context'?: any + id: string + url?: string + type: 'Tombstone' + name?: string + formerType?: string + inReplyTo?: string + published: string + updated: string + deleted: string +}