diff options
Diffstat (limited to 'server/lib/plugins/plugin-helpers-builder.ts')
-rw-r--r-- | server/lib/plugins/plugin-helpers-builder.ts | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/server/lib/plugins/plugin-helpers-builder.ts b/server/lib/plugins/plugin-helpers-builder.ts index 4e799b3d4..35945422c 100644 --- a/server/lib/plugins/plugin-helpers-builder.ts +++ b/server/lib/plugins/plugin-helpers-builder.ts | |||
@@ -13,13 +13,14 @@ import { ServerBlocklistModel } from '@server/models/server/server-blocklist' | |||
13 | import { UserModel } from '@server/models/user/user' | 13 | import { UserModel } from '@server/models/user/user' |
14 | import { VideoModel } from '@server/models/video/video' | 14 | import { VideoModel } from '@server/models/video/video' |
15 | import { VideoBlacklistModel } from '@server/models/video/video-blacklist' | 15 | import { VideoBlacklistModel } from '@server/models/video/video-blacklist' |
16 | import { MPlugin } from '@server/types/models' | 16 | import { MPlugin, MVideo, UserNotificationModelForApi } from '@server/types/models' |
17 | import { PeerTubeHelpers } from '@server/types/plugins' | 17 | import { PeerTubeHelpers } from '@server/types/plugins' |
18 | import { VideoBlacklistCreate, VideoStorage } from '@shared/models' | 18 | import { VideoBlacklistCreate, VideoStorage } from '@shared/models' |
19 | import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../blocklist' | 19 | import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../blocklist' |
20 | import { ServerConfigManager } from '../server-config-manager' | 20 | import { ServerConfigManager } from '../server-config-manager' |
21 | import { blacklistVideo, unblacklistVideo } from '../video-blacklist' | 21 | import { blacklistVideo, unblacklistVideo } from '../video-blacklist' |
22 | import { VideoPathManager } from '../video-path-manager' | 22 | import { VideoPathManager } from '../video-path-manager' |
23 | import { PeerTubeSocket } from '../peertube-socket' | ||
23 | 24 | ||
24 | function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHelpers { | 25 | function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHelpers { |
25 | const logger = buildPluginLogger(npmName) | 26 | const logger = buildPluginLogger(npmName) |
@@ -35,6 +36,8 @@ function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHel | |||
35 | 36 | ||
36 | const plugin = buildPluginRelatedHelpers(pluginModel, npmName) | 37 | const plugin = buildPluginRelatedHelpers(pluginModel, npmName) |
37 | 38 | ||
39 | const socket = buildSocketHelpers() | ||
40 | |||
38 | const user = buildUserHelpers() | 41 | const user = buildUserHelpers() |
39 | 42 | ||
40 | return { | 43 | return { |
@@ -45,6 +48,7 @@ function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHel | |||
45 | moderation, | 48 | moderation, |
46 | plugin, | 49 | plugin, |
47 | server, | 50 | server, |
51 | socket, | ||
48 | user | 52 | user |
49 | } | 53 | } |
50 | } | 54 | } |
@@ -218,6 +222,17 @@ function buildPluginRelatedHelpers (plugin: MPlugin, npmName: string) { | |||
218 | } | 222 | } |
219 | } | 223 | } |
220 | 224 | ||
225 | function buildSocketHelpers () { | ||
226 | return { | ||
227 | sendNotification: (userId: number, notification: UserNotificationModelForApi) => { | ||
228 | PeerTubeSocket.Instance.sendNotification(userId, notification) | ||
229 | }, | ||
230 | sendVideoLiveNewState: (video: MVideo) => { | ||
231 | PeerTubeSocket.Instance.sendVideoLiveNewState(video) | ||
232 | } | ||
233 | } | ||
234 | } | ||
235 | |||
221 | function buildUserHelpers () { | 236 | function buildUserHelpers () { |
222 | return { | 237 | return { |
223 | loadById: (id: number) => { | 238 | loadById: (id: number) => { |