]>
Commit | Line | Data |
---|---|---|
7d9ba5c0 | 1 | import { Response, Router } from 'express' |
80fdaf06 | 2 | import { Logger } from 'winston' |
7d9ba5c0 | 3 | import { ActorModel } from '@server/models/actor/actor' |
67ed6552 C |
4 | import { |
5 | PluginPlaylistPrivacyManager, | |
6 | PluginSettingsManager, | |
7 | PluginStorageManager, | |
1896bca0 | 8 | PluginTranscodingManager, |
67ed6552 C |
9 | PluginVideoCategoryManager, |
10 | PluginVideoLanguageManager, | |
11 | PluginVideoLicenceManager, | |
12 | PluginVideoPrivacyManager, | |
13 | RegisterServerHookOptions, | |
14 | RegisterServerSettingOptions, | |
22820226 | 15 | ServerConfig, |
302eba0d | 16 | UserRole, |
67ed6552 C |
17 | VideoBlacklistCreate |
18 | } from '@shared/models' | |
19 | import { MVideoThumbnail } from '../models' | |
e1c55031 C |
20 | import { |
21 | RegisterServerAuthExternalOptions, | |
22 | RegisterServerAuthExternalResult, | |
23 | RegisterServerAuthPassOptions | |
67ed6552 | 24 | } from './register-server-auth.model' |
bc0d801b C |
25 | |
26 | export type PeerTubeHelpers = { | |
27 | logger: Logger | |
1b05d82d C |
28 | |
29 | database: { | |
30 | query: Function | |
31 | } | |
ab3ead3a C |
32 | |
33 | videos: { | |
b49f22d8 | 34 | loadByUrl: (url: string) => Promise<MVideoThumbnail> |
6559da28 | 35 | loadByIdOrUUID: (id: number | string) => Promise<MVideoThumbnail> |
80fdaf06 | 36 | |
ab3ead3a C |
37 | removeVideo: (videoId: number) => Promise<void> |
38 | } | |
5a7eecdd C |
39 | |
40 | config: { | |
41 | getWebserverUrl: () => string | |
22820226 C |
42 | |
43 | getServerConfig: () => Promise<ServerConfig> | |
5a7eecdd | 44 | } |
80fdaf06 C |
45 | |
46 | moderation: { | |
47 | blockServer: (options: { byAccountId: number, hostToBlock: string }) => Promise<void> | |
48 | unblockServer: (options: { byAccountId: number, hostToUnblock: string }) => Promise<void> | |
49 | blockAccount: (options: { byAccountId: number, handleToBlock: string }) => Promise<void> | |
50 | unblockAccount: (options: { byAccountId: number, handleToUnblock: string }) => Promise<void> | |
51 | ||
52 | blacklistVideo: (options: { videoIdOrUUID: number | string, createOptions: VideoBlacklistCreate }) => Promise<void> | |
53 | unblacklistVideo: (options: { videoIdOrUUID: number | string }) => Promise<void> | |
54 | } | |
55 | ||
56 | server: { | |
57 | getServerActor: () => Promise<ActorModel> | |
58 | } | |
22820226 C |
59 | |
60 | plugin: { | |
096231d0 | 61 | // PeerTube >= 3.2 |
22820226 | 62 | getBaseStaticRoute: () => string |
302eba0d | 63 | |
096231d0 | 64 | // PeerTube >= 3.2 |
302eba0d C |
65 | getBaseRouterRoute: () => string |
66 | ||
096231d0 | 67 | // PeerTube >= 3.2 |
302eba0d C |
68 | getDataDirectoryPath: () => string |
69 | } | |
70 | ||
71 | user: { | |
096231d0 | 72 | // PeerTube >= 3.2 |
b31d7262 | 73 | getAuthUser: (response: Response) => Promise<{ |
302eba0d C |
74 | id?: string |
75 | username: string | |
76 | email: string | |
77 | blocked: boolean | |
78 | role: UserRole | |
b31d7262 | 79 | } | undefined> |
22820226 | 80 | } |
bc0d801b | 81 | } |
32fe0013 | 82 | |
9ae88819 C |
83 | export type RegisterServerOptions = { |
84 | registerHook: (options: RegisterServerHookOptions) => void | |
32fe0013 | 85 | |
9ae88819 | 86 | registerSetting: (options: RegisterServerSettingOptions) => void |
32fe0013 C |
87 | |
88 | settingsManager: PluginSettingsManager | |
89 | ||
90 | storageManager: PluginStorageManager | |
91 | ||
ee286591 C |
92 | videoCategoryManager: PluginVideoCategoryManager |
93 | videoLanguageManager: PluginVideoLanguageManager | |
94 | videoLicenceManager: PluginVideoLicenceManager | |
95 | ||
b3af2601 C |
96 | videoPrivacyManager: PluginVideoPrivacyManager |
97 | playlistPrivacyManager: PluginPlaylistPrivacyManager | |
98 | ||
1896bca0 C |
99 | transcodingManager: PluginTranscodingManager |
100 | ||
7fed6375 C |
101 | registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void |
102 | registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult | |
a4995eb7 C |
103 | unregisterIdAndPassAuth: (authName: string) => void |
104 | unregisterExternalAuth: (authName: string) => void | |
7fed6375 | 105 | |
5e2b2e27 C |
106 | // Get plugin router to create custom routes |
107 | // Base routes of this router are | |
108 | // * /plugins/:pluginName/:pluginVersion/router/... | |
109 | // * /plugins/:pluginName/router/... | |
110 | getRouter(): Router | |
111 | ||
bc0d801b | 112 | peertubeHelpers: PeerTubeHelpers |
32fe0013 | 113 | } |