]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/typings/plugins/register-server-option.model.ts
Add last login date to users
[github/Chocobozzz/PeerTube.git] / server / typings / plugins / register-server-option.model.ts
index 91a06a7c547ec6c2fd2c5512e40558de5b68ac38..7f933b43aa4f602eeabf21239d13a41936785029 100644 (file)
@@ -1,8 +1,35 @@
-import { logger } from '../../helpers/logger'
 import { PluginSettingsManager } from '../../../shared/models/plugins/plugin-settings-manager.model'
 import { PluginStorageManager } from '../../../shared/models/plugins/plugin-storage-manager.model'
 import { RegisterServerHookOptions } from '../../../shared/models/plugins/register-server-hook.model'
 import { RegisterServerSettingOptions } from '../../../shared/models/plugins/register-server-setting.model'
+import { PluginVideoCategoryManager } from '../../../shared/models/plugins/plugin-video-category-manager.model'
+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'
+import {
+  RegisterServerAuthExternalOptions,
+  RegisterServerAuthExternalResult,
+  RegisterServerAuthPassOptions
+} from '@shared/models/plugins/register-server-auth.model'
+
+export type PeerTubeHelpers = {
+  logger: Logger
+
+  database: {
+    query: Function
+  }
+
+  videos: {
+    removeVideo: (videoId: number) => Promise<void>
+  }
+
+  config: {
+    getWebserverUrl: () => string
+  }
+}
 
 export type RegisterServerOptions = {
   registerHook: (options: RegisterServerHookOptions) => void
@@ -13,7 +40,23 @@ export type RegisterServerOptions = {
 
   storageManager: PluginStorageManager
 
-  peertubeHelpers: {
-    logger: typeof logger
-  }
+  videoCategoryManager: PluginVideoCategoryManager
+  videoLanguageManager: PluginVideoLanguageManager
+  videoLicenceManager: PluginVideoLicenceManager
+
+  videoPrivacyManager: PluginVideoPrivacyManager
+  playlistPrivacyManager: PluginPlaylistPrivacyManager
+
+  registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void
+  registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult
+  unregisterIdAndPassAuth: (authName: string) => void
+  unregisterExternalAuth: (authName: string) => void
+
+  // Get plugin router to create custom routes
+  // Base routes of this router are
+  //  * /plugins/:pluginName/:pluginVersion/router/...
+  //  * /plugins/:pluginName/router/...
+  getRouter(): Router
+
+  peertubeHelpers: PeerTubeHelpers
 }