WIP plugins: install/uninstall
[oweals/peertube.git] / server / models / server / plugin.ts
index 7ce376d13b22b058e5fa8bdd28ed4f2c40745426..1fbfd208f0d20c18cf533bd38fc1d4bb35f4721a 100644 (file)
@@ -42,7 +42,6 @@ export class PluginModel extends Model<PluginModel> {
   uninstalled: boolean
 
   @AllowNull(false)
-  @Is('PluginPeertubeEngine', value => throwIfNotValid(value, isPluginVersionValid, 'peertubeEngine'))
   @Column
   peertubeEngine: string
 
@@ -76,4 +75,14 @@ export class PluginModel extends Model<PluginModel> {
     return PluginModel.findAll(query)
   }
 
+  static uninstall (pluginName: string) {
+    const query = {
+      where: {
+        name: pluginName
+      }
+    }
+
+    return PluginModel.update({ enabled: false, uninstalled: true }, query)
+  }
+
 }