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

77 lines
2.0 KiB
TypeScript
Raw Normal View History

2017-11-09 17:51:58 +01:00
export interface ActivityIdentifierObject {
identifier: string
name: string
}
export interface ActivityTagObject {
2018-01-05 11:19:25 +01:00
type: 'Hashtag' | 'Mention'
href?: string
2017-11-09 17:51:58 +01:00
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
// TODO: remove mimeType (backward compatibility, introduced in v1.1.0)
mimeType?: 'video/mp4' | 'video/webm' | 'video/ogg'
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'
// TODO: remove mimeType (backward compatibility, introduced in v1.1.0)
mimeType?: 'application/json'
mediaType: 'application/json'
href: string
}
export type ActivityPlaylistInfohashesObject = {
type: 'Infohash'
name: string
}
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)[]
}
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 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
2018-09-11 16:27:07 +02:00
2017-12-14 17:38:41 +01:00
export interface ActivityPubAttributedTo {
type: 'Group' | 'Person'
id: string
}