]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - shared/models/activitypub/objects/common-objects.ts
Upgrade server dep
[github/Chocobozzz/PeerTube.git] / shared / models / activitypub / objects / common-objects.ts
1 export interface ActivityIdentifierObject {
2 identifier: string
3 name: string
4 url?: string
5 }
6
7 export interface ActivityIconObject {
8 type: 'Image'
9 url: string
10 mediaType: 'image/jpeg'
11 width: number
12 height: number
13 }
14
15 export type ActivityVideoUrlObject = {
16 type: 'Link'
17 mediaType: 'video/mp4' | 'video/webm' | 'video/ogg'
18 href: string
19 height: number
20 size: number
21 fps: number
22 }
23
24 export type ActivityPlaylistSegmentHashesObject = {
25 type: 'Link'
26 name: 'sha256'
27 mediaType: 'application/json'
28 href: string
29 }
30
31 export type ActivityPlaylistInfohashesObject = {
32 type: 'Infohash'
33 name: string
34 }
35
36 export type ActivityPlaylistUrlObject = {
37 type: 'Link'
38 mediaType: 'application/x-mpegURL'
39 href: string
40 tag?: ActivityTagObject[]
41 }
42
43 export type ActivityBitTorrentUrlObject = {
44 type: 'Link'
45 mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet'
46 href: string
47 height: number
48 }
49
50 export type ActivityMagnetUrlObject = {
51 type: 'Link'
52 mediaType: 'application/x-bittorrent;x-scheme-handler/magnet'
53 href: string
54 height: number
55 }
56
57 export type ActivityHtmlUrlObject = {
58 type: 'Link'
59 mediaType: 'text/html'
60 href: string
61 }
62
63 export interface ActivityHashTagObject {
64 type: 'Hashtag' | 'Mention'
65 href?: string
66 name: string
67 }
68
69 export interface ActivityMentionObject {
70 type: 'Hashtag' | 'Mention'
71 href?: string
72 name: string
73 }
74
75 export type ActivityTagObject = ActivityPlaylistSegmentHashesObject |
76 ActivityPlaylistInfohashesObject |
77 ActivityVideoUrlObject |
78 ActivityHashTagObject |
79 ActivityMentionObject |
80 ActivityBitTorrentUrlObject |
81 ActivityMagnetUrlObject
82
83 export type ActivityUrlObject = ActivityVideoUrlObject |
84 ActivityPlaylistUrlObject |
85 ActivityBitTorrentUrlObject |
86 ActivityMagnetUrlObject |
87 ActivityHtmlUrlObject
88
89 export interface ActivityPubAttributedTo {
90 type: 'Group' | 'Person'
91 id: string
92 }
93
94 export interface ActivityTombstoneObject {
95 '@context'?: any
96 id: string
97 url?: string
98 type: 'Tombstone'
99 name?: string
100 formerType?: string
101 inReplyTo?: string
102 published: string
103 updated: string
104 deleted: string
105 }