aboutsummaryrefslogblamecommitdiffhomepage
path: root/shared/models/activitypub/objects/common-objects.ts
blob: 2a6529fed175c27971c7839481083faca71fa690 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13




                                           







                                     
                                      
              
                                                     
              
                

              
 
 


                                                   










                                                

                                    
                           



                                           




                                                                                            






                                                               

                                     



                        
























                                                                     
 



                                          
export interface ActivityIdentifierObject {
  identifier: string
  name: string
}

export interface ActivityIconObject {
  type: 'Image'
  url: string
  mediaType: 'image/jpeg'
  width: number
  height: number
}

export type ActivityVideoUrlObject = {
  type: 'Link'
  mediaType: 'video/mp4' | 'video/webm' | 'video/ogg'
  href: string
  height: number
  size: number
  fps: number
}

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[]
}

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
}

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

export interface ActivityPubAttributedTo {
  type: 'Group' | 'Person'
  id: string
}