X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Factivitypub%2Fobjects%2Fcommon-objects.ts;h=e94d054295448fdf3d1c60780b81a3b500963f8a;hb=338eb9d33af690db716805fd2277bf68f473b58f;hp=ff2cfdbb4894850d0cf9120f1ebcd0a4bf9c550e;hpb=965c4b22d0e4d2f853501e844e6ebbb861bd389d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/activitypub/objects/common-objects.ts b/shared/models/activitypub/objects/common-objects.ts index ff2cfdbb4..e94d05429 100644 --- a/shared/models/activitypub/objects/common-objects.ts +++ b/shared/models/activitypub/objects/common-objects.ts @@ -1,33 +1,107 @@ 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 + mediaType: 'image/jpeg' | 'image/png' + width?: number + height?: number +} + +export type ActivityVideoUrlObject = { + type: 'Link' + mediaType: 'video/mp4' | 'video/webm' | 'video/ogg' + href: string height: number + size: number + fps: number +} + +export type ActivityPlaylistSegmentHashesObject = { + type: 'Link' + name: 'sha256' + mediaType: 'application/json' + href: string +} + +export type ActivityPlaylistInfohashesObject = { + type: 'Infohash' + name: string } -export interface ActivityUrlObject { +export type ActivityPlaylistUrlObject = { type: 'Link' - mimeType: 'video/mp4' | 'video/webm' | 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' + mediaType: 'application/x-mpegURL' + href: string + tag?: ActivityTagObject[] +} + +export type ActivityBitTorrentUrlObject = { + type: 'Link' + mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' href: string height: number +} - size?: number - fps?: number +export type ActivityMagnetUrlObject = { + type: 'Link' + mediaType: 'application/x-bittorrent;x-scheme-handler/magnet' + href: string + height: number +} + +export type ActivityHtmlUrlObject = { + type: 'Link' + mediaType: 'text/html' + href: string +} + +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 +}