mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 02:09:37 +02:00
Expose PeerTube socket to plugins (#5239)
* server(pluginHelpers): add socket * test(plugins): add socket cases * fixes after review * Update plugin-helpers.ts * Update plugin-helpers.ts
This commit is contained in:
parent
213bb3bb58
commit
c43ed8e862
4 changed files with 65 additions and 2 deletions
|
@ -13,13 +13,14 @@ import { ServerBlocklistModel } from '@server/models/server/server-blocklist'
|
|||
import { UserModel } from '@server/models/user/user'
|
||||
import { VideoModel } from '@server/models/video/video'
|
||||
import { VideoBlacklistModel } from '@server/models/video/video-blacklist'
|
||||
import { MPlugin } from '@server/types/models'
|
||||
import { MPlugin, MVideo, UserNotificationModelForApi } from '@server/types/models'
|
||||
import { PeerTubeHelpers } from '@server/types/plugins'
|
||||
import { VideoBlacklistCreate, VideoStorage } from '@shared/models'
|
||||
import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../blocklist'
|
||||
import { ServerConfigManager } from '../server-config-manager'
|
||||
import { blacklistVideo, unblacklistVideo } from '../video-blacklist'
|
||||
import { VideoPathManager } from '../video-path-manager'
|
||||
import { PeerTubeSocket } from '../peertube-socket'
|
||||
|
||||
function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHelpers {
|
||||
const logger = buildPluginLogger(npmName)
|
||||
|
@ -35,6 +36,8 @@ function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHel
|
|||
|
||||
const plugin = buildPluginRelatedHelpers(pluginModel, npmName)
|
||||
|
||||
const socket = buildSocketHelpers()
|
||||
|
||||
const user = buildUserHelpers()
|
||||
|
||||
return {
|
||||
|
@ -45,6 +48,7 @@ function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHel
|
|||
moderation,
|
||||
plugin,
|
||||
server,
|
||||
socket,
|
||||
user
|
||||
}
|
||||
}
|
||||
|
@ -218,6 +222,17 @@ function buildPluginRelatedHelpers (plugin: MPlugin, npmName: string) {
|
|||
}
|
||||
}
|
||||
|
||||
function buildSocketHelpers () {
|
||||
return {
|
||||
sendNotification: (userId: number, notification: UserNotificationModelForApi) => {
|
||||
PeerTubeSocket.Instance.sendNotification(userId, notification)
|
||||
},
|
||||
sendVideoLiveNewState: (video: MVideo) => {
|
||||
PeerTubeSocket.Instance.sendVideoLiveNewState(video)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function buildUserHelpers () {
|
||||
return {
|
||||
loadById: (id: number) => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue