PeerTube/shared/models/activitypub/objects/common-objects.ts

92 lines
1.8 KiB
TypeScript

export interface ActivityIdentifierObject {
identifier: string
name: string
}
export interface ActivityIconObject {
type: 'Image'
url: string
mediaType: 'image/jpeg'
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 type ActivityPlaylistUrlObject = {
type: 'Link'
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
}
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
}