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

105 lines
2.1 KiB
TypeScript
Raw Normal View History

2017-11-09 17:51:58 +01:00
export interface ActivityIdentifierObject {
identifier: string
name: string
}
export interface ActivityIconObject {
type: 'Image'
url: string
mediaType: 'image/jpeg'
width: number
height: number
}
2018-09-11 16:27:07 +02:00
export type ActivityVideoUrlObject = {
2017-11-09 17:51:58 +01:00
type: 'Link'
2018-10-18 08:48:24 +02:00
mediaType: 'video/mp4' | 'video/webm' | 'video/ogg'
2018-01-12 15:35:30 +01:00
href: string
height: number
2018-09-11 16:27:07 +02:00
size: number
fps: number
2017-11-09 17:51:58 +01:00
}
2017-12-14 17:38:41 +01:00
2019-01-29 08:37:25 +01:00
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[]
2019-01-29 08:37:25 +01:00
}
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
}
2019-01-29 08:37:25 +01:00
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
2018-09-11 16:27:07 +02:00
2017-12-14 17:38:41 +01:00
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
}