]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/plugins/plugin-index.ts
Force live stream termination
[github/Chocobozzz/PeerTube.git] / server / lib / plugins / plugin-index.ts
index 624f5da1df325fe7a317371b7463d293e3d763cd..119cee8e0647e9fef5a0d941a791d4974dcadddf 100644 (file)
@@ -1,16 +1,16 @@
 import { sanitizeUrl } from '@server/helpers/core-utils'
-import { ResultList } from '../../../shared/models'
-import { PeertubePluginIndexList } from '../../../shared/models/plugins/peertube-plugin-index-list.model'
-import { PeerTubePluginIndex } from '../../../shared/models/plugins/peertube-plugin-index.model'
+import { logger } from '@server/helpers/logger'
+import { doJSONRequest } from '@server/helpers/requests'
+import { CONFIG } from '@server/initializers/config'
+import { PEERTUBE_VERSION } from '@server/initializers/constants'
+import { PluginModel } from '@server/models/server/plugin'
 import {
+  PeerTubePluginIndex,
+  PeertubePluginIndexList,
   PeertubePluginLatestVersionRequest,
-  PeertubePluginLatestVersionResponse
-} from '../../../shared/models/plugins/peertube-plugin-latest-version.model'
-import { logger } from '../../helpers/logger'
-import { doJSONRequest } from '../../helpers/requests'
-import { CONFIG } from '../../initializers/config'
-import { PEERTUBE_VERSION } from '../../initializers/constants'
-import { PluginModel } from '../../models/server/plugin'
+  PeertubePluginLatestVersionResponse,
+  ResultList
+} from '@shared/models'
 import { PluginManager } from './plugin-manager'
 
 async function listAvailablePluginsFromIndex (options: PeertubePluginIndexList) {
@@ -67,7 +67,19 @@ async function getLatestPluginsVersion (npmNames: string[]): Promise<PeertubePlu
   return body
 }
 
+async function getLatestPluginVersion (npmName: string) {
+  const results = await getLatestPluginsVersion([ npmName ])
+
+  if (Array.isArray(results) === false || results.length !== 1) {
+    logger.warn('Cannot get latest supported plugin version of %s.', npmName)
+    return undefined
+  }
+
+  return results[0].latestVersion
+}
+
 export {
   listAvailablePluginsFromIndex,
+  getLatestPluginVersion,
   getLatestPluginsVersion
 }