]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - shared/models/activitypub/objects/common-objects.ts
predefined report reasons & improved reporter UI (#2842)
[github/Chocobozzz/PeerTube.git] / shared / models / activitypub / objects / common-objects.ts
CommitLineData
1ebddadd
RK
1import { VideoAbusePredefinedReasonsString } from '@shared/models/videos'
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
a1587156
C
12 mediaType: 'image/jpeg' | 'image/png'
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
8319d6ae
RK
33export type ActivityVideoFileMetadataObject = {
34 type: 'Link'
35 rel: [ 'metadata', any ]
36 mediaType: 'application/json'
37 height: number
38 href: string
39 fps: number
40}
41
09209296
C
42export type ActivityPlaylistInfohashesObject = {
43 type: 'Infohash'
44 name: string
45}
46
47export type ActivityPlaylistUrlObject = {
48 type: 'Link'
09209296
C
49 mediaType: 'application/x-mpegURL'
50 href: string
d7a25329 51 tag?: ActivityTagObject[]
09209296
C
52}
53
54export type ActivityBitTorrentUrlObject = {
55 type: 'Link'
09209296
C
56 mediaType: 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet'
57 href: string
58 height: number
59}
60
d7a25329
C
61export type ActivityMagnetUrlObject = {
62 type: 'Link'
63 mediaType: 'application/x-bittorrent;x-scheme-handler/magnet'
64 href: string
65 height: number
66}
67
09209296
C
68export type ActivityHtmlUrlObject = {
69 type: 'Link'
09209296
C
70 mediaType: 'text/html'
71 href: string
72}
73
d7a25329 74export interface ActivityHashTagObject {
1ebddadd 75 type: 'Hashtag'
d7a25329
C
76 href?: string
77 name: string
78}
79
80export interface ActivityMentionObject {
1ebddadd 81 type: 'Mention'
d7a25329
C
82 href?: string
83 name: string
84}
85
1ebddadd
RK
86export interface ActivityFlagReasonObject {
87 type: 'Hashtag'
88 name: VideoAbusePredefinedReasonsString
89}
90
a1587156
C
91export type ActivityTagObject =
92 ActivityPlaylistSegmentHashesObject
93 | ActivityPlaylistInfohashesObject
94 | ActivityVideoUrlObject
95 | ActivityHashTagObject
96 | ActivityMentionObject
97 | ActivityBitTorrentUrlObject
98 | ActivityMagnetUrlObject
8319d6ae 99 | ActivityVideoFileMetadataObject
d7a25329 100
a1587156
C
101export type ActivityUrlObject =
102 ActivityVideoUrlObject
103 | ActivityPlaylistUrlObject
104 | ActivityBitTorrentUrlObject
105 | ActivityMagnetUrlObject
106 | ActivityHtmlUrlObject
8319d6ae 107 | ActivityVideoFileMetadataObject
c48e82b5 108
50d6de9c
C
109export interface ActivityPubAttributedTo {
110 type: 'Group' | 'Person'
111 id: string
112}
69222afa
JM
113
114export interface ActivityTombstoneObject {
115 '@context'?: any
116 id: string
b5206dfc 117 url?: string
69222afa
JM
118 type: 'Tombstone'
119 name?: string
120 formerType?: string
b5206dfc 121 inReplyTo?: string
69222afa
JM
122 published: string
123 updated: string
124 deleted: string
125}