]>
Commit | Line | Data |
---|---|---|
302eba0d | 1 | import { Router, Response } from 'express' |
80fdaf06 C |
2 | import { Logger } from 'winston' |
3 | import { ActorModel } from '@server/models/activitypub/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: { | |
61 | getBaseStaticRoute: () => string | |
302eba0d C |
62 | |
63 | getBaseRouterRoute: () => string | |
64 | ||
65 | getDataDirectoryPath: () => string | |
66 | } | |
67 | ||
68 | user: { | |
69 | getAuthUser: (response: Response) => { | |
70 | id?: string | |
71 | username: string | |
72 | email: string | |
73 | blocked: boolean | |
74 | role: UserRole | |
75 | } | undefined | |
22820226 | 76 | } |
bc0d801b | 77 | } |
32fe0013 | 78 | |
9ae88819 C |
79 | export type RegisterServerOptions = { |
80 | registerHook: (options: RegisterServerHookOptions) => void | |
32fe0013 | 81 | |
9ae88819 | 82 | registerSetting: (options: RegisterServerSettingOptions) => void |
32fe0013 C |
83 | |
84 | settingsManager: PluginSettingsManager | |
85 | ||
86 | storageManager: PluginStorageManager | |
87 | ||
ee286591 C |
88 | videoCategoryManager: PluginVideoCategoryManager |
89 | videoLanguageManager: PluginVideoLanguageManager | |
90 | videoLicenceManager: PluginVideoLicenceManager | |
91 | ||
b3af2601 C |
92 | videoPrivacyManager: PluginVideoPrivacyManager |
93 | playlistPrivacyManager: PluginPlaylistPrivacyManager | |
94 | ||
1896bca0 C |
95 | transcodingManager: PluginTranscodingManager |
96 | ||
7fed6375 C |
97 | registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void |
98 | registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult | |
a4995eb7 C |
99 | unregisterIdAndPassAuth: (authName: string) => void |
100 | unregisterExternalAuth: (authName: string) => void | |
7fed6375 | 101 | |
5e2b2e27 C |
102 | // Get plugin router to create custom routes |
103 | // Base routes of this router are | |
104 | // * /plugins/:pluginName/:pluginVersion/router/... | |
105 | // * /plugins/:pluginName/router/... | |
106 | getRouter(): Router | |
107 | ||
bc0d801b | 108 | peertubeHelpers: PeerTubeHelpers |
32fe0013 | 109 | } |