]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/activitypub/objects/common-objects.ts
Adding frontend peertubeHelpers.getBaseRouterRoute. (#4153)
[github/Chocobozzz/PeerTube.git] / shared / models / activitypub / objects / common-objects.ts
CommitLineData
0fecf427 1import { AbusePredefinedReasonsString } from '../../moderation/abuse/abuse-reason.model'
1ebddadd 2
e4f97bab
C
3export interface ActivityIdentifierObject {
4 identifier: string
5 name: string
ca6d3622 6 url?: string
e4f97bab
C
7}
8
e4f97bab
C
9export interface ActivityIconObject {
10 type: 'Image'
11 url: string
2cb03dc1 12 mediaType: string
a1587156
C
13 width?: number
14 height?: number
e4f97bab
C
15}
16
c48e82b5 17export type ActivityVideoUrlObject = {
e4f97bab 18 type: 'Link'
e27ff5da 19 mediaType: 'video/mp4' | 'video/webm' | 'video/ogg'
9fb3abfd 20 href: string
965c4b22 21 height: number
c48e82b5
C
22 size: number
23 fps: number
e4f97bab 24}
50d6de9c 25
09209296
C
26export type ActivityPlaylistSegmentHashesObject = {
27 type: 'Link'
28 name: 'sha256'
09209296
C
29 mediaType: 'application/json'
30 href: string
31}
32
d9a2a031 33export type ActivityVideoFileMetadataUrlObject = {
8319d6ae
RK
34 type: 'Link'
35 rel: [ 'metadata', any ]
36 mediaType: 'application/json'
37 height: number
38 href: string
39 fps: number
40}
41
d9a2a031
C
42export type ActivityTrackerUrlObject = {
43 type: 'Link'
44 rel: [ 'tracker', 'websocket' | 'http' ]
45 name: string
46 href: string
47}
48
09209296
C
49export type ActivityPlaylistInfohashesObject = {
50 type: 'Infohash'
51 name: string
52}
53
54export type ActivityPlaylistUrlObject = {
55 type: 'Link'
09209296
C
56 mediaType: 'application/x-mpegURL'
57 href: string
d7a25329 58 tag?: ActivityTagObject[]
09209296
C
59}
60
61export type ActivityBitTorrentUrlObject = {
62 type: 'Link'
09209296
C
63 mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet'
64 href: string
65 height: number
66}
67
d7a25329
C
68export type ActivityMagnetUrlObject = {
69 type: 'Link'
70 mediaType: 'application/x-bittorrent;x-scheme-handler/magnet'
71 href: string
72 height: number
73}
74
09209296
C
75export type ActivityHtmlUrlObject = {
76 type: 'Link'
09209296
C
77 mediaType: 'text/html'
78 href: string
79}
80
d7a25329 81export interface ActivityHashTagObject {
1ebddadd 82 type: 'Hashtag'
d7a25329
C
83 href?: string
84 name: string
85}
86
87export interface ActivityMentionObject {
1ebddadd 88 type: 'Mention'
d7a25329
C
89 href?: string
90 name: string
91}
92
1ebddadd
RK
93export interface ActivityFlagReasonObject {
94 type: 'Hashtag'
d95d1559 95 name: AbusePredefinedReasonsString
1ebddadd
RK
96}
97
a1587156
C
98export type ActivityTagObject =
99 ActivityPlaylistSegmentHashesObject
100 | ActivityPlaylistInfohashesObject
101 | ActivityVideoUrlObject
102 | ActivityHashTagObject
103 | ActivityMentionObject
104 | ActivityBitTorrentUrlObject
105 | ActivityMagnetUrlObject
d9a2a031 106 | ActivityVideoFileMetadataUrlObject
d7a25329 107
a1587156
C
108export type ActivityUrlObject =
109 ActivityVideoUrlObject
110 | ActivityPlaylistUrlObject
111 | ActivityBitTorrentUrlObject
112 | ActivityMagnetUrlObject
113 | ActivityHtmlUrlObject
d9a2a031
C
114 | ActivityVideoFileMetadataUrlObject
115 | ActivityTrackerUrlObject
c48e82b5 116
50d6de9c
C
117export interface ActivityPubAttributedTo {
118 type: 'Group' | 'Person'
119 id: string
120}
69222afa
JM
121
122export interface ActivityTombstoneObject {
123 '@context'?: any
124 id: string
b5206dfc 125 url?: string
69222afa
JM
126 type: 'Tombstone'
127 name?: string
128 formerType?: string
b5206dfc 129 inReplyTo?: string
69222afa
JM
130 published: string
131 updated: string
132 deleted: string
133}