]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/activitypub/objects/common-objects.ts
Add hls support on server
[github/Chocobozzz/PeerTube.git] / shared / models / activitypub / objects / common-objects.ts
index 118a4f43dafd6728bdcff98916f391c4d1f7bb31..8c89810d686cd8e8f828da7cdd7ca26fa322009f 100644 (file)
@@ -28,25 +28,47 @@ export type ActivityVideoUrlObject = {
   fps: number
 }
 
-export type ActivityUrlObject =
-  ActivityVideoUrlObject
-  |
-  {
-    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
-  }
-  |
-  {
-    type: 'Link'
-    // TODO: remove mimeType (backward compatibility, introduced in v1.1.0)
-    mimeType?: 'text/html'
-    mediaType: 'text/html'
-    href: string
-  }
+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
 
 export interface ActivityPubAttributedTo {
   type: 'Group' | 'Person'