]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/typings/plugins/register-server-option.model.ts
Add ability to remove privacies using plugins
[github/Chocobozzz/PeerTube.git] / server / typings / plugins / register-server-option.model.ts
index 6f2ba7cd699b241822b6b0771012df4a148ce65f..813e93003c93c3f86b37c5aff86ed60cec77621a 100644 (file)
@@ -6,6 +6,9 @@ import { PluginVideoCategoryManager } from '../../../shared/models/plugins/plugi
 import { PluginVideoLanguageManager } from '../../../shared/models/plugins/plugin-video-language-manager.model'
 import { PluginVideoLicenceManager } from '../../../shared/models/plugins/plugin-video-licence-manager.model'
 import { Logger } from 'winston'
+import { Router } from 'express'
+import { PluginVideoPrivacyManager } from '@shared/models/plugins/plugin-video-privacy-manager.model'
+import { PluginPlaylistPrivacyManager } from '@shared/models/plugins/plugin-playlist-privacy-manager.model'
 
 export type PeerTubeHelpers = {
   logger: Logger
@@ -13,6 +16,10 @@ export type PeerTubeHelpers = {
   database: {
     query: Function
   }
+
+  videos: {
+    removeVideo: (videoId: number) => Promise<void>
+  }
 }
 
 export type RegisterServerOptions = {
@@ -28,5 +35,14 @@ export type RegisterServerOptions = {
   videoLanguageManager: PluginVideoLanguageManager
   videoLicenceManager: PluginVideoLicenceManager
 
+  videoPrivacyManager: PluginVideoPrivacyManager
+  playlistPrivacyManager: PluginPlaylistPrivacyManager
+
+  // Get plugin router to create custom routes
+  // Base routes of this router are
+  //  * /plugins/:pluginName/:pluginVersion/router/...
+  //  * /plugins/:pluginName/router/...
+  getRouter(): Router
+
   peertubeHelpers: PeerTubeHelpers
 }