]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/extra-utils/server/plugins-command.ts
chore(refactor): remove shared folder dependencies to the server
[github/Chocobozzz/PeerTube.git] / shared / extra-utils / server / plugins-command.ts
index f06e58a22fda15835acf0be9aa0d7e3d1f94af19..1c44711da8a969259e48b80146bd459a32385039 100644 (file)
@@ -2,9 +2,9 @@
 
 import { readJSON, writeJSON } from 'fs-extra'
 import { join } from 'path'
-import { root } from '@server/helpers/core-utils'
-import { HttpStatusCode } from '@shared/core-utils'
+import { root } from '@shared/core-utils'
 import {
+  HttpStatusCode,
   PeerTubePlugin,
   PeerTubePluginIndex,
   PeertubePluginIndexList,
@@ -15,7 +15,6 @@ import {
   RegisteredServerSettings,
   ResultList
 } from '@shared/models'
-import { buildServerDirectory } from '../miscs'
 import { AbstractCommand, OverrideCommandOptions } from '../shared'
 
 export class PluginsCommand extends AbstractCommand {
@@ -45,6 +44,7 @@ export class PluginsCommand extends AbstractCommand {
         pluginType,
         uninstalled
       },
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -75,6 +75,7 @@ export class PluginsCommand extends AbstractCommand {
 
       path,
       query,
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -88,6 +89,7 @@ export class PluginsCommand extends AbstractCommand {
       ...options,
 
       path,
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -104,6 +106,7 @@ export class PluginsCommand extends AbstractCommand {
 
       path,
       fields: { settings },
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
     })
   }
@@ -117,6 +120,7 @@ export class PluginsCommand extends AbstractCommand {
       ...options,
 
       path,
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -131,6 +135,7 @@ export class PluginsCommand extends AbstractCommand {
       ...options,
 
       path,
+      implicitToken: false,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -145,6 +150,7 @@ export class PluginsCommand extends AbstractCommand {
       ...options,
 
       path,
+      implicitToken: false,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -152,15 +158,17 @@ export class PluginsCommand extends AbstractCommand {
   install (options: OverrideCommandOptions & {
     path?: string
     npmName?: string
+    pluginVersion?: string
   }) {
-    const { npmName, path } = options
+    const { npmName, path, pluginVersion } = options
     const apiPath = '/api/v1/plugins/install'
 
     return this.postBodyRequest({
       ...options,
 
       path: apiPath,
-      fields: { npmName, path },
+      fields: { npmName, path, pluginVersion },
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -177,6 +185,7 @@ export class PluginsCommand extends AbstractCommand {
 
       path: apiPath,
       fields: { npmName, path },
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -192,6 +201,7 @@ export class PluginsCommand extends AbstractCommand {
 
       path: apiPath,
       fields: { npmName },
+      implicitToken: true,
       defaultExpectedStatus: HttpStatusCode.NO_CONTENT_204
     })
   }
@@ -203,6 +213,7 @@ export class PluginsCommand extends AbstractCommand {
       ...options,
 
       path,
+      implicitToken: false,
       defaultExpectedStatus: HttpStatusCode.OK_200
     })
   }
@@ -222,6 +233,7 @@ export class PluginsCommand extends AbstractCommand {
 
       path,
       query,
+      implicitToken: false,
       defaultExpectedStatus: HttpStatusCode.OK_200,
       redirects: 0
     })
@@ -240,6 +252,6 @@ export class PluginsCommand extends AbstractCommand {
   }
 
   private getPackageJSONPath (npmName: string) {
-    return buildServerDirectory(this.server, join('plugins', 'node_modules', npmName, 'package.json'))
+    return this.server.servers.buildDirectory(join('plugins', 'node_modules', npmName, 'package.json'))
   }
 }